6.72 오일러 각과 회전 행렬의 관계
1. 도입
3차원 공간에서의 회전을 표현하는 가장 직관적인 방법 중 하나는 세 개의 회전 각으로 회전을 매개변수화하는 것이다. 18세기 중엽 레온하르트 오일러(Leonhard Euler)에 의해 정식화된 오일러 각(Euler angles) 표현은 임의의 3차원 회전을 세 좌표축에 대한 순차적인 기본 회전의 합성으로 분해한다. 이 표현은 매개 변수의 직관성과 시각적 해석의 용이성으로 인해 항공우주, 짐벌 시스템, 자세 표현, 컴퓨터 그래픽스에서 광범위하게 사용된다. 그러나 회전 순서의 약속에 따라 다양한 변종이 존재하며, 표현의 모호성과 김벌락(gimbal lock) 특이점이라는 본질적 한계를 동시에 가진다. 이 절에서는 오일러 각의 정의, 회전 순서의 분류, 회전 행렬과의 명시적 변환 관계, 회전 행렬로부터 오일러 각의 추출, 김벌락 특이점, 그리고 로봇공학에서의 활용을 다룬다.
2. 오일러 각의 기본 개념
오일러 각 표현은 임의의 3차원 회전을 세 개의 기본 회전의 곱으로 분해한다. 각 기본 회전은 좌표축 가운데 하나를 중심으로 한 회전이며, 세 회전의 결합 순서가 표현의 의미를 결정한다.
R = R_a(\alpha) \cdot R_b(\beta) \cdot R_c(\gamma)
여기서 a, b, c \in \{x, y, z\}는 회전 축의 선택이고, \alpha, \beta, \gamma는 각 회전의 각이다. 이 분해의 핵심은 임의의 회전이 SO(3)의 6 자유도가 아닌 3 자유도를 가지며, 따라서 적절한 세 매개 변수로 완전히 결정될 수 있다는 사실이다.
3. 회전 순서의 분류
회전 축의 선택에 따라 오일러 각 표현은 두 가지 큰 범주로 나뉜다.
3.1 고유 오일러 각 (Proper Euler angles)
첫째 회전과 셋째 회전이 같은 축을 중심으로 수행되는 경우이다. 가능한 순서는 다음의 6가지이다.
zxz, \quad xyx, \quad yzy, \quad zyz, \quad xzx, \quad yxy
전통적으로 천체역학과 강체 동역학에서 이 형태가 사용되었으며, 오일러 자신이 정의한 원래 표현이기도 하다.
3.2 카르단 각 (Cardan angles 또는 Tait-Bryan angles)
세 회전이 모두 다른 축을 중심으로 수행되는 경우이다. 가능한 순서는 다음의 6가지이다.
xyz, \quad xzy, \quad yxz, \quad yzx, \quad zxy, \quad zyx
카르단 각은 항공우주에서 롤(roll), 피치(pitch), 요(yaw)로 표현되며, 컴퓨터 그래픽스와 로봇공학에서도 흔히 사용된다.
총 12가지의 회전 순서가 가능하며, 어떤 순서를 사용하는지에 따라 동일한 회전이 서로 다른 각의 조합으로 표현된다. 따라서 오일러 각을 사용할 때는 회전 순서를 명시하는 것이 본질적으로 중요하다.
4. 고정 축 회전과 이동 축 회전
오일러 각 표현은 회전 축이 어느 좌표계에 고정되는지에 따라 두 가지 해석을 가진다.
- 이동 축(intrinsic) 해석: 각 회전이 이전 회전 후의 좌표계 축을 중심으로 수행된다. 이는 행렬의 좌측에서 우측으로의 곱셈에 대응한다.
- 고정 축(extrinsic) 해석: 모든 회전이 원래 좌표계의 축을 중심으로 수행된다. 이는 행렬의 우측에서 좌측으로의 곱셈에 대응한다.
흥미로운 관계로, 이동 축 회전 R = R_a(\alpha) R_b(\beta) R_c(\gamma)는 동일한 각을 가진 고정 축 회전 R = R_c(\gamma) R_b(\beta) R_a(\alpha)와 동일한 결과를 산출한다. 즉, 회전 순서를 뒤집으면 두 해석이 같은 회전을 표현한다. 이러한 이중적 해석은 빈번한 혼동의 원인이며, 표현을 사용할 때 어느 해석을 채택했는지를 명확히 해야 한다.
5. ZYX 카르단 각 표현
가장 빈번하게 사용되는 표현 중 하나는 ZYX 카르단 각 표현으로, 항공우주의 롤-피치-요 자세 표현에 직접 대응한다. 회전 행렬은 다음과 같이 표현된다.
R(\alpha, \beta, \gamma) = R_z(\alpha) R_y(\beta) R_x(\gamma)
여기서 \alpha는 요(yaw), \beta는 피치(pitch), \gamma는 롤(roll)이다. 이 곱을 명시적으로 전개하면
R = \begin{bmatrix} c_\alpha c_\beta & c_\alpha s_\beta s_\gamma - s_\alpha c_\gamma & c_\alpha s_\beta c_\gamma + s_\alpha s_\gamma \\ s_\alpha c_\beta & s_\alpha s_\beta s_\gamma + c_\alpha c_\gamma & s_\alpha s_\beta c_\gamma - c_\alpha s_\gamma \\ -s_\beta & c_\beta s_\gamma & c_\beta c_\gamma \end{bmatrix}
이며, 여기서 c_\theta = \cos\theta, s_\theta = \sin\theta의 약식 표기를 사용하였다. 이 행렬은 ZYX 회전 순서로 표현된 임의의 3차원 회전을 나타낸다.
6. ZYZ 고유 오일러 각 표현
전통적인 강체 동역학에서 자주 사용되는 ZYZ 오일러 각 표현은 다음과 같다.
R(\phi, \theta, \psi) = R_z(\phi) R_y(\theta) R_z(\psi)
이 곱을 전개하면
R = \begin{bmatrix} c_\phi c_\theta c_\psi - s_\phi s_\psi & -c_\phi c_\theta s_\psi - s_\phi c_\psi & c_\phi s_\theta \\ s_\phi c_\theta c_\psi + c_\phi s_\psi & -s_\phi c_\theta s_\psi + c_\phi c_\psi & s_\phi s_\theta \\ -s_\theta c_\psi & s_\theta s_\psi & c_\theta \end{bmatrix}
이다. 이 표현은 천체 좌표계의 자세 표현, 자이로스코프 모델링, 일부 로봇 자세 표현에서 사용된다.
7. 회전 행렬로부터 오일러 각의 추출
주어진 회전 행렬 R로부터 오일러 각을 추출하는 절차는 회전 순서에 따라 다르며, 회전 행렬의 특정 성분에 역삼각함수를 적용하여 각 매개 변수를 복원한다. ZYX 카르단 각의 경우 다음의 절차가 사용된다.
\beta = \mathrm{atan2}\left( -R_{31}, \sqrt{R_{11}^2 + R_{21}^2} \right)
\alpha = \mathrm{atan2}(R_{21}, R_{11})
\gamma = \mathrm{atan2}(R_{32}, R_{33})
이 절차에서 함수 \mathrm{atan2}는 두 인자의 부호를 모두 고려하여 정확한 사분면을 결정하므로 단순한 \arctan보다 안정적이다.
ZYZ 오일러 각의 경우에는 다음과 같다.
\theta = \mathrm{atan2}\left( \sqrt{R_{13}^2 + R_{23}^2}, R_{33} \right)
\phi = \mathrm{atan2}(R_{23}, R_{13})
\psi = \mathrm{atan2}(R_{32}, -R_{31})
추출 절차는 회전 순서마다 다르며, 매개 변수의 추출 가능 범위는 일반적으로 \beta에 대해 [-\pi/2, \pi/2] 또는 \theta에 대해 [0, \pi]의 제한을 가진다.
8. 김벌락 특이점
오일러 각 표현은 특정 자세에서 매개 변수의 모호성을 가진다. 이를 김벌락(gimbal lock) 또는 매개 변수의 특이점이라 한다. ZYX 카르단 각 표현에서 김벌락은 \beta = \pm\pi/2일 때 발생하며, 이때 R_{31} = \mp 1이고 \cos\beta = 0이 된다. 결과적으로 R_{11}, R_{21} 등이 모두 영이 되어 \alpha와 \gamma를 개별적으로 결정할 수 없으며, 오직 그 합 또는 차만이 결정된다.
기하학적으로 김벌락은 두 회전 축이 정렬되어 한 자유도가 사라지는 현상으로 해석된다. 이는 오일러 각 매개 변수화의 본질적 결함이며, 어떤 회전 순서를 선택하더라도 회피할 수 없다. 매개 변수의 자코비안이 특이값을 가지므로, 김벌락 근방에서 자세 추정과 제어가 수치적으로 불안정해질 수 있다.
9. 매개 변수 공간의 위상
오일러 각 표현은 회전 군 SO(3)를 3차원 매개 변수 공간 위에 사상한다. 그러나 SO(3)의 위상은 사영 공간 \mathbb{R}P^3이며, 단순한 3차원 유클리드 공간이나 직육면체와 위상학적으로 다르다. 따라서 오일러 각 매개 변수와 회전 군 사이의 사상은 전역적으로 매끄러운 좌표 사상이 될 수 없으며, 항상 어떤 점에서 특이점을 가진다. 이는 김벌락의 위상학적 근원이다.
10. 작은 각 근사
회전 각이 모두 작은 경우 카르단 각 표현은 다음과 같이 근사된다.
R(\alpha, \beta, \gamma) \approx I + \begin{bmatrix} 0 & -\alpha & \beta \\ \alpha & 0 & -\gamma \\ -\beta & \gamma & 0 \end{bmatrix}
이는 작은 회전이 본질적으로 가환적이며, 세 매개 변수가 독립적으로 작용함을 보여 준다. 이러한 근사는 자세 추정의 자코비안 계산과 작은 자세 보정의 모델링에 활용된다.
11. 각속도와 오일러 각 미분의 관계
오일러 각의 시간 미분과 각속도 사이에는 비선형적 관계가 성립한다. ZYX 카르단 각의 경우
\boldsymbol{\omega} = T(\alpha, \beta, \gamma) \begin{bmatrix} \dot{\alpha} \\ \dot{\beta} \\ \dot{\gamma} \end{bmatrix}
의 형태를 가지며, T는 오일러 각에 의존하는 행렬이다. 이 사상의 역은 김벌락 자세에서 특이값을 가지며, 이는 오일러 각 미분으로부터 각속도를 복원하는 절차가 특이점 근방에서 수치적으로 불안정함을 의미한다.
12. 다른 표현과의 비교
오일러 각은 다음과 같은 다른 회전 표현과 비교될 수 있다.
- 회전 행렬: 9개의 매개 변수에 직교성 제약. 특이점이 없으나 매개 변수가 많다.
- 단위 쿼터니언: 4개의 매개 변수에 단위 노름 제약. 특이점이 없고 보간이 매끄러우나 매개 변수가 직관적이지 않다.
- 축-각 표현: 3 또는 4 매개 변수. 일부 표현은 특이점을 가진다.
- 로드리게스 매개 변수: 3 매개 변수. 일부 자세에서 발산한다.
- 오일러 각: 3 매개 변수. 직관적이지만 김벌락 특이점을 가진다.
응용에 따라 적절한 표현을 선택하며, 시스템 안에서 표현 사이의 변환이 자주 수행된다.
13. 로봇공학에서의 활용
13.1 항공기와 무인 항공기의 자세 표현
항공우주 분야에서 항공기의 자세는 전통적으로 롤-피치-요(또는 ZYX 카르단 각)로 표현되며, 이는 조종사와 자동 조종 장치 모두에게 직관적인 매개 변수이다. 무인 항공기의 자세 추정과 제어 알고리즘도 일반적으로 이 표현을 사용한다.
13.2 짐벌 시스템의 모델링
카메라 짐벌과 안정화 시스템은 본질적으로 세 축에 대한 독립적인 회전을 수행하는 시스템이며, 각 짐벌 축이 카르단 각의 한 매개 변수에 대응한다. 짐벌락의 발생은 두 짐벌 축이 정렬되는 자세에서 발생하며, 이는 매개 변수의 특이점에 직접 대응한다.
13.3 매니퓰레이터 손목 자세
손목 자세를 직관적으로 표현하기 위해 오일러 각이 사용되며, 손목 좌표계의 자세는 흔히 ZYZ 또는 ZYX 표현으로 표시된다. 이는 작업 명령의 표현과 사용자 인터페이스에서 활용된다.
13.4 자세 명령과 작업 정의
작업 공간에서 정의된 작업 명령은 종종 위치와 함께 오일러 각으로 자세를 명시한다. 이는 작업 정의의 직관성과 가독성을 위한 선택이며, 내부 계산에서는 회전 행렬이나 쿼터니언으로 변환되는 것이 일반적이다.
13.5 컴퓨터 그래픽스와 시각화
로봇 시뮬레이션과 시각화 도구에서 오일러 각은 흔히 사용자 인터페이스의 자세 입력 매개 변수로 사용된다. 그러나 내부 계산은 일반적으로 행렬이나 쿼터니언으로 수행되며, 사용자에게 표시하는 단계에서만 오일러 각으로 변환된다.
13.6 자세 추정의 표현 선택
확장 칼만 필터 등의 자세 추정 알고리즘에서는 김벌락 회피를 위해 쿼터니언이나 회전 행렬을 내부 표현으로 사용하고, 결과를 사용자에게 보고할 때만 오일러 각으로 변환하는 방식이 일반적이다. 이는 수치적 안정성과 표현의 직관성을 동시에 달성하는 절충안이다.
참고문헌
- Diebel, J. (2006). Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors. Stanford University Technical Report.
- Craig, J. J. (2017). Introduction to Robotics: Mechanics and Control (4th ed.). Pearson.
- 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.
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
- Shuster, M. D. (1993). A Survey of Attitude Representations. Journal of the Astronautical Sciences, 41(4), 439–517.
- Stuelpnagel, J. (1964). On the Parametrization of the Three-Dimensional Rotation Group. SIAM Review, 6(4), 422–430.
Version: 1.0