9.22 ZYZ 오일러 각과 회전 행렬의 관계
1. ZYZ 규약의 정의
ZYZ 오일러 각은 고유 오일러 각 범주에 속하며, 세 회전이 차례로 z축, y축, z축 주위에서 이루어지는 규약이다. 첫 번째와 세 번째 회전이 모두 z축을 사용한다는 점에서 고유 오일러 각의 전형적 예이다. 이 규약은 산업용 로봇 매니퓰레이터, 특히 손목이 구형 관절로 구성된 경우의 자세 표현에 표준적으로 사용된다.
2. 이동 축 해석의 합성
이동 축 해석에서 ZYZ 오일러 각 (\alpha, \beta, \gamma)에 대응하는 회전 행렬은 다음과 같이 합성된다.
\mathbf{R}_{ZYZ}(\alpha, \beta, \gamma) = \mathbf{R}_z(\alpha)\mathbf{R}_y(\beta)\mathbf{R}_z(\gamma)
각 기본 회전은 이전 회전에 의해 이미 이동된 좌표계의 축 주위에서 이루어진다. 즉, 첫 번째 \mathbf{R}_z(\alpha)는 원래 z축 주위의 회전, 두 번째 \mathbf{R}_y(\beta)는 이미 회전된 y'축 주위의 회전, 세 번째 \mathbf{R}_z(\gamma)는 두 번 회전된 z''축 주위의 회전이다.
이동 축 ZYZ와 고정 축 ZYZ의 두 해석은 회전의 순서가 반대가 되지만, 이동 축 ZYZ는 고정 축 표현에서 동일한 행렬을 산출한다. 이 대칭성은 ZYZ 규약이 시작과 끝 회전에 동일한 축을 사용하기 때문이다.
3. 회전 행렬의 명시적 형태
기본 회전 행렬을 대입하여 곱을 전개한다. c_\alpha = \cos\alpha, s_\alpha = \sin\alpha 등의 축약 표기를 사용한다.
\mathbf{R}_z(\alpha) = \begin{bmatrix}c_\alpha & -s_\alpha & 0 \\ s_\alpha & c_\alpha & 0 \\ 0 & 0 & 1\end{bmatrix}, \quad \mathbf{R}_y(\beta) = \begin{bmatrix}c_\beta & 0 & s_\beta \\ 0 & 1 & 0 \\ -s_\beta & 0 & c_\beta\end{bmatrix}, \quad \mathbf{R}_z(\gamma) = \begin{bmatrix}c_\gamma & -s_\gamma & 0 \\ s_\gamma & c_\gamma & 0 \\ 0 & 0 & 1\end{bmatrix}
두 단계에 걸쳐 곱을 수행하면 다음의 명시적 행렬 형태를 얻는다.
\mathbf{R}_{ZYZ}(\alpha, \beta, \gamma) = \begin{bmatrix} c_\alpha c_\beta c_\gamma - s_\alpha s_\gamma & -c_\alpha c_\beta s_\gamma - s_\alpha c_\gamma & c_\alpha s_\beta \\ s_\alpha c_\beta c_\gamma + c_\alpha s_\gamma & -s_\alpha c_\beta s_\gamma + c_\alpha c_\gamma & s_\alpha s_\beta \\ -s_\beta c_\gamma & s_\beta s_\gamma & c_\beta \end{bmatrix}
4. 열벡터의 기하학적 해석
4.1 세 번째 열
\mathbf{R}_{ZYZ}(\alpha, \beta, \gamma)\hat{\mathbf{e}}_z = \begin{bmatrix}c_\alpha s_\beta \\ s_\alpha s_\beta \\ c_\beta\end{bmatrix}
이 벡터는 회전된 z축의 원래 좌표계에서의 표현이며, 구면 좌표에서 극각 \beta와 방위각 \alpha에 해당한다. 즉, (\alpha, \beta)는 회전된 z축의 방향을 결정하며, \gamma는 그 축 주위의 자전을 결정한다.
4.2 첫 번째 열과 두 번째 열
첫 번째와 두 번째 열은 회전된 x축과 y축의 표현이며, 이들은 회전된 z축에 수직한 평면 상에 놓여 있다. 세 번째 각 \gamma는 이 평면 내에서의 이차원 회전을 제어한다.
5. 역문제: 회전 행렬에서 ZYZ 각 추출
주어진 회전 행렬 \mathbf{R} = [r_{ij}]로부터 ZYZ 오일러 각을 추출하는 과정은 다음과 같다.
5.1 일반적인 경우 (r_{33} \neq \pm 1)
\beta = \arccos(r_{33}) \in (0, \pi)
\alpha = \mathrm{atan2}(r_{23}, r_{13})
\gamma = \mathrm{atan2}(r_{32}, -r_{31})
여기서 \mathrm{atan2}는 사분면을 식별하는 이변수 역탄젠트 함수이다. \sin\beta > 0이므로 r_{13} = c_\alpha s_\beta와 r_{23} = s_\alpha s_\beta에서 \alpha를 유일하게 결정할 수 있으며, r_{31} = -s_\beta c_\gamma와 r_{32} = s_\beta s_\gamma에서 \gamma도 유일하게 결정할 수 있다.
또한 다음의 대체 공식도 사용될 수 있다.
\beta = \mathrm{atan2}\left(\sqrt{r_{13}^2 + r_{23}^2}, r_{33}\right)
이 공식은 r_{33}이 \pm 1에 가까울 때 \arccos보다 수치적으로 안정적이다.
5.2 특이점: \beta = 0
r_{33} = 1이면 \beta = 0이고 회전 행렬은
\mathbf{R} = \mathbf{R}_z(\alpha + \gamma) = \begin{bmatrix}c_{\alpha+\gamma} & -s_{\alpha+\gamma} & 0 \\ s_{\alpha+\gamma} & c_{\alpha+\gamma} & 0 \\ 0 & 0 & 1\end{bmatrix}
이 된다. 이 경우 \alpha와 \gamma는 개별적으로 결정되지 않으며 오직 \alpha + \gamma의 합만 의미를 가진다. 통상 \alpha = 0으로 고정하고 \gamma = \mathrm{atan2}(r_{21}, r_{11})로 설정한다.
5.3 특이점: \beta = \pi
r_{33} = -1이면 \beta = \pi이고 회전 행렬은
\mathbf{R} = \begin{bmatrix}\cos(\alpha - \gamma) & \sin(\alpha - \gamma) & 0 \\ \sin(\alpha - \gamma) & -\cos(\alpha - \gamma) & 0 \\ 0 & 0 & -1\end{bmatrix}
이 되며, \alpha - \gamma의 차만이 의미를 가진다. 통상 \alpha = 0으로 고정하고 \gamma = -\mathrm{atan2}(r_{21}, r_{11})로 설정한다.
6. 짐벌 락과의 관계
\beta \in \{0, \pi\}에서의 특이점이 바로 짐벌 락이다. 중간 각 \beta의 회전축(y'축)이 첫 번째와 세 번째 회전축(z축)과 수직 관계를 유지해야 세 각도가 독립적이나, \beta가 경계값을 가질 때 첫 번째와 세 번째 회전축이 정렬되어 한 자유도를 잃는다. 산업용 로봇 매니퓰레이터에서 ZYZ 손목의 특이점은 \beta = 0이며, 이는 세 번째 손목 조인트의 축이 첫 번째 손목 조인트의 축과 평행이 되는 자세에 해당한다.
7. 로봇 공학에서의 응용
7.1 구형 손목 매니퓰레이터
PUMA 로봇과 같이 손목이 구형(spherical) 관절로 구성된 매니퓰레이터에서, 손목 세 관절의 각도가 ZYZ 오일러 각과 직접 대응한다. 이 경우 역기구학에서 손목 각도를 ZYZ 오일러 각 추출 공식으로 계산할 수 있다.
7.2 안테나 및 센서 방향 제어
관측 대상을 향하는 지향성 센서의 자세는 방위각, 고도각, 시선 주위의 회전으로 표현되며, 이는 ZYZ 규약과 대응된다. 특히 위성 안테나의 자세 제어에서 표준적으로 사용된다.
7.3 축 짐벌의 설계
ZYZ 구성의 3축 짐벌은 관측 장비의 지향에 널리 사용되며, 오일러 각이 하드웨어 관절 각도와 직접 일치한다.
8. 참고 문헌
- 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.
- Diebel, J. (2006). “Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors.” Stanford University Technical Report.
- Paul, R. P. (1981). Robot Manipulators: Mathematics, Programming, and Control. MIT Press.
version: 1.0