[Computer Graphics] Singularity

2023. 10. 11. 00:10Run/Computer Graphics

Singular Matrix

$A$가 정사각행렬이고, $AB = BA = I$ 를 만하는 행렬 $B$가 존재하면

$A$는 invertible matrix (nonsingular matrix)이다.

Nonsingular matrix는 단 하나의 inverse matrix를 갖는다.

 

$A$가 nonsingular matrix일 필요충분조건은, $A$의 determinant가 0이 아니어야 하는 것이다.

 

$det(A)$이 0이면 $A$의 역은 구할 수 없다.

 

$Ax = y$를 풀 때, $x = A^{-1} y$ 로 구할 수 있다.

하지만 이는 $A$의 역(inverse)이 존재한다는 가정하에 계산 가능하다.

$A$의 역이 존재하지 않는 경우 $A$는 singular matrix이다.

 

$A$가 singular이면, y 값에 따라 x는 무한개이거나 아예 존재하지 않게 된다.

 

예 1)

$x_1 + x_2 = y$

$2x_1 + 2x_2 = y$

 

예 2)

$x_1 + x_2 = y$

$2x_1 + 2x_2 = 2y$

 

 

Singularity

Singularity는 쉽게 말해 로봇이 불편해하는 포즈이다.

영역 내에서 end effector는 거의 모든 위치에 도달할 수 있다.

하지만 모든 위치에서 모든 자세를 표현할 수 있는 것은 아니다.

특정 위치에서 어떤 자세를 취하기 어려운 경우, 로봇이 singularity 근처에 있을 가능성이 높다.

 

Inverse kinematics에서 joint angle을 구하기 어려운 영역이 singularity 구간이다.

Singularity는 workspace-boundary singularity와 workspace-interior singularity로 나뉜다.

첫 번째는 작업 영역 부근에서 형성된다. 두 번째는 여러 개의 joint의 축 방향이 일치할 때 발생한다.

 

1) 직선 경로 이동 제한

 

2) 작업 영역 경계까지 뻗은 팔

 

3) 여러 joint의 축 방향 일치

 

 

Jacobian Inverse Kinematics

1) Jacobian transpose method

$\Delta\theta = \alpha J^T\vec{e}$

 

2) Jacobian pseudoinverse method

$\Delta\theta = J^T (J J^T)^{-1} \vec{e}$

 

3) Jacobian damped least squares method

$\Delta\theta = J^T(JJ^T + {\lambda}^2I)^{-1}\vec{e}$

 

Jacobian pseudoinverse IK의 singularity 문제를 어느 정도 해결하는 Jacobian damped least squares IK가 있다.

Damping constant는 singularity 근처에서 잘 동작할 수 있도록 값이 충분히 커야 한다.


참고자료

https://beckho.tistory.com/88 

https://blog.naver.com/redpkzo/30147779345 

https://cobots.tistory.com/8