6.94 여유 자유도 로봇의 자코비안 활용
여유 자유도(redundant) 로봇은 작업 수행에 필요한 자유도보다 더 많은 관절 자유도를 보유한 매니퓰레이터를 말한다. 수학적으로, 자코비안 행렬 J(\mathbf{q}) \in \mathbb{R}^{m \times n}에서 n > m인 경우에 해당한다. 여유 자유도는 동일한 말단 장치 상태를 달성하는 무한히 많은 관절 형상을 허용하며, 이 추가적인 자유도를 부차 목표의 최적화에 활용할 수 있다. 본 절에서는 여유 자유도 로봇에서의 자코비안 활용법을 다룬다.
1. 여유도의 정의와 측정
로봇 매니퓰레이터의 기구학적 여유도(degree of redundancy)는 다음과 같이 정의된다.
r = n - m
여기서 n은 관절 자유도, m은 작업 공간의 차원이다. 예를 들어, 3차원 공간에서 위치와 자세를 모두 제어하는 7 자유도 매니퓰레이터의 여유도는 r = 7 - 6 = 1이다.
여유도 r은 자코비안의 영 공간(null space)의 차원과 동일하다. 비특이 형상에서 다음이 성립한다.
\dim(\mathcal{N}(J)) = n - \text{rank}(J) = n - m = r
2. 의사 역행렬에 의한 최소 노름 해
여유 자유도 시스템에서 역속도 기구학 문제 \dot{\mathbf{x}} = J \dot{\mathbf{q}}의 일반해는 다음과 같다.
\dot{\mathbf{q}} = J^\dagger \dot{\mathbf{x}} + (I_n - J^\dagger J) \mathbf{z}
여기서 J^\dagger = J^\top(J J^\top)^{-1} \in \mathbb{R}^{n \times m}는 우측 무어-펜로즈 의사 역행렬이고, \mathbf{z} \in \mathbb{R}^n은 임의의 벡터이다.
이 해의 구조를 분석하면 다음과 같다.
- 제1항 J^\dagger \dot{\mathbf{x}}: 원하는 작업 공간 속도를 실현하면서 관절 속도의 노름 \|\dot{\mathbf{q}}\|를 최소화하는 특수해(particular solution)이다.
- 제2항 (I_n - J^\dagger J) \mathbf{z}: 자코비안의 영 공간에 투영된 동차해(homogeneous solution)이다. 이 성분은 말단 장치의 속도에 영향을 주지 않으면서 관절 형상을 변화시킨다.
3. 영 공간 투영 행렬
행렬 N = I_n - J^\dagger J \in \mathbb{R}^{n \times n}는 자코비안의 영 공간으로의 직교 투영 행렬(orthogonal projection matrix)이다. 이 행렬은 다음의 성질을 만족한다.
N^2 = N, \quad N^\top = N, \quad J N = \mathbf{0}
마지막 성질 JN = \mathbf{0}은 영 공간에 투영된 관절 속도가 말단 장치의 속도를 변화시키지 않음을 보장한다.
4. 부차 목표 최적화
여유 자유도를 활용하여 말단 장치의 주 과제(primary task)를 수행하면서 동시에 부차 목표(secondary objective)를 추구할 수 있다. 부차 목표를 스칼라 함수 H(\mathbf{q})로 정의하면, 그 경사(gradient) \nabla H를 영 공간에 투영하여 부차 목표를 최적화하는 관절 속도를 생성한다.
\dot{\mathbf{q}} = J^\dagger \dot{\mathbf{x}} + k_0 \, N \, \nabla H(\mathbf{q})
여기서 k_0 > 0는 부차 목표의 가중치(gain)이다. \nabla H의 방향으로의 관절 운동은 영 공간을 통해 필터링되므로 주 과제에 대한 간섭이 없다.
4.1 대표적인 부차 목표 함수
| 부차 목표 | 함수 H(\mathbf{q}) | 효과 |
|---|---|---|
| 관절 한계 회피 | H = -\frac{1}{2n}\sum_{i=1}^{n}\left(\frac{q_i - \bar{q}_i}{q_{i,\max} - q_{i,\min}}\right)^2 | 관절을 중앙값 \bar{q}_i로 유도 |
| 특이점 회피 | H = \sqrt{\det(JJ^\top)} | 조작성 지표 최대화 |
| 장애물 회피 | H = \min_i d_i(\mathbf{q}) | 로봇 링크와 장애물 간 최소 거리 최대화 |
| 관절 토크 최소화 | H = -\frac{1}{2}\boldsymbol{\tau}^\top W \boldsymbol{\tau} | 가중 관절 토크 노름 최소화 |
5. 과제 우선순위 프레임워크
단일 부차 목표를 넘어, 여러 과제에 우선순위(priority)를 부여하여 계층적으로 처리할 수 있다. 주 과제(우선순위 1)와 부차 과제(우선순위 2)가 주어졌을 때, 과제 우선순위(task priority) 해법은 다음과 같다.
\dot{\mathbf{q}} = J_1^\dagger \dot{\mathbf{x}}_1 + (I - J_1^\dagger J_1) \left[ J_2 (I - J_1^\dagger J_1) \right]^\dagger \left( \dot{\mathbf{x}}_2 - J_2 J_1^\dagger \dot{\mathbf{x}}_1 \right)
여기서 J_1, \dot{\mathbf{x}}_1은 주 과제의 자코비안과 원하는 속도, J_2, \dot{\mathbf{x}}_2는 부차 과제의 자코비안과 원하는 속도이다. 이 계층적 구조는 주 과제를 정확히 수행하면서 남은 여유 자유도 내에서 부차 과제를 최선으로 달성한다.
6. 가중 의사 역행렬
관절별로 다른 가중치를 부여하려면 가중 의사 역행렬(weighted pseudoinverse)을 사용한다. 양정치 가중 행렬 W \in \mathbb{R}^{n \times n}에 대한 가중 의사 역행렬은 다음과 같다.
J_W^\dagger = W^{-1} J^\top (J W^{-1} J^\top)^{-1}
이 의사 역행렬은 가중 노름 \|\dot{\mathbf{q}}\|_W^2 = \dot{\mathbf{q}}^\top W \dot{\mathbf{q}}를 최소화하는 해를 제공한다. 가중치가 큰 관절은 작은 속도로 운동하도록 유도되며, 이는 관절 한계에 가까운 관절이나 관성이 큰 관절의 운동을 억제하는 데 활용된다.
7. 실시간 구현에서의 고려 사항
여유 자유도 로봇의 자코비안 기반 제어를 실시간으로 구현할 때 다음 사항을 고려하여야 한다.
-
알고리즘적 특이점: 부차 과제의 자코비안이 주 과제의 영 공간 내에서 특이가 될 수 있으며, 이 경우 별도의 댐핑 처리가 필요하다.
-
이산 시간 효과: 디지털 제어 시스템에서 연속적인 영 공간 투영을 이산 시간으로 근사하면, 주 과제에 대한 미소한 간섭이 누적될 수 있다.
-
관절 한계 처리: 영 공간 운동이 관절 한계를 위반하지 않도록 클램핑(clamping) 또는 부등식 제약 조건을 부가하여야 한다.
-
수치적 안정성: 의사 역행렬의 계산에서 JJ^\top의 조건수가 큰 경우 댐핑 최소 제곱법을 적용하여 수치적 안정성을 확보한다.
8. 참고 문헌
- 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.
- Liegeois, A. (1977). “Automatic Supervisory Control of the Configuration and Behavior of Multibody Mechanisms.” IEEE Transactions on Systems, Man, and Cybernetics, 7(12), 868–871.
- Siciliano, B., & Slotine, J.-J. E. (1991). “A General Framework for Managing Multiple Tasks in Highly Redundant Robotic Systems.” Proceedings of the 5th International Conference on Advanced Robotics, 1211–1216.
- 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.
v 0.1