6.71 기본 회전 행렬(Rx, Ry, Rz)의 유도

1. 도입

3차원 공간에서의 회전은 회전 축과 회전 각이라는 두 정보로 결정되며, 임의의 회전은 좌표축 가운데 하나를 중심으로 한 회전들의 결합으로 분해될 수 있다. 좌표축 x, y, z를 중심으로 한 회전을 표현하는 행렬 R_x(\theta), R_y(\theta), R_z(\theta)를 기본 회전 행렬(elementary rotation matrices) 또는 표준 축 회전 행렬이라 한다. 이 세 행렬은 모든 3차원 회전 표현의 기본 구성 요소이며, 오일러 각, 카르단 각, 고정 축 회전 등 다양한 회전 매개 변수화의 토대가 된다. 이 절에서는 각 기본 회전 행렬의 기하학적 정의로부터 출발하여 명시적 행렬 형태를 유도하고, 그 직교성과 행렬식 조건을 확인하며, 작은 회전 각의 근사와 미분 형태, 행렬 지수와의 관계, 그리고 로봇공학에서의 활용을 다룬다.

2. 회전 행렬의 일반 정의

3차원 회전 행렬 R \in SO(3)은 다음 두 조건을 만족하는 3 \times 3 실수 행렬이다.

  1. 직교성: R^\top R = R R^\top = I_3.
  2. 단위 행렬식: \det R = +1.

이 두 조건은 회전이 거리, 각, 부피, 그리고 방향(orientation)을 모두 보존함을 표현한다. 회전 행렬의 세 열은 회전된 좌표계의 단위 기저 벡터를 원래 좌표계에서 표현한 것이다.

3. z 축 회전의 유도

z 축을 중심으로 반시계 방향(오른손 법칙에 따라 양의 방향)으로 각 \theta만큼 회전하는 변환을 고려하자. 이 회전은 xy 평면 위의 점들을 회전시키며, z 좌표는 그대로 보존한다.

xy 평면 위의 한 점 (x, y)의 회전 후 좌표 (x', y')는 평면 회전의 표준 결과로부터

x' = x \cos\theta - y \sin\theta, \qquad y' = x \sin\theta + y \cos\theta

이며, z 좌표는 보존된다(z' = z). 이를 행렬 형태로 정리하면

\begin{bmatrix} x' \\ y' \\ z' \end{bmatrix} = \underbrace{\begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix}}_{R_z(\theta)} \begin{bmatrix} x \\ y \\ z \end{bmatrix}

가 얻어진다. 따라서 z 축을 중심으로 한 회전 행렬은

R_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix}

이다.

4. x 축 회전의 유도

x 축을 중심으로 한 회전은 yz 평면 위의 점들을 회전시키며, x 좌표는 보존한다. 회전 각 \theta에 대해

y' = y \cos\theta - z \sin\theta, \qquad z' = y \sin\theta + z \cos\theta

이고 x' = x이다. 행렬 형태로 정리하면

R_x(\theta) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta \end{bmatrix}

이다. 회전 방향은 x 축의 양의 방향으로부터 본 반시계 방향, 즉 y \to z \to -y \to -z의 순서이다.

5. y 축 회전의 유도

y 축을 중심으로 한 회전은 zx 평면 위의 점들을 회전시키며, y 좌표를 보존한다. 회전 방향은 y 축의 양의 방향에서 본 반시계 방향이며, 이는 z \to x \to -z \to -x의 순서에 해당한다.

회전 각 \theta에 대해

x' = x \cos\theta + z \sin\theta, \qquad z' = -x \sin\theta + z \cos\theta

이고 y' = y이다. 행렬 형태는

R_y(\theta) = \begin{bmatrix} \cos\theta & 0 & \sin\theta \\ 0 & 1 & 0 \\ -\sin\theta & 0 & \cos\theta \end{bmatrix}

이다. 다른 두 기본 회전과 부호 패턴이 다르게 보이는데, 이는 오른손 좌표계에서 y 축이 x 축과 z 축에 대해 중간 위치를 차지하기 때문에 발생하는 자연스러운 결과이다. 이 부호 차이는 흔한 실수의 원인이므로 유도 과정에서 주의가 필요하다.

6. 직교성과 행렬식 조건

세 기본 회전 행렬은 모두 직교성과 단위 행렬식 조건을 만족한다.

직교성의 확인. R_z(\theta)를 예로 들면

R_z(\theta)^\top R_z(\theta) = \begin{bmatrix} \cos\theta & \sin\theta & 0 \\ -\sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} \cos^2\theta + \sin^2\theta & 0 & 0 \\ 0 & \sin^2\theta + \cos^2\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} = I_3

이며, 삼각함수의 항등식 \cos^2\theta + \sin^2\theta = 1로부터 단위 행렬이 얻어진다. 다른 두 기본 회전에 대해서도 동일한 방식으로 직교성이 확인된다.

행렬식의 확인. \det R_z(\theta) = (\cos^2\theta + \sin^2\theta) \cdot 1 = 1이며, 다른 두 기본 회전의 행렬식도 동일하게 +1이다.

7. 역행렬과 음의 회전

직교 행렬의 역은 그 전치이며, 전치는 음의 회전 각에 대응한다.

R_z(\theta)^{-1} = R_z(\theta)^\top = R_z(-\theta)

이는 \sin(-\theta) = -\sin\theta의 부호 변화로부터 직접 확인된다. 동일한 관계가 R_xR_y에도 성립한다.

R_x(\theta)^{-1} = R_x(-\theta), \qquad R_y(\theta)^{-1} = R_y(-\theta)

이러한 단순한 역의 형태는 회전 변환의 가역성을 효율적으로 다룰 수 있게 한다.

8. 군 구조와 단일 매개 변수 부분 군

각 기본 회전 행렬의 집합은 회전 각에 대한 단일 매개 변수 군을 형성한다.

R_a(\theta_1) R_a(\theta_2) = R_a(\theta_1 + \theta_2), \qquad a \in \{x, y, z\}

이는 같은 축에 대한 회전이 가환적이며 각의 덧셈으로 결합됨을 의미한다. 이 단일 매개 변수 군은 SO(3)의 1차원 부분 군이며, 매끄러운 매니폴드의 구조를 가진다. 그러나 서로 다른 축에 대한 회전은 일반적으로 가환적이지 않다. 즉

R_x(\theta_1) R_y(\theta_2) \neq R_y(\theta_2) R_x(\theta_1)

이며, 이러한 비가환성이 3차원 회전의 본질적 특징이다.

9. 작은 회전 각의 근사

회전 각 \theta가 충분히 작은 경우 \sin\theta \approx \theta, \cos\theta \approx 1의 근사를 적용하면 기본 회전 행렬은 다음의 선형 형태로 근사된다.

R_x(\theta) \approx I + \theta \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{bmatrix}, \quad R_y(\theta) \approx I + \theta \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \end{bmatrix}, \quad R_z(\theta) \approx I + \theta \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}

각 행렬의 두 번째 항은 회전 축의 단위 벡터에 대응하는 반대칭 행렬이다. 이러한 작은 각 근사는 미분 기구학과 관성 측정 단위의 자세 갱신, 확장 칼만 필터의 자코비안 계산 등에서 활용된다.

10. 미분과 반대칭 행렬

기본 회전 행렬을 회전 각에 대해 미분하면 회전 행렬과 반대칭 행렬의 곱이 얻어진다. 예를 들어 R_z(\theta)의 미분은

\frac{d R_z}{d \theta} = \begin{bmatrix} -\sin\theta & -\cos\theta & 0 \\ \cos\theta & -\sin\theta & 0 \\ 0 & 0 & 0 \end{bmatrix} = R_z(\theta) \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}

이며, 두 번째 항은 z 축 단위 벡터에 대응하는 반대칭 행렬이다. 일반적으로 다음의 관계가 성립한다.

\frac{d R_a}{d \theta} = R_a(\theta) [\hat{\mathbf{a}}]_\times

여기서 [\hat{\mathbf{a}}]_\times는 회전 축 단위 벡터에 대응하는 반대칭 행렬이다. 이 관계는 회전 행렬의 시간 미분과 각속도의 관계로 자연스럽게 확장된다.

11. 행렬 지수 표현

기본 회전 행렬은 회전 축에 대응하는 반대칭 행렬의 지수로 표현될 수 있다.

R_x(\theta) = \exp\left( \theta \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{bmatrix} \right), \quad R_y(\theta) = \exp\left( \theta \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \end{bmatrix} \right), \quad R_z(\theta) = \exp\left( \theta \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} \right)

각 지수의 지수 행렬은 회전 축에 대응하는 \mathfrak{so}(3)의 원소이다. 이 표현은 로드리게스 공식의 특수 경우이며, 일반적인 임의 축 회전을 동일한 지수 형태로 표현하는 일반화의 출발점이 된다.

12. 회전의 합성과 비가환성

서로 다른 축에 대한 두 기본 회전의 합성은 일반적으로 다른 회전 행렬을 산출한다. 예를 들어

R_x(\alpha) R_y(\beta) = \begin{bmatrix} \cos\beta & 0 & \sin\beta \\ \sin\alpha \sin\beta & \cos\alpha & -\sin\alpha \cos\beta \\ -\cos\alpha \sin\beta & \sin\alpha & \cos\alpha \cos\beta \end{bmatrix}

이며, 순서를 바꾼 R_y(\beta) R_x(\alpha)와 일반적으로 다르다. 이러한 비가환성은 오일러 각 표현의 회전 순서가 결과에 영향을 미치는 이유이며, 동일한 회전 각 집합이라도 회전 순서가 명시되지 않으면 회전이 결정되지 않는다.

13. 회전의 분해

임의의 SO(3)의 원소 R은 세 개의 기본 회전의 곱으로 표현될 수 있다. 예를 들어 ZYX 오일러 각 표현에서는

R = R_z(\alpha) R_y(\beta) R_x(\gamma)

의 형태를 가지며, 다른 회전 순서(XYZ, ZXZ, ZYZ 등)도 가능하다. 이러한 분해는 회전의 매개 변수화를 위한 가장 직관적인 도구이지만, 김벌락(gimbal lock)이라는 특이점을 가지는 한계를 동시에 포함한다.

14. 로봇공학에서의 활용

14.1 회전 관절의 모델링

매니퓰레이터의 회전 관절은 본질적으로 한 좌표축을 중심으로 한 회전이며, 그 변환은 적절히 좌표계가 부착된 경우 단일 기본 회전 행렬로 표현된다. DH 표기법에서 인접 변환의 회전 부분은 z 축 회전과 x 축 회전의 결합으로 구성되며, 이는 두 기본 회전 행렬의 곱으로 표현된다.

14.2 관성 측정 단위와 자세 추정

IMU 기반 자세 추정에서 자이로스코프 측정값을 적분하여 자세를 갱신할 때, 작은 시간 간격 동안의 회전은 작은 각 회전의 근사로 모델링된다. 이는 기본 회전 행렬의 1차 근사 또는 행렬 지수의 1차 근사로 표현된다.

14.3 카메라 자세와 시각 기반 항법

카메라의 자세를 표현하거나 영상으로부터 카메라 운동을 추정할 때, 회전을 세 기본 회전 각의 결합으로 매개 변수화하는 것이 일반적이다. 영상 안정화, 시각적 주행 거리 측정, 시각 SLAM 등이 이러한 표현을 활용한다.

14.4 짐벌과 안정화 시스템

카메라 짐벌 또는 항공기 자세 안정화 시스템은 본질적으로 세 축에 대한 회전을 독립적으로 제어하는 시스템이며, 각 축 회전이 기본 회전 행렬에 직접 대응한다. 짐벌락의 발생은 두 짐벌 축이 정렬될 때 일어나며, 이는 오일러 각 표현의 특이점에 해당한다.

14.5 항공기와 비행 로봇의 자세

항공기와 무인 항공기(UAV)의 자세는 흔히 롤(roll), 피치(pitch), 요(yaw) 각으로 표현되며, 이는 각각 x, y, z 축 회전에 대응한다. 자세 제어와 자세 추정 알고리즘은 이 세 기본 회전 행렬을 직접 활용한다.

14.6 좌표계 정렬과 보정

서로 다른 좌표계 사이의 정렬이 필요할 때, 한 좌표축을 다른 좌표축에 일치시키는 회전은 종종 기본 회전 행렬 또는 그 결합으로 표현된다. 센서 보정과 좌표계 정합 절차에서 이러한 회전이 활용된다.


참고문헌

  • 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.
  • Lynch, K. M., & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.
  • Diebel, J. (2006). Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors. Stanford University Technical Report.
  • Selig, J. M. (2005). Geometric Fundamentals of Robotics (2nd ed.). Springer.

Version: 1.0