9.20 오일러 각(Euler Angles)의 정의와 12가지 규약

9.20 오일러 각(Euler Angles)의 정의와 12가지 규약

1. 오일러 각의 개념

오일러 각(Euler angles)은 3차원 회전을 세 기본 축 주위의 세 번의 연속적 회전으로 분해하여 표현하는 방식이다. 레온하르트 오일러(Leonhard Euler, 1776)가 도입한 이 표현법은 3차원 회전을 세 개의 스칼라 각도 (\alpha, \beta, \gamma)로 매개화하며, SO(3)의 3차원 자유도에 자연스럽게 대응한다.

2. 기본 전제

2.1 기본 회전의 연쇄

임의의 회전 \mathbf{R} \in SO(3)은 세 기본 축(보통 x, y, z) 주위의 회전 세 번의 곱으로 표현될 수 있다. 이는 오일러 회전 정리의 구체적 형태이다.

2.2 축 선택의 자유도

각 단계에서 어떤 축을 회전축으로 선택하는지가 규약을 결정한다. 세 번의 회전 각각에 대해 세 축 중 하나를 선택하므로 원칙적으로 3^3 = 27가지 조합이 가능하다. 그러나 다음의 제약이 부과된다.

2.3 연속된 회전 축의 불일치

연속된 두 회전은 서로 다른 축 주위에서 이루어져야 한다. 같은 축 주위의 연속 회전은 하나의 회전으로 병합되어 독립 매개변수가 부족하게 되기 때문이다. 이 제약을 적용하면 첫 번째 회전축 3가지, 두 번째 회전축 2가지(첫 번째와 다른 축), 세 번째 회전축 2가지(두 번째와 다른 축)로 총 3 \cdot 2 \cdot 2 = 12가지 규약이 남는다.

3. 가지 규약의 분류

12가지 규약은 첫 번째와 세 번째 회전축의 관계에 따라 두 범주로 분류된다.

3.1 고유 오일러 각(Proper Euler Angles)

첫 번째와 세 번째 회전이 같은 축을 사용한다. 중간 회전은 그와 직교하는 축이다. 가능한 조합은 다음 6가지이다.

ZXZ, \quad XYX, \quad YZY, \quad ZYZ, \quad XZX, \quad YXY

대표적으로 ZXZ는 고전역학과 강체 동역학에서 표준적으로 사용되며, 천체역학에서는 세차(precession), 장동(nutation), 고유자전(spin)의 각도로 해석된다.

3.2 테이트-브라이언 각(Tait-Bryan Angles)

세 회전이 모두 서로 다른 축을 사용한다. 가능한 조합은 다음 6가지이다.

XYZ, \quad YZX, \quad ZXY, \quad XZY, \quad ZYX, \quad YXZ

항공 우주와 로봇 공학에서 사용되는 롤-피치-요(RPY) 표현이 이 범주에 속한다. ZYX 규약은 헤딩(yaw)-피치-롤 순서에 대응하며, 항공기 자세 표현의 표준이다.

4. 가지 규약의 표

번호규약범주
1ZXZ고유
2XYX고유
3YZY고유
4ZYZ고유
5XZX고유
6YXY고유
7XYZ테이트-브라이언
8YZX테이트-브라이언
9ZXY테이트-브라이언
10XZY테이트-브라이언
11ZYX테이트-브라이언
12YXZ테이트-브라이언

5. 고정 축과 이동 축의 이중성

각 규약은 고정 축(extrinsic) 해석과 이동 축(intrinsic) 해석으로 두 가지 방식으로 적용될 수 있다.

5.1 이동 축 해석

각 회전이 이전 회전으로 이미 변환된 좌표계의 축 주위에서 이루어진다. 이동 축 ZYX 규약의 합성은

\mathbf{R}_{\text{int}} = \mathbf{R}_z(\alpha)\mathbf{R}_y(\beta)\mathbf{R}_x(\gamma)

이다. 첫 번째 회전이 가장 왼쪽에 놓인다.

5.2 고정 축 해석

모든 회전이 초기 고정 좌표계의 축 주위에서 이루어진다. 고정 축 XYZ 규약의 합성은

\mathbf{R}_{\text{ext}} = \mathbf{R}_z(\gamma)\mathbf{R}_y(\beta)\mathbf{R}_x(\alpha)

이다. 첫 번째 회전이 가장 오른쪽에 놓인다.

이동 축 ZYX와 고정 축 XYZ는 동일한 회전 행렬을 산출한다. 즉, 회전 순서를 뒤집으면 두 해석이 서로 전환된다.

6. 각 범위와 유일성

각 규약에서 세 각도의 범위는 다음과 같이 통상적으로 제한된다.

6.1 고유 오일러 각 (예: ZXZ)

\alpha \in [0, 2\pi), \quad \beta \in [0, \pi], \quad \gamma \in [0, 2\pi)

중간 각도 \beta[0, \pi]로 제한되어 대부분의 회전이 유일하게 매개화된다.

6.2 테이트-브라이언 각 (예: ZYX)

\alpha \in [-\pi, \pi), \quad \beta \in [-\pi/2, \pi/2], \quad \gamma \in [-\pi, \pi)

중간 각도 \beta(피치에 해당)는 [-\pi/2, \pi/2]로 제한된다.

이 범위 제한에도 불구하고 \beta가 범위의 경계에 있을 때 \alpha\gamma는 유일하게 결정되지 않으며, 이 현상이 **짐벌 락(gimbal lock)**이다.

7. 규약의 다양성이 야기하는 문제

오일러 각 규약의 다양성은 다음의 혼란을 초래한다.

  1. 표기 애매성: “오일러 각“이라는 용어만으로는 어떤 규약인지 불분명하다. 문서는 반드시 규약과 고정/이동 축 해석을 명시해야 한다.
  2. 소프트웨어 호환성: 다른 라이브러리 간 오일러 각 교환에서 규약 불일치가 빈번한 오류의 원인이 된다. ROS, Matlab, Eigen, Unity 등이 각각 다른 기본 규약을 사용한다.
  3. 부호와 방향: 각 소프트웨어는 우수/좌수 좌표계, 각도의 양의 방향을 독립적으로 선택하므로 규약만 일치해도 부호가 달라질 수 있다.

8. 분야별 표준 규약

  • 항공 우주: ZYX 테이트-브라이언 이동 축 (요-피치-롤)
  • 해양 공학: ZYX 테이트-브라이언 이동 축 (헤딩-트림-힐)
  • 고전역학: ZXZ 고유 오일러 각 (라인/노드-장동-고유자전)
  • 로봇 매니퓰레이터: 제조사에 따라 ZYZ, ZYX, XYZ 등이 혼용됨
  • 컴퓨터 그래픽스: 엔진마다 다름. Unity는 ZXY 이동 축을 기본으로 사용함

9. 오일러 각의 장단점

9.1 장점

  • 세 매개변수로 최소 차원 표현이 가능하다.
  • 각 매개변수가 직관적인 물리적 해석(롤, 피치, 요 등)을 가진다.
  • 사용자 인터페이스와 시각화에 적합하다.

9.2 단점

  • 짐벌 락에 의한 특이점(singularity)이 존재한다.
  • 회전 합성이 복잡하며 행렬 곱을 거쳐야 한다.
  • 각도 보간이 부드럽지 않고 균일한 회전 속도를 보장하지 않는다.
  • 회전 행렬에서 오일러 각의 추출이 다가적(multi-valued)이다.

이러한 단점으로 인해 내부 계산에서는 쿼터니언, 축-각도, 또는 리 대수 표현이 선호되며, 오일러 각은 주로 입출력 인터페이스에서 사용된다.

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.
  • Shuster, M. D. (1993). “A Survey of Attitude Representations.” Journal of the Astronautical Sciences, 41(4), 439–517.
  • Diebel, J. (2006). “Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors.” Stanford University Technical Report.
  • Goldstein, H., Poole, C., & Safko, J. (2002). Classical Mechanics (3rd ed.). Addison-Wesley.

version: 1.0