9.68 회전 표현법의 비교와 장단점 분석
1. 회전 표현법의 다양성
3차원 회전 SO(3)은 다양한 방법으로 매개화될 수 있다. 각 방법은 매개변수의 수, 합성의 방식, 특이점의 유무, 계산 효율성 등에서 다른 특성을 가지며, 응용 분야에 따라 적절한 표현이 다르다. 본 절에서는 주요 회전 표현법들을 체계적으로 비교하고 각각의 장단점을 분석한다.
2. 주요 회전 표현법
2.1 회전 행렬
3 \times 3 정규 직교 행렬 \mathbf{R} \in SO(3)로 회전을 표현한다. 9개의 매개변수를 사용하지만 정규 직교 제약(6개의 등식)으로 자유도는 3이다.
2.2 오일러 각
세 기본 회전의 합성으로 표현되는 3개의 각도이다. 12가지 규약(고유 오일러 각 6개, 테이트-브라이언 각 6개)이 존재한다.
2.3 축-각도 표현
회전 축 \hat{\mathbf{u}}와 회전 각 \phi로 표현된다. 4개의 매개변수를 사용하지만 단위 벡터 제약으로 자유도는 3이다.
2.4 회전 벡터 (지수 좌표)
\boldsymbol{\phi} = \phi\hat{\mathbf{u}}의 3차원 벡터이다. \mathfrak{so}(3) 리 대수의 자연 좌표이다.
2.5 쿼터니언
4개의 매개변수 \mathbf{q} = (q_w, q_x, q_y, q_z)를 사용하며, 단위 노름 제약 \lVert \mathbf{q} \rVert = 1이 있다.
2.6 고전적 로드리게스 파라미터 (CRP, 깁스 벡터)
\mathbf{g} = \tan(\phi/2)\hat{\mathbf{u}}의 3차원 벡터이다.
2.7 수정된 로드리게스 파라미터 (MRP)
\boldsymbol{\sigma} = \tan(\phi/4)\hat{\mathbf{u}}의 3차원 벡터이다.
3. 매개변수의 수와 자유도
| 표현법 | 매개변수 수 | 제약 | 자유도 |
|---|---|---|---|
| 회전 행렬 | 9 | 6 | 3 |
| 오일러 각 | 3 | 0 | 3 |
| 축-각도 | 4 | 1 | 3 |
| 회전 벡터 | 3 | 0 | 3 |
| 쿼터니언 | 4 | 1 | 3 |
| CRP | 3 | 0 | 3 |
| MRP | 3 | 0 | 3 |
모든 표현법이 자유도 3을 가지며 SO(3)의 차원과 일치한다. 그러나 매개변수의 수와 제약의 유무가 표현법의 특성을 결정한다.
4. 특이점 비교
| 표현법 | 특이점 위치 | 심각성 |
|---|---|---|
| 회전 행렬 | 없음 | - |
| 오일러 각 | 짐벌 락 (예: 피치 \pm \pi/2) | 심각 |
| 축-각도 | \phi = 0 (축 미정) | 경미 |
| 회전 벡터 | \phi = 0, \pi (경계 효과) | 경미 |
| 쿼터니언 | 부호 이중성 (\pm \mathbf{q}) | 경미 |
| CRP | \phi = \pi (발산) | 심각 |
| MRP | \phi = 2\pi (그림자로 해결) | 가벼움 |
회전 행렬만이 진정한 의미의 특이점이 없으며, 다른 매개화는 어느 정도의 특이점을 가진다. 실용적으로 가장 큰 문제는 오일러 각의 짐벌 락이다.
5. 합성의 복잡성
| 표현법 | 합성 방법 | 복잡도 |
|---|---|---|
| 회전 행렬 | 행렬 곱 | 27곱셈 + 18덧셈 |
| 오일러 각 | 행렬 변환 후 곱셈 | 매우 복잡 |
| 축-각도 | 행렬/쿼터니언 변환 후 합성 | 변환 비용 발생 |
| 회전 벡터 | BCH 공식 (근사) | 복잡, 일반적으로 어려움 |
| 쿼터니언 | 쿼터니언 곱 | 16곱셈 + 12덧셈 |
| CRP | 분수식 | 복잡 |
| MRP | 분수식 | 복잡 |
쿼터니언과 회전 행렬이 가장 단순하고 효율적인 합성을 제공한다.
6. 메모리 사용
| 표현법 | 메모리 (실수 개수) | 비고 |
|---|---|---|
| 회전 행렬 | 9 | 가장 큼 |
| 오일러 각 | 3 | 가장 작음 |
| 축-각도 | 4 (또는 3+1) | - |
| 회전 벡터 | 3 | 가장 작음 |
| 쿼터니언 | 4 | - |
| CRP | 3 | 가장 작음 |
| MRP | 3 | 가장 작음 |
회전 행렬이 가장 많은 메모리를 사용하지만, 현대 컴퓨터에서 9개의 실수는 사소한 차이이다.
7. 보간의 부드러움
| 표현법 | 보간 방법 | 부드러움 |
|---|---|---|
| 회전 행렬 | 직접 보간 어려움 | 비자연스러움 |
| 오일러 각 | 각도 선형 보간 | 비균일 |
| 축-각도 | 각도 보간 | 일정 축의 경우만 자연스러움 |
| 회전 벡터 | 직선 보간 | 측지선 아님 |
| 쿼터니언 | SLERP | 매우 부드러움 (측지선) |
| CRP | 직접 보간 | 비자연스러움 |
| MRP | 직접 보간 | 비자연스러움 |
쿼터니언의 SLERP가 가장 부드러운 보간을 제공한다.
8. 변환의 효율성
회전 표현 사이의 변환 비용은 다음과 같다.
| 변환 | 효율성 |
|---|---|
| 회전 행렬 ↔ 쿼터니언 | 효율적 |
| 회전 행렬 ↔ 축-각도 | 중간 (삼각 함수) |
| 회전 행렬 ↔ 오일러 각 | 중간 (특이점 처리 필요) |
| 회전 행렬 ↔ 회전 벡터 | 중간 (지수/로그 사상) |
| 쿼터니언 ↔ 축-각도 | 효율적 |
| 쿼터니언 ↔ MRP | 효율적 |
쿼터니언이 다른 표현으로의 변환에서 가장 효율적이다.
9. 응용 분야별 권장 표현법
9.1 사용자 인터페이스
오일러 각 (RPY)
직관적이고 사용자가 이해하기 쉽다. 짐벌 락은 사용자에게 거의 영향을 주지 않는 한, 정상적 작동 영역에서는 문제가 없다.
9.2 실시간 자세 추정
쿼터니언
특이점이 없고 계산이 효율적이며, 정규화가 단순하다(단위 노름으로 나누기).
9.3 비선형 최적화 (SLAM, 번들 조정)
회전 벡터 (지수 좌표)
자유 매개변수이며 정확히 3개의 매개변수를 사용한다. 그러나 큰 회전이 발생하는 경우 쿼터니언과 결합하여 사용하기도 한다.
9.4 자세 보간과 애니메이션
쿼터니언 + SLERP
매끄러운 보간과 일정한 각속도를 보장한다.
9.5 기구학 변환과 행렬 연산
회전 행렬 (또는 동차 변환 행렬)
벡터 변환과 행렬 곱이 직접적이며 효율적이다.
9.6 우주선 자세 제어
MRP 또는 쿼터니언
특이점이 없고 매개변수가 적다.
9.7 기하학적 분석과 시각화
축-각도 표현
회전 축과 각도가 명확하므로 기하학적 직관이 좋다.
10. 종합 비교 표
| 특성 | 회전 행렬 | 오일러 각 | 쿼터니언 | 회전 벡터 | MRP |
|---|---|---|---|---|---|
| 매개변수 수 | 9 | 3 | 4 | 3 | 3 |
| 자유 매개변수 | 아니오 | 예 | 아니오 | 예 | 예 |
| 특이점 | 없음 | 짐벌 락 | 부호 이중 | 경미 | 경미 |
| 합성 | 행렬 곱 | 어색 | 쿼터니언 곱 | BCH 공식 | 분수식 |
| 보간 | 어려움 | 비균일 | SLERP | 직선 보간 | 직선 보간 |
| 직관성 | 중간 | 높음 | 낮음 | 높음 | 중간 |
| 메모리 | 큼 | 작음 | 중간 | 작음 | 작음 |
| 비선형 최적화 | 어색 | 어색 | 어색 | 자연스러움 | 어색 |
11. 혼합 사용 패턴
실제 로봇 시스템에서는 한 가지 표현만 사용하지 않고 여러 표현을 상황에 따라 혼합하는 것이 일반적이다.
11.1 일반적 패턴
- 내부 상태: 쿼터니언 또는 회전 행렬
- 사용자 입력/출력: 오일러 각
- 최적화 변수: 회전 벡터 또는 리 대수 좌표
- 시각화: 회전 행렬 (그래픽스 API와 호환)
- 저장과 전송: 쿼터니언 (메모리 효율)
11.2 변환 모듈
서로 다른 표현 사이의 변환 함수를 잘 구현된 라이브러리(Eigen, Sophus, Ceres 등)를 통해 사용한다. 직접 구현하기보다는 검증된 라이브러리를 활용하는 것이 안전하다.
12. 표현법 선택의 일반 원칙
- 특이점 회피: 정상 작동 영역에 특이점이 없는 표현을 선택한다.
- 계산 효율성: 자주 수행되는 연산(합성, 변환)이 효율적인 표현을 선택한다.
- 수치 안정성: 부동 소수점 오차에 대한 민감도가 낮은 표현을 선택한다.
- 인터페이스 호환성: 외부 라이브러리나 사용자가 익숙한 표현을 사용한다.
- 자유 매개변수: 비선형 최적화에서는 자유 매개변수가 중요하다.
13. 회전 표현법 연구의 발전
회전 표현법은 19세기 오일러, 해밀턴, 카일리 등의 작업에서 시작하여 20세기 들어 우주선 자세 제어, 컴퓨터 그래픽스, 로봇 공학의 발전과 함께 풍부해졌다. 각 표현법은 특정 시점의 응용 요구에 답하기 위해 도입되었으며, 현대 로봇 공학에서는 응용에 따라 적절한 표현을 선택하는 것이 표준이 되었다.
14. 참고 문헌
- Shuster, M. D. (1993). “A Survey of Attitude Representations.” Journal of the Astronautical Sciences, 41(4), 439–517.
- Diebel, J. (2006). “Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors.” Stanford University Technical Report.
- Sola, J., Deray, J., & Atchuthan, D. (2018). “A Micro Lie Theory for State Estimation in Robotics.” arXiv:1812.01537.
- Stuelpnagel, J. (1964). “On the Parametrization of the Three-Dimensional Rotation Group.” SIAM Review, 6(4), 422–430.
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
version: 1.0