6.108 여유 자유도 로봇의 영 공간 투영
1. 여유 자유도 로봇의 정의
여유 자유도(redundant) 로봇은 작업 수행에 필요한 최소 자유도보다 더 많은 관절 자유도를 보유하는 로봇이다. 작업 공간의 차원을 m, 관절 공간의 차원을 n이라 하면, n > m일 때 해당 로봇은 여유 자유도 로봇이며, 여유 자유도의 수는 r = n - m이다.
여유 자유도 로봇의 역기구학 문제에서, 자코비안 방정식
\dot{\mathbf{x}} = J(\mathbf{q})\dot{\mathbf{q}}
은 무한히 많은 해를 가진다. 이러한 해의 다양성을 체계적으로 활용하기 위한 핵심 도구가 영 공간 투영(null space projection)이다.
영 공간 투영 행렬
정의 6.108.1 (영 공간 투영 행렬). 자코비안 J \in \mathbb{R}^{m \times n}의 영 공간으로의 직교 투영 행렬은 다음과 같이 정의된다.
N = I_n - J^+ J
여기서 I_n \in \mathbb{R}^{n \times n}은 단위 행렬이고, J^+는 J의 무어-펜로즈 유사 역행렬이다. J가 최대 행 랭크(\text{rank}(J) = m)를 가질 때, 유사 역행렬은 다음과 같다.
J^+ = J^\top (J J^\top)^{-1}
정리 6.108.1. 영 공간 투영 행렬 N = I - J^+ J는 다음 성질을 만족한다.
(i) N^2 = N (멱등성)
(ii) N^\top = N (대칭성)
(iii) JN = \mathbf{0} (작업 공간 무영향 조건)
(iv) \text{rank}(N) = n - \text{rank}(J)
증명. (iii)을 보이면, JN = J(I - J^+J) = J - JJ^+J이다. 무어-펜로즈 조건 JJ^+J = J에 의하여 JN = J - J = \mathbf{0}이 성립한다. \square
여유 자유도 역기구학의 일반해
여유 자유도 로봇의 속도 수준 역기구학 일반해는 다음과 같이 표현된다.
\dot{\mathbf{q}} = J^+ \dot{\mathbf{x}} + (I - J^+ J)\mathbf{z}
여기서 첫째 항 J^+ \dot{\mathbf{x}}는 원하는 작업 공간 속도 \dot{\mathbf{x}}를 실현하는 최소 노름 관절 속도이고, 둘째 항 (I - J^+ J)\mathbf{z}는 영 공간에 속하는 관절 속도로서 말단 장치의 운동에 영향을 미치지 않는다.
정리 6.108.2 (최소 노름성). J^+ \dot{\mathbf{x}}는 J\dot{\mathbf{q}} = \dot{\mathbf{x}}를 만족하는 모든 해 중에서 유클리드 노름 \|\dot{\mathbf{q}}\|를 최소화하는 해이다.
증명. 일반해를 \dot{\mathbf{q}} = J^+\dot{\mathbf{x}} + N\mathbf{z}로 쓰면,
\|\dot{\mathbf{q}}\|^2 = \|J^+\dot{\mathbf{x}}\|^2 + 2(J^+\dot{\mathbf{x}})^\top N\mathbf{z} + \|N\mathbf{z}\|^2
J^+\dot{\mathbf{x}}는 J의 행 공간에 속하고, N\mathbf{z}는 J의 영 공간에 속하므로 이 두 벡터는 직교한다. 따라서 교차항은 0이 되어,
\|\dot{\mathbf{q}}\|^2 = \|J^+\dot{\mathbf{x}}\|^2 + \|N\mathbf{z}\|^2 \geq \|J^+\dot{\mathbf{x}}\|^2
등호는 N\mathbf{z} = \mathbf{0}일 때 성립한다. \square
2. 영 공간 투영의 기하학적 해석
관절 공간 \mathbb{R}^n은 자코비안 J에 의하여 두 개의 직교 보수 부분 공간으로 분해된다.
\mathbb{R}^n = \mathcal{R}(J^\top) \oplus \mathcal{N}(J)
여기서 \mathcal{R}(J^\top)은 J의 행 공간(= J^\top의 열 공간)이고, \mathcal{N}(J)는 J의 영 공간이다.
- J^+ J는 행 공간 \mathcal{R}(J^\top)으로의 직교 투영이다.
- N = I - J^+ J는 영 공간 \mathcal{N}(J)으로의 직교 투영이다.
따라서 임의의 관절 속도 벡터 \dot{\mathbf{q}}는 다음과 같이 직교 분해된다.
\dot{\mathbf{q}} = J^+ J \dot{\mathbf{q}} + (I - J^+ J)\dot{\mathbf{q}}
첫째 항은 말단 장치 운동에 기여하는 성분이고, 둘째 항은 내부 운동에 해당하는 성분이다.
3. 가중 유사 역행렬과 가중 영 공간 투영
관절마다 서로 다른 중요도나 물리적 제약을 반영하기 위해 가중 유사 역행렬을 도입할 수 있다.
정의 6.108.2 (가중 유사 역행렬). 양의 정부호 대칭 행렬 W \in \mathbb{R}^{n \times n}에 대한 가중 유사 역행렬은 다음과 같다.
J_W^+ = W^{-1} J^\top (J W^{-1} J^\top)^{-1}
이로부터 가중 영 공간 투영 행렬은 다음과 같이 정의된다.
N_W = I - J_W^+ J
가중 유사 역행렬을 사용한 일반해는
\dot{\mathbf{q}} = J_W^+ \dot{\mathbf{x}} + (I - J_W^+ J)\mathbf{z}
이며, 이 해는 가중 노름 \|\dot{\mathbf{q}}\|_W = \sqrt{\dot{\mathbf{q}}^\top W \dot{\mathbf{q}}}를 최소화한다.
가중 행렬의 대표적인 선택은 다음과 같다.
| 가중 행렬 W | 물리적 의미 |
|---|---|
| I | 균일 가중(표준 유사 역행렬) |
| \text{diag}(w_1, \ldots, w_n) | 관절별 우선순위 할당 |
| M(\mathbf{q}) | 관성 행렬 기반 동적 가중 |
관성 행렬 M(\mathbf{q})을 가중 행렬로 사용하면, 운동 에너지 \frac{1}{2}\dot{\mathbf{q}}^\top M \dot{\mathbf{q}}를 최소화하는 동역학적으로 자연스러운 해를 얻게 된다.
작업 우선순위 프레임워크
여러 개의 작업을 동시에 수행해야 하는 경우, 작업 우선순위(task-priority) 프레임워크를 통해 영 공간 투영을 계층적으로 적용한다.
정의 6.108.3 (작업 우선순위). 두 개의 작업 \dot{\mathbf{x}}_1 = J_1 \dot{\mathbf{q}} (주 작업)과 \dot{\mathbf{x}}_2 = J_2 \dot{\mathbf{q}} (부 작업)이 주어졌을 때, 주 작업을 우선적으로 수행하면서 부 작업을 가능한 한 만족하는 관절 속도는 다음과 같다.
\dot{\mathbf{q}} = J_1^+ \dot{\mathbf{x}}_1 + N_1 J_2^{+\prime} \dot{\mathbf{x}}_2
여기서 N_1 = I - J_1^+ J_1이고, J_2^{+\prime} = (J_2 N_1)^+이다.
이를 k개의 작업으로 일반화하면 다음과 같은 재귀적 공식을 얻는다.
\dot{\mathbf{q}}_i = \dot{\mathbf{q}}_{i-1} + (J_i \bar{N}_{i-1})^+ (\dot{\mathbf{x}}_i - J_i \dot{\mathbf{q}}_{i-1})
\bar{N}_i = \bar{N}_{i-1} - (J_i \bar{N}_{i-1})^+ J_i \bar{N}_{i-1}
여기서 \dot{\mathbf{q}}_0 = \mathbf{0}, \bar{N}_0 = I이며, 최종 관절 속도는 \dot{\mathbf{q}} = \dot{\mathbf{q}}_k이다.
4. 영 공간 투영의 연속성 문제
자코비안의 랭크가 변하는 형상 근방에서 영 공간 투영 행렬은 불연속적으로 변할 수 있다. 이는 다음과 같은 문제를 야기한다.
- 관절 속도의 급격한 점프
- 제어 토크의 불연속
- 역기구학 해의 불안정성
이를 완화하기 위한 방법으로 감쇠 최소 제곱법(damped least squares)에 기반한 연속 근사가 사용된다.
J_\lambda^+ = J^\top (JJ^\top + \lambda^2 I)^{-1}
N_\lambda = I - J_\lambda^+ J
감쇠 계수 \lambda > 0의 도입으로 투영 행렬이 연속화되지만, JN_\lambda \neq \mathbf{0}이 되어 정확한 작업 공간 속도 추종에서 벗어나는 trade-off가 발생한다.
5. 수치 구현
영 공간 투영의 실시간 계산은 다음 절차를 따른다.
알고리즘 6.108.1: 영 공간 투영 기반 여유 자유도 역기구학
- 현재 형상 \mathbf{q}에서 자코비안 J(\mathbf{q})를 계산한다.
- SVD를 수행한다: J = U\Sigma V^\top.
- 유사 역행렬을 계산한다: J^+ = V \Sigma^+ U^\top.
- 영 공간 투영 행렬을 계산한다: N = I - J^+ J.
- 부차 목표 벡터 \mathbf{z}를 결정한다.
- 관절 속도를 계산한다: \dot{\mathbf{q}} = J^+ \dot{\mathbf{x}} + N\mathbf{z}.
- 관절 각도를 갱신한다: \mathbf{q} \leftarrow \mathbf{q} + \dot{\mathbf{q}} \Delta t.
SVD 기반 구현은 수치적으로 안정하며, 특이값의 크기에 따른 임계값 설정을 통해 특이점 근방에서의 로버스트한 처리가 가능하다.
6. 예제: 7자유도 로봇 팔
7자유도 로봇 팔(n = 7)이 6차원 작업 공간 속도(m = 6)를 추종하는 경우를 고려하자. 비특이 형상에서 \text{rank}(J) = 6이므로 영 공간의 차원은 1이다.
영 공간 기저 벡터를 \mathbf{v}_{\text{null}} \in \mathbb{R}^7이라 하면, 영 공간 투영은 다음과 같이 간소화된다.
N = \mathbf{v}_{\text{null}} \mathbf{v}_{\text{null}}^\top
일반해는 다음과 같다.
\dot{\mathbf{q}} = J^+ \dot{\mathbf{x}} + \alpha \mathbf{v}_{\text{null}}
여기서 \alpha = \mathbf{v}_{\text{null}}^\top \mathbf{z}는 스칼라 이득으로, 부차 목표의 방향과 크기를 결정한다. 이 1차원 자유도를 활용하여 팔꿈치 순환, 관절 한계 회피, 장애물 회피 등의 부차 목표를 추구할 수 있다.
참고문헌
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Nakamura, Y. (1991). Advanced Robotics: Redundancy and Optimization. Addison-Wesley.
- Chiaverini, S. (1997). Singularity-robust task-priority redundancy resolution for real-time kinematic control of robot manipulators. IEEE Transactions on Robotics and Automation, 13(3), 398–410.
- Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Wellesley-Cambridge Press.
v 0.1