6.123 행렬 지수의 로봇 트위스트 표현 응용

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}_ii번째 관절의 공간 트위스트
\theta_ii번째 관절 변수
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) 방법에 비해 다음과 같은 장점을 가진다.

  1. 좌표계 배치의 자유도: DH 방법은 각 링크에 고정된 좌표계 배치 규약을 따라야 하지만, 트위스트 방법은 기준 좌표계와 영위치만 지정하면 된다.
  2. 특이점 없는 표현: DH 매개변수에서 연속된 평행 축에 의한 특이점 문제가 발생하지 않는다.
  3. 기하학적 직관: 나사 운동과의 대응으로 물리적 의미가 명확하다.
  4. 수학적 일관성: 리 군-리 대수 이론에 기반하여 미분, 적분, 최적화 등의 연산이 체계적으로 수행된다.

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. 참고 문헌

  1. Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
  2. Lynch, K. M., & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.
  3. Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
  4. Selig, J. M. (2005). Geometric Fundamentals of Robotics. 2nd ed., Springer.
  5. Brockett, R. W. (1984). “Robotic manipulators and the product of exponentials formula.” Mathematical Theory of Networks and Systems, pp. 120–129.

v 0.1