6.98 부족 결정 시스템과 최소 노름 해
부족 결정(underdetermined) 시스템은 미지수의 수가 방정식의 수보다 많은 연립 방정식으로서, 무한히 많은 해가 존재한다. 이러한 시스템에서 해의 노름(norm)을 최소화하는 해를 최소 노름 해(minimum norm solution)라 한다. 본 절에서는 부족 결정 시스템의 수학적 구조, 최소 노름 해의 유도, 그리고 여유 자유도 로봇에서의 활용을 다룬다.
1. 부족 결정 시스템의 정의
행렬 방정식 A\mathbf{x} = \mathbf{b}에서 A \in \mathbb{R}^{m \times n}이고 m < n인 경우를 부족 결정 시스템이라 한다. A가 행 풀랭크(full row rank), 즉 \text{rank}(A) = m이면, 해 집합은 \mathbb{R}^n에서의 (n-m)차원 아핀 부분 공간(affine subspace)을 형성한다.
\mathcal{S} = \{\mathbf{x} \in \mathbb{R}^n \mid A\mathbf{x} = \mathbf{b}\} = \mathbf{x}_p + \mathcal{N}(A)
여기서 \mathbf{x}_p는 특수해(particular solution), \mathcal{N}(A)는 A의 영 공간이다.
로봇 공학에서 부족 결정 시스템이 발생하는 대표적 상황은 여유 자유도 매니퓰레이터의 역속도 기구학 문제이다.
\dot{\mathbf{x}} = J(\mathbf{q}) \dot{\mathbf{q}}, \quad J \in \mathbb{R}^{m \times n}, \; m < n
2. 최소 노름 문제의 정식화
무한히 많은 해 중에서 유클리드 노름이 최소인 해를 선택한다.
\mathbf{x}^* = \arg\min_{\mathbf{x}} \|\mathbf{x}\|^2 \quad \text{subject to} \quad A\mathbf{x} = \mathbf{b}
이 문제는 등식 제약 조건이 있는 이차 최적화 문제이다.
3. 라그랑주 승수법에 의한 유도
라그랑주 함수를 다음과 같이 정의한다.
\mathcal{L}(\mathbf{x}, \boldsymbol{\lambda}) = \frac{1}{2}\mathbf{x}^\top \mathbf{x} + \boldsymbol{\lambda}^\top(A\mathbf{x} - \mathbf{b})
여기서 \boldsymbol{\lambda} \in \mathbb{R}^m는 라그랑주 승수 벡터이다. 최적 조건을 구하면 다음과 같다.
\frac{\partial \mathcal{L}}{\partial \mathbf{x}} = \mathbf{x} + A^\top \boldsymbol{\lambda} = \mathbf{0} \implies \mathbf{x} = -A^\top \boldsymbol{\lambda}
\frac{\partial \mathcal{L}}{\partial \boldsymbol{\lambda}} = A\mathbf{x} - \mathbf{b} = \mathbf{0}
첫 번째 조건을 두 번째에 대입하면 다음을 얻는다.
A(-A^\top \boldsymbol{\lambda}) = \mathbf{b} \implies \boldsymbol{\lambda} = -(AA^\top)^{-1}\mathbf{b}
따라서 최소 노름 해는 다음과 같다.
\mathbf{x}^* = A^\top(AA^\top)^{-1}\mathbf{b}
여기서 A^\top(AA^\top)^{-1}은 우측 의사 역행렬(right pseudoinverse)이며, A^\dagger = A^\top(AA^\top)^{-1}로 표기한다.
4. 기하학적 해석
해 집합 \mathcal{S}는 특수해 \mathbf{x}_p를 지나고 \mathcal{N}(A)에 평행한 아핀 부분 공간이다. 최소 노름 해 \mathbf{x}^*는 이 아핀 부분 공간에서 원점까지의 거리가 가장 가까운 점이다.
\mathbf{x}^* = A^\dagger \mathbf{b}는 A의 행 공간 \mathcal{R}(A^\top)에 속한다. 임의의 해를 \mathbf{x} = \mathbf{x}^* + \mathbf{x}_n (\mathbf{x}_n \in \mathcal{N}(A))으로 분해하면, \mathbf{x}^*와 \mathbf{x}_n는 직교하므로 피타고라스 정리에 의해 다음이 성립한다.
\|\mathbf{x}\|^2 = \|\mathbf{x}^*\|^2 + \|\mathbf{x}_n\|^2 \geq \|\mathbf{x}^*\|^2
따라서 \mathbf{x}^*가 최소 노름 해임이 확인된다.
5. 일반해의 구조
부족 결정 시스템의 일반해는 최소 노름 해에 영 공간 성분을 추가하여 다음과 같이 표현된다.
\mathbf{x} = A^\dagger \mathbf{b} + (I - A^\dagger A)\mathbf{z}
여기서 \mathbf{z} \in \mathbb{R}^n은 임의의 벡터이고, (I - A^\dagger A)는 \mathcal{N}(A)로의 직교 투영 행렬이다. \mathbf{z} = \mathbf{0}으로 설정하면 최소 노름 해를 얻으며, \mathbf{z} \neq \mathbf{0}으로 설정하면 영 공간 내에서의 추가적인 자유도를 활용할 수 있다.
6. 가중 최소 노름 해
미지수 성분별로 다른 가중치를 부여하려면 가중 노름을 사용한다. 양정치 가중 행렬 W \in \mathbb{R}^{n \times n}에 대해 가중 최소 노름 문제는 다음과 같다.
\mathbf{x}^* = \arg\min_{\mathbf{x}} \mathbf{x}^\top W \mathbf{x} \quad \text{subject to} \quad A\mathbf{x} = \mathbf{b}
그 해는 가중 의사 역행렬에 의해 다음과 같이 주어진다.
\mathbf{x}^* = W^{-1}A^\top(AW^{-1}A^\top)^{-1}\mathbf{b}
로봇 공학에서 가중치 W의 대각 성분을 관절별로 다르게 설정하면, 특정 관절의 운동을 선호하거나 억제할 수 있다.
7. 여유 자유도 로봇에서의 응용
여유 자유도 매니퓰레이터의 역속도 기구학에서, 원하는 말단 장치 속도 \dot{\mathbf{x}}_d를 실현하는 최소 노름 관절 속도는 다음과 같다.
\dot{\mathbf{q}}^* = J^\dagger \dot{\mathbf{x}}_d = J^\top(JJ^\top)^{-1}\dot{\mathbf{x}}_d
이 해는 \|\dot{\mathbf{q}}\|를 최소화하면서 J\dot{\mathbf{q}} = \dot{\mathbf{x}}_d를 만족하므로, 관절 속도의 총량이 최소인 에너지 효율적 운동에 해당한다.
영 공간 성분을 추가하여 부차 목표를 동시에 추구하는 일반해는 다음과 같다.
\dot{\mathbf{q}} = J^\dagger \dot{\mathbf{x}}_d + (I - J^\dagger J)\mathbf{z}
8. 참고 문헌
- Strang, G. (2019). Linear Algebra and Its Applications. 5th ed. Wellesley-Cambridge Press.
- 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.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Ben-Israel, A., & Greville, T. N. E. (2003). Generalized Inverses: Theory and Applications. 2nd ed. Springer.
v 0.1