- Pose & Map 정보는 “회전(Rotation)과 이동(Translation)”이라는 파라미터로 구성
- 이동 파라미터는 다루기 쉬움, but 회전 파라미터는 표현법도 다양하고 다루기 어려움
1. 회전행렬 (Rotation Matrix)
- 3-DoF 존재하지만, 실제로는 9개 원소를 이용해 회전 표현함(3x3 Matrix)
- $R^-1 = R^T, |R|=1$
- 열벡터(Column Vector) 의 크기는 1 → 정규성(Normality)
- 다른 열과의 내적 = 0 → 직교성(Orthogonality)
→ 정규직교성(Orthonomality)
2. 오일러 각 표현(Euler angle representation)
- Roll(φ) : Rotation about the x-axis
- Pitch(θ) : Rotation about the y-axis
- Yaw(ψ) : Rotation about the z-axis
특징
- 짐벌락 현상이 발생하면, 아무리 값을 바꾸어도 해가 업데이트 안됨
- 불연속성(Discontinuity)이 있음. 각도를 나타날때 주기성이 있으므로 하나의 각도에 대해 여러가지 값을 가질 수 있음 → 주기성에 의해 값이 불연속적으로 변화하는 구건 발생하기 때문에, 최적화 관점에서 자코비안 행렬을 구할때 수치적으로 불안전한 상태됨

3. 축-각도 표현(Axis-angle representation)
- 4개 파라미터(3차원 벡터 + 1차원 회전각) 필요 or 3개의 파라미터(3차원 벡터 크기값으로 회전각 표현)
- 축-각도 표현에서 회전행렬로 변환시 → 로드리게스 공식(Rodrigues formula)
- 각도 θ값이 0일 경우, 회전이 없다는 의미이므로, 축이 어떻게 정의되든지 상관없게 되어 특이점 문제 발생
- 각도 θ값이 π일 경우, 회전축 방향이 정확히 반대가 된 위치와 동일하므로 모호성 문제 발생(Ambiguity)

4. 사원수(Quaternion)
- 3개의 허수(Complex number) 과 1개의 실수(Real number)를 이용해 회전 표현 → 다른 방법들에 비해 최적화 관점에서 좋음
- 하나의 사원수 값은 하나의 회전을 표현한다는 유일성 → 불연속 구간 존재X
- 짐벌락 같은 특이점 존재하지 않음 → 최적화시 수치적 불안정 유발 X
Summary
- 공간 복잡도면에서 오일러 각이 가장 효율(파라미터 수 적음) → 임베디드 환경
- 유일성 측면에서는 회전행렬과 사원수가 좋음(최적화 관점에서 불연속 구간 X)
- 수치해석 불안정성 측면에서 오일러, 축-각도가 불리함
| 구분 | Parameter | 직관성&이해 | 회전표현 유일성 | 특이점 존재유무 |
| 회전행렬(Rotation Matrix) | 9 | X | O | X |
| 오일러 각 표현(Euler angle) | 3 | O | X | O |
| 축-각도 표현(Axis-angle) | 4(3) | X | X | O |
| 사원수(Quanternion) | 4(3) | X | O | X |
'🤖 Robotics, 로봇 > SLAM' 카테고리의 다른 글
| [데이터셋] 로봇 시뮬, 학습을 위한 산업용 데이터셋은 어디서 찾나요? (0) | 2026.02.12 |
|---|---|
| SLAM 알고리즘 변천사 : 확률적 SLAM부터 딥러닝 기반 SLAM 까지 (0) | 2025.09.23 |