수정 로드리게스 파라미터(MRP, modified Rodrigues parameters)는 1962년에 T. F. Wiener에 의해서 고안되었다. MRP \(\mathbf{e}_b^a\) 의 정의는 다음과 같다.
\[ \begin{align} \mathbf{e}_b^a= \frac{ \mathbf{q}_{1:3}}{1+q_0 } \tag{1} \end{align} \]
앞선 게시글 (https://pasus.tistory.com/377) 에 있는 고전(classical) 로드리게스 파라미터의 정의와 비교해 보면 분모에 1을 더한 것을 볼 수 있다. 식 (1)과 쿼터니언의 특성에 의하면 다음식이 성립한다.
\[ \begin{align} (1+q_0 )^2 (\mathbf{e}_b^a )^T \mathbf{e}_b^a &= (\mathbf{q}_{1:3} )^T \mathbf{q}_{1:3} \tag{2} \\ \\ &=1-q_0^2=(1+q_0)(1-q_0) \end{align} \]
식 (2)를 이용하면 다음과 같이 로드리게스 파라미터에서 쿼터니언으로의 변환을 구할 수 있다.
\[ \begin{align} q_0 &= \frac{1-(\mathbf{e}_b^a )^T \mathbf{e}_b^a }{ 1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a } \tag{3} \\ \\ \mathbf{q}_{1:3} & = \frac{2 \mathbf{e}_b^a }{ 1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a } \end{align} \]
삼각함수의 공식에 의하면,
\[ \begin{align} & \sin \left( \frac{\beta}{2} \right)= \sin \left( \frac{\beta}{4} + \frac{\beta}{4} \right)=2 \sin \left( \frac{\beta}{4} \right) \cos \left( \frac{\beta}{4} \right) \tag{4} \\ \\ & \cos \left( \frac{\beta}{2} \right)= \cos \left( \frac{\beta}{4} + \frac{\beta}{4} \right)=\cos^2 \left( \frac{\beta}{4} \right)-\sin^2 \left( \frac{\beta}{4} \right)=2 \cos^2 \left( \frac{\beta}{4} \right)-1 \end{align} \]
이 성립하므로, 식 (1)에 식 (4)를 대입하면 다음과 같이 간단하게 MRP를 표현할 수도 있다.
\[ \begin{align} \mathbf{e}_b^a &= \frac{ \mathbf{p}^b \sin \left( \frac{\beta}{2} \right) }{ 1+ \cos \left( \frac{\beta}{2} \right) } = \mathbf{p}^b \frac{ 2 \sin \left( \frac{\beta}{4} \right) \cos \left( \frac{\beta}{4} \right) }{ 2\cos^2 \left( \frac{\beta}{4} \right) } \tag{5} \\ \\ &=\mathbf{p}^b \tan \left( \frac{\beta}{4} \right) \end{align} \]
MRP 역시 회전각 \(\beta= \pm 2\pi\) 에서 특이점이 존재하지만 고전 로드리게스 파라미터의 회전 범위의 두 배가 된다. 계속 회전하는(spinning) 경우를 제외하고는 대부분의 운동체는 \(-2 \pi \lt \beta \lt 2\pi \) 범위의 자세(attitude)를 가지므로 특이점에 대한 부담없이 3개의 파라미터로 자세 표현 또는 좌표변환을 수행할 수 있다.
하지만 고전 로드리게스 파라미터와는 달리 MRP는 동일한 물리적인 자세 또는 좌표변환에 대해서 2:1 매핑을 갖는다. 즉,
\[ \begin{align} \mathbf{e}_b^a &= \frac{ \mathbf{q}_{1:3} }{1+q_0 } \tag{6} \\ \\ (\mathbf{e}_b^a )^S &= \frac{- \mathbf{q}_{1:3} }{1-q_0 } \end{align} \]
식 (6)의 \(\mathbf{e}_b^a\) 와 \( (\mathbf{e}_b^a )^S\) 는 모두 동일한 물리적인 자세를 표현하는 것으로 \( (\mathbf{e}_b^a )^S\) 를 \(\mathbf{e}_b^a\) 의 그림자 벡터(shadow vector)라고 한다.
쿼터니언에서 MRP로의 매핑은 다음 그림으로 설명할 수 있다.
그림에서 x축은 \(q_0\), y축은 \(\mathbf{q}_{1:3}\) 로서 초평면(3차원 공간)이다. 원은 반지름이 1인 4차원 구다. 쿼터니언은 이 4차원 구의 표면에 위치한다. MRP 벡터 \(\mathbf{e}_b^a\) 는 \(q_0=-1\) 점에서 쿼터니언을 이 y축 초평면으로 투영한 것이다.
\[ \begin{align} & \frac{ \mathbf{q}_{1:3} }{1+q_0 } = \frac{\mathbf{e}^a_b }{1} \tag{7} \\ \\ & \frac{- \mathbf{q}_{1:3} }{1-q_0 } = \frac{(\mathbf{e}^a_b)^S }{1} \end{align} \]
그림의 경우 그림자 벡터 \( (\mathbf{e}_b^a )^S\) 의 크기는 1보다 크고 \(\mathbf{e}_b^a\) 는 1보다 작다. 하지만 MRP로 자세를 표현할 때 시간이 흐름에 따라서 \(\mathbf{e}_b^a\)가 1보다 커지고 그림자 벡터가 1보다 작아 질 수도 있다, 즉, 회전각에 따라서 \(\mathbf{e}_b^a\)의 크기는 다음과 같이 달라진다.
\[ \begin{align} & \beta \lt \pi \ \ \ \to \ \ \ \lvert \mathbf{e}_b^a \rvert \lt 1 \tag{8} \\ \\ & \beta \gt \pi \ \ \ \to \ \ \ \lvert \mathbf{e}_b^a \rvert \gt 1 \\ \\ & \beta = \pi \ \ \ \to \ \ \ \lvert \mathbf{e}_b^a \rvert = 1 \end{align} \]
\(\beta =\pi\) 일 때는 \( (\mathbf{e}_b^a )^S= -\mathbf{e}_b^a\) 가 되며 \(\beta \gt \pi\) 가 되면서 \((\mathbf{e}_b^a )^S\) 가 4차원 구로 진입하고 \(\mathbf{e}_b^a\) 는 구를 벗어나게 된다.
이 경우 적절하게 \(\mathbf{e}_b^a\) 에서 그림자 벡터 \((\mathbf{e}_b^a )^S\) 로 전환한다면 MRP 벡터의 크기를 항상 1 이하가 되도록 유지할 수 있다. 물론 이를 위한 로직이 필요하며 MRP와 그림자 벡터 사이의 경계선에서 '채터링'이 발생할 수도 있다.
MRP에서 DCM으로의 변환은 쿼터니언과 DCM 간의 변환식을 이용하여 구할 수 있다.
\[ \begin{align} C_b^a=q_0^2 I+ \mathbf{q}_{1:3} \mathbf{q}_{1:3}^T+2q_0 [\mathbf{q}_{1:3} \times ]+[\mathbf{q}_{1:3} \times ]^2 \tag{9} \end{align} \]
식 (3)을 (9)에 대입하면 MRP에서 DCM으로의 변환식은 다음과 같이 된다.
\[ \begin{align} C_b^a &= \frac{(1-(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2 }{(1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2} I + \frac{ 4\mathbf{e}_b^a (\mathbf{e}_b^a )^T }{ (1+(\mathbf{e}_b^a)^T \mathbf{e}_b^a )^2} \tag{10} \\ \\ & \ \ \ \ \ \ \ \ \ \ + \frac{ 4(1-(\mathbf{e}_b^a )^T \mathbf{e}_b^a) }{ (1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2 } [\mathbf{e}_b^a \times ] + \frac{ 4 }{ (1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2} [\mathbf{e}_b^a \times ]^2 \\ \\ &=\frac{(1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2 }{(1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2} I + \frac{ -4 (\mathbf{e}_b^a)^T \mathbf{e}_b^a I +4\mathbf{e}_b^a (\mathbf{e}_b^a )^T }{ (1+(\mathbf{e}_b^a)^T \mathbf{e}_b^a )^2} \\ \\ & \ \ \ \ \ \ \ \ \ \ + \frac{ 4(1-(\mathbf{e}_b^a )^T \mathbf{e}_b^a) }{ (1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2 } [\mathbf{e}_b^a \times ] + \frac{ 4 }{ (1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2} [\mathbf{e}_b^a \times ]^2\\ \\ &=I + \frac{ 4(1-(\mathbf{e}_b^a )^T \mathbf{e}_b^a) }{ (1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2 } [\mathbf{e}_b^a \times ] + \frac{ 8 }{ (1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )^2} [\mathbf{e}_b^a \times ]^2 \end{align} \]
여기서
\[ \begin{align} [\mathbf{e}_b^a \times ]^2= -(\mathbf{e}_b^a )^T \mathbf{e}_b^a I+ \mathbf{e}_b^a (\mathbf{e}_b^a )^T \end{align} \]
임을 이용하였다.
반대로 DCM에서 MRP를 추출하는 방법으로는 먼저 쿼터니언을 추출한 다음 식 (1)에 의해 MRP를 계산하는 것이 가장 편리하다.
한편 MRP도 연쇄법칙이 성립한다. 쿼터니언의 연쇄법칙인 식 (11)을 이용하여 증명해 보자.
\[ \begin{align} \mathbf{q}_c^a &= \mathbf{q}_b^a \otimes \mathbf{q}_c^b \tag{11} \\ \\ &= \begin{bmatrix} q_0 r_0 - \mathbf{q}_{1:3}^T \mathbf{r}_{1:3} \\ r_0 \mathbf{q}_{1:3}+q_0 \mathbf{r}_{1:3}+[ \mathbf{q}_{1:3} \times ] \mathbf{r}_{1:3} \end{bmatrix} \end{align} \]
여기서 \(\mathbf{q}_c^b= \begin{bmatrix} r_ 0 \\ \mathbf{r}_{1:3} \end{bmatrix} \) 이다. 식 (3)을 이용하면 다음과 같이 MRP의 연쇄법칙을 얻을 수 있다.
\[ \begin{align} \mathbf{e}_c^a &= \frac{ r_0 \mathbf{q}_{1:3}+q_0 \mathbf{r}_{1:3}+[ \mathbf{q}_{1:3} \times ] \mathbf{r}_{1:3} }{ 1+q_0 r_0-\mathbf{q}_{1:3}^T \mathbf{r}_{1:3} } \tag{12} \\ \\ &= \frac{ 2(1-(\mathbf{e}_c^b )^T \mathbf{e}_c^b ) \mathbf{e}_b^a + 2(1-( \mathbf{e}_b^a )^T \mathbf{e}_b^a )\mathbf{e}_c^b +4[ \mathbf{e}_b^a \times ] \mathbf{e}_c^b }{ (1+(\mathbf{e}_b^a )^T \mathbf{e}_b^a )(1+(\mathbf{e}_c^b )^T \mathbf{e}_c^b )+(1-(\mathbf{e}_b^a )^T \mathbf{e}_b^a )(1-(\mathbf{e}_c^b )^T \mathbf{e}_c^b )-4 (\mathbf{e}_b^a )^T \mathbf{e}_c^b }\\ \\ &= \frac{ (1-(\mathbf{e}_c^b )^T \mathbf{e}_c^b ) \mathbf{e}_b^a+(1-(\mathbf{e}_b^a )^T \mathbf{e}_b^a ) \mathbf{e}_c^b +2 [\mathbf{e}_b^a \times ] \mathbf{e}_c^b }{ 1+(\mathbf{e}_b^a)^T \mathbf{e}_b^a )((\mathbf{e}_c^b )^T \mathbf{e}_c^b )-2 (\mathbf{e}_b^a )^T \mathbf{e}_c^b } \end{align} \]
MRP의 시간 미분은 식 (1)을 미분하면 얻을 수 있다.
\[ \begin{align} \dot{\mathbf{e}}_b^a = \frac{ (1+q_0)\dot{\mathbf{q}}_{1:3}- \dot{q}_0 \mathbf{q}_{1:3} }{ (1+q_0 )^2} \tag{13} \end{align} \]
여기서 쿼터니언의 미분식이 다음과 같으므로
\[ \begin{align} \dot{\mathbf{q}}_b^a &= \frac{1}{2} \mathbf{q}_b^a \otimes \bar{\omega}_{ab}^b \tag{14} \\ \\ &= \frac{1}{2} \begin{bmatrix} -\mathbf{q}_{1:3}^T \omega_{ab}^b \\ q_0 \omega_{ab}^b+ [\mathbf{q}_{1:3} \times ] \omega_{ab}^b \end{bmatrix} \end{align} \]
식 (14)를 (13)에 대입하고 식 (1)과 (3)을 이용하면 MRP의 미분 방정식은 다음과 같이 된다.
\[ \begin{align} \dot{\mathbf{e}}_b^a &= \frac{1}{2} \frac{ (1+q_0 )(q_0 \omega_{ab}^b+[ \mathbf{q}_{1:3} \times ] \omega_{ab}^b ) + \mathbf{q}_{1:3}^T \omega_{ab}^b \mathbf{q}_{1:3} }{ (1+q_0 )^2 } \tag{15} \\ \\ &= \frac{1}{2} \frac{ (q_0 \omega_{ab}^b+[ \mathbf{q}_{1:3} \times ] \omega_{ab}^b ) }{ (1+q_0 ) } + \frac{1}{2} \frac{ \mathbf{q}_{1:3}^T \omega_{ab}^b \mathbf{q}_{1:3} }{ (1+q_0 )^2} \\ \\ &= \frac{1}{2} \frac{ q_0 \omega_{ab}^b }{ (1+q_0 ) } + \frac{1}{2} [\mathbf{e}_b^a \times ] \omega_{ab}^b+ \frac{1}{2} (\mathbf{e}_b^a )^T \omega_{ab}^b \mathbf{e}_b^a \\ \\ &= \frac{1}{4} (1-(\mathbf{e}_b^a )^T\mathbf{e}_b^a ) \omega_{ab}^b+ \frac{1}{2} [\mathbf{e}_b^a \times ] \omega_{ab}^b+ \frac{1}{2} \mathbf{e}_b^a (\mathbf{e}_b^a )^T \omega_{ab}^b \\ \\ &=\frac{1}{4} \left( (1-(\mathbf{e}_b^a )^T \mathbf{e}_b^a )I+2[\mathbf{e}_b^a \times]+2 \mathbf{e}_b^a (\mathbf{e}_b^a )^T \right) \omega_{ab}^b \end{align} \]
고전 로드리게스 파라미터와 수정 로드리게스 파라미터는 우주역학 분야를 제외하고는 아직 널리 적용되고 있지는 않다.
'항공우주 > 동역학' 카테고리의 다른 글
로드리게스 파라미터 (0) | 2025.06.01 |
---|---|
회전벡터 (Rotation Vector)의 시간 변화율 (0) | 2025.04.09 |
오일러 운동방정식 (Euler’s Equation of Motion) (0) | 2024.03.22 |
관성 주축 (Principal Axes of Inertia) (0) | 2023.02.19 |
좌표변환과 관성행렬 (Inertia Matrix) (0) | 2023.02.17 |
댓글