10.15 쿼터니언 곱과 회전 합성의 관계
1. 핵심 정리
두 회전을 차례로 적용한 합성 회전은 두 단위 쿼터니언의 곱으로 표현된다.
\mathbf{q}_{\text{합성}} = \mathbf{q}_2\mathbf{q}_1
여기서
- \mathbf{q}_1: 첫 번째 적용되는 회전
- \mathbf{q}_2: 두 번째 적용되는 회전
- \mathbf{q}_{\text{합성}}: 두 회전의 합성
이 관계가 쿼터니언이 회전 표현에 사용되는 핵심 이유 중 하나이다. 회전 합성이 단순한 대수 연산(쿼터니언 곱)으로 환원된다.
2. 합성 순서의 관례
쿼터니언 곱 \mathbf{q}_2\mathbf{q}_1에서 어느 회전이 먼저 적용되는지는 관례에 따라 다를 수 있다. 가장 일반적인 관례는 오른쪽 인수가 먼저 적용되는 것이다. 이는 행렬 곱의 표준 관례 (\mathbf{R}_2\mathbf{R}_1)\mathbf{v} = \mathbf{R}_2(\mathbf{R}_1\mathbf{v})와 일치한다.
따라서 \mathbf{q}_2\mathbf{q}_1은 “\mathbf{q}_1 먼저, 그 다음 \mathbf{q}_2“의 합성을 의미한다.
3. 회전 합성의 유도
벡터 \mathbf{v}에 두 회전을 차례로 적용한다고 하자. 첫 번째 회전 후의 결과는
\mathbf{v}_1 = \mathbf{q}_1\mathbf{v}\mathbf{q}_1^*
두 번째 회전 후의 결과는
\mathbf{v}_2 = \mathbf{q}_2\mathbf{v}_1\mathbf{q}_2^* = \mathbf{q}_2(\mathbf{q}_1\mathbf{v}\mathbf{q}_1^*)\mathbf{q}_2^*
쿼터니언 곱의 결합 법칙으로
= (\mathbf{q}_2\mathbf{q}_1)\mathbf{v}(\mathbf{q}_1^*\mathbf{q}_2^*)
곱의 켤레 규칙 (\mathbf{q}_2\mathbf{q}_1)^* = \mathbf{q}_1^*\mathbf{q}_2^*를 사용하면
= (\mathbf{q}_2\mathbf{q}_1)\mathbf{v}(\mathbf{q}_2\mathbf{q}_1)^*
따라서 \mathbf{q}_{\text{합성}} = \mathbf{q}_2\mathbf{q}_1이 두 회전의 합성을 표현한다.
4. 회전 행렬 합성과의 호환
쿼터니언 곱과 회전 행렬 곱은 같은 군 구조를 표현한다.
\mathbf{R}(\mathbf{q}_2\mathbf{q}_1) = \mathbf{R}(\mathbf{q}_2)\mathbf{R}(\mathbf{q}_1)
여기서 \mathbf{R}(\mathbf{q})는 단위 쿼터니언 \mathbf{q}에 대응하는 회전 행렬이다. 두 표현이 군 준동형 사상의 관계에 있다.
5. 비가환성
쿼터니언 곱이 비가환적이므로, 회전 합성도 비가환적이다.
\mathbf{q}_2\mathbf{q}_1 \neq \mathbf{q}_1\mathbf{q}_2 \quad \text{(일반적으로)}
이는 회전의 적용 순서가 결과에 영향을 준다는 잘 알려진 사실의 표현이다. 매니퓰레이터의 자세 명령, 자세 추정, 자세 제어에서 순서를 정확히 따르는 것이 중요하다.
5.1 예시
x축 90도 회전 후 y축 90도 회전과, y축 90도 회전 후 x축 90도 회전은 다른 결과를 산출한다. 이는 쿼터니언 곱으로도 명확하게 표현된다.
6. 다중 회전의 합성
n개의 회전을 차례로 적용한 합성은 다음과 같다.
\mathbf{q}_{\text{total}} = \mathbf{q}_n\cdots\mathbf{q}_2\mathbf{q}_1
이는 가장 먼저 적용된 회전이 가장 오른쪽이고, 가장 나중에 적용된 회전이 가장 왼쪽인 형태이다. 결합 법칙으로 인해 곱의 순서를 자유롭게 그룹화할 수 있다.
\mathbf{q}_{\text{total}} = (\mathbf{q}_n\cdots\mathbf{q}_3)(\mathbf{q}_2\mathbf{q}_1) = \mathbf{q}_n(\cdots(\mathbf{q}_3(\mathbf{q}_2\mathbf{q}_1)))
7. 매니퓰레이터 기구학에서의 합성
매니퓰레이터의 순기구학은 각 관절의 회전을 차례로 합성한 결과이다. 베이스에서 말단 장치까지의 누적 회전이 다음과 같이 계산된다.
\mathbf{q}_{\text{end}} = \mathbf{q}_1\mathbf{q}_2\cdots\mathbf{q}_n
(여기서는 매니퓰레이터의 각 관절이 이전 관절에 부착된 본체 좌표계에서의 회전이므로, 합성 순서가 “본체에서 누적“의 형태이다.)
매니퓰레이터의 기구학이 쿼터니언 곱의 연쇄로 표현되며, 동차 변환 행렬의 곱과 같은 구조를 가진다.
8. 합성의 효율성
쿼터니언 곱이 회전 행렬 곱보다 효율적이다.
8.1 쿼터니언 곱
- 16 곱셈, 12 덧셈
8.2 회전 행렬 곱
- 27 곱셈, 18 덧셈
여러 회전을 합성할 때 쿼터니언이 약 60% 더 빠르며, 메모리 사용도 더 적다.
이러한 효율성으로 인해 매니퓰레이터의 기구학 계산이나 자세 추정의 누적 갱신에서 쿼터니언이 선호된다.
9. 합성과 부호 이중성
부호 이중성으로 인해 같은 회전을 다양한 부호 조합으로 표현할 수 있다.
(\pm\mathbf{q}_2)(\pm\mathbf{q}_1) = \pm\mathbf{q}_2\mathbf{q}_1
부호의 곱이 결과의 부호를 결정하지만, \pm\mathbf{q}_2\mathbf{q}_1은 모두 같은 회전을 나타내므로 결과는 일관적이다.
다만, 보간이나 평균 계산에서는 부호를 일관되게 처리해야 한다.
10. 합성의 역
여러 회전의 합성의 역은 각 회전의 역의 역순 곱이다.
(\mathbf{q}_n\cdots\mathbf{q}_2\mathbf{q}_1)^{-1} = \mathbf{q}_1^{-1}\mathbf{q}_2^{-1}\cdots\mathbf{q}_n^{-1}
단위 쿼터니언의 경우 역원이 켤레이므로
= \mathbf{q}_1^*\mathbf{q}_2^*\cdots\mathbf{q}_n^*
이 식은 매니퓰레이터의 역기구학이나 자세 추정의 역방향 계산에서 사용된다.
11. 합성의 항등원
항등 쿼터니언 1 = (1, \mathbf{0})은 합성의 항등원이다.
\mathbf{q}\cdot 1 = 1\cdot\mathbf{q} = \mathbf{q}
이는 항등 회전이 다른 회전과 합성되어도 그 회전을 변경하지 않음을 표현한다.
12. 합성의 결합 법칙
쿼터니언 곱이 결합적이므로 회전 합성도 결합적이다.
(\mathbf{q}_3\mathbf{q}_2)\mathbf{q}_1 = \mathbf{q}_3(\mathbf{q}_2\mathbf{q}_1)
이는 다단계 합성에서 그룹화의 자유를 제공한다. 매니퓰레이터의 자코비안이나 동역학 계산에서 부분 합성을 사전 계산하여 효율적으로 활용할 수 있다.
13. 본체 좌표계와 공간 좌표계
회전 합성에서 좌표계의 선택이 중요하다.
13.1 공간 좌표계 (Spatial Frame)
월드 좌표계에 고정된 회전이다. 새 회전이 기존 회전의 왼쪽에서 곱해진다.
\mathbf{q}_{\text{new}} = \mathbf{q}_{\Delta}\mathbf{q}_{\text{old}}
이는 “월드 좌표계에서의 회전 추가“에 해당한다.
13.2 본체 좌표계 (Body Frame)
본체에 고정된 회전이다. 새 회전이 기존 회전의 오른쪽에서 곱해진다.
\mathbf{q}_{\text{new}} = \mathbf{q}_{\text{old}}\mathbf{q}_{\Delta}
이는 “본체 좌표계에서의 회전 추가“에 해당한다. 매니퓰레이터의 관절 운동이나 본체 자세 갱신에서 이 형태가 자연스럽다.
좌측 곱과 우측 곱의 선택이 자세 추정 알고리즘에서 중요하며, 잘못 선택하면 좌표계 해석이 뒤바뀐다.
14. 자세 추정에서의 합성
자세 추정 칼만 필터에서 자세의 시간 갱신은 쿼터니언 곱이다.
\mathbf{q}_{k+1} = \mathbf{q}_k\Delta\mathbf{q}
여기서 \Delta\mathbf{q}는 시간 단계 \Delta t 동안의 작은 회전이며, 각속도로부터 계산된다.
\Delta\mathbf{q} = \exp\left(\frac{\boldsymbol{\omega}\Delta t}{2}\right) \approx \left(1, \frac{\boldsymbol{\omega}\Delta t}{2}\right)
이는 본체 좌표계에서의 작은 회전을 적용하는 형태이다. 본체 좌표계의 각속도가 IMU에서 직접 측정되므로 이 형태가 자연스럽다.
15. 자세 오차의 합성
자세 추정에서 두 자세의 차이는 한 자세의 역과 다른 자세의 곱이다.
\Delta\mathbf{q} = \mathbf{q}_2\mathbf{q}_1^*
또는
\Delta\mathbf{q} = \mathbf{q}_1^*\mathbf{q}_2
좌측과 우측 차이는 좌표계에 따라 다르다. 자세 오차의 표현에 일관성이 필요하다.
16. 합성의 시각화
회전 합성을 시각화하려면 다음을 상상한다.
- 강체가 시작 자세에 있다.
- 첫 번째 회전 \mathbf{q}_1을 적용한다. 강체가 새 자세로 변한다.
- 새 자세에서 두 번째 회전 \mathbf{q}_2를 적용한다. 강체가 또 다른 자세로 변한다.
이 과정의 결과 자세는 시작 자세에 합성 회전 \mathbf{q}_2\mathbf{q}_1을 적용한 것과 같다.
17. 합성의 응용
17.1 매니퓰레이터 기구학
매니퓰레이터의 각 관절 회전을 합성하여 말단 장치의 자세를 계산한다.
17.2 자세 추정
각속도의 적분으로 자세를 갱신할 때 쿼터니언 곱이 사용된다.
17.3 좌표 변환
여러 좌표계 사이의 변환이 합성으로 표현된다.
17.4 시각 SLAM
키프레임 사이의 상대 자세를 합성하여 카메라의 글로벌 자세를 추적한다.
17.5 자세 보간
SLERP 보간에서 차이 회전과의 곱으로 보간 결과가 표현된다.
18. 합성의 주의사항
18.1 부호 일관성
합성 결과의 부호가 입력의 부호에 따라 달라질 수 있다. 일관된 표준 형태(예: 스칼라 부분이 양수)로 정규화하는 것이 안전하다.
18.2 정규화
여러 곱셈의 누적으로 단위 노름이 점점 손실될 수 있다. 주기적 정규화가 필요하다.
18.3 좌표계 명시
합성 시 어느 좌표계의 회전인지(공간 또는 본체) 명시해야 한다. 잘못 선택하면 결과가 의도와 다르다.
19. 참고 문헌
- Hamilton, W. R. (1844). “On Quaternions; or on a New System of Imaginaries in Algebra.” Philosophical Magazine, Vol. 25, 489–495.
- Kuipers, J. B. (1999). Quaternions and Rotation Sequences. Princeton University Press.
- Sola, J. (2017). “Quaternion Kinematics for the Error-State Kalman Filter.” arXiv:1711.02508.
- Diebel, J. (2006). “Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors.” Stanford University Technical Report.
- Markley, F. L., & Crassidis, J. L. (2014). Fundamentals of Spacecraft Attitude Determination and Control. Springer.
version: 1.0