본문 바로가기
항공우주/동역학

쿼터니언 (Quaternions)

by 깊은대학 2021. 2. 8.

오일러의 회전 정리(Euler's rotation theorem)에 의하면 모든 좌표변환은 어떤 회전축과 그 회전축을 중심으로 하는 한번의 회전을 통해서 가능하다. 쿼터니언(quaternions)의 정의는 이 회전축과 회전각에 기반을 두고 있다.

 

 

좌표계 {a}를 회전축 p^ 를 중심으로 회전각 β 만큼 회전하여 좌표계 {b}로 변환했다고 하면, 좌표계 {a}에서 좌표계 {b}로의 쿼터니언 qba는 다음과 같이 정의된다.

 

qba=[q0q1q2q3]=[cos(β2)p1sin(β2)p2sin(β2)p3sin(β2)]

 

여기서

 

pa=pb=[p1p2p3]

 

이다. 쿼터니언은 정의와 같이 4개의 실수값으로 구성되어 있기 때문에 사원수라고 번역되기도 한다.

 

 

q0를 쿼터니언의 스칼라부(scalar part)라고 하며 [q1q2q3]T를 쿼터니언의 벡터부(vector part)라고 한다.

회전축 p^ 를 중심으로 반대 방향으로 회전각 β 만큼 회전하면 쿼터니언은

 

qba=[cos(β2)p1sin(β2)p2sin(β2)p3sin(β2)]

 

가 되어 벡터부만 부호가 바뀐다. 이를 켤레 쿼터니언(quaternions conjugate)이라고 하고 기호로 (qba) 로 표시한다.

좌표계 {b}에서 좌표계 {a}로의 쿼터니언은 벡터 q의 위 첨자와 아래 첨자를 반대로 써서 qab로 표현할 수 있다. qbaqab는 서로 역변환 관계로서 qab=(qba)의 식이 성립한다.

 

 

쿼티니언 qr의 곱셈을 다음과 같이 벡터와 행렬 형식으로 정의할 수 있다. 쿼터니언 곱셈은 로 표기한다.

 

qr=[q0q1q2q3][r0r1r2r3]=[q0q1q2q3q1q0q3q2q2q3q0q1q3q2q1q0][r0r1r2r3]=[q]r

 

여기서 [q]을 쿼터니언 행렬이라고 한다.

쿼티니언은 본래 아일랜드의 수학자 해밀턴(William R. Hamilton)이 1843년에 복소수를 확장시켜 만든 수체계(number system)다. 복소수가 2차원 평면상의 점을 표현할 수 있다는 사실로부터 3차원 공간상의 점을 표현하는 방법을 찾다가 만들었다고 한다. 쿼터니언 곱셈도 쿼터니언 수체계의 기본 규칙에서 파생되었다.

 

 

쿼터니언의 정의에 의해서 다음 3가지 성질이 파생된다.

먼저, 벡터 u를 좌표계 {a}로 표현한 벡터 ua와 좌표계 {b}로 표현한 ub는 다음 관계가 있다.

 

u¯a=qbau¯b(qba)

 

여기서 u¯a는 쿼터니언이 4×1 벡터임을 감안하여 벡터 ua를 쿼터니언 벡터화한 것으로 다음과 같이 정의한다.

 

u¯a=[0ua]

 

위 식에 의하면 쿼터니언 qba는 좌표계 {b}에서 표현한 벡터 ub를 좌표계 {a}에서 표현한 벡터 ua로 변환해 준다.

쿼터니언의 두번째 성질은 쿼터니언의 크기가 1이라는 것이다. 즉,

 

(qba)Tqba=cos2(β2)+(pa)Tpasin2(β2)=1

 

여기서 pa는 회전축 방향을 표시하는 단위 벡터이기 때문에 크기는 1이다.

쿼터니언의 세번째 성질은 연쇄법칙이 성립한다는 것이다. 연쇄법칙은 다음과 같은 것이다.

 

qca=qbaqcb

 

좌표계 {a}에서 좌표계 {c}로의 쿼터니언을 직접 계산할 수도 있지만 중간 단계의 좌표계 {b}를 두고 각각의 쿼터니언을 계산해서 구할 수도 있다는 이야기다. 즉 {a}에서 {c}로 가는 것은 {a}에서 {b}로, 다시 {b}에서 {c}로 가는 것과 같다는 뜻이다.

 

 

쿼터니언의 첫번째 성질을 증명하려면 좀 복잡한 과정을 거쳐야 하므로 증명은 하지 않겠다. 세번째 성질은 첫번째 성질을 이용하면 쉽게 증명할 수 있다. 쿼터니언에 관한 자세한 사항은 다음 책을 참고하면 좋을 것 같다.

 

 

 

방향코사인행렬, 오일러각, 그리고 쿼터니언

<b>“좌표계간의 상호 변환관계를 말하다”</b> <b>“물체의 자세 변화를 수학적으로 표현하고 싶은 개발자를 위한 책”</b> 이 책은 방향코사인행렬, 오일러각, 쿼터니언과 이들의 시간 변화율에

digital.kyobobook.co.kr

 

'항공우주 > 동역학' 카테고리의 다른 글

각속도 벡터  (0) 2021.04.13
좌표변환 방법 비교  (0) 2021.02.08
짐벌락 (Gimbal Lock)  (0) 2021.02.07
오일러각 (Euler Angles)  (0) 2021.02.07
방향코사인행렬 (DCM)  (1) 2021.02.06