33.5 특이값 분해(SVD)에 의한 특이점 분석
특이값 분해(Singular Value Decomposition, SVD)는 자코비안의 특이점 분석에서 가장 완전하고 수치적으로 안정적인 수학적 도구이다. SVD는 특이값의 크기 분포와 특이 벡터의 방향 정보를 동시에 제공하므로, 계수 결손의 차수, 손실 운동 방향, 비기여 관절 속도 방향, 근접 특이 정도를 통합적으로 기술한다. 본 절에서는 SVD의 수학적 정의, 특이점 판별 원리, 특이값 및 특이 벡터의 기하학적 해석, 수치적 구현 기법, 의사 역행렬 및 감쇠 기법과의 연계, 근접 특이 상태의 거동을 해라체로 체계화하여 기술한다.
1. SVD의 수학적 기초
1.1 분해의 정의
임의의 실수 행렬 \mathbf{J} \in \mathbb{R}^{m \times n}에 대하여, 특이값 분해는 다음과 같은 분해의 존재를 보장한다.
\mathbf{J} = \mathbf{U} \boldsymbol{\Sigma} \mathbf{V}^\top
여기서 \mathbf{U} \in \mathbb{R}^{m \times m}과 \mathbf{V} \in \mathbb{R}^{n \times n}은 정규 직교 행렬이고, \boldsymbol{\Sigma} \in \mathbb{R}^{m \times n}은 대각 원소에 비음 특이값을 갖는 행렬이다.
33.5.1.2 특이값의 순서
특이값은 내림차순으로 정렬된다.
\sigma_1 \ge \sigma_2 \ge \cdots \ge \sigma_{\min(m,n)} \ge 0
비영 특이값의 수는 \operatorname{rank}(\mathbf{J})와 같다.
1.2 특이 벡터
\mathbf{U}의 열벡터 \vec{u}_i는 좌특이벡터(left singular vector), \mathbf{V}의 열벡터 \vec{v}_i는 우특이벡터(right singular vector)라 한다. 이들은 각각 작업 공간과 관절 공간의 정규 직교 기저를 형성한다.
1.3 고유값 분해와의 관계
SVD는 \mathbf{J}^\top \mathbf{J}의 고유값 분해와 밀접하게 연관된다.
\mathbf{J}^\top \mathbf{J} = \mathbf{V} \boldsymbol{\Sigma}^\top \boldsymbol{\Sigma} \mathbf{V}^\top
\mathbf{J}^\top \mathbf{J}의 고유값은 \sigma_i^2이며, 고유 벡터는 \vec{v}_i이다. 마찬가지로 \mathbf{J} \mathbf{J}^\top의 고유값도 \sigma_i^2이며, 고유 벡터는 \vec{u}_i이다.
33.5.1.5 Strang과 Golub–Van Loan의 정식화
Strang의 Introduction to Linear Algebra 제5판(Wellesley-Cambridge Press, 2016)과 Golub와 Van Loan의 Matrix Computations 제4판(Johns Hopkins University Press, 2013)이 SVD의 이론적·수치적 기반을 체계적으로 정리한 표준 참고 문헌이다.
33.5.2 SVD 기반 특이점 판별
33.5.2.1 최소 특이값 조건
특이점은 최소 특이값이 영이 되는 조건과 동치이다.
\sigma_{\min}\bigl( \mathbf{J}(\vec{q}_s) \bigr) = 0
이 조건은 계수 조건, 행렬식 조건, 매니퓰러빌리티 조건과 모두 등가이다.
1.4 결손 차수의 정량화
영인 특이값의 개수가 결손 차수 r_d와 같다.
r_d = \#\{ \sigma_i : \sigma_i = 0 \}
결손 차수는 특이점의 심각성을 나타내는 정량 지표이다.
33.5.2.3 수치적 임계치
수치 환경에서는 엄밀한 영 대신 임계치 \epsilon_\sigma 이하의 특이값을 영으로 간주한다.
\operatorname{rank}_\epsilon(\mathbf{J}) = \#\{ \sigma_i : \sigma_i > \epsilon_\sigma \}
Golub와 Van Loan은 기계 엡실론 \epsilon_{\mathrm{mach}}과 행렬 노름을 결합한 \epsilon_\sigma = \max(m,n) \cdot \lVert \mathbf{J} \rVert \cdot \epsilon_{\mathrm{mach}}를 권장 임계치로 제시한다.
1.5 근접 특이 상태
\sigma_{\min}이 작지만 영은 아닌 상태는 근접 특이 상태이다. 이 상태에서 수치적으로 계수 결손과 유사한 거동이 나타나며, 역자코비안 기반 알고리즘이 불안정화된다.
2. 특이값의 기하학적 해석
2.1 속도 매니퓰러빌리티 타원체
자코비안이 관절 공간의 단위 구 \lVert \dot{\vec{q}} \rVert = 1을 작업 공간에 사상한 결과는 타원체이며, 주축 방향은 \vec{u}_i, 주축 길이는 \sigma_i이다.
2.2 강한 방향과 약한 방향
큰 특이값에 대응하는 \vec{u}_i는 엔드 이펙터가 적은 관절 속도로 효율적으로 운동할 수 있는 방향(강한 방향)이다. 작은 특이값에 대응하는 \vec{u}_i는 큰 관절 속도를 요구하는 방향(약한 방향)이다.
2.3 손실 방향
영 특이값에 대응하는 \vec{u}_i는 순간적으로 운동 불가능한 작업 공간 방향이다. 이는 \mathbf{J}^\top의 영공간 기저를 이루며, 특이점의 기하학적 특징을 식별하는 핵심 정보이다.
2.4 힘 매니퓰러빌리티 타원체
속도 타원체의 주축 길이는 \sigma_i인 반면, 힘 매니퓰러빌리티 타원체의 주축 길이는 1/\sigma_i이다. 두 타원체는 주축 방향을 공유하면서 주축 길이가 역수 관계를 이룬다.
3. 좌특이벡터의 해석
3.1 작업 공간 기저
\{\vec{u}_1, \ldots, \vec{u}_m\}은 작업 공간의 정규 직교 기저이다. 처음 r = \operatorname{rank}(\mathbf{J})개의 벡터는 \operatorname{range}(\mathbf{J})의 기저, 나머지는 \operatorname{null}(\mathbf{J}^\top)의 기저이다.
3.2 특이 방향 식별
영 특이값에 대응하는 \vec{u}_i의 방향 분석은 특이점의 기하학적 원인을 식별한다. 예를 들어, 손목 특이점에서 손실 방향은 손목 제2 축에 직교하면서 제1·3 축의 공선 방향에 수직인 회전 방향이다.
3.3 궤적 계획에의 활용
손실 방향에 대한 사전 지식은 궤적 계획에서 해당 방향 성분을 최소화하는 경로 선택에 활용된다.
4. 우특이벡터의 해석
4.1 관절 공간 기저
\{\vec{v}_1, \ldots, \vec{v}_n\}은 관절 공간의 정규 직교 기저이다. 처음 r개는 \operatorname{range}(\mathbf{J}^\top)의 기저, 나머지는 \operatorname{null}(\mathbf{J})의 기저이다.
4.2 영공간 기저
영 특이값에 대응하는 \vec{v}_i는 영공간 \operatorname{null}(\mathbf{J})의 기저 벡터이다. 이 방향의 관절 속도는 엔드 이펙터 운동에 기여하지 않는 자체 운동(self-motion) 속도이다.
4.3 여유 자유도 해소에의 활용
여유 자유도 매니퓰레이터에서 영공간 기저는 보조 목적 최적화를 위한 자체 운동 방향으로 직접 사용된다. 이는 매니퓰러빌리티 최대화, 관절 한계 회피 등에 활용된다.
5. 근접 특이 상태의 SVD 거동
5.1 특이값의 연속성
특이값은 관절 변수의 연속 함수이다. 특이점에 접근하는 경로에서 일부 특이값이 영으로 연속적으로 수렴한다.
5.2 특이값의 선형 근사
단순 특이점 \vec{q}_s 근방에서 최소 특이값은 일반적으로 다음과 같은 선형 관계를 만족한다.
\sigma_{\min}(\mathbf{J}(\vec{q})) \approx c \cdot \lVert \vec{q} - \vec{q}_s \rVert
여기서 c는 국소 상수이다. 이 관계는 특이점 접근도의 수치적 지표로 활용된다.
33.5.6.3 특이 벡터의 불연속성
특이값의 중복(degenerate) 지점에서 특이 벡터는 불연속일 수 있다. 특히 근접 특이 상태에서 최소 특이값의 두 후보가 서로 매우 가까울 때, 대응 우특이벡터의 계산이 수치적으로 민감해진다.
33.5.6.4 조건수 발산
조건수 \kappa = \sigma_{\max}/\sigma_{\min}은 특이점 접근 시 무한대로 발산한다. 이는 역자코비안 기반 알고리즘의 수치 안정성을 직접 제약한다.
33.5.7 SVD의 수치 계산 알고리즘
33.5.7.1 양방향 대각화 기반 SVD
Golub–Kahan–Reinsch 알고리즘은 Householder 반사를 이용한 양방향 대각화(bidiagonalization)와 QR 반복을 결합하여 SVD를 계산한다. 가장 널리 사용되는 표준 알고리즘이다.
33.5.7.2 Jacobi 기반 SVD
Jacobi 회전을 이용한 SVD는 고정밀도가 요구되는 경우에 사용된다. 소형 행렬에서는 양방향 대각화 기반 알고리즘보다 정확하나, 일반적으로 계산 비용이 더 높다.
33.5.7.3 분할 정복 기반 SVD
대규모 행렬에 대해서는 분할 정복(divide-and-conquer) 알고리즘이 병렬 계산에 유리하다. 다만 6×7 자코비안과 같이 소형 행렬에서는 이점이 제한적이다.
33.5.7.4 LAPACK 구현
LAPACK 라이브러리의 dgesvd(양방향 대각화), dgesdd(분할 정복), dgejsv(Jacobi 기반) 루틴이 표준 구현을 제공한다. Eigen, MATLAB 등은 이 구현을 내부적으로 활용한다.
33.5.7.5 계산 복잡도
m \ge n인 m \times n 행렬의 전체 SVD는 \mathrm{O}(mn^2)의 복잡도를 가진다. 6 \times 7 자코비안에 대해서는 마이크로초 단위의 실시간 계산이 가능하다.
33.5.8 SVD 기반 의사 역행렬
33.5.8.1 의사 역행렬 구성
Moore–Penrose 의사 역행렬은 SVD로부터 직접 구성된다.
\mathbf{J}^+ = \mathbf{V} \boldsymbol{\Sigma}^+ \mathbf{U}^\top = \sum_{i : \sigma_i > 0} \frac{1}{\sigma_i} \vec{v}_i \vec{u}_i^\top
5.3 감쇠 의사 역행렬
감쇠 최소 제곱 의사 역행렬은 SVD 관점에서 다음과 같이 기술된다.
\mathbf{J}^{\#} = \sum_{i} \frac{\sigma_i}{\sigma_i^2 + \lambda^2} \vec{v}_i \vec{u}_i^\top
이는 작은 특이값에 대한 역수 발산을 저역 필터로 억제한다.
33.5.8.3 선택적 감쇠
Maciejewski와 Klein이 1988년 논문 “Numerical filtering for the operation of robotic manipulators through kinematically singular configurations“에서 제시한 수치 필터링 기법은 각 특이값에 독립적 감쇠 \lambda_i를 적용하는 SVD 기반 선택적 감쇠의 원형이다.
33.5.8.4 절단 SVD
작은 특이값을 영으로 간주하는 절단 SVD(Truncated SVD)는 다음과 같이 정의된다.
\mathbf{J}_\epsilon^+ = \sum_{\sigma_i > \epsilon} \frac{1}{\sigma_i} \vec{v}_i \vec{u}_i^\top
이는 손실 방향 추종을 완전히 배제하는 대신 해의 유계성을 엄격히 보장한다.
6. SVD와 매니퓰러빌리티 지표
6.1 매니퓰러빌리티 지수
매니퓰러빌리티 지수는 특이값의 곱으로 표현된다.
w(\vec{q}) = \prod_{i=1}^{\min(m,n)} \sigma_i(\mathbf{J}(\vec{q})) = \sqrt{\det(\mathbf{J} \mathbf{J}^\top)}
33.5.9.2 조건수
조건수는 특이값의 비로 표현된다.
\kappa(\mathbf{J}) = \frac{\sigma_{\max}}{\sigma_{\min}}
6.2 프로베니우스 조건 지수
프로베니우스 기반 조건 지수는 특이값의 조화 평균 구조와 관련된다.
\kappa_F(\mathbf{J}) = \frac{1}{m} \sqrt{\operatorname{tr}(\mathbf{J}\mathbf{J}^\top) \operatorname{tr}((\mathbf{J}\mathbf{J}^\top)^{-1})}
33.5.9.4 지표 간 관계
모든 특이 지표는 SVD의 특이값 정보로부터 파생되며, 서로 다른 관점의 정량화를 제공한다. 실무에서는 응용 맥락에 따라 적절한 지표를 선택하거나 병용한다.
33.5.10 SVD의 시간 진화
33.5.10.1 매 제어 주기 재계산
실시간 제어에서는 매 제어 주기마다 현재 관절 구성의 SVD를 재계산한다. 6×7 크기 자코비안에 대한 SVD는 수십 마이크로초 이내에 수행 가능하다.
33.5.10.2 증분 SVD
관절 구성 변화가 작을 때 증분 SVD 기법은 전체 재계산 비용을 절감한다. Bunch와 Nielsen이 1978년 논문 “Updating the singular value decomposition“에서 기본 기법을 제시하였다.
33.5.10.3 특이값의 연속 추적
연속 추적은 수치적 잡음 하에서도 안정적 지표 평가를 제공한다. 로우패스 필터링 기법이 함께 적용된다.
33.5.10.4 특이 벡터의 부호 지속성
SVD 알고리즘은 특이 벡터의 부호를 일관되게 선택하지 않을 수 있다. 시간 진화 추적에서는 부호 일관성을 위한 후처리가 필요하다.
33.5.11 수치적 고려 사항
33.5.11.1 수치 안정성
SVD는 수치적으로 가장 안정적인 분해 중 하나이며, 조건수에 대한 후진 오차(backward error) 한계가 잘 정의되어 있다.
33.5.11.2 부동 소수점 정밀도
배정밀도(double precision) 부동 소수점에서 특이값의 유효 자릿수는 대략 15자리이다. 상대적 정밀도 한계는 \epsilon_{\mathrm{mach}} \approx 10^{-16} 수준이다.
33.5.11.3 특이값 중복 문제
두 특이값이 매우 가까운 경우(degenerate or near-degenerate singular values), 대응 특이 벡터의 선택에 모호성이 발생한다. 수치적으로는 안정된 결과를 얻기 위해 특수 처리가 요구된다.
33.5.11.4 Jacobi 기반 고정밀 계산
극단적 정밀도가 요구되는 경우(예: 고정밀 계측 로봇), Jacobi 기반 SVD가 선호된다. Drmač와 Veselić의 연구가 이 방향의 이론적 기반을 제공한다.
33.5.12 본 절의 학술적 정리
본 절에서 다룬 특이값 분해 기반 특이점 분석은 자코비안의 계수 결손, 손실 운동 방향, 비기여 관절 속도 방향, 근접 특이 정도를 통합적으로 기술하는 가장 풍부한 수학적 도구이다. 최소 특이값의 영점 조건은 특이점 판별의 엄밀한 기준이며, 결손 차수는 영 특이값의 개수로 정량화된다. 좌특이벡터는 작업 공간에서의 손실 방향을, 우특이벡터는 관절 공간에서의 영공간 기저를 제공하여 기하학적 해석을 완성한다. SVD 기반 Moore–Penrose 의사 역행렬, 감쇠 의사 역행렬, 선택적 감쇠, 절단 SVD는 근접 특이 상태에서의 수치 안정 해를 제공하는 표준 기법이다. 양방향 대각화 기반 알고리즘과 Jacobi 기반 알고리즘은 수치 계산의 양대 축을 이루며, LAPACK 구현을 통해 실무 환경에서 광범위하게 활용된다. 본 절의 분석은 특이점의 이론적 엄밀성과 실시간 실무 활용을 동시에 지원하는 학술적 기반을 제공한다.
출처
- Bunch, J. R. and Nielsen, C. P., “Updating the singular value decomposition”, Numerische Mathematik, Vol. 31, No. 2, pp. 111–129, 1978.
- Maciejewski, A. A. and Klein, C. A., “Numerical filtering for the operation of robotic manipulators through kinematically singular configurations”, Journal of Robotic Systems, Vol. 5, No. 6, pp. 527–552, 1988.
- Nakamura, Y., Advanced Robotics: Redundancy and Optimization, Addison-Wesley, 1991.
- Drmač, Z. and Veselić, K., “New fast and accurate Jacobi SVD algorithm I, II”, SIAM Journal on Matrix Analysis and Applications, Vol. 29, No. 4, pp. 1322–1362, 2008.
- Siciliano, B., Sciavicco, L., Villani, L., and Oriolo, G., Robotics: Modelling, Planning and Control, Springer, 2009.
- Golub, G. H. and Van Loan, C. F., Matrix Computations, 4th edition, Johns Hopkins University Press, 2013.
- Strang, G., Introduction to Linear Algebra, 5th edition, Wellesley-Cambridge Press, 2016.
- Spong, M. W., Hutchinson, S., and Vidyasagar, M., Robot Modeling and Control, 2nd edition, Wiley, 2020.
버전
- 문서 버전: 2.0
- 작성일: 2026-04-21