회전과 로보틱스 / NOTE 05

축별 쿼터니언의 합성

Quaternion Composition

축별 회전을 쿼터니언 곱으로 연결하는 전개식을 살펴봅니다.

♫ 이 문서 듣기

개념에서 수식으로

먼저 이해할 내용

축별 회전을 모두 적용했을 때의 자세는 각도를 단순히 더해서 얻는 것이 아니다. 이 글에서는 x·y·z 축에 대한 쿼터니언을 차례로 곱하여 전체 자세의 네 성분을 구한다.

기호를 먼저 읽기

Qₓ[φ], Qᵧ[θ], Q_z[ψ]
세 축에 대한 개별 회전
φ/2, θ/2, ψ/2
각 축 회전을 구성하는 반각
축별 회전을 연결하는 쿼터니언 곱
q₁ … q₄
합성 결과의 네 성분

이 글의 흐름

축마다 두 성분만 남는 단순한 쿼터니언을 만든 뒤, 원문에 적힌 곱의 순서를 유지하며 전개한다. 결과를 스칼라 성분 하나와 벡터 성분 셋으로 나누어 확인한다.

세 축의 회전을 차례로 연결한다

Qₓ에는 x축에 해당하는 벡터 성분만, Qᵧ에는 y축 성분만, Q_z에는 z축 성분만 남는다. 이들을 Qₓ⊗Qᵧ⊗Q_z 순서로 곱하여 하나의 쿼터니언을 만든다. 각도를 더하는 대신 곱을 사용하는 이유는 축 사이의 회전 관계도 함께 반영해야 하기 때문이다.

주제와 표기

q^=Qx[ϕ]Qy[θ]Qz[ψ]

q^={cos[ϕ2],sin[ϕ2],0,0}{cos[θ2],0,sin[θ2],0}{cos[ψ2],0,0,sin[ψ2]}

첫 성분은 두 곱의 합으로 나온다

q₁은 세 반각의 코사인을 곱한 항과 세 반각의 사인을 곱한 항의 합으로 제시되어 있다. 먼저 세 반각을 계산하고, 각 항의 곱을 구한 뒤 더하면 된다. 원문 식에서 φ=θ=ψ=0을 대입하면 q₁=1, 나머지 성분은 0이 되어 회전이 없는 경우를 확인할 수 있다.

q1=cos[ϕ2]cos[θ2]cos[ψ2]+sin[ϕ2]sin[θ2]sin[ψ2]

나머지 성분은 부호를 포함하여 한 묶음으로 읽는다

q₂·q₃·q₄에는 사인과 코사인이 서로 다른 위치에 들어간 두 항이 나타난다. 각 줄에서 음의 부호가 어느 항에 붙는지 확인하며 계산한다. 동일한 축 회전 정의에서 나온 네 줄이므로, 한 성분만 다른 자료의 식으로 바꾸면 전체 규약이 어긋날 수 있다.

q2=sin[ϕ2]cos[θ2]cos[ψ2]+cos[ϕ2]sin[θ2]sin[ψ2]
q3=cos[ϕ2]sin[θ2]cos[ψ2]sin[ϕ2]cos[θ2]sin[ψ2]
q4=cos[ϕ2]cos[θ2]sin[ψ2]+sin[ϕ2]sin[θ2]cos[ψ2]

정리하면

합성식의 핵심은 회전 순서와 부호 규약이다. 성분별 삼각함수 항은 그 규칙을 계산한 결과이며, 네 성분을 따로 정하는 독립 공식이 아니다.