11.16 리 군 기반 강체 운동 표현
1. 강체 운동 표현의 개요
강체 운동(rigid body motion)은 강체의 위치와 자세가 시간에 따라 변화하는 현상이며, 6자유도(3차원 위치 + 3차원 자세)로 기술된다. 리 군 이론은 강체 운동을 표현하는 가장 자연스럽고 통합적인 방법을 제공한다. 강체 변환군 SE(3)의 원소가 강체의 한 순간의 자세를 표현하며, 그 시간 미분이 트위스트(리 대수 \mathfrak{se}(3)의 원소)로 표현된다. 이러한 표현은 위치와 자세를 분리하지 않고 통합적으로 다룰 수 있게 하며, 회전과 병진의 결합 효과를 자연스럽게 표현한다.
2. 강체의 자세 표현
2.1 위치와 자세의 결합
강체의 자세는 위치 벡터 \mathbf{p} \in \mathbb{R}^3과 회전 행렬 \mathbf{R} \in SO(3)의 결합으로 표현된다. 두 정보를 결합한 동차 변환 행렬은 다음과 같다.
\mathbf{T} = \begin{bmatrix}\mathbf{R} & \mathbf{p} \\ \mathbf{0}^T & 1\end{bmatrix} \in SE(3)
이는 SE(3)의 표준 표현이다.
2.2 좌표계 부착
강체에는 본체 좌표계(body frame)가 부착되며, 이 좌표계의 자세가 강체의 자세를 표현한다. 본체 좌표계는 일반적으로 강체의 질량 중심이나 다른 의미 있는 점에 위치한다.
2.3 기준 좌표계
강체의 자세는 항상 기준 좌표계에 대해 정의된다. 일반적으로 세계 좌표계(world frame) 또는 관성 좌표계(inertial frame)가 기준이 된다.
3. 강체의 운동학
3.1 위치와 자세의 시간 변화
강체의 운동은 시간에 따른 자세의 변화이다.
\mathbf{T}(t) = \begin{bmatrix}\mathbf{R}(t) & \mathbf{p}(t) \\ \mathbf{0}^T & 1\end{bmatrix}
위치 \mathbf{p}(t)와 회전 \mathbf{R}(t)가 모두 시간의 함수이다.
3.2 트위스트로의 표현
강체의 6자유도 속도는 트위스트로 표현된다. 이는 각속도와 선형 속도의 결합이다.
\mathcal{V} = \begin{bmatrix}\boldsymbol{\omega} \\ \mathbf{v}\end{bmatrix} \in \mathbb{R}^6
3.3 공간 트위스트
공간 좌표계에서 표현된 트위스트는 다음의 관계로 정의된다.
\dot{\mathbf{T}}\mathbf{T}^{-1} = \hat{\mathcal{V}}_s
명시적으로
\mathcal{V}_s = \begin{bmatrix}\boldsymbol{\omega}_s \\ \mathbf{v}_s\end{bmatrix}
여기서 \boldsymbol{\omega}_s는 공간 좌표계에서의 각속도, \mathbf{v}_s는 공간 좌표계 원점에 위치한 강체상의 가상 점의 속도이다.
3.4 본체 트위스트
본체 좌표계에서 표현된 트위스트는 다음의 관계로 정의된다.
\mathbf{T}^{-1}\dot{\mathbf{T}} = \hat{\mathcal{V}}_b
명시적으로
\mathcal{V}_b = \begin{bmatrix}\boldsymbol{\omega}_b \\ \mathbf{v}_b\end{bmatrix}
여기서 \boldsymbol{\omega}_b는 본체 좌표계에서의 각속도, \mathbf{v}_b는 본체 좌표계 원점의 속도(본체 좌표계에서 표현)이다.
3.5 두 트위스트의 변환
공간 트위스트와 본체 트위스트는 같은 운동을 다른 좌표계에서 표현한 것이며, 수반 표현으로 변환된다.
\mathcal{V}_s = [\mathrm{Ad}_{\mathbf{T}_{sb}}]\mathcal{V}_b
4. 미분 운동학 방정식
4.1 회전 운동학
회전 행렬의 시간 미분은 각속도와 다음의 관계를 가진다.
\dot{\mathbf{R}} = \mathbf{R}[\boldsymbol{\omega}_b]_\times = [\boldsymbol{\omega}_s]_\times\mathbf{R}
이는 본체 각속도와 공간 각속도의 두 표현이다.
4.2 위치 운동학
위치의 시간 미분은 다음과 같다.
\dot{\mathbf{p}} = \mathbf{R}\mathbf{v}_b
여기서 \mathbf{v}_b는 본체 좌표계에서의 선형 속도이다. 공간 좌표계에서의 표현으로는 \dot{\mathbf{p}} = \mathbf{v}_s + \boldsymbol{\omega}_s \times \mathbf{p}의 형태이다.
4.3 통합된 표현
회전과 위치의 운동학을 통합하면 강체 변환의 미분 방정식이 된다.
\dot{\mathbf{T}} = \mathbf{T}\hat{\mathcal{V}}_b = \hat{\mathcal{V}}_s\mathbf{T}
이는 행렬 미분 방정식이며, 트위스트가 강체의 6자유도 속도임을 보여준다.
5. 강체의 가속도
5.1 트위스트의 시간 미분
강체의 가속도는 트위스트의 시간 미분으로 표현된다. 본체 좌표계에서 다음과 같이 정의된다.
\dot{\mathcal{V}}_b = \begin{bmatrix}\dot{\boldsymbol{\omega}}_b \\ \dot{\mathbf{v}}_b\end{bmatrix}
이는 6차원 벡터이다.
5.2 공간 가속도와의 관계
공간 좌표계에서 측정된 가속도와 본체 좌표계에서 측정된 가속도 사이의 관계는 수반 표현의 미분에서 비롯된다. 단순한 좌표 변환은 아니다.
6. 강체의 운동 방정식
6.1 뉴턴-오일러 방정식
강체의 운동 방정식은 본체 좌표계에서 다음과 같이 표현된다.
\mathbf{I}\dot{\mathcal{V}}_b - [\mathrm{ad}_{\mathcal{V}_b}]^T\mathbf{I}\mathcal{V}_b = \mathcal{F}_b
여기서
- \mathbf{I}: 일반화된 관성 행렬 (6 \times 6)
- \mathcal{F}_b: 본체 좌표계에서의 일반화된 힘(렌치)
이 방정식은 회전과 병진의 동역학을 통합적으로 표현한다.
6.2 일반화된 관성 행렬
일반화된 관성 행렬은 회전 관성과 질량을 결합한다.
\mathbf{I} = \begin{bmatrix}\mathbf{I}_b & \mathbf{0} \\ \mathbf{0} & m\mathbf{I}_3\end{bmatrix}
여기서 \mathbf{I}_b는 본체의 회전 관성 텐서, m은 질량이다. 이는 본체 좌표계의 원점이 질량 중심에 있을 때의 형태이다.
6.3 힘의 표현
본체 좌표계에서의 일반화된 힘 \mathcal{F}_b는 토크와 힘의 결합이다.
\mathcal{F}_b = \begin{bmatrix}\boldsymbol{\tau}_b \\ \mathbf{f}_b\end{bmatrix}
여기서 \boldsymbol{\tau}_b는 본체 좌표계에서의 토크, \mathbf{f}_b는 본체 좌표계에서의 힘이다.
7. 강체 운동의 시간 적분
7.1 트위스트의 적분
트위스트로부터 강체 변환을 계산하는 것은 행렬 지수를 통해 이루어진다. 작은 시간 간격 \Delta t 동안
\mathbf{T}(t + \Delta t) = \mathbf{T}(t)\exp(\hat{\mathcal{V}}_b\Delta t)
또는 공간 좌표계에서
\mathbf{T}(t + \Delta t) = \exp(\hat{\mathcal{V}}_s\Delta t)\mathbf{T}(t)
이러한 적분이 수치적으로 안정적이며, 다양체 위에 머문다.
7.2 연속 적분
연속적인 시간 적분은 시간에 따라 변화하는 트위스트의 적분이다.
\mathbf{T}(t) = \mathbf{T}(0)\exp\!\left(\int_0^t\hat{\mathcal{V}}_b(s)\,ds\right) \quad \text{(트위스트가 가환적인 경우)}
가환적이지 않으면 BCH 공식이 필요하며, 일반적으로 수치 적분이 사용된다.
8. 강체 운동의 분류
8.1 단순 운동
단순한 강체 운동에는 다음과 같은 종류가 있다.
8.1.1 정지
강체가 움직이지 않는 상태이다. 트위스트는 영 벡터이다.
\mathcal{V} = \mathbf{0}
8.1.2 순수 회전
강체가 어떤 축 주위로 회전하는 운동이다. 트위스트는 다음과 같다.
\mathcal{V} = \begin{bmatrix}\boldsymbol{\omega} \\ -\boldsymbol{\omega} \times \mathbf{q}\end{bmatrix}
여기서 \mathbf{q}는 회전 축 위의 점이다.
8.1.3 순수 병진
강체가 직선으로 평행 이동하는 운동이다.
\mathcal{V} = \begin{bmatrix}\mathbf{0} \\ \mathbf{v}\end{bmatrix}
8.1.4 일반 강체 운동
회전과 병진이 결합된 일반적 운동이다. 슈아세의 정리에 의해 단일 스크류 운동으로 표현된다.
8.2 운동의 결합
여러 강체 운동의 결합은 트위스트의 합산이 아니라, 강체 변환의 곱셈으로 이루어진다. 이는 BCH 공식과 관련된다.
9. 운동의 합성과 분해
9.1 운동의 합성
두 강체 변환의 합성은 동차 변환 행렬의 곱이다.
\mathbf{T}_{1+2} = \mathbf{T}_2\mathbf{T}_1
(첫 번째 운동 후 두 번째 운동을 적용)
9.2 운동의 분해
복잡한 운동을 단순한 운동으로 분해할 수 있다. 슈아세의 정리는 임의의 강체 변환을 단일 스크류 운동으로 분해할 수 있음을 보여준다.
9.3 시간 의존 분해
시간 의존적 운동도 다양한 방식으로 분해될 수 있다. 예를 들어 회전과 병진을 분리하여 적분할 수 있다.
10. 강체 운동의 보간
10.1 측지선 보간
두 자세 사이의 측지선 보간은 다음과 같이 표현된다.
\mathbf{T}(t) = \mathbf{T}_0\exp(t\log(\mathbf{T}_0^{-1}\mathbf{T}_1))
여기서 t \in [0, 1]이며, \mathbf{T}(0) = \mathbf{T}_0이고 \mathbf{T}(1) = \mathbf{T}_1이다.
10.2 부드러운 운동
매끄러운 운동을 위해서는 다항식 보간이나 스플라인이 사용된다. 자세 다양체 위에서 정의되는 매끄러운 곡선이 강체 운동을 표현한다.
10.3 응용
운동 계획, 애니메이션, 운동 캡처 데이터의 부드러움 향상 등에서 강체 운동의 보간이 활용된다.
11. 강체 운동의 추정
11.1 측정 모형
강체 운동을 측정하는 다양한 방법이 있다.
- IMU: 각속도와 선형 가속도 측정
- 카메라: 시각 정보로부터 자세 추정
- GPS: 절대 위치 측정
- 라이다: 거리 측정
- 인코더: 관절 각도 측정
각 측정값으로부터 강체의 자세와 속도를 추정한다.
11.2 칼만 필터
확장 칼만 필터(EKF)와 그 변형들이 강체 운동의 추정에 사용된다. 자세는 SE(3)의 원소이며, 추정 알고리즘이 다양체 구조를 활용한다.
11.3 비주얼 SLAM
비주얼 SLAM에서 카메라의 자세는 SE(3)의 원소이며, 시각 측정과 결합하여 추정된다. 번들 조정에서 리 군 위의 최적화가 수행된다.
12. 매니퓰레이터에서의 응용
12.1 말단 장치의 운동
매니퓰레이터의 말단 장치는 강체이며, 그 운동이 SE(3) 위의 곡선으로 표현된다. 곱지수 공식이 관절 변수와 말단 장치 자세 사이의 관계를 제공한다.
12.2 작업 공간 제어
매니퓰레이터의 작업 공간 제어는 말단 장치의 트위스트를 관절 토크로 변환하는 것이다. 자코비안과 동역학이 결합된다.
12.3 컴플라이언스 제어
강체 운동의 컴플라이언스(compliance)는 외부 힘에 대한 반응이다. 임피던스 제어와 어드미턴스 제어가 이러한 운동을 다룬다.
13. 모바일 로봇에서의 응용
13.1 본체의 운동
모바일 로봇의 본체 자세는 SE(3)의 원소(또는 평면 운동에서 SE(2))이다. 본체의 운동학과 동역학이 리 군 이론으로 표현된다.
13.2 비홀로노믹 시스템
자동차와 같은 비홀로노믹 시스템은 운동 제약이 있다. 이러한 제약은 트위스트의 부분 공간으로 표현된다.
13.3 위치 추정
모바일 로봇의 위치 추정은 SE(3) 위의 추정 문제이다. 칼만 필터, 입자 필터 등이 사용된다.
14. 항공기와 잠수정
14.1 자유도 운동
항공기와 잠수정은 6자유도 운동을 가지며, SE(3) 위의 운동으로 표현된다.
14.2 운동 방정식
항공기와 잠수정의 운동 방정식은 강체의 운동 방정식에 외력(공기력, 수력)이 추가된 형태이다.
14.3 자세 제어
자세 제어는 트위스트의 일부(각속도)를 제어하는 것이다. PID, LQR, 비선형 제어 등이 사용된다.
15. 우주선과 위성
15.1 우주에서의 운동
우주선과 위성의 운동은 6자유도 운동이며, SE(3) 위에서 표현된다.
15.2 자세 결정과 제어
위성의 자세 결정(attitude determination)과 자세 제어는 회전 부분에 집중된다. 별 추적기, 자이로, 태양 센서 등이 사용된다.
15.3 궤도 운동
궤도 운동은 위치의 시간 변화이며, 케플러의 법칙과 결합하여 분석된다.
16. 컴퓨터 그래픽스에서의 응용
16.1 객체의 자세
3차원 컴퓨터 그래픽스에서 객체의 자세는 SE(3)의 원소이며, 변환 행렬로 표현된다.
16.2 카메라 운동
카메라의 운동도 SE(3) 위의 곡선이며, 영화와 게임의 카메라 시점 변화에 활용된다.
16.3 애니메이션
캐릭터 애니메이션에서 각 관절의 자세가 강체 운동으로 표현된다. 부드러운 보간이 핵심이다.
17. 시뮬레이션
17.1 물리 엔진
물리 엔진(Bullet, PhysX, ODE 등)은 강체 운동을 시뮬레이션한다. 모든 엔진이 내부적으로 리 군 또는 동등한 표현을 사용한다.
17.2 로봇 시뮬레이터
Gazebo, MuJoCo, PyBullet 등의 로봇 시뮬레이터는 매니퓰레이터, 모바일 로봇, 인간형 로봇 등의 강체 운동을 시뮬레이션한다.
17.3 검증
시뮬레이션은 알고리즘의 검증과 매개변수 튜닝에 활용된다. 실제 로봇 실험 전 시뮬레이션에서 안전성과 성능을 확인한다.
18. 학습의 가치
리 군 기반 강체 운동 표현을 깊이 이해하는 것은 다음과 같은 이점을 제공한다.
- 강체의 위치와 자세를 통합적으로 다룰 수 있다.
- 회전과 병진의 결합 효과를 자연스럽게 표현할 수 있다.
- 다양한 로봇 시스템(매니퓰레이터, 모바일 로봇, 비행체)을 통합적으로 분석할 수 있다.
- 운동학, 동역학, 추정, 제어 등 모든 영역에서 일관된 표기를 사용할 수 있다.
- 학술 문헌의 표준 접근법을 이해할 수 있다.
19. 응용 예시: 드론의 자세 추정
쿼드콥터 드론의 자세는 SE(3)의 원소이며, IMU와 GPS를 결합하여 추정된다. 트위스트가 본체의 6자유도 속도를 표현하며, 추정 알고리즘이 다양체 위에서 동작한다.
20. 응용 예시: 자율 주행차의 위치 추정
자율 주행차의 위치는 일반적으로 SE(2)의 원소(평면 운동) 또는 SE(3)의 원소(3차원 운동)이다. 라이다, 카메라, GPS 등의 센서 융합을 통해 추정된다.
21. 응용 예시: 매니퓰레이터의 작업 공간 제어
산업용 매니퓰레이터의 작업 공간 제어에서 말단 장치의 트위스트가 명령 입력이며, 자코비안을 통해 관절 명령으로 변환된다. 트위스트 표현이 회전과 병진을 통합적으로 다룬다.
22. 참고 문헌
- 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.
- Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.
- Selig, J. M. (2005). Geometric Fundamentals of Robotics (2nd ed.). Springer.
- Sola, J., Deray, J., & Atchuthan, D. (2018). “A Micro Lie Theory for State Estimation in Robotics.” arXiv:1812.01537.
- Marsden, J. E., & Ratiu, T. S. (1999). Introduction to Mechanics and Symmetry. Springer.
version: 1.0