9.16 회전 행렬의 직교성과 정규 직교 조건
1. 직교 행렬의 정의
실수 정방 행렬 \mathbf{R} \in \mathbb{R}^{n \times n}이 다음 조건을 만족할 때 직교 행렬(orthogonal matrix)이라 한다.
\mathbf{R}^T\mathbf{R} = \mathbf{R}\mathbf{R}^T = \mathbf{I}
이는 \mathbf{R}^{-1} = \mathbf{R}^T와 동치이며, 직교 행렬의 집합은 직교군 O(n)을 구성한다. 회전 행렬은 O(n)의 부분집합에 해당한다.
2. 정규 직교 조건의 해석
\mathbf{R}의 열벡터를 \mathbf{r}_1, \mathbf{r}_2, \mathbf{r}_3이라 할 때, 조건 \mathbf{R}^T\mathbf{R} = \mathbf{I}는 다음과 동등하다.
\mathbf{r}_i^T\mathbf{r}_j = \delta_{ij}
여기서 \delta_{ij}는 크로네커 델타이다. 이는 두 가지 조건으로 분해된다.
- 정규화(normalization): 각 열벡터는 단위 길이를 가진다. \lVert \mathbf{r}_i \rVert = 1.
- 상호 직교성(orthogonality): 서로 다른 열벡터는 서로 직교한다. \mathbf{r}_i^T\mathbf{r}_j = 0 (i \neq j).
두 조건을 합쳐 정규 직교(orthonormal) 조건이라 한다. 회전 행렬의 열벡터는 회전된 좌표계의 기저 벡터를 나타내므로, 정규 직교성은 “회전 후의 기저 벡터 역시 정규 직교 기저를 이룬다“는 기하학적 사실과 동일하다.
3. 행벡터에 대한 동일한 성질
\mathbf{R}\mathbf{R}^T = \mathbf{I}는 행벡터에 대해서도 동일한 정규 직교 조건이 성립함을 의미한다. \mathbf{R}의 행벡터를 \tilde{\mathbf{r}}_1^T, \tilde{\mathbf{r}}_2^T, \tilde{\mathbf{r}}_3^T라 하면
\tilde{\mathbf{r}}_i^T\tilde{\mathbf{r}}_j = \delta_{ij}
이 성립한다. 이는 회전 행렬을 역좌표 변환으로 해석할 때, 원래 좌표계의 기저 벡터가 변환된 좌표계에서 이루는 정규 직교 관계를 표현한다.
4. 직교성의 기하학적 의미
4.1 길이 보존
직교 행렬 \mathbf{R}은 벡터의 길이를 보존한다.
\lVert \mathbf{R}\mathbf{v} \rVert^2 = (\mathbf{R}\mathbf{v})^T(\mathbf{R}\mathbf{v}) = \mathbf{v}^T\mathbf{R}^T\mathbf{R}\mathbf{v} = \mathbf{v}^T\mathbf{v} = \lVert \mathbf{v} \rVert^2
4.2 각도 보존
직교 행렬은 두 벡터 사이의 내적을 보존한다.
(\mathbf{R}\mathbf{u})^T(\mathbf{R}\mathbf{v}) = \mathbf{u}^T\mathbf{R}^T\mathbf{R}\mathbf{v} = \mathbf{u}^T\mathbf{v}
내적의 보존은 각도의 보존을 함의한다.
4.3 등거리 변환
길이와 각도를 모두 보존하는 선형 변환을 등거리 변환(isometry)이라 하며, 직교 변환은 원점을 고정하는 등거리 변환의 완전한 집합이다.
5. 제약의 개수와 독립 자유도
\mathbf{R} \in \mathbb{R}^{3 \times 3}은 9개의 실수 원소를 가지지만, 정규 직교 조건 \mathbf{R}^T\mathbf{R} = \mathbf{I}는 대칭 행렬 조건을 부과하므로 독립적인 등식이 6개이다. 따라서 직교 행렬의 독립 자유도는 9 - 6 = 3이다. 이는 3차원 회전이 3개의 매개변수로 표현 가능하다는 사실과 일치한다.
| 조건 | 수식 | 개수 |
|---|---|---|
| 열 정규화 | \mathbf{r}_i^T\mathbf{r}_i = 1 | 3 |
| 열 직교성 | \mathbf{r}_i^T\mathbf{r}_j = 0 (i < j) | 3 |
| 합계 | 6 |
6. 직교성과 고유값
직교 행렬의 고유값(eigenvalue)의 절댓값은 1이다. \mathbf{R}\mathbf{v} = \lambda\mathbf{v}이면
\lVert \mathbf{v} \rVert = \lVert \mathbf{R}\mathbf{v} \rVert = \lvert\lambda\rvert \lVert \mathbf{v} \rVert
이므로 \lvert\lambda\rvert = 1이다. 실수 고유값은 \pm 1이고, 복소 고유값은 e^{\pm i\phi}의 켤레쌍으로 나타난다.
7. 정규 직교 조건의 수치적 유지
수치 계산에서 부동 소수점 오차가 누적되면 회전 행렬의 정규 직교성이 서서히 훼손된다. 이를 복원하기 위해 다음과 같은 방법이 사용된다.
7.1 그램-슈미트(Gram-Schmidt) 정규화
열벡터에 순차적으로 그램-슈미트 과정을 적용하여 정규 직교 기저를 복원한다. 계산이 간단하나 첫 번째 열에 편향이 발생할 수 있다.
7.2 특이값 분해(SVD) 기반 투영
\mathbf{R} = \mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^T로 분해하고 \mathbf{R}_{\text{proj}} = \mathbf{U}\mathbf{V}^T로 교체한다. 이는 프로베니우스 노름 의미에서 SO(3)로의 최근접 투영이며, 대칭적이고 편향이 없다. \det(\mathbf{R}_{\text{proj}}) = 1을 보장하려면 \mathbf{U}\mathrm{diag}(1,1,\det(\mathbf{U}\mathbf{V}^T))\mathbf{V}^T로 수정한다.
7.3 쿼터니언 정규화
쿼터니언 표현을 사용하는 경우 단위 노름으로의 재정규화만으로 정규 직교성이 자동으로 유지된다. 이는 회전 행렬을 직접 다루는 것보다 수치적으로 유리한 이유이다.
8. 직교성과 회전 행렬의 다른 성질의 관계
직교성만으로는 회전을 완전히 특징짓지 못한다. 직교 행렬은 회전뿐 아니라 반사(reflection)도 포함한다. 회전 행렬로 정의되기 위해서는 추가로 \det(\mathbf{R}) = +1 조건이 필요하다. 이 조건은 좌표계의 오리엔테이션(우수/좌수) 보존을 보장한다. 직교성과 \det = +1을 합쳐 “특수 직교“라 하며, 이 조건을 만족하는 3차원 행렬의 집합이 SO(3)이다.
9. 로봇 공학에서의 의의
정규 직교 조건은 로봇의 자세 추정, 기구학 계산, 센서 퓨전에서 물리적 일관성을 보장하는 핵심 제약이다. 필터링이나 최적화 과정에서 회전 행렬의 정규 직교성이 훼손되면 벡터의 길이가 변하거나 비물리적인 스케일링이 도입되어 시스템의 거동이 왜곡된다. 따라서 장기간의 자세 적분에서는 주기적 재정규화 또는 정규 직교성이 내재된 표현(쿼터니언, 리 대수)의 사용이 권장된다.
10. 참고 문헌
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Craig, J. J. (2018). Introduction to Robotics: Mechanics and Control (4th ed.). Pearson.
- Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.
- Horn, R. A., & Johnson, C. R. (2013). Matrix Analysis (2nd ed.). Cambridge University Press.
- Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
version: 1.0