이번 포스팅에서는 이전 포스팅에서 못다한 이야기를 해보겠습니다.
이전 포스팅을 확인하시려면 아래를 눌러주세요.
오일러 파라미터를 활용하여 좌표변환행렬 구하기
이전 포스팅에서 아래와 같은 결과를 도출했었습니다.
$$\overrightarrow{p}^T\overrightarrow{p}-1=0$$
이 때, $\overrightarrow{p}=[e_0, e_1, e_2, e_3]^T$ 입니다.
이걸 조금 바꿔볼건데요.
$$\overrightarrow{p}\overrightarrow{p}^T=\begin{bmatrix}e_0 \\e_1\\e_2\\e_3 \end{bmatrix}\begin{bmatrix}e_0 & e_1 & e_2 & e_3 \end{bmatrix}$$
$$=\begin{bmatrix}e_0^2 & e_0e^T \\e_0e & ee^T \end{bmatrix}$$
여기서 $e_0$는 스칼라이고, $e=\left[e_1,e_2,e_3\right]$인 벡터입니다.
그리고
$$e\times e=\widetilde{e}e=0$$
임을 알 수 있고,
$$\widetilde{e}\widetilde{e}=ee^T-e^TeI$$
$$=ee^T-\left(1-e_0^2\right)I$$
위 관계에서 우리는 두 matrix $G$와 $L$을 정의할 수 있습니다.
$$G=\begin{bmatrix}-e_1 & e_0 & -e_3 & e_2 \\-e_2 & e_3 & e_0 & -e_1 \\ -e_3 & -e_2 & e_1 & e_0 \end{bmatrix}$$
$$=\left[-e, \widetilde{e}+e_0I\right]$$
$$L=\begin{bmatrix}-e_1 & e_0 & e_3 & -e_2 \\-e_2 & -e_3 & e_0 & e_1 \\ -e_3 & e_2 & -e_1 & e_0 \end{bmatrix}$$
$$=\left[-e, -\widetilde{e}+e_0I\right]$$
여기서, $G$와 $L$ matrix는 $p$와 orthogonal함을 알 수 있습니다. 즉,
$$Gp=\left[-e,\widetilde{e}+e_0 I\right]\left[e_0, e^T\right]^T$$
$$=\left[-e_0e+\widetilde{e}e+e_0e\right]=0$$
같은 방법으로 $L$에 대해서도 확인해보면 마찬가지로
$$Lp=\left[-e_0e-\widetilde{e}e+e_0e\right]=0$$
임을 알 수 있습니다.
그리고, matrlx $G$와 $L$의 각 행 또한 orthogonal합니다. 따라서
$$GG^T=I$$
$$LL^T=I$$
$$\left(GG^T\right)^T=G^TG=I^T=I$$
$$\left(LL^T\right)^T=L^TL=I^T=I$$
가 성립합니다.
그런데 여기서 앞선 포스팅에서 말씀드렸던
$$A=\left(2e_0^2-1)\right)I+2\left(ee^T+e_0\widetilde{e}\right)$$를 $G$와 $L$로 표현할 수 있습니다.
$$GL^T=\left[-e, \widetilde{e}+e_0I\right]\begin{bmatrix}-e^T\\e+e_0I \end{bmatrix}$$
$$=ee^T+\left(\widetilde{e}+e_0I\right)\left(\widetilde{e}+e_0I\right)$$
$$=\left(2e_0^2-1\right)I+2\left(ee^T+e_0\widetilde{e}\right)$$
즉,
$$A=GL^T$$
의 결과가 도출됩니다.
(사실 여기서 $G$와 $L^T$를 왜 곱해볼 생각을 했는지는 잘 모르겠습니다....)
그럼 속도, 가속도 분석을 위해 좌표변환행렬의 미분도 알아내야겠죠?
$$\dot{A}=\dot{G}L^T+G\dot{L}^T$$
인데, 여기서 우리는 이미 구해놓은 matrix를 이용해 연산을 해보면
$$G\dot{L}^T=\dot{G}L^T$$
임을 알 수 있습니다. 따라서
$$\dot{A}=2\dot{G}L^T$$
로 표현가능합니다.
두번 미분한 형태의 표현도 알아보면
$$\ddot{A}=2\dot{G}\dot{L}^T+2G\ddot{L}^T$$
여기서 또한 우리는 $\ddot{G}L^T=G\ddot{L}^T$임을 알 수 있기 때문에 아래와 같이 표현도 가능합니다.
$$\ddot{A} = 2\dot{G}\dot{L}^T+2\ddot{G}L^T$$
참고문헌이 있어 꾸역꾸역 따라서 공부를 해보기는 했지만...
matrix 연산이 너무 복잡하다보니 처음 유도해낸 사람의 의식의 흐름을 따라가기 힘드네요.
어찌됐든 오일러 파라미터를 이용한 좌표변환행렬과 그 미분표현에 대해 알아보았습니다.
잘못된 부분에 대한 지적은 언제나 환영하며, 더 자세한 설명이 가능하신 분은 댓글로 가르침 부탁드립니다!
'공학 > 동역학' 카테고리의 다른 글
[동역학] 평면에서의 운동방정식 (with MATLAB) (0) | 2022.01.25 |
---|---|
[동역학] 평면에서의 기구학(Planar kinematics) (0) | 2022.01.24 |
[동역학] 오일러 파라미터(Euler parameters) - (1) (1) | 2022.01.12 |
[동역학] 기구학적 구속(kinematic constraint) - Four-bar linkage (0) | 2021.11.25 |
[동역학] 운동량 보존의 법칙 (0) | 2021.05.26 |