6.47 직교 행렬과 회전 변환의 관계

1. 도입

직교 행렬은 단순히 추상적인 대수적 객체가 아니라 강력한 기하학적 의미를 가진다. 특히 행렬식이 양수인 직교 행렬, 즉 특수 직교 행렬은 정확히 강체 회전 변환을 표현한다. 이 절에서는 직교성과 회전 사이의 관계를 정밀하게 다루며, 회전을 표현하는 행렬이 가져야 할 모든 성질이 직교성과 행렬식 조건으로 완전히 특성화됨을 보인다.

2. 회전 변환의 정의

기하학적 의미에서 회전 변환은 다음의 세 가지 조건을 만족하는 사상이다.

  1. 선형성: 변환이 선형 사상이다, 즉 T(\alpha\mathbf{x} + \beta\mathbf{y}) = \alpha T(\mathbf{x}) + \beta T(\mathbf{y}).
  2. 거리 보존: 임의의 두 점 사이의 거리가 변환 후에도 보존된다, 즉 \|T(\mathbf{x}) - T(\mathbf{y})\| = \|\mathbf{x} - \mathbf{y}\|.
  3. 방향 보존: 좌표계의 방향성(orientation)이 보존된다, 즉 거울 반사가 발생하지 않는다.

이 세 조건은 임의의 차원에서 회전을 정의하며, 이를 만족하는 변환의 행렬 표현이 정확히 특수 직교 행렬임을 보인다.

3. 회전 변환과 특수 직교 행렬의 동치성

정리. \mathbb{R}^n의 선형 사상 T: \mathbb{R}^n \to \mathbb{R}^n이 거리 보존이고 방향 보존일 필요충분조건은 그 행렬 표현 R이 특수 직교 행렬, 즉 R^\top R = I이고 \det R = +1인 것이다.

증명의 개요. 거리 보존과 선형성으로부터 행렬 표현이 직교임을 도출할 수 있다. 거리 보존은 \|R\mathbf{x}\| = \|\mathbf{x}\|를 의미하며, 이는 \mathbf{x}^\top R^\top R \mathbf{x} = \mathbf{x}^\top \mathbf{x}, 즉 R^\top R = I로 변환된다. 방향 보존은 \det R > 0이며, R이 직교이므로 \det R = \pm 1이다. 따라서 \det R = +1이다.

역의 방향은 정의로부터 즉시 따른다. R^\top R = I이면 거리 보존이 성립하고, \det R = +1이면 방향이 보존된다. \blacksquare

이 정리는 회전 변환의 기하학적 정의가 정확히 특수 직교성이라는 대수적 조건과 동등함을 명확히 한다.

4. 특수 직교군 SO(n)

정의. 차원 n의 특수 직교군은 다음과 같이 정의된다.

SO(n) = \{ R \in \mathbb{R}^{n \times n} : R^\top R = I, \det R = +1 \}

이 집합은 행렬 곱셈에 대하여 군을 이룬다. 즉, 다음의 성질이 성립한다.

  • 닫힘성: R_1, R_2 \in SO(n)이면 R_1 R_2 \in SO(n)이다.
  • 단위원의 존재: 단위 행렬 I \in SO(n)이다.
  • 역원의 존재: R \in SO(n)이면 R^{-1} = R^\top \in SO(n)이다.
  • 결합법칙: 행렬 곱셈은 결합법칙을 만족한다.

SO(n)n(n-1)/2 차원의 매끈한 다양체이며, 컴팩트하고 연결된 리 군의 한 예이다. 특히 SO(2)는 평면에서의 회전을, SO(3)은 3차원 공간에서의 회전을 표현한다.

5. 차원 회전 행렬

평면에서 원점을 중심으로 한 각도 \theta만큼의 회전은 다음의 행렬로 표현된다.

R(\theta) = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}

이 행렬은 다음의 성질을 만족한다.

  • 직교성: R(\theta)^\top R(\theta) = I.
  • 행렬식: \det R(\theta) = \cos^2\theta + \sin^2\theta = 1.
  • 합성: R(\theta_1) R(\theta_2) = R(\theta_1 + \theta_2).
  • 역: R(\theta)^{-1} = R(-\theta) = R(\theta)^\top.
  • 고유값: e^{\pm i\theta}, 켤레 복소수 쌍.

SO(2)의 모든 원소는 위의 형태로 표현되며, 매개 변수 \theta[0, 2\pi)의 값을 가진다. 따라서 SO(2)는 위상적으로 원 S^1과 동형이다.

6. 차원 회전 행렬

3차원 공간에서의 회전 행렬은 더 풍부한 구조를 가진다. 3 \times 3 특수 직교 행렬의 집합 SO(3)는 3차원 다양체이며, 한 좌표축 주위의 기본 회전들로부터 합성될 수 있다.

6.1 좌표축 회전

x축, y축, z축 주위의 각도 \theta만큼의 회전은 각각 다음과 같다.

R_x(\theta) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta \end{pmatrix}

R_y(\theta) = \begin{pmatrix} \cos\theta & 0 & \sin\theta \\ 0 & 1 & 0 \\ -\sin\theta & 0 & \cos\theta \end{pmatrix}

R_z(\theta) = \begin{pmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{pmatrix}

각 행렬은 명시적으로 특수 직교 행렬임을 확인할 수 있다.

6.2 합성과 비가환성

3차원 회전은 일반적으로 가환이 아니다. 즉, R_1 R_2 \neq R_2 R_1이다. 이는 3차원 회전의 본질적인 비자명한 성질이며, 회전의 합성 순서가 결과에 영향을 미친다는 것을 의미한다. 이 비가환성은 SO(3)이 단순한 가환군이 아니라 비가환 리 군임을 보여 준다.

7. 오일러 정리

3차원 회전에 관한 가장 중요한 정리 중 하나는 오일러 정리이다.

정리 (오일러의 회전 정리). 임의의 R \in SO(3)에 대하여 단위 벡터 \hat{\mathbf{n}} \in \mathbb{R}^3와 각도 \theta \in [0, \pi]가 존재하여 R이 축 \hat{\mathbf{n}} 주위의 각도 \theta만큼의 회전이 된다.

증명의 개요. R \in SO(3)의 특성 다항식은 실수 계수 3차 다항식이므로 적어도 하나의 실근을 가진다. 모든 고유값의 절댓값이 1이고 고유값의 곱이 \det R = +1이므로, 가능한 고유값 분포는 다음과 같다.

  • 세 고유값이 모두 +1: 이는 R = I인 경우이다.
  • 한 고유값이 +1, 두 고유값이 -1: 이는 회전 각도 \theta = \pi인 경우이다.
  • 한 고유값이 +1, 두 고유값이 켤레 복소수 쌍 e^{\pm i\theta}: 일반적인 경우.

세 경우 모두에서 고유값 +1에 대응하는 고유벡터가 존재하며, 이 고유벡터의 단위 벡터가 회전축 \hat{\mathbf{n}}이다. 회전 각도는 켤레 복소수 고유값의 편각으로부터 추출된다. \blacksquare

이 정리는 3차원 회전이 본질적으로 한 축 주위의 회전이라는 직관적인 사실을 엄밀하게 정당화한다.

8. 회전축과 회전 각도의 추출

오일러 정리에 의하여 임의의 3 \times 3 회전 행렬 R로부터 회전축과 회전 각도를 추출할 수 있다. 표준적인 방법은 다음과 같다.

8.1 회전 각도

R의 트레이스로부터 회전 각도를 계산한다.

\mathrm{tr}(R) = 1 + 2\cos\theta \implies \cos\theta = \frac{\mathrm{tr}(R) - 1}{2}

따라서

\theta = \arccos\left( \frac{\mathrm{tr}(R) - 1}{2} \right)

이다. 이 식은 \theta \in [0, \pi]의 범위에서 유효하다.

8.2 회전축

회전축은 R의 고유값 +1에 대응하는 고유벡터이다. 즉, 다음 동차 방정식의 해이다.

(R - I)\hat{\mathbf{n}} = \mathbf{0}

또는 \theta \neq 0, \pi인 경우 다음과 같이 직접 계산할 수 있다.

\hat{\mathbf{n}} = \frac{1}{2\sin\theta} \begin{pmatrix} R_{32} - R_{23} \\ R_{13} - R_{31} \\ R_{21} - R_{12} \end{pmatrix}

이 공식은 R의 반대칭 부분으로부터 회전축을 추출한다. 단, \theta = \pi인 경우 \sin\theta = 0이므로 이 공식은 사용할 수 없으며, 별도의 처리가 필요하다.

9. 로드리게스 공식

회전축 \hat{\mathbf{n}}과 회전 각도 \theta가 주어졌을 때 회전 행렬을 구성하는 공식은 로드리게스 공식(Rodrigues’ formula)으로 알려져 있다.

R = I + \sin\theta \, [\hat{\mathbf{n}}]_\times + (1 - \cos\theta) [\hat{\mathbf{n}}]_\times^2

여기서 [\hat{\mathbf{n}}]_\times\hat{\mathbf{n}} = (n_1, n_2, n_3)^\top의 외적 행렬이다.

[\hat{\mathbf{n}}]_\times = \begin{pmatrix} 0 & -n_3 & n_2 \\ n_3 & 0 & -n_1 \\ -n_2 & n_1 & 0 \end{pmatrix}

이 공식은 회전축과 각도 매개 변수화에서 회전 행렬을 직접 구성하는 효율적인 방법을 제공한다.

10. 회전 행렬과 거울 반사의 구별

행렬식의 부호는 직교 변환을 두 가지 본질적으로 다른 종류로 구분한다.

  • \det Q = +1: 회전. 좌표계의 방향성을 보존한다. 오른손 좌표계는 오른손 좌표계로 변환된다.
  • \det Q = -1: 거울 반사 또는 회전과 거울 반사의 합성. 좌표계의 방향성이 반전된다. 오른손 좌표계는 왼손 좌표계가 된다.

이 구분은 물리적 의미를 가진다. 강체 회전은 항상 방향성을 보존하므로 \det R = +1이어야 한다. 추정된 회전 행렬의 행렬식이 음수가 나오는 경우는 잡음이나 알고리듬 오류로 인한 것이며, 적절한 보정이 필요하다.

11. 특수 직교 행렬 군의 위상

SO(n)은 컴팩트 연결 리 군이며, 그 위상적 구조는 응용에서 중요한 의미를 가진다.

  • SO(2): 위상적으로 원 S^1과 동형이다.
  • SO(3): 위상적으로 실사영 공간 \mathbb{RP}^3와 동형이다. 이는 단연결이 아니며, 기본군이 \mathbb{Z}/2\mathbb{Z}이다.
  • SO(n) (n \geq 3): 모두 단연결이 아니며, 이중 피복 군이 존재한다.

SO(3)의 비단연결성은 사원수 표현의 도입을 동기 부여한다. 사원수 군 \mathrm{Spin}(3)SO(3)의 이중 피복 군이며 단연결이다.

12. 회전의 보간

두 회전 행렬 R_1, R_2 사이의 부드러운 보간은 단순한 선형 보간으로는 달성될 수 없다. 그 이유는 두 회전 행렬의 일차 결합이 일반적으로 직교성을 만족하지 않기 때문이다. 적절한 보간 기법은 다음과 같다.

12.1 측지선 보간

SO(3) 위의 측지선을 따른 보간은 다음과 같이 정의된다.

R(t) = R_1 \exp(t \log(R_1^\top R_2)), \quad t \in [0, 1]

여기서 \log는 행렬 로그이고, \exp는 행렬 지수이다. 이 보간은 두 회전 사이의 가장 짧은 경로를 따라 이루어지며, 매개 변수 t에 대하여 일정한 각속도를 가진다.

12.2 사원수 구면 선형 보간

회전을 단위 사원수로 표현한 후 구면 선형 보간(spherical linear interpolation, slerp)을 적용하는 방법이 일반적이다. 이는 측지선 보간과 동등하면서도 계산적으로 더 효율적이다.

13. 회전의 동력학

연속적으로 변화하는 회전 행렬 R(t)의 시간 미분은 다음의 형태를 가진다.

\dot{R}(t) = [\boldsymbol{\omega}(t)]_\times R(t) \quad \text{또는} \quad \dot{R}(t) = R(t) [\boldsymbol{\omega}_b(t)]_\times

여기서 \boldsymbol{\omega}는 공간 좌표계에서의 각속도, \boldsymbol{\omega}_b는 동체 좌표계에서의 각속도이다. 이 미분 방정식은 강체 동역학의 핵심 방정식이며, 회전 행렬의 직교성을 자동으로 보존한다.

14. 로봇공학에서의 응용

14.1 강체 자세 표현

3차원 공간에서 작동하는 모든 강체의 자세는 회전 행렬 R \in SO(3)로 표현된다. 매니퓰레이터의 말단 장치, 모바일 로봇의 차체, 무인 항공기의 비행체, 그리고 위성의 자세는 모두 회전 행렬을 통하여 기술된다.

14.2 좌표계 변환

서로 다른 좌표계 사이의 벡터와 텐서의 변환은 회전 행렬을 통하여 수행된다. 예를 들어 한 좌표계에서 표현된 힘 벡터를 다른 좌표계에서 표현하기 위해서는 두 좌표계 사이의 회전 행렬을 곱하면 된다.

14.3 자세 추정과 보정

자세 추정 알고리듬에서 추정된 회전 행렬은 측정 잡음과 수치 오차로 인하여 직교성을 정확히 만족하지 않을 수 있다. 가장 가까운 직교 행렬로의 정사영을 정기적으로 수행하여 직교성을 회복하는 것이 표준적인 절차이다.

14.4 자세 제어와 자세 오차

목표 자세 R_d와 현재 자세 R 사이의 자세 오차는 일반적으로 R_e = R^\top R_d 또는 R_e = R_d R^\top로 정의된다. 이 오차는 다시 회전 행렬이며, 그로부터 추출된 회전축과 각도가 자세 제어기의 입력이 된다.

14.5 매니퓰레이터의 정기구학

직렬 매니퓰레이터의 정기구학은 각 관절의 회전 행렬들을 연쇄적으로 곱함으로써 계산된다.

R_{0n} = R_{01} R_{12} \cdots R_{(n-1)n}

이 곱의 직교성은 자동으로 보존되지만, 수치 계산에서 누적된 오차는 정기적인 정사영을 통하여 보정되어야 한다.

14.6 자세 제약과 작업 공간 정의

로봇 작업의 일부는 특정 자세를 유지하거나 자세의 일부 자유도만을 제어하는 것을 포함한다. 이러한 제약은 회전 행렬의 부분 공간으로 표현되며, 직교성과 행렬식 조건을 통하여 정의된다.

14.7 시각 SLAM의 자세 그래프

시각 SLAM에서 카메라 자세는 회전 행렬로 표현되며, 자세 그래프(pose graph)의 노드를 형성한다. 노드 사이의 에지는 상대 회전을 나타내며, 그래프 최적화는 회전 행렬의 매니폴드 구조를 고려하여 수행되어야 한다.


참고문헌

  • Lynch, K. M., & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.
  • Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
  • Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.
  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2010). Robotics: Modelling, Planning and Control. Springer.
  • Selig, J. M. (2005). Geometric Fundamentals of Robotics (2nd ed.). Springer.
  • Hall, B. C. (2015). Lie Groups, Lie Algebras, and Representations (2nd ed.). Springer.

Version: 1.0