6.108 여유 자유도 로봇의 영 공간 투영

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: 영 공간 투영 기반 여유 자유도 역기구학

  1. 현재 형상 \mathbf{q}에서 자코비안 J(\mathbf{q})를 계산한다.
  2. SVD를 수행한다: J = U\Sigma V^\top.
  3. 유사 역행렬을 계산한다: J^+ = V \Sigma^+ U^\top.
  4. 영 공간 투영 행렬을 계산한다: N = I - J^+ J.
  5. 부차 목표 벡터 \mathbf{z}를 결정한다.
  6. 관절 속도를 계산한다: \dot{\mathbf{q}} = J^+ \dot{\mathbf{x}} + N\mathbf{z}.
  7. 관절 각도를 갱신한다: \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