10.35 이중 쿼터니언(Dual Quaternion)의 정의

1. 이중 쿼터니언의 개념

이중 쿼터니언(dual quaternion)은 일반 쿼터니언의 확장으로, 회전과 병진을 통합된 하나의 대수 객체로 표현할 수 있게 한다. 이는 19세기 말 윌리엄 클리포드(William Kingdon Clifford, 1873)가 도입한 이중수(dual number) 개념과 쿼터니언을 결합한 것이다.

이중 쿼터니언은 강체 변환 SE(3)을 매개화하는 다른 방법이며, 쿼터니언의 장점(효율, 보간)을 병진 부분으로 확장한다.

2. 이중수의 정의

이중수(dual number)는 다음의 형태를 가지는 수이다.

\tilde{a} = a + b\epsilon

여기서

  • a, b: 실수
  • \epsilon: 이중 단위, \epsilon^2 = 0이지만 \epsilon \neq 0

이중수는 복소수와 구조적으로 유사하지만, 허수 단위 i 대신 \epsilon을 사용한다. 주요 차이는 i^2 = -1이 아닌 \epsilon^2 = 0이라는 점이다.

2.1 이중수의 곱셈

(a_1 + b_1\epsilon)(a_2 + b_2\epsilon) = a_1 a_2 + (a_1 b_2 + a_2 b_1)\epsilon + b_1 b_2\epsilon^2 = a_1 a_2 + (a_1 b_2 + a_2 b_1)\epsilon

\epsilon^2 = 0이므로 \epsilon^2의 항이 사라진다.

3. 이중 쿼터니언의 정식 정의

이중 쿼터니언은 이중수의 성분이 실수가 아닌 쿼터니언인 경우이다.

\hat{\mathbf{q}} = \mathbf{q}_r + \mathbf{q}_d\epsilon

여기서

  • \mathbf{q}_r: 실수 부분 쿼터니언 (real part)
  • \mathbf{q}_d: 이중 부분 쿼터니언 (dual part)

두 부분이 모두 4 성분 쿼터니언이므로, 이중 쿼터니언은 총 8 성분이다.

\hat{\mathbf{q}} = (q_{r,w}, q_{r,x}, q_{r,y}, q_{r,z}, q_{d,w}, q_{d,x}, q_{d,y}, q_{d,z})

4. 이중 쿼터니언의 곱셈

두 이중 쿼터니언의 곱은 이중수의 곱셈 규칙과 쿼터니언 곱을 결합한 것이다.

\hat{\mathbf{q}}_1\hat{\mathbf{q}}_2 = (\mathbf{q}_{r,1} + \mathbf{q}_{d,1}\epsilon)(\mathbf{q}_{r,2} + \mathbf{q}_{d,2}\epsilon)

= \mathbf{q}_{r,1}\mathbf{q}_{r,2} + (\mathbf{q}_{r,1}\mathbf{q}_{d,2} + \mathbf{q}_{d,1}\mathbf{q}_{r,2})\epsilon + \mathbf{q}_{d,1}\mathbf{q}_{d,2}\epsilon^2

\epsilon^2 = 0이므로

= \mathbf{q}_{r,1}\mathbf{q}_{r,2} + (\mathbf{q}_{r,1}\mathbf{q}_{d,2} + \mathbf{q}_{d,1}\mathbf{q}_{r,2})\epsilon

여기서 \mathbf{q}_{r,i}\mathbf{q}_{d,j}는 일반 쿼터니언 곱이다.

5. 강체 변환의 이중 쿼터니언 표현

SE(3)의 원소인 강체 변환을 이중 쿼터니언으로 표현하는 방법은 다음과 같다.

5.1 회전과 병진의 결합

강체 변환 (\mathbf{R}, \mathbf{t})가 주어졌을 때

  • \mathbf{R}은 쿼터니언 \mathbf{q}_r로 표현된다 (단위 쿼터니언)
  • \mathbf{t}는 이중 부분 \mathbf{q}_d에 인코딩된다

5.2 이중 부분의 정의

\mathbf{q}_d = \frac{1}{2}\mathbf{t}\otimes\mathbf{q}_r

여기서 \mathbf{t}는 순수 벡터 쿼터니언 (0, \mathbf{t})로 표현되고, \otimes는 쿼터니언 곱이다.

5.3 전체 이중 쿼터니언

\hat{\mathbf{q}} = \mathbf{q}_r + \frac{1}{2}\mathbf{t}\mathbf{q}_r\epsilon

이 표현은 단위 조건을 만족해야 한다.

6. 단위 이중 쿼터니언

강체 변환을 나타내는 이중 쿼터니언은 다음의 두 조건을 만족한다.

6.1 조건 1: 실수 부분이 단위 쿼터니언

\lVert\mathbf{q}_r\rVert = 1

6.2 조건 2: 실수 부분과 이중 부분이 직교

\mathbf{q}_r\cdot\mathbf{q}_d = 0

즉, 두 쿼터니언의 4차원 내적이 0이다.

이 두 조건을 만족하는 이중 쿼터니언을 **단위 이중 쿼터니언(unit dual quaternion)**이라 한다. 이는 SE(3)의 원소에 일대일 대응(부호 이중성 제외)된다.

7. 이중 쿼터니언의 자유도

이중 쿼터니언은 8 매개변수를 가지지만, 두 조건으로 2차원이 제거되어 자유도는 6이다.

  • 실수 부분 자유도: 3 (SO(3))
  • 이중 부분 자유도: 3 (병진)
  • 합계: 6 (SE(3))

8. 이중 쿼터니언과 쿼터니언의 관계

8.1 순수 회전

순수 회전(\mathbf{t} = 0)인 경우 이중 부분이 0이다.

\hat{\mathbf{q}} = \mathbf{q}_r + 0\epsilon = \mathbf{q}_r

8.2 순수 병진

순수 병진(\mathbf{R} = \mathbf{I})인 경우 실수 부분이 항등 쿼터니언이다.

\hat{\mathbf{q}} = 1 + \frac{1}{2}\mathbf{t}\epsilon

9. 이중 쿼터니언의 켤레

이중 쿼터니언의 켤레는 두 가지 형태로 정의될 수 있다.

9.1 쿼터니언 켤레

\hat{\mathbf{q}}^* = \mathbf{q}_r^* + \mathbf{q}_d^*\epsilon

각 쿼터니언의 켤레를 취한다.

9.2 이중 켤레

\bar{\hat{\mathbf{q}}} = \mathbf{q}_r - \mathbf{q}_d\epsilon

이중 부분의 부호를 반전한다.

9.3 결합 켤레

\hat{\mathbf{q}}^\star = \mathbf{q}_r^* - \mathbf{q}_d^*\epsilon

두 켤레를 결합한 형태이다.

어느 켤레를 사용하는지는 응용에 따라 다르다. 강체 변환의 역을 계산할 때는 결합 켤레가 사용된다.

10. 이중 쿼터니언의 역

단위 이중 쿼터니언의 역은 다음과 같다.

\hat{\mathbf{q}}^{-1} = \hat{\mathbf{q}}^\star = \mathbf{q}_r^* - \mathbf{q}_d^*\epsilon

이는 \hat{\mathbf{q}}\hat{\mathbf{q}}^{-1} = 1을 만족한다.

11. 이중 쿼터니언의 행렬 표현

이중 쿼터니언은 4 \times 4 동차 변환 행렬과 일대일 대응한다.

\mathbf{T} = \begin{bmatrix}\mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix} \leftrightarrow \hat{\mathbf{q}} = \mathbf{q}_r + \frac{1}{2}\mathbf{t}\mathbf{q}_r\epsilon

변환 행렬과 이중 쿼터니언은 서로 변환될 수 있다.

12. 이중 쿼터니언의 벡터 변환

이중 쿼터니언으로 3차원 점을 변환하는 방법은 쿼터니언의 샌드위치 곱의 이중 확장이다.

\hat{\mathbf{p}}' = \hat{\mathbf{q}}\hat{\mathbf{p}}\hat{\mathbf{q}}^\star

여기서 \hat{\mathbf{p}} = 1 + \mathbf{p}\epsilon는 점 \mathbf{p}의 이중 쿼터니언 표현이다.

이 식은 점에 회전과 병진을 동시에 적용한다.

13. 이중 쿼터니언의 장점

13.1 회전과 병진의 통합

회전과 병진을 하나의 대수 객체로 표현하므로, 강체 변환을 통일적으로 다룰 수 있다. 이는 코드의 단순함과 일관성을 제공한다.

13.2 효율적 합성

강체 변환의 합성이 이중 쿼터니언 곱으로 표현된다. 이는 행렬 곱보다 효율적일 수 있다.

13.3 매끄러운 보간

이중 쿼터니언 보간(DLB, Dual Quaternion Linear Blending)은 강체 변환의 매끄러운 보간을 제공한다. 회전과 병진이 함께 보간된다.

13.4 메모리 효율

8 매개변수로 SE(3)을 표현한다. 이는 동차 변환 행렬(16 매개변수)보다 적다.

14. 이중 쿼터니언의 응용

14.1 스킨 애니메이션

캐릭터 애니메이션에서 본(bone)의 변환을 이중 쿼터니언으로 표현한다. 이는 “쿼터니언 스키닝“보다 더 자연스러운 피부 변형을 제공한다.

14.2 로봇 기구학

매니퓰레이터의 순기구학을 이중 쿼터니언 곱으로 표현할 수 있다. 관절 변환이 이중 쿼터니언으로 저장되고 곱셈으로 합성된다.

14.3 손-눈 캘리브레이션

일부 손-눈 캘리브레이션 알고리즘은 이중 쿼터니언을 사용하여 회전과 병진을 동시에 추정한다.

14.4 시각 SLAM

시각 SLAM에서 카메라 자세를 이중 쿼터니언으로 표현할 수 있다.

14.5 기구학적 계산의 통합

물체의 위치와 방향을 동시에 다루는 응용에서 이중 쿼터니언이 편리하다.

15. 이중 쿼터니언의 한계

15.1 학습 곡선

이중 수와 이중 쿼터니언의 추상적 개념을 이해하는 데 시간이 걸린다. 대부분의 사용자에게는 회전 행렬과 쿼터니언이 더 친숙하다.

15.2 라이브러리 지원 부족

동차 변환 행렬이나 쿼터니언만큼 널리 지원되지 않는다. 특수 라이브러리가 필요할 수 있다.

15.3 계산 이점의 제한

실제 계산에서 이중 쿼터니언이 항상 더 효율적인 것은 아니다. 최적화된 동차 변환 행렬 구현이 비슷한 성능을 보일 수 있다.

15.4 수치적 특성

단위 조건의 수치적 유지가 쿼터니언보다 복잡하다.

16. 이중 쿼터니언과 스크류 이론

이중 쿼터니언은 스크류 이론(screw theory)과 자연스럽게 연결된다. 슈아세의 정리에 의해 모든 강체 변환은 단일 스크류 운동으로 표현될 수 있으며, 이는 이중 쿼터니언으로 우아하게 기술된다.

16.1 스크류 매개변수

이중 쿼터니언의 지수와 로그 사상은 스크류 축과 나선 운동의 매개변수를 제공한다.

16.2 스크류 운동의 합성

두 스크류 운동의 합성이 이중 쿼터니언 곱으로 표현된다.

17. 이중 쿼터니언의 다른 이름

이중 쿼터니언은 다음의 다양한 이름으로 불린다.

  • Dual Quaternion: 가장 일반적
  • Biquaternion: 해밀턴이 사용한 이름 (복소 쿼터니언과 혼동 주의)
  • Clifford Biquaternion: 클리포드의 원래 작업

이러한 이름은 맥락에 따라 사용된다.

18. 결론

이중 쿼터니언은 강체 변환을 통일적으로 표현하는 대수적 도구이다. 회전과 병진을 결합하여 SE(3)을 매개화하며, 쿼터니언의 장점을 강체 변환으로 확장한다. 학습 곡선과 제한된 라이브러리 지원이 있지만, 스킨 애니메이션과 특정 기구학 응용에서 유용하다.

19. 참고 문헌

  • Clifford, W. K. (1873). “Preliminary Sketch of Biquaternions.” Proceedings of the London Mathematical Society, 4(1), 381–395.
  • Selig, J. M. (2005). Geometric Fundamentals of Robotics (2nd ed.). Springer.
  • Daniilidis, K. (1999). “Hand-Eye Calibration Using Dual Quaternions.” International Journal of Robotics Research, 18(3), 286–298.
  • Kavan, L., Collins, S., Žára, J., & O’Sullivan, C. (2008). “Geometric Skinning with Approximate Dual Quaternion Blending.” ACM Transactions on Graphics, 27(4).
  • McCarthy, J. M. (1990). Introduction to Theoretical Kinematics. MIT Press.

version: 1.0