11.23 리 군의 수치 적분 방법
1. 수치 적분의 개요
리 군 위에서 정의되는 미분 방정식의 수치 적분은 일반 유클리드 공간의 적분과 다른 특성을 가진다. 변수가 다양체 위에 머물러야 하는 제약을 고려해야 하며, 이를 위해 특별한 적분기가 필요하다. 리 군 적분기는 일반 적분기를 다양체에 직접 적용했을 때 발생하는 단위성 손실, 다양체에서 벗어남, 보존 법칙 위배 등의 문제를 해결한다. 자세 추정, 시뮬레이션, 운동 계획 등 다양한 응용에서 정확하고 안정적인 적분이 필수적이다.
2. 일반 수치 적분의 한계
2.1 가산 갱신의 문제
표준 수치 적분(오일러, 룽게-쿠타 등)은 가산 형태의 갱신을 사용한다.
\mathbf{x}_{k+1} = \mathbf{x}_k + \mathbf{f}(\mathbf{x}_k, t_k)\Delta t
이 갱신을 회전 행렬에 적용하면 결과가 더 이상 회전 행렬이 아니다.
\mathbf{R}_{k+1} = \mathbf{R}_k + \dot{\mathbf{R}}_k\Delta t \notin SO(3)
2.2 단위성 손실
쿼터니언이나 회전 행렬의 단위성이 누적적으로 손상된다. 명시적 정규화가 필요하지만, 이는 동역학과 모순될 수 있다.
2.3 보존 법칙 위배
물리적 보존 법칙(에너지, 운동량 등)이 적분 오차로 인해 위배된다. 장시간 시뮬레이션에서 누적 효과가 크다.
3. 리 군 적분기의 기본 원리
3.1 다양체 위의 운동
리 군 위의 미분 방정식은 다음의 형태이다.
\dot{\mathbf{T}}(t) = \mathbf{T}(t)\hat{\mathcal{V}}(t)
여기서 \mathbf{T}(t) \in G이고 \mathcal{V}(t)는 리 대수의 원소이다.
3.2 곱셈 갱신
리 군 적분기는 곱셈 갱신을 사용한다.
\mathbf{T}_{k+1} = \mathbf{T}_k\exp(\hat{\mathcal{V}}_k\Delta t)
이 갱신은 자동으로 다양체 위에 머문다.
3.3 지수 사상의 활용
지수 사상이 핵심 역할을 한다. 리 대수의 원소(접선 벡터)가 지수 사상을 통해 리 군의 원소(유한 변환)로 변환된다.
4. 차 리 군 적분기
4.1 Lie-Euler 방법
가장 단순한 리 군 적분기는 Lie-Euler 방법이다.
\mathbf{T}_{k+1} = \mathbf{T}_k\exp(\hat{\mathcal{V}}_k\Delta t)
이는 1차 정확도이며, 일반 오일러 방법의 다양체 버전이다.
4.2 정확도
Lie-Euler 방법의 국소 절단 오차는 O(\Delta t^2)이고, 전역 오차는 O(\Delta t)이다. 이는 일반 오일러 방법과 같은 차수이다.
4.3 안정성
Lie-Euler 방법은 자세를 다양체 위에 정확히 유지한다. 단위성 손실이 없다는 것이 큰 장점이다.
5. 차 리 군 적분기
5.1 Lie-Midpoint 방법
중점법(midpoint method)의 다양체 버전이다.
\mathbf{T}_{1/2} = \mathbf{T}_k\exp\!\left(\hat{\mathcal{V}}_k\frac{\Delta t}{2}\right)
\mathbf{T}_{k+1} = \mathbf{T}_k\exp(\hat{\mathcal{V}}_{1/2}\Delta t)
이는 2차 정확도이다.
5.2 Lie-Heun 방법
Heun 방법(개선된 오일러 방법)의 다양체 버전도 가능하다. 두 단계의 평가를 사용한다.
6. 차 리 군 적분기
6.1 Lie-RK4
룽게-쿠타 4차 방법의 다양체 버전인 Lie-RK4가 있다. 4단계 평가를 사용하며, 4차 정확도를 제공한다.
6.2 알고리즘
Lie-RK4의 한 형태는 다음과 같다.
- \mathbf{k}_1 = \mathcal{V}(\mathbf{T}_k)
- \mathbf{T}_a = \mathbf{T}_k\exp(\hat{\mathbf{k}}_1\Delta t/2), \mathbf{k}_2 = \mathcal{V}(\mathbf{T}_a)
- \mathbf{T}_b = \mathbf{T}_k\exp(\hat{\mathbf{k}}_2\Delta t/2), \mathbf{k}_3 = \mathcal{V}(\mathbf{T}_b)
- \mathbf{T}_c = \mathbf{T}_k\exp(\hat{\mathbf{k}}_3\Delta t), \mathbf{k}_4 = \mathcal{V}(\mathbf{T}_c)
- \mathcal{V}_{\text{avg}} = \frac{1}{6}(\mathbf{k}_1 + 2\mathbf{k}_2 + 2\mathbf{k}_3 + \mathbf{k}_4)
- \mathbf{T}_{k+1} = \mathbf{T}_k\exp(\hat{\mathcal{V}}_{\text{avg}}\Delta t)
6.3 정확도와 효율성
Lie-RK4는 4차 정확도와 안정성을 제공한다. 다만 단계당 4번의 평가가 필요하므로 계산 비용이 크다.
7. Crouch-Grossman 방법
7.1 일반화된 룽게-쿠타
Crouch-Grossman 방법은 룽게-쿠타 방법을 리 군에 일반화한 것이다. 여러 변형이 있으며, 다양한 차수와 안정성 특성을 가진다.
7.2 알고리즘
Crouch-Grossman 방법은 일반 룽게-쿠타 방법의 가산을 곱셈으로 대체하여 다양체 위에서 동작한다.
7.3 응용
Crouch-Grossman 방법은 리 군 위의 정확하고 효율적인 적분에 사용된다. 특히 우주공학과 관성 항법에서 활용된다.
8. Munthe-Kaas 방법
8.1 Runge-Kutta-Munthe-Kaas
Munthe-Kaas는 리 대수에서 룽게-쿠타 방법을 적용한 후 결과를 지수 사상으로 리 군에 매핑하는 방법을 제안하였다. 이는 RKMK(Runge-Kutta-Munthe-Kaas) 방법이라 한다.
8.2 알고리즘
RKMK는 다음과 같이 동작한다.
- 리 대수에서 미분 방정식을 정의한다.
- 리 대수에서 룽게-쿠타 방법을 적용한다.
- 결과를 지수 사상으로 리 군에 매핑한다.
이 방법은 리 군의 구조를 유지하면서 표준 룽게-쿠타 방법의 정확도를 활용한다.
9. 미리 적분(Preintegration)
9.1 IMU의 미리 적분
VIO에서 IMU 측정값의 미리 적분은 리 군 적분의 응용이다. 두 키프레임 사이의 IMU 측정을 누적하여 자세, 속도, 위치의 변화를 계산한다.
9.2 다양체 위의 처리
미리 적분은 자세를 다양체 위에서 정확히 처리한다. 자세 변화가 SO(3)의 원소로 표현되고, 곱셈으로 누적된다.
9.3 효율성
미리 적분은 IMU 측정의 효율적 처리를 가능하게 한다. 새 키프레임이 추가될 때마다 IMU 측정을 다시 적분할 필요가 없다.
10. 보존 법칙
10.1 에너지 보존
물리적 시스템의 에너지가 시간에 따라 보존되는 경우, 적분기도 이러한 보존을 유지해야 한다. 일반 적분기는 에너지를 보존하지 않으며, 누적 오차가 발생한다.
10.2 동심성 적분기
동심성 적분기(symplectic integrator)는 위상 공간 부피를 보존한다. 해밀턴 시스템에서 우수한 장기 동작을 보인다.
10.3 리 군 동심성
리 군 위의 동심성 적분기는 리 군의 구조와 동심성을 모두 유지한다. 이는 특히 우주공학과 분자 동역학에서 중요하다.
11. 변분 적분기
11.1 변분 원리
변분 적분기(variational integrator)는 변분 원리(variational principle)에서 직접 유도된다. 액션 적분을 이산화하고 그 정류점을 찾는다.
11.2 다양체 위의 변분 적분기
리 군 위의 변분 적분기가 있으며, 이는 보존 법칙과 다양체 구조를 모두 유지한다.
11.3 응용
변분 적분기는 천체 역학, 분자 동역학, 강체 시뮬레이션 등에서 활용된다.
12. 자세 적분기
12.1 회전 동역학
회전 동역학의 적분은 다음의 미분 방정식을 풀이한다.
\dot{\mathbf{R}} = \mathbf{R}[\boldsymbol{\omega}]_\times
리 군 적분기가 자연스럽게 적용된다.
12.2 회전 운동 방정식
자유 강체의 회전 운동 방정식(오일러 방정식)은 다음과 같다.
\mathbf{I}\dot{\boldsymbol{\omega}} = -\boldsymbol{\omega} \times (\mathbf{I}\boldsymbol{\omega})
여기서 \mathbf{I}는 본체의 회전 관성 텐서이다. 자세와 결합한 적분이 필요하다.
12.3 보존량
자유 강체의 운동에서 각운동량과 에너지가 보존된다. 적분기가 이러한 보존을 유지하는 것이 중요하다.
13. 강체 동역학 시뮬레이션
13.1 다중 강체 시스템
여러 강체로 구성된 시스템(예: 매니퓰레이터)의 시뮬레이션에서 각 강체의 자세가 SE(3)의 원소이다. 모든 자세가 다양체 위에 머물러야 한다.
13.2 Featherstone 알고리즘
Featherstone의 articulated body algorithm은 트리 구조의 다중 강체 시스템의 동역학을 효율적으로 계산한다. 트위스트와 렌치의 표현이 활용된다.
13.3 시뮬레이터 구현
물리 시뮬레이터(Bullet, MuJoCo, ODE 등)는 다양체 위의 적분기를 구현한다. 효율성과 정확성의 균형이 중요하다.
14. 고차 적분기
14.1 정확도 향상
고차 적분기(예: 5차, 6차)는 더 정확하지만 계산 비용이 크다. 응용에 따라 적절한 차수를 선택한다.
14.2 적응형 단계 크기
적응형 단계 크기(adaptive step size) 적분기는 동역학의 변화에 따라 단계 크기를 조정한다. 빠른 변화에서는 작은 단계, 느린 변화에서는 큰 단계를 사용한다.
14.3 오류 추정
적응형 적분기는 단계 오차를 추정하고, 허용 오차 내에 있도록 조정한다.
15. 양해(Explicit) vs 음해(Implicit)
15.1 양해 적분기
양해 적분기(explicit integrator)는 현재 상태로부터 다음 상태를 직접 계산한다. 단순하고 빠르지만 안정성에 한계가 있다.
15.2 음해 적분기
음해 적분기(implicit integrator)는 다음 상태가 자기 자신을 포함한 식을 만족해야 한다. 더 안정적이지만 매 단계 비선형 방정식을 풀어야 한다.
15.3 안정성
강성(stiff) 시스템에서는 음해 적분기가 필요하다. 양해 적분기는 매우 작은 단계 크기가 필요하기 때문이다.
16. 매니퓰레이터 시뮬레이션
16.1 동역학 모델링
매니퓰레이터의 동역학은 라그랑주 방정식이나 뉴턴-오일러 방정식으로 표현된다. 자세가 SE(3)의 원소이며, 다양체 위의 적분이 필요하다.
16.2 효율적 알고리즘
CRBA(Composite Rigid Body Algorithm), ABA(Articulated Body Algorithm) 등이 효율적인 동역학 계산을 제공한다.
16.3 시뮬레이션 환경
Gazebo, MuJoCo, PyBullet, Isaac Sim 등의 시뮬레이터가 매니퓰레이터의 시뮬레이션을 지원한다.
17. 모바일 로봇 시뮬레이션
17.1 평면 운동
모바일 로봇의 평면 운동은 SE(2) 위에서 정의된다. 비홀로노믹 제약이 추가될 수 있다.
17.2 휠 동역학
휠의 회전과 마찰을 포함한 동역학 모델링이 필요하다. 다양체 위의 적분이 안정성을 보장한다.
17.3 응용
자율 주행 시뮬레이션(예: CARLA, AirSim)에서 모바일 로봇의 운동이 시뮬레이션된다.
18. 항공기 시뮬레이션
18.1 자유도 운동
항공기의 6자유도 운동은 SE(3) 위에서 정의된다. 공기력과 추력이 외력으로 작용한다.
18.2 동역학 모델
항공기의 동역학 모델은 공기 동역학을 포함하며, 매우 비선형이다. 정확한 적분이 필수이다.
18.3 비행 시뮬레이터
X-Plane, FlightGear, JSBSim 등의 비행 시뮬레이터가 항공기의 운동을 시뮬레이션한다. 학습과 훈련에 활용된다.
19. 우주선 시뮬레이션
19.1 궤도 운동
우주선의 궤도 운동은 6자유도 운동이며, 매우 장시간의 시뮬레이션이 필요하다.
19.2 보존 법칙
우주선의 운동에서 에너지와 각운동량이 거의 보존된다. 적분기의 보존 특성이 중요하다.
19.3 동심성 적분기
동심성 적분기가 우주선 시뮬레이션에서 표준이다. 장기 안정성이 우수하다.
20. 학습의 가치
리 군의 수치 적분 방법을 이해하는 것은 다음과 같은 이점을 제공한다.
- 자세 추정과 시뮬레이션의 정확성을 보장할 수 있다.
- 다양체 구조를 활용한 안정적인 알고리즘을 설계할 수 있다.
- 보존 법칙을 유지하는 시뮬레이션이 가능하다.
- 학술 문헌의 표준 방법을 이해할 수 있다.
- 실제 시스템의 성능을 향상시킬 수 있다.
21. 응용 예시: 자세 추정의 수치 적분
칼만 필터의 자세 예측 단계에서 자이로 측정으로 자세를 적분한다. 리 군 적분기가 자세를 정확히 다양체 위에 유지한다.
\hat{\mathbf{R}}_{k+1|k} = \hat{\mathbf{R}}_k\exp([(\boldsymbol{\omega}_{\text{meas}} - \hat{\mathbf{b}}_g)\Delta t]_\times)
이는 Lie-Euler 방법의 응용이다.
22. 응용 예시: 매니퓰레이터의 시뮬레이션
매니퓰레이터의 동역학 시뮬레이션에서 각 링크의 자세가 시간에 따라 진화한다. 리 군 적분기가 모든 링크의 자세를 정확히 유지한다.
23. 응용 예시: 드론의 비행 시뮬레이션
드론의 6자유도 비행을 시뮬레이션할 때 자세가 SE(3)의 원소이다. 리 군 적분기가 곡예 비행 등 큰 자세 변화에서도 정확성을 유지한다.
24. 응용 예시: 우주선 자세 시뮬레이션
위성의 자세 운동을 장기간 시뮬레이션할 때 보존 법칙이 중요하다. 동심성 리 군 적분기가 사용된다.
25. 응용 예시: 비주얼-관성 항법
VIO에서 IMU 측정의 미리 적분이 리 군 적분의 응용이다. 두 키프레임 사이의 자세 변화가 정확히 계산된다.
26. 적분기의 비교
| 적분기 | 차수 | 보존 | 비용 | 안정성 |
|---|---|---|---|---|
| Lie-Euler | 1 | 다양체 | 낮음 | 보통 |
| Lie-Midpoint | 2 | 다양체 | 보통 | 우수 |
| Lie-RK4 | 4 | 다양체 | 높음 | 우수 |
| 동심성 | 다양 | 다양체 + 동심성 | 중간 이상 | 우수 (장기) |
| 변분 | 다양 | 다양체 + 라그랑주 | 높음 | 우수 (장기) |
27. 라이브러리와 도구
27.1 Sophus
Sophus 라이브러리는 리 군 위의 기본 연산을 제공하며, 적분기의 구현에 활용된다.
27.2 manif
manif도 리 군 라이브러리이며, 적분과 미분을 지원한다.
27.3 Pinocchio
Pinocchio는 강체 동역학을 위한 효율적인 라이브러리이며, 매니퓰레이터의 시뮬레이션과 적분을 지원한다.
27.4 MuJoCo
MuJoCo는 물리 시뮬레이터이며, 다양체 위의 정확한 적분기를 구현한다.
27.5 Bullet, ODE
이러한 물리 엔진들은 강체 시뮬레이션을 위한 적분기를 제공한다.
28. 미래의 발전
28.1 학습과의 결합
학습 기반 적분기가 연구되고 있다. 신경망이 적분 단계를 학습한다.
28.2 GPU 가속
적분의 GPU 가속이 발전하고 있다. 큰 규모의 시뮬레이션이 가능해지고 있다.
28.3 적응형 정확도
자동으로 정확도를 조정하는 적응형 적분기가 발전하고 있다.
29. 참고 문헌
- Hairer, E., Lubich, C., & Wanner, G. (2006). Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations. Springer.
- Iserles, A., Munthe-Kaas, H. Z., Nørsett, S. P., & Zanna, A. (2000). “Lie-group methods.” Acta Numerica, 9, 215–365.
- Crouch, P. E., & Grossman, R. (1993). “Numerical integration of ordinary differential equations on manifolds.” Journal of Nonlinear Science, 3(1), 1–33.
- Munthe-Kaas, H. (1998). “Runge-Kutta methods on Lie groups.” BIT Numerical Mathematics, 38(1), 92–111.
- Marsden, J. E., & West, M. (2001). “Discrete mechanics and variational integrators.” Acta Numerica, 10, 357–514.
- Forster, C., Carlone, L., Dellaert, F., & Scaramuzza, D. (2017). “On-manifold preintegration for real-time visual-inertial odometry.” IEEE Transactions on Robotics, 33(1), 1–21.
version: 1.0