11.3 특수 직교군 SO(3)의 구조와 성질
1. 특수 직교군의 정의
특수 직교군(special orthogonal group) SO(3)은 3차원 유클리드 공간의 회전들로 구성된 군이며, 로봇공학에서 가장 중요한 리 군 중 하나이다. 강체의 자세 표현, 좌표 변환, 자세 추정, 자세 제어 등 회전과 관련된 거의 모든 영역에서 SO(3)이 핵심적인 역할을 한다. 형식적으로 SO(3)은 다음과 같이 정의된다.
SO(3) = \{\mathbf{R} \in \mathbb{R}^{3 \times 3} : \mathbf{R}^T\mathbf{R} = \mathbf{I}, \det(\mathbf{R}) = +1\}
이 정의에서 \mathbf{R}^T\mathbf{R} = \mathbf{I}는 직교성 조건이고, \det(\mathbf{R}) = +1은 행렬식이 양수임을 요구하여 거울 반사를 배제한다.
2. 직교 행렬과 회전
2.1 직교 조건
직교 조건 \mathbf{R}^T\mathbf{R} = \mathbf{I}는 행렬의 열 벡터가 정규 직교 기저를 이룸을 의미한다. 즉, 회전 행렬의 열은 단위 길이이며 서로 수직이다.
\mathbf{r}_i^T\mathbf{r}_j = \delta_{ij}
여기서 \mathbf{r}_i는 \mathbf{R}의 i번째 열이고 \delta_{ij}는 크로네커 델타이다.
2.2 행렬식 조건
행렬식 조건 \det(\mathbf{R}) = +1은 회전이 방향을 보존함을 의미한다. 행렬식이 -1인 직교 행렬은 회전이 아니라 거울 반사 또는 거울 반사와 회전의 결합이며, SO(3)에 포함되지 않는다.
2.3 거리 보존
회전 행렬은 벡터의 길이를 보존한다.
\lVert\mathbf{R}\mathbf{v}\rVert = \lVert\mathbf{v}\rVert
또한 두 벡터 사이의 각도(내적)도 보존한다.
(\mathbf{R}\mathbf{u})^T(\mathbf{R}\mathbf{v}) = \mathbf{u}^T\mathbf{v}
이러한 성질이 회전을 유클리드 공간의 등거리 변환으로 만든다.
3. 군 구조
3.1 군 연산
SO(3)의 군 연산은 행렬 곱셈이다. 두 회전 행렬의 곱은 두 회전의 합성이며, 결과도 회전 행렬이다.
(\mathbf{R}_1\mathbf{R}_2)^T(\mathbf{R}_1\mathbf{R}_2) = \mathbf{R}_2^T\mathbf{R}_1^T\mathbf{R}_1\mathbf{R}_2 = \mathbf{R}_2^T\mathbf{R}_2 = \mathbf{I}
\det(\mathbf{R}_1\mathbf{R}_2) = \det(\mathbf{R}_1)\det(\mathbf{R}_2) = 1 \cdot 1 = 1
따라서 \mathbf{R}_1\mathbf{R}_2 \in SO(3)이다.
3.2 항등원
항등원은 3 \times 3 단위 행렬 \mathbf{I}이며, 어떤 회전과 곱해도 그 회전을 변화시키지 않는다.
3.3 역원
회전 행렬의 역원은 그 전치 행렬이다.
\mathbf{R}^{-1} = \mathbf{R}^T
이 성질은 직교 조건으로부터 직접 유도된다. 역원 계산이 매우 효율적이라는 점이 회전 행렬의 큰 장점이다.
3.4 비가환성
SO(3)은 비가환 군이다. 즉, \mathbf{R}_1\mathbf{R}_2 \neq \mathbf{R}_2\mathbf{R}_1이 일반적이다. 이는 회전의 순서가 결과에 영향을 줌을 의미한다.
예를 들어 x축 주위의 90도 회전과 y축 주위의 90도 회전은 적용 순서에 따라 다른 결과를 산출한다.
4. 다양체 구조
4.1 SO(3)의 차원
SO(3)의 차원은 3이다. 이는 직관적으로도 명확한데, 3차원 공간의 회전을 기술하기 위해 3개의 매개변수(예: 회전 축 2자유도 + 회전 각 1자유도)가 필요하기 때문이다.
수학적으로 차원을 계산하면, 3 \times 3 행렬은 9개의 매개변수를 가지지만, 직교 조건이 6개의 제약을 부과하므로(대각 3개 + 비대각 3개), 자유도는 9 - 6 = 3이다.
4.2 매끄러운 다양체
SO(3)은 매끄러운 다양체이며, 유클리드 공간 \mathbb{R}^9의 부분 집합으로서의 위상을 갖는다. 행렬 원소를 좌표로 사용하지만, 직교 조건으로 인해 9차원 중 3차원에만 자유도가 있다.
4.3 항등원에서의 접선 공간
SO(3)의 항등원에서의 접선 공간은 반대칭 행렬의 집합이다.
T_{\mathbf{I}}SO(3) = \mathfrak{so}(3) = \{\mathbf{A} \in \mathbb{R}^{3 \times 3} : \mathbf{A}^T = -\mathbf{A}\}
이는 SO(3)의 리 대수이며, 다음 절들에서 자세히 다룬다.
4.4 위상적 구조
SO(3)은 위상적으로 실 사영 공간 \mathbb{RP}^3과 동치이다. 이는 다음과 같이 직관적으로 이해된다. 임의의 회전은 회전 축과 회전 각으로 표현되며, 회전 축은 2차원 구 S^2의 점이고 회전 각은 [0, \pi]의 원소이다. 회전 각 \pi에서는 회전 축의 방향과 반대 방향이 같은 회전을 표현하므로, 이러한 동일시를 통해 \mathbb{RP}^3이 얻어진다.
SO(3)은 연결되어 있고 콤팩트하지만 단순 연결되지 않는다. 기본 군은 \mathbb{Z}_2이며, 이로 인해 2\pi 회전 경로와 항등 경로가 위상적으로 다르다.
5. 회전의 구체적 형태
5.1 좌표 축 주위의 회전
x축 주위의 \theta만큼의 회전:
\mathbf{R}_x(\theta) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta \end{bmatrix}
y축 주위의 \theta만큼의 회전:
\mathbf{R}_y(\theta) = \begin{bmatrix} \cos\theta & 0 & \sin\theta \\ 0 & 1 & 0 \\ -\sin\theta & 0 & \cos\theta \end{bmatrix}
z축 주위의 \theta만큼의 회전:
\mathbf{R}_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix}
5.2 임의의 축 주위의 회전 (로드리게스 공식)
단위 벡터 \hat{\mathbf{u}} 주위의 \theta만큼의 회전은 로드리게스 공식으로 표현된다.
\mathbf{R} = \mathbf{I} + \sin\theta[\hat{\mathbf{u}}]_\times + (1 - \cos\theta)[\hat{\mathbf{u}}]_\times^2
여기서 [\hat{\mathbf{u}}]_\times는 \hat{\mathbf{u}}의 반대칭 행렬이다.
[\hat{\mathbf{u}}]_\times = \begin{bmatrix} 0 & -u_z & u_y \\ u_z & 0 & -u_x \\ -u_y & u_x & 0 \end{bmatrix}
이 공식은 행렬 지수의 닫힌 형태이며, \mathfrak{so}(3)에서 SO(3)으로의 지수 사상이다.
6. 회전의 분류
6.1 항등 회전
\mathbf{R} = \mathbf{I}인 항등 회전은 모든 벡터를 변화시키지 않는다. 회전 각이 0인 모든 회전 축이 항등 회전을 표현한다.
6.2 \pi 회전
회전 각이 \pi인 회전은 특별한 성질을 가진다. 회전 축의 부호를 뒤집어도 같은 회전이며, 이로 인해 SO(3)의 위상적 구조에 영향을 준다.
6.3 일반 회전
회전 각이 0과 \pi 사이인 회전은 일반적인 경우이며, 회전 축과 회전 각이 일대일로 대응한다.
7. 오일러의 회전 정리
7.1 정리의 진술
레온하르트 오일러(Leonhard Euler)의 회전 정리는 다음과 같다.
임의의 3차원 회전은 어떤 단일 축 주위의 회전으로 표현할 수 있다.
이 정리는 직관적으로 명확하지 않지만 매우 중요한 결과이며, 회전 행렬의 1을 고유값으로 가짐을 보임으로써 증명된다.
7.2 정리의 증명 개요
회전 행렬 \mathbf{R}의 특성 방정식은 다음과 같다.
\det(\mathbf{R} - \lambda\mathbf{I}) = 0
직교성과 행렬식 조건으로부터 \lambda = 1이 항상 고유값이며, 이에 대응하는 고유벡터가 회전 축이 된다. 즉, 회전이 보존하는 유일한 방향이 회전 축이다.
7.3 의미
오일러의 회전 정리는 SO(3)의 모든 원소가 단일 축-각도 표현을 가짐을 보장한다. 이로 인해 회전을 매개변수화하는 다양한 방법(축-각도, 회전 벡터, 쿼터니언)이 가능해진다.
8. 회전 행렬과 스칼라 곱
회전 행렬은 양수 스칼라 곱에 대해 닫혀 있지 않다. 즉, \alpha\mathbf{R}이 \alpha = \pm 1 외에는 회전 행렬이 아니다. 이는 SO(3)이 선형 부분 공간이 아니라는 사실과 일치한다.
9. 회전의 거리
9.1 자연스러운 거리
두 회전 사이의 거리를 측정하는 방법이 여러 가지 있다.
9.1.1 측지 거리
d_{\text{geo}}(\mathbf{R}_1, \mathbf{R}_2) = \lVert\log(\mathbf{R}_1^T\mathbf{R}_2)\rVert
이는 다양체 위의 측지선을 따라 측정한 거리이며, 가장 자연스러운 정의이다. 회전 각의 형태로 표현된다.
d_{\text{geo}}(\mathbf{R}_1, \mathbf{R}_2) = \arccos\!\left(\frac{\mathrm{tr}(\mathbf{R}_1^T\mathbf{R}_2) - 1}{2}\right)
9.1.2 프로베니우스 거리
d_F(\mathbf{R}_1, \mathbf{R}_2) = \lVert\mathbf{R}_1 - \mathbf{R}_2\rVert_F
이는 행렬을 9차원 벡터로 보고 유클리드 거리를 측정한 것이다. 측지 거리와 다르지만 빠르게 계산할 수 있다.
10. SO(3)의 부분 군
10.1 차원 부분 군
각 좌표 축 주위의 회전들은 SO(3)의 1차원 부분 군을 이룬다. 이들은 모두 SO(2)와 동형이다.
10.2 차원 부분 군
SO(3)에는 2차원 부분 군이 존재하지 않는다(내부적인 비가환성으로 인한 결과).
10.3 부분 군의 분류
SO(3)의 닫힌 부분 군은 다음과 같이 분류된다.
- 항등 군 \{\mathbf{I}\}
- 유한 부분 군(정다면체 군)
- 1차원 부분 군 (SO(2) \cong S^1)
- SO(3) 자체
11. 자세 추정과 제어에서의 활용
11.1 자세 표현
SO(3)의 원소가 강체의 자세를 직접 표현한다. 회전 행렬, 쿼터니언, 회전 벡터 등은 모두 SO(3)의 다양한 매개변수화이다.
11.2 자세 추정
자세 추정 알고리즘은 SO(3) 위의 점을 추정한다. 칼만 필터, 마호니 필터, 마드윅 필터 등이 모두 SO(3)의 구조를 활용한다.
11.3 자세 제어
자세 제어기는 두 자세 사이의 차이를 최소화한다. SO(3)의 군 구조를 사용하여 자세 오차가 정의되고, 이를 0으로 유도하는 제어 입력이 계산된다.
12. 매니퓰레이터 운동학
12.1 좌표계 변환
매니퓰레이터의 각 링크에는 좌표계가 부착되며, 인접한 좌표계 사이의 변환이 회전 행렬과 병진 벡터로 표현된다. 회전 부분이 SO(3)의 원소이다.
12.2 DH 매개변수와의 관계
DH 매개변수는 회전과 병진을 4개의 매개변수로 표현하는 표준 방법이다. 회전 부분이 SO(3)의 부분 매개변수화를 형성한다.
12.3 곱지수 공식
곱지수(Product of Exponentials, POE) 공식은 매니퓰레이터의 순기구학을 일련의 지수의 곱으로 표현한다. SO(3)의 지수 사상이 핵심 역할을 한다.
13. 컴퓨터 비전에서의 활용
13.1 카메라 자세
카메라의 자세는 SO(3)의 원소이며, 카메라가 향하는 방향을 결정한다. 시각 SLAM과 카메라 보정에서 핵심 역할을 한다.
13.2 객체 자세 추정
3차원 객체의 자세를 추정하는 문제는 SO(3) 위의 추정 문제이다. 학습 기반 방법에서 자세 출력이 SO(3)의 원소로 보장되어야 한다.
13.3 이미지 정렬
이미지 정렬 알고리즘은 두 이미지 사이의 회전을 추정한다. SO(3)의 구조를 활용한 효율적 알고리즘이 사용된다.
14. SO(3)의 위상적 한계
14.1 매끄러운 매개변수화의 한계
SO(3)은 매끄러운 다양체이지만, 단일한 매끄러운 전역 매개변수화는 불가능하다. 이는 위상적 사실이며, 모든 3 매개변수 표현(오일러 각, 로드리게스 매개변수 등)이 어떤 형태로든 특이점을 가진다.
14.2 매개변수 표현의 필요성
매끄러운 표현을 위해서는 적어도 4개의 매개변수가 필요하다. 단위 쿼터니언이 4 매개변수 표현이며, S^3에서 SO(3)으로의 매끄러운 사상(이중 덮개)이다.
14.3 풀림 현상과 헤어볼 정리
신경망 등 학습 기반 방법에서 회전을 출력할 때 매끄러운 표현이 필요하다. 단위 쿼터니언과 6D 표현(Zhou et al.)이 이러한 요구를 만족한다.
15. 학술적 일관성
15.1 표기법
SO(3)의 표기는 학술 문헌에서 표준이며, “쓰리“가 아니라 “에스 오 쓰리“로 읽는다. SO는 special orthogonal의 약자이다.
15.2 차원의 표기
SO(3)의 차원은 3이며, 이는 SO(3)의 차원이 3이라는 의미이다. 차원이 3이라는 표기 자체에 약간 혼동의 여지가 있을 수 있다.
16. SO(3)의 응용 요약
| 응용 | 활용 방식 |
|---|---|
| 강체 자세 표현 | SO(3)의 원소로 표현 |
| 자세 추정 | SO(3) 위의 점 추정 |
| 자세 제어 | SO(3)의 군 구조 활용 |
| 매니퓰레이터 운동학 | 좌표계 변환의 회전 부분 |
| 카메라 자세 | SO(3)의 원소로 표현 |
| 객체 자세 | SO(3) 위의 추정 |
| 이미지 정렬 | SO(3)의 회전 추정 |
| 우주선 자세 결정 | SO(3) 위의 추정과 제어 |
17. 참고 문헌
- Hall, B. C. (2015). Lie Groups, Lie Algebras, and Representations: An Elementary Introduction (2nd ed.). Springer.
- Stillwell, J. (2008). Naive Lie Theory. Springer.
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
- Lynch, K. M., & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.
- Selig, J. M. (2005). Geometric Fundamentals of Robotics (2nd ed.). Springer.
version: 1.0