6.114 특이점 근방에서의 조건수 변화

1. 개요

로봇 매니퓰레이터의 야코비 행렬(Jacobian matrix)은 관절 공간과 작업 공간 사이의 속도 매핑을 정의한다. 이 야코비 행렬이 특이(singular)해지는 배치, 즉 특이점(singularity)에서는 행렬의 조건수(condition number)가 무한대로 발산한다. 본 절에서는 특이점 근방에서 조건수가 어떻게 변화하며, 이것이 로봇 제어와 경로 계획에 어떤 수치적 영향을 미치는지 분석한다.

2. 조건수의 정의

행렬 \mathbf{A} \in \mathbb{R}^{m \times n}의 조건수는 다음과 같이 정의한다.

\kappa(\mathbf{A}) = \|\mathbf{A}\| \cdot \|\mathbf{A}^{-1}\|

여기서 \|\cdot\|는 적절한 행렬 노름이다. 2-노름을 사용하면 특이값 분해(Singular Value Decomposition, SVD)를 통해 조건수를 다음과 같이 표현할 수 있다.

\kappa_2(\mathbf{A}) = \frac{\sigma_{\max}}{\sigma_{\min}}

여기서 \sigma_{\max}\sigma_{\min}은 각각 \mathbf{A}의 최대 특이값과 최소 특이값이다.

비정방 행렬의 경우 유사역행렬(pseudoinverse)을 사용하여 조건수를 정의한다. 야코비 행렬 \mathbf{J} \in \mathbb{R}^{m \times n}에 대해서도 동일한 방식으로 정의한다.

\kappa(\mathbf{J}) = \frac{\sigma_1}{\sigma_r}

여기서 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0\mathbf{J}의 양의 특이값이고, r = \text{rank}(\mathbf{J})이다.

3. 야코비 행렬과 특이점

로봇 매니퓰레이터의 야코비 행렬 \mathbf{J}(\mathbf{q})는 관절 변수 \mathbf{q}에 대한 함수이다. 작업 공간 속도 \dot{\mathbf{x}}와 관절 속도 \dot{\mathbf{q}}의 관계는 다음과 같다.

\dot{\mathbf{x}} = \mathbf{J}(\mathbf{q})\,\dot{\mathbf{q}}

특이점 배치 \mathbf{q}_s에서는 \mathbf{J}(\mathbf{q}_s)의 랭크가 감소한다. 즉,

\text{rank}(\mathbf{J}(\mathbf{q}_s)) < \min(m, n)

이 조건은 최소 특이값 \sigma_{\min}(\mathbf{J}(\mathbf{q}_s)) = 0을 의미하므로 조건수는 무한대가 된다.

\kappa(\mathbf{J}(\mathbf{q}_s)) = \frac{\sigma_{\max}}{\sigma_{\min}} \to \infty

3.1 특이점의 분류

로봇 매니퓰레이터에서 특이점은 크게 세 가지로 분류한다.

경계 특이점(Boundary singularity): 매니퓰레이터가 작업 공간의 경계에 도달할 때 발생한다. 팔이 완전히 펴지거나 접혀서 더 이상 특정 방향으로 움직일 수 없는 상태이다.

내부 특이점(Interior singularity): 작업 공간 내부에서 두 개 이상의 관절 축이 정렬될 때 발생한다. 대표적인 예가 손목 특이점(wrist singularity)이다.

구조적 특이점(Architectural singularity): 로봇의 기구학적 구조 자체로 인해 발생하는 특이점이다.

4. 특이점 근방에서의 조건수 변화 분석

4.1 특이값의 연속성과 미분 가능성

야코비 행렬 \mathbf{J}(\mathbf{q})\mathbf{q}에 대해 연속이면, 특이값도 \mathbf{q}에 대해 연속이다. 특이점 \mathbf{q}_s 근방에서 최소 특이값 \sigma_{\min}(\mathbf{q})의 거동을 분석하자.

관절 변수가 특이점에서 \delta\mathbf{q}만큼 벗어난 경우, 즉 \mathbf{q} = \mathbf{q}_s + \delta\mathbf{q}일 때, 야코비 행렬을 1차 테일러 전개하면 다음과 같다.

\mathbf{J}(\mathbf{q}_s + \delta\mathbf{q}) = \mathbf{J}(\mathbf{q}_s) + \sum_{i=1}^{n} \frac{\partial \mathbf{J}}{\partial q_i}\bigg\vert_{\mathbf{q}_s} \delta q_i + O(\|\delta\mathbf{q}\|^2)

4.2 조건수의 발산 속도

특이점 근방에서 최소 특이값의 변화를 섭동 이론(perturbation theory)으로 분석할 수 있다. 단순 특이값(simple singular value)의 경우, \sigma_{\min}이 0에서 선형적으로 증가하는 방향이 존재한다. 즉,

\sigma_{\min}(\mathbf{q}_s + \epsilon\,\hat{\mathbf{d}}) \approx c \cdot \epsilon + O(\epsilon^2)

여기서 \hat{\mathbf{d}}는 특이점에서 벗어나는 단위 방향 벡터이고, c > 0은 방향에 의존하는 상수이다. 따라서 조건수는 다음과 같이 발산한다.

\kappa(\mathbf{J}) \approx \frac{\sigma_{\max}}{c \cdot \epsilon}

이는 \epsilon \to 0에서 \kappa \sim O(1/\epsilon)의 발산 속도를 보여준다.

4.3 중복 특이값의 경우

만약 특이점에서 k개의 특이값이 동시에 0이 되는 경우(중복 특이점), 조건수의 발산 속도가 달라질 수 있다. 이 경우 \sigma_{\min}의 거동은 행렬 섭동의 고차 항에 의존하게 되며, \sigma_{\min} \sim O(\epsilon^{1/k})와 같은 분수 거듭제곱 형태로 나타날 수 있다.

5. 자유도 평면 매니퓰레이터 예제

2자유도 평면 매니퓰레이터를 통해 특이점 근방의 조건수 변화를 구체적으로 분석한다. 링크 길이가 l_1, l_2인 경우, 야코비 행렬은 다음과 같다.

\mathbf{J}(\mathbf{q}) = \begin{bmatrix} -l_1 \sin q_1 - l_2 \sin(q_1 + q_2) & -l_2 \sin(q_1 + q_2) \\ l_1 \cos q_1 + l_2 \cos(q_1 + q_2) & l_2 \cos(q_1 + q_2) \end{bmatrix}

야코비 행렬의 행렬식은 다음과 같다.

\det(\mathbf{J}) = l_1 l_2 \sin q_2

따라서 q_2 = 0 또는 q_2 = \pi일 때 특이점이 발생한다.

5.1 q_2 = 0 근방의 분석

q_2 = \epsilon (\epsilon \ll 1)로 놓으면, \sin q_2 \approx \epsilon이므로 행렬식은 다음과 같다.

\det(\mathbf{J}) \approx l_1 l_2 \epsilon

야코비 행렬의 특이값을 직접 계산하면, \mathbf{J}^T\mathbf{J}의 고유값 \lambda_1, \lambda_2로부터 \sigma_i = \sqrt{\lambda_i}를 얻는다. q_2 = \epsilon에서의 근사는 다음과 같다.

\sigma_{\min} \approx \frac{l_1 l_2}{l_1 + l_2} \vert\epsilon\vert

\sigma_{\max} \approx l_1 + l_2

따라서 조건수는 다음과 같다.

\kappa(\mathbf{J}) \approx \frac{(l_1 + l_2)^2}{l_1 l_2 \vert\epsilon\vert}

이 결과는 \epsilon \to 0에서 조건수가 O(1/\vert\epsilon\vert)로 발산함을 명확히 보여준다.

5.2 q_2 = \pi 근방의 분석

q_2 = \pi + \epsilon으로 놓으면, \sin q_2 \approx -\epsilon이므로 유사하게 다음을 얻는다.

\kappa(\mathbf{J}) \approx \frac{(l_1 - l_2)^2 + l_1 l_2 \epsilon^2}{l_1 l_2 \vert\epsilon\vert}

l_1 \neq l_2인 경우 발산 속도는 O(1/\vert\epsilon\vert)로 동일하다. l_1 = l_2인 경우에는 \sigma_{\max}도 변화하므로 다른 형태의 조건수 거동이 나타난다.

6. 조건수와 조작성 지표의 관계

요시카와(Yoshikawa)가 제안한 조작성 지표(manipulability measure)는 다음과 같이 정의한다.

w(\mathbf{q}) = \sqrt{\det(\mathbf{J}\mathbf{J}^T)} = \prod_{i=1}^{m} \sigma_i

조건수와 조작성 지표는 밀접한 관련이 있다. 특이점에서는 w = 0이고, 조건수는 무한대이다. 그러나 두 지표는 서로 다른 정보를 제공한다.

지표정의특이점에서의 값의미
조건수 \kappa\sigma_{\max} / \sigma_{\min}\infty속도 매핑의 방향 의존적 왜곡
조작성 w\prod \sigma_i0모든 방향 속도 능력의 총합
최소 특이값 \sigma_{\min}\min(\sigma_i)0최악 방향의 속도 능력

조건수의 역수인 1/\kappa는 등방성 지표(isotropy index)로 사용되기도 하며, 이 값이 1에 가까울수록 모든 방향에서 균일한 속도 전달 특성을 보인다.

7. 수치적 영향

7.1 역기구학 계산의 불안정성

역기구학 문제에서 관절 속도는 다음과 같이 계산한다.

\dot{\mathbf{q}} = \mathbf{J}^{-1}(\mathbf{q})\,\dot{\mathbf{x}}

작업 공간 속도에 \delta\dot{\mathbf{x}}의 오차가 있을 때, 관절 속도의 상대 오차는 다음과 같이 상한이 정해진다.

\frac{\|\delta\dot{\mathbf{q}}\|}{\|\dot{\mathbf{q}}\|} \leq \kappa(\mathbf{J}) \cdot \frac{\|\delta\dot{\mathbf{x}}\|}{\|\dot{\mathbf{x}}\|}

조건수가 10^6 이상이 되면 배정밀도 부동 소수점(double precision, 약 15–16자리 유효숫자)에서 유효 숫자가 거의 남지 않게 되어 수치적으로 무의미한 결과를 산출한다.

7.2 힘-토크 매핑의 왜곡

작업 공간의 힘 \mathbf{f}와 관절 토크 \boldsymbol{\tau}의 관계는 다음과 같다.

\boldsymbol{\tau} = \mathbf{J}^T(\mathbf{q})\,\mathbf{f}

특이점 근방에서는 조건수가 크므로, 작업 공간에서 특정 방향의 미세한 힘이 매우 큰 관절 토크를 요구하게 된다. 이는 물리적으로 실현 불가능한 상황을 초래한다.

7.3 경로 추종 시 조건수 모니터링

실시간 로봇 제어에서는 경로를 따라 이동하면서 조건수를 지속적으로 모니터링해야 한다. 조건수가 임계값 \kappa_{\text{thresh}}를 초과하면 다음과 같은 대응이 필요하다.

  • 감쇠 최소 제곱법(Damped Least Squares, DLS) 적용
  • 경로 재계획을 통한 특이점 회피
  • 관절 공간 제어로의 전환
  • 널 공간 운동을 이용한 배치 최적화

8. 조건수 기반 특이점 회피 전략

8.1 그래디언트 기반 회피

조건수의 그래디언트 \nabla_{\mathbf{q}} \kappa(\mathbf{J})를 계산하여 조건수가 감소하는 방향으로 널 공간 운동을 유도할 수 있다. 여유 자유도가 있는 경우 다음과 같이 관절 속도를 설정한다.

\dot{\mathbf{q}} = \mathbf{J}^{\dagger}\dot{\mathbf{x}} + (\mathbf{I} - \mathbf{J}^{\dagger}\mathbf{J})\,\mathbf{z}

여기서 \mathbf{J}^{\dagger}는 야코비 행렬의 유사역행렬이고, \mathbf{z}는 조건수를 최소화하는 방향으로 설정한다.

\mathbf{z} = -\alpha \nabla_{\mathbf{q}} \kappa(\mathbf{J})

8.2 감쇠 인수의 적응적 설정

감쇠 최소 제곱법에서 감쇠 인수 \lambda는 조건수에 따라 적응적으로 설정하는 것이 효과적이다.

\lambda^2 = \begin{cases} 0 & \text{if } \kappa < \kappa_0 \\ \lambda_{\max}^2 \left(1 - \left(\frac{\kappa_0}{\kappa}\right)^2\right) & \text{if } \kappa \geq \kappa_0 \end{cases}

여기서 \kappa_0는 감쇠가 시작되는 임계 조건수이고, \lambda_{\max}는 최대 감쇠 인수이다.

9. 참고 문헌

  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
  • Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control (3rd ed.). Pearson Prentice Hall.
  • Yoshikawa, T. (1985). “Manipulability of Robotic Mechanisms.” The International Journal of Robotics Research, 4(2), 3–9.
  • Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
  • Nakamura, Y. (1991). Advanced Robotics: Redundancy and Optimization. Addison-Wesley.
  • Wampler, C. W. (1986). “Manipulator Inverse Kinematic Solutions Based on Vector Formulations and Damped Least-Squares Methods.” IEEE Transactions on Systems, Man, and Cybernetics, 16(1), 93–101.

v 0.1