32.12 RPY 각 기반 해석적 자코비안 변환
RPY 각(roll–pitch–yaw angles)은 항공 역학, 자율 비행체, 이동 로봇, 선박, 그리고 로봇 매니퓰레이터에서 엔드 이펙터의 방향을 기술하는 대표적 타이트-브라이언(Tait–Bryan) 매개변수이다. RPY 각 기반 해석적 자코비안은 관절 속도와 RPY 각의 시간 미분 및 엔드 이펙터 위치의 시간 미분 사이의 선형 사상을 제공한다. 본 절에서는 RPY 각 규약, 표현 행렬의 유도, 해석적 자코비안의 블록 구조, 표현 특이점의 위치와 기하학적 의미, 그리고 수치적 구현과 응용을 학술적으로 다룬다.
1. RPY 각 규약과 회전 행렬
RPY 각은 롤(roll, 기체 세로축 주위의 회전), 피치(pitch, 기체 가로축 주위의 회전), 요(yaw, 기체 수직축 주위의 회전)의 세 각으로 구성된다. 로봇 공학에서 일반적으로 채택되는 규약은 고정된 공간 좌표계의 x, y, z 축 주위 회전을 순차 적용하는 것이며, 이는 기체에 고정된 z, y, x 축 주위 내재 회전(intrinsic rotation)의 역순 합성과 동등하다. 본 절에서는 공간 고정축 z, y, x 순서(ZYX 규약, 요-피치-롤 순서) 규약을 표준으로 채택한다.
RPY 각 (\varphi, \vartheta, \rho)(각각 요, 피치, 롤)의 공간 고정축 규약 ZYX 회전 행렬은 다음과 같이 정의된다.
\mathbf{R}_{\text{RPY}}(\varphi, \vartheta, \rho) = \mathbf{R}_z(\varphi) \, \mathbf{R}_y(\vartheta) \, \mathbf{R}_x(\rho)
전개된 형태는 다음과 같이 쓴다. c_x = \cos x, s_x = \sin x의 표기를 사용하면
\mathbf{R}_{\text{RPY}} = \begin{bmatrix} c_\varphi c_\vartheta & c_\varphi s_\vartheta s_\rho - s_\varphi c_\rho & c_\varphi s_\vartheta c_\rho + s_\varphi s_\rho \\ s_\varphi c_\vartheta & s_\varphi s_\vartheta s_\rho + c_\varphi c_\rho & s_\varphi s_\vartheta c_\rho - c_\varphi s_\rho \\ -s_\vartheta & c_\vartheta s_\rho & c_\vartheta c_\rho \end{bmatrix}
이 규약은 항공 분야에서 바디 좌표계의 z-y-x 축 주위 내재 회전(요→피치→롤 순서)과 동등하며, 이동 로봇과 자율 비행체에서 가장 널리 사용되는 방향 표현이다.
2. RPY 각 시간 미분과 각속도의 관계
엔드 이펙터의 물리적 각속도 \vec{\omega}는 세 기본 회전의 각속도 기여의 누적합으로 기술된다. 공간 고정축 ZYX 규약에서 세 회전 축의 공간 표현은 다음과 같다.
- 첫 번째 축(요 회전, \varphi): 공간 고정 z축, \hat{e}_1 = [0, 0, 1]^\top.
- 두 번째 축(피치 회전, \vartheta): 첫 번째 회전 후의 y'축, \hat{e}_2 = \mathbf{R}_z(\varphi) \, [0, 1, 0]^\top = [-\sin\varphi, \cos\varphi, 0]^\top.
- 세 번째 축(롤 회전, \rho): 두 번째 회전 후의 x''축, \hat{e}_3 = \mathbf{R}_z(\varphi) \mathbf{R}_y(\vartheta) \, [1, 0, 0]^\top = [\cos\varphi \cos\vartheta, \sin\varphi \cos\vartheta, -\sin\vartheta]^\top.
따라서 각속도는 세 성분의 합으로 표현된다.
\vec{\omega} = \dot{\varphi} \, \hat{e}_1 + \dot{\vartheta} \, \hat{e}_2 + \dot{\rho} \, \hat{e}_3
이를 행렬 형태로 정리하면 RPY 각의 시간 미분과 각속도의 선형 사상 \vec{\omega} = \mathbf{E}_{\text{RPY}}(\vec{\phi}) \, \dot{\vec{\phi}}가 다음의 표현 행렬로 얻어진다. 여기서 \vec{\phi} = (\varphi, \vartheta, \rho)^\top, \dot{\vec{\phi}} = (\dot{\varphi}, \dot{\vartheta}, \dot{\rho})^\top이다.
\mathbf{E}_{\text{RPY}}(\varphi, \vartheta, \rho) = \begin{bmatrix} 0 & -\sin\varphi & \cos\varphi \, \cos\vartheta \\ 0 & \cos\varphi & \sin\varphi \, \cos\vartheta \\ 1 & 0 & -\sin\vartheta \end{bmatrix}
이 표현 행렬은 RPY 규약의 선택에 종속적이며, 세 기본 회전 축의 공간 표현을 열 벡터로 배열한 구조를 가진다.
3. 표현 행렬의 행렬식과 가역성
RPY 표현 행렬의 행렬식은 직접 계산에 의해 얻어진다.
\det \mathbf{E}_{\text{RPY}}(\varphi, \vartheta, \rho) = \cos\vartheta
따라서 \vartheta \in (-\pi/2, \pi/2)인 정규 구성에서 \mathbf{E}_{\text{RPY}}는 가역이며, 피치 각이 \vartheta = \pm \pi/2인 구성에서 특이해진다. 이 구성에서는 첫 번째 회전 축(공간 z축)과 세 번째 회전 축(최종 x''축)이 서로 평행하게 되어 요와 롤이 독립적으로 결정되지 않는다. 이는 항공 분야에서 짐벌 잠김(gimbal lock)으로 불리는 현상에 대응한다.
32.12.4 해석적 자코비안의 블록 구조
RPY 각 기반 해석적 자코비안 \mathbf{J}_a(\vec{q}) \in \mathbb{R}^{6 \times n}은 위치 블록과 RPY 각 블록의 수직 결합으로 구성된다.
\mathbf{J}_a(\vec{q}) = \begin{bmatrix} \mathbf{J}_p(\vec{q}) \\ \mathbf{J}_{\text{RPY}}(\vec{q}) \end{bmatrix}
위치 블록은 기하학적 자코비안의 선속도 블록과 일치하며,
\mathbf{J}_p(\vec{q}) = \mathbf{J}_v(\vec{q}) = \frac{\partial \vec{p}}{\partial \vec{q}}
RPY 블록은 표현 행렬의 역사상을 통하여 얻어진다.
\mathbf{J}_{\text{RPY}}(\vec{q}) = \mathbf{E}_{\text{RPY}}^{-1}(\vec{\phi}(\vec{q})) \, \mathbf{J}_\omega(\vec{q})
따라서 기하학적 자코비안과의 관계는 블록 대각 변환으로 요약된다.
\mathbf{J}_a(\vec{q}) = \begin{bmatrix} \mathbf{I}_3 & \mathbf{0} \\ \mathbf{0} & \mathbf{E}_{\text{RPY}}^{-1}(\vec{\phi}) \end{bmatrix} \mathbf{J}_g(\vec{q})
32.12.5 표현 행렬의 역행렬
\mathbf{E}_{\text{RPY}}의 역행렬은 \vartheta \neq \pm \pi/2인 정규 구성에서 해석적으로 얻어진다. 수반 행렬 관계와 \det \mathbf{E}_{\text{RPY}} = \cos\vartheta를 사용하면 다음의 명시적 형태가 도출된다.
\mathbf{E}_{\text{RPY}}^{-1}(\varphi, \vartheta, \rho) = \frac{1}{\cos\vartheta} \begin{bmatrix} \cos\varphi \, \sin\vartheta & \sin\varphi \, \sin\vartheta & \cos\vartheta \\ -\sin\varphi \, \cos\vartheta & \cos\varphi \, \cos\vartheta & 0 \\ \cos\varphi & \sin\varphi & 0 \end{bmatrix}
분모 \cos\vartheta에서 드러나듯이 \vartheta \to \pm \pi/2에서 성분이 발산하며, 해석적 자코비안의 RPY 블록이 수치적으로 불안정해진다. 수치 구현에서는 명시적 역행렬 대신 선형 연립 방정식 \mathbf{E}_{\text{RPY}} \mathbf{J}_{\text{RPY}} = \mathbf{J}_\omega의 해를 구하는 편이 수치적 안정성 측면에서 유리하다.
4. RPY 규약의 표현 특이점 분석
RPY 규약의 표현 특이점은 피치 각이 \vartheta = \pm \pi/2인 구성에서 발생한다. 기하학적으로 이 구성에서는 요 회전 축과 롤 회전 축이 공간에서 평행하게 되어 두 회전이 동일한 방향의 각속도를 생성한다. 따라서 임의의 각속도 벡터에 대응하는 (\dot{\varphi}, \dot{\vartheta}, \dot{\rho})가 일의적으로 결정되지 않거나 크기가 발산한다.
이 특이점에서의 현상을 구체적으로 살피면, \vartheta = \pi/2일 때 회전 행렬은
\mathbf{R}_{\text{RPY}}(\varphi, \pi/2, \rho) = \mathbf{R}_z(\varphi) \, \mathbf{R}_y(\pi/2) \, \mathbf{R}_x(\rho)
으로 환원되며, \mathbf{R}_y(\pi/2)에 의한 축 재배치로 인해 요 \varphi와 롤 \rho가 동일한 자유도를 공유하게 된다. 즉 \varphi - \rho의 값만이 결정되고 \varphi + \rho의 자유도는 소실된다. 이러한 현상은 매니퓰레이터의 물리적 운동 능력과는 무관한 매개변수화의 수학적 특이성이다.
32.12.7 오일러 각 규약과의 비교
RPY 규약의 특이점 위치는 ZYZ 등 고유 오일러 각 규약의 특이점 위치와 다르다.
- ZYZ 오일러 각: 중간 각 \theta = 0 또는 \theta = \pi에서 특이. 이는 두 번째 회전이 항등 회전이거나 반전 회전인 구성에 대응한다.
- ZYX RPY: 중간 각(피치) \vartheta = \pm \pi/2에서 특이. 이는 기체의 수직 상승 또는 수직 하강 자세에 대응한다.
이러한 특이점 위치의 차이는 응용에 따라 규약 선택의 기준이 된다. 엔드 이펙터의 주요 작업 자세가 기체의 수평 유지 자세 근처에서 수행된다면 RPY 규약이 특이점 회피에 유리하고, 주로 수직 방향의 도구 자세가 요구되는 응용에서는 ZYZ 규약이 유리할 수 있다.
32.12.8 회전 행렬로부터 RPY 각 추출
순기구학의 회전 행렬 \mathbf{R} = [r_{ij}]로부터 ZYX 규약 RPY 각을 추출하는 표준 공식은 다음과 같다. 정규 구성(|r_{31}| < 1)에서:
\vartheta = \text{atan2}\left(-r_{31}, \; \sqrt{r_{11}^2 + r_{21}^2}\right)
\varphi = \text{atan2}(r_{21}, \; r_{11}), \qquad \rho = \text{atan2}(r_{32}, \; r_{33})
특이 구성(r_{31} = \mp 1, 즉 \vartheta = \pm \pi/2)에서는 \varphi와 \rho가 독립적으로 결정되지 않으므로 관례상 \varphi = 0으로 고정하고 \rho를 남은 자유도로 해석한다.
32.12.9 수치적 구현 절차
RPY 각 기반 해석적 자코비안의 실시간 계산은 다음 단계로 수행된다.
단계 1: 관절 변수 \vec{q}에 대해 순기구학을 계산하여 위치 \vec{p}와 회전 행렬 \mathbf{R}을 얻는다.
단계 2: 회전 행렬 \mathbf{R}로부터 ZYX 규약 RPY 각 (\varphi, \vartheta, \rho)를 추출한다.
단계 3: 기하학적 자코비안의 블록 \mathbf{J}_v, \mathbf{J}_\omega를 계산한다.
단계 4: 표현 행렬 \mathbf{E}_{\text{RPY}}(\varphi, \vartheta, \rho)를 구성한다.
단계 5: 위치 블록 \mathbf{J}_p = \mathbf{J}_v와 RPY 블록 \mathbf{J}_{\text{RPY}}를 연립 방정식 \mathbf{E}_{\text{RPY}} \mathbf{J}_{\text{RPY}} = \mathbf{J}_\omega로부터 구한다.
단계 6: 두 블록을 수직으로 결합하여 \mathbf{J}_a를 구성한다.
피치 특이점 근방에서는 \cos \vartheta가 작아지므로 감쇠 최소 제곱법 등의 정칙화를 적용하거나, 해석적 자코비안 대신 기하학적 자코비안과 각속도 기반 오차 표현으로 전환하는 전략이 권고된다.
32.12.10 응용과 실무적 고려
RPY 각 기반 해석적 자코비안은 다음 응용에서 특히 유용하다.
항공 로봇과 자율 비행체: 비행체의 자세 표현이 관습적으로 RPY 각으로 주어지므로, 목표 자세 추종과 자세 오차 기반 제어에 직접 활용된다.
이동 로봇: 평면 이동 로봇의 방향이 요 각 \varphi로 주어지는 경우가 많으며, 3차원 자세가 요구되는 수중 로봇, 비행체, 보행 로봇에서 RPY 표현이 표준적이다.
산업용 매니퓰레이터의 인간-기계 인터페이스: 엔드 이펙터의 방향을 작업자에게 제시하거나 교시(teaching)할 때 RPY 각은 직관적 이해가 용이하다.
궤적 계획: 목표 자세가 RPY 각의 시간 함수로 주어지는 궤적 설계에서 RPY 기반 해석적 자코비안은 방향 제어의 직접적 수학적 도구를 제공한다.
한편 피치 특이점이 실제 작업 공간에서 발생할 수 있는 응용(예: 수직 방향으로 기체를 완전히 기울이는 비행 기동)에서는 사원수 기반 표현 또는 기하학적 자코비안과 축-각 기반 오차 표현으로 대체되는 것이 일반적이다.
32.12.11 학술적 의의
본 절에서 정립한 RPY 각 기반 해석적 자코비안 변환은 로봇 공학과 항공 분야의 접점에서 다음의 학술적 의의를 가진다. 첫째, 공간 고정축 ZYX 규약 RPY 각에 대응하는 표현 행렬 \mathbf{E}_{\text{RPY}}의 체계적 유도를 제공한다. 둘째, 행렬식 \det \mathbf{E}_{\text{RPY}} = \cos\vartheta는 피치 각 기반 표현 특이점의 명시적 조건을 제시한다. 셋째, 기하학적 자코비안과의 블록 변환 관계 \mathbf{J}_a = \text{diag}(\mathbf{I}_3, \mathbf{E}_{\text{RPY}}^{-1}) \mathbf{J}_g는 수치 구현의 직접적 공식을 제공한다. 넷째, RPY 특이점과 고유 오일러 각 특이점의 위치 차이는 응용별 규약 선택의 공학적 지침이 된다. 다섯째, 본 절의 내용은 항공 로봇과 이동 로봇의 자세 제어, 3차원 자율 운동 제어의 수학적 토대와 직접적으로 연결된다.
출처
- Sciavicco, L. and Siciliano, B., Modelling and Control of Robot Manipulators, 2nd edition, Springer, 2000.
- Siciliano, B., Sciavicco, L., Villani, L., and Oriolo, G., Robotics: Modelling, Planning and Control, Springer, 2009.
- Spong, M. W., Hutchinson, S., and Vidyasagar, M., Robot Modeling and Control, 2nd edition, Wiley, 2020.
- Craig, J. J., Introduction to Robotics: Mechanics and Control, 4th edition, Pearson, 2018.
- Stevens, B. L., Lewis, F. L., and Johnson, E. N., Aircraft Control and Simulation, 3rd edition, Wiley, 2015.
- Shuster, M. D., “A survey of attitude representations”, Journal of the Astronautical Sciences, Vol. 41, No. 4, pp. 439–517, 1993.
- Diebel, J., “Representing attitude: Euler angles, unit quaternions, and rotation vectors”, Stanford University Technical Report, 2006.
버전
- 문서 버전: 1.1
- 작성일: 2026-04-19