6.123 행렬 지수의 로봇 트위스트 표현 응용
1. 개요
행렬 지수(matrix exponential)는 리 군(Lie group)과 리 대수(Lie algebra) 사이의 사상을 제공하며, 로봇공학에서 강체 운동을 기술하는 핵심 수학적 도구이다. 특히 트위스트(twist)는 강체의 순간 속도를 하나의 6차원 벡터로 통합 표현하는 개념으로, 행렬 지수를 통해 유한 변위(finite displacement)로 변환할 수 있다. 본 절에서는 행렬 지수와 트위스트 표현의 수학적 기초를 정립하고, 로봇 기구학 및 동역학에의 응용을 상세히 다룬다.
2. 트위스트의 정의
2.1 강체 운동의 속도 표현
강체의 운동은 병진 속도 \mathbf{v} \in \mathbb{R}^3와 각속도 \boldsymbol{\omega} \in \mathbb{R}^3로 기술된다. 이 두 벡터를 하나로 결합한 것이 트위스트이다.
\mathcal{V} = \begin{bmatrix} \boldsymbol{\omega} \\ \mathbf{v} \end{bmatrix} \in \mathbb{R}^6
트위스트는 공간 좌표계(space frame) 기준의 **공간 트위스트(spatial twist)**와 물체 좌표계(body frame) 기준의 **물체 트위스트(body twist)**로 구분된다.
2.2 트위스트의 행렬 표현
트위스트 \mathcal{V}를 4 \times 4 행렬로 나타내면 \text{se}(3) 리 대수의 원소가 된다.
[\mathcal{V}] = \begin{bmatrix} [\boldsymbol{\omega}] & \mathbf{v} \\ \mathbf{0}^T & 0 \end{bmatrix} \in \text{se}(3)
여기서 [\boldsymbol{\omega}]는 각속도 벡터 \boldsymbol{\omega} = (\omega_1, \omega_2, \omega_3)^T의 반대칭 행렬(skew-symmetric matrix)이다.
[\boldsymbol{\omega}] = \begin{bmatrix} 0 & -\omega_3 & \omega_2 \\ \omega_3 & 0 & -\omega_1 \\ -\omega_2 & \omega_1 & 0 \end{bmatrix}
3. 행렬 지수와 강체 변환
3.1 행렬 지수의 정의
행렬 A \in \mathbb{R}^{n \times n}에 대한 행렬 지수는 다음과 같이 정의된다.
e^{A} = \sum_{k=0}^{\infty} \frac{A^k}{k!} = I + A + \frac{A^2}{2!} + \frac{A^3}{3!} + \cdots
이 급수는 임의의 정방행렬에 대해 항상 수렴한다.
3.2 회전 행렬로의 사상: 로드리게스 공식
\boldsymbol{\omega} \in \mathbb{R}^3가 단위 벡터(\lVert \boldsymbol{\omega} \rVert = 1)일 때, 각도 \theta만큼의 회전은 다음과 같다.
e^{[\boldsymbol{\omega}]\theta} = I + \sin\theta \, [\boldsymbol{\omega}] + (1 - \cos\theta) \, [\boldsymbol{\omega}]^2
이것이 로드리게스(Rodrigues) 공식이며, 결과는 \text{SO}(3)에 속하는 회전 행렬 R이다.
e^{[\boldsymbol{\omega}]\theta} = R \in \text{SO}(3)
3.3 동차 변환 행렬로의 사상
트위스트 \mathcal{V} = (\boldsymbol{\omega}, \mathbf{v})^T에 대해, \lVert \boldsymbol{\omega} \rVert = 1인 경우 행렬 지수는 다음과 같이 계산된다.
e^{[\mathcal{V}]\theta} = \begin{bmatrix} e^{[\boldsymbol{\omega}]\theta} & G(\theta)\mathbf{v} \\ \mathbf{0}^T & 1 \end{bmatrix} \in \text{SE}(3)
여기서
G(\theta) = I\theta + (1 - \cos\theta)[\boldsymbol{\omega}] + (\theta - \sin\theta)[\boldsymbol{\omega}]^2
\boldsymbol{\omega} = \mathbf{0}인 순수 병진 운동의 경우에는 다음과 같다.
e^{[\mathcal{V}]\theta} = \begin{bmatrix} I & \mathbf{v}\theta \\ \mathbf{0}^T & 1 \end{bmatrix}
4. 지수 좌표를 이용한 순기구학
4.1 포인트 오브 엑스포넨셜(POE) 공식
n개의 관절을 가진 개방형 직렬 로봇의 순기구학(forward kinematics)은 지수 좌표를 이용하여 다음과 같이 표현된다.
T(\boldsymbol{\theta}) = e^{[\mathcal{S}_1]\theta_1} \, e^{[\mathcal{S}_2]\theta_2} \cdots e^{[\mathcal{S}_n]\theta_n} \, M
여기서
| 기호 | 의미 |
|---|---|
| T(\boldsymbol{\theta}) | 말단 장치의 동차 변환 행렬 |
| \mathcal{S}_i | i번째 관절의 공간 트위스트 |
| \theta_i | i번째 관절 변수 |
| M | 영위치(home position)에서의 말단 장치 형상 |
4.2 공간 트위스트의 결정
회전 관절의 경우, 관절축 방향의 단위 벡터 \boldsymbol{\omega}_i와 관절축 위의 한 점 \mathbf{q}_i로부터 공간 트위스트를 구한다.
\mathcal{S}_i = \begin{bmatrix} \boldsymbol{\omega}_i \\ \mathbf{v}_i \end{bmatrix}, \quad \mathbf{v}_i = -\boldsymbol{\omega}_i \times \mathbf{q}_i
직동 관절의 경우, 이동 방향의 단위 벡터 \hat{\mathbf{v}}_i로부터 다음과 같이 결정한다.
\mathcal{S}_i = \begin{bmatrix} \mathbf{0} \\ \hat{\mathbf{v}}_i \end{bmatrix}
4.3 물체 좌표계 기반 POE 공식
물체 트위스트 \mathcal{B}_i를 사용한 순기구학 표현은 다음과 같다.
T(\boldsymbol{\theta}) = M \, e^{[\mathcal{B}_1]\theta_1} \, e^{[\mathcal{B}_2]\theta_2} \cdots e^{[\mathcal{B}_n]\theta_n}
공간 트위스트와 물체 트위스트 사이에는 다음의 관계가 성립한다.
\mathcal{B}_i = [\text{Ad}_{M^{-1}}] \, \mathcal{S}_i
여기서 [\text{Ad}_T]는 T \in \text{SE}(3)에 대한 수반 표현(adjoint representation) 행렬이다.
[\text{Ad}_T] = \begin{bmatrix} R & \mathbf{0} \\ [p]R & R \end{bmatrix} \in \mathbb{R}^{6 \times 6}
5. 야코비안과 트위스트의 관계
5.1 공간 야코비안
말단 장치의 공간 트위스트는 관절 속도와 공간 야코비안 J_s를 통해 연결된다.
\mathcal{V}_s = J_s(\boldsymbol{\theta}) \, \dot{\boldsymbol{\theta}}
공간 야코비안의 i번째 열은 다음과 같다.
J_{s,i}(\boldsymbol{\theta}) = \text{Ad}_{e^{[\mathcal{S}_1]\theta_1} \cdots e^{[\mathcal{S}_{i-1}]\theta_{i-1}}} \, \mathcal{S}_i
첫 번째 열은 J_{s,1} = \mathcal{S}_1이다.
5.2 물체 야코비안
물체 좌표계에서의 야코비안은 다음과 같이 표현된다.
\mathcal{V}_b = J_b(\boldsymbol{\theta}) \, \dot{\boldsymbol{\theta}}
공간 야코비안과 물체 야코비안 사이에는 다음의 관계가 성립한다.
J_b(\boldsymbol{\theta}) = [\text{Ad}_{T^{-1}(\boldsymbol{\theta})}] \, J_s(\boldsymbol{\theta})
6. 나사 운동과 트위스트의 기하학적 해석
6.1 나사 축(screw axis)
슈아솔(Chasles) 정리에 의하면, 임의의 강체 변위는 하나의 나사 운동(screw motion)으로 나타낼 수 있다. 나사 운동은 나사 축을 중심으로 회전하면서 동시에 축 방향으로 병진하는 운동이다.
나사 축 \mathcal{S}는 다음의 매개변수로 기술된다.
| 매개변수 | 설명 |
|---|---|
| \boldsymbol{\omega} | 나사 축 방향의 단위 벡터 |
| \mathbf{q} | 나사 축 위의 한 점 |
| h | 피치(pitch): 회전 1 라디안당 축 방향 병진 거리 |
트위스트와 나사 축의 관계는 다음과 같다.
\mathcal{S} = \begin{bmatrix} \boldsymbol{\omega} \\ \mathbf{v} \end{bmatrix}, \quad \mathbf{v} = -\boldsymbol{\omega} \times \mathbf{q} + h\boldsymbol{\omega}
6.2 유한 나사 변위
나사 축 \mathcal{S}를 중심으로 각도 \theta만큼 회전하고 h\theta만큼 병진하는 강체 변위는 행렬 지수로 표현된다.
T = e^{[\mathcal{S}]\theta}
이는 행렬 지수가 나사 운동의 자연스러운 수학적 표현임을 보여 준다.
7. 응용 예제
7.1 예제 1: 2자유도 평면 로봇
2자유도 평면 회전 로봇의 관절 트위스트를 구하자. 링크 길이를 L_1, L_2라 하고, 영위치에서 말단 장치의 위치를 \mathbf{p} = (L_1 + L_2, 0, 0)^T라 한다.
관절 1의 공간 트위스트:
\mathcal{S}_1 = \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}
관절 2의 공간 트위스트(\mathbf{q}_2 = (L_1, 0, 0)^T):
\mathcal{S}_2 = \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \\ -L_1 \\ 0 \end{bmatrix}
순기구학은 다음과 같다.
T(\theta_1, \theta_2) = e^{[\mathcal{S}_1]\theta_1} \, e^{[\mathcal{S}_2]\theta_2} \, M
여기서
M = \begin{bmatrix} 1 & 0 & 0 & L_1 + L_2 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
7.2 예제 2: SCARA 로봇의 트위스트 표현
SCARA(Selective Compliance Assembly Robot Arm) 로봇은 2개의 회전 관절, 1개의 직동 관절, 1개의 회전 관절로 구성된다. 각 관절의 공간 트위스트는 다음과 같이 정의된다.
\mathcal{S}_1 = \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}, \quad \mathcal{S}_2 = \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \\ -L_1 \\ 0 \end{bmatrix}, \quad \mathcal{S}_3 = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 1 \end{bmatrix}, \quad \mathcal{S}_4 = \begin{bmatrix} 0 \\ 0 \\ -1 \\ 0 \\ L_1 + L_2 \\ 0 \end{bmatrix}
순기구학은 지수 좌표의 곱으로 체계적으로 표현된다.
T(\boldsymbol{\theta}) = e^{[\mathcal{S}_1]\theta_1} \, e^{[\mathcal{S}_2]\theta_2} \, e^{[\mathcal{S}_3]\theta_3} \, e^{[\mathcal{S}_4]\theta_4} \, M
8. 행렬 지수 표현의 장점
행렬 지수를 이용한 트위스트 표현은 종래의 데나빗-하텐버그(Denavit-Hartenberg, DH) 방법에 비해 다음과 같은 장점을 가진다.
- 좌표계 배치의 자유도: DH 방법은 각 링크에 고정된 좌표계 배치 규약을 따라야 하지만, 트위스트 방법은 기준 좌표계와 영위치만 지정하면 된다.
- 특이점 없는 표현: DH 매개변수에서 연속된 평행 축에 의한 특이점 문제가 발생하지 않는다.
- 기하학적 직관: 나사 운동과의 대응으로 물리적 의미가 명확하다.
- 수학적 일관성: 리 군-리 대수 이론에 기반하여 미분, 적분, 최적화 등의 연산이 체계적으로 수행된다.
9. 행렬 로그와 역문제
행렬 지수의 역연산인 **행렬 로그(matrix logarithm)**를 통해, 주어진 동차 변환 행렬 T \in \text{SE}(3)로부터 트위스트 좌표를 추출할 수 있다.
[\mathcal{S}]\theta = \log(T)
T = (R, \mathbf{p})가 주어졌을 때, 회전 부분에서 \boldsymbol{\omega}와 \theta를 구한다.
\theta = \cos^{-1}\left(\frac{\text{tr}(R) - 1}{2}\right)
[\boldsymbol{\omega}] = \frac{1}{2\sin\theta}(R - R^T)
병진 부분에서 \mathbf{v}를 구한다.
\mathbf{v} = G^{-1}(\theta) \, \mathbf{p}
10. 참고 문헌
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
- Lynch, K. M., & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Selig, J. M. (2005). Geometric Fundamentals of Robotics. 2nd ed., Springer.
- Brockett, R. W. (1984). “Robotic manipulators and the product of exponentials formula.” Mathematical Theory of Networks and Systems, pp. 120–129.
v 0.1