회전과 로보틱스 / NOTE 06

오일러각·쿼터니언 변환 유도

Euler → Quaternion · Derivation

회전행렬을 거쳐 쿼터니언 성분을 구하는 원문 전개를 보존합니다.

♫ 이 문서 듣기

개념에서 수식으로

먼저 이해할 내용

이 문서는 오일러각을 쿼터니언으로 옮기는 결과만 제시하는 것이 아니라, 회전행렬 성분을 대입하여 그 결과에 도달하는 중간 과정을 다룬다. 긴 식을 모두 한 번에 읽기보다 대입·정리·축별 분해·합성의 단계로 나누어 살펴본다.

기호를 먼저 읽기

φ, θ, ψ
세 축 회전의 각도
rᵢⱼ
오일러각으로 표현된 회전행렬 성분
Q[φ,θ,ψ]
세 각도에 대응하는 쿼터니언 표현
B[·,·]
이 전개에서 사용한 두 쿼터니언의 결합 표기
Sign[·]
제곱근으로 사라진 부호를 구별하는 항

이 글의 흐름

행렬에서 쿼터니언을 구하는 식에 삼각함수 표현을 대입한다. 그다음 한 축씩 남겨 단순한 형태를 확인하고, 세 축의 결과를 다시 결합한다.

행렬 성분으로 표현한 결과에서 출발한다

먼저 q₁부터 q₄까지를 회전행렬의 성분으로 적는다. 다음 단계에서 이 rᵢⱼ 자리에 오일러각의 사인·코사인 표현을 넣을 예정이다. 어떤 변수를 다른 표현으로 바꾸는지 먼저 알면 식의 길이가 늘어나는 이유를 이해할 수 있다.

주제와 표기

Euler Angle (Roll φ x^B, Pitch θ y^B, Yaw ψ z^B, ZYX) → Quaternion BAq^

q1=12r11+r22+r33+1
q2=Sign[r32r23]2r11r22r33+1
q3=Sign[r13r31]2r22r33r11+1
q4=Sign[r21r12]2r33r11r22+1

1

삼각함수 표현을 대입하고 정리한다

대입 후에는 여러 사인·코사인의 곱이 제곱근과 부호 함수 안에 나타난다. 이 단계의 목적은 같은 회전을 φ·θ·ψ만으로 표현하는 것이다. 중간식의 길이를 줄이려고 항이나 부호를 생략하지 않고, 어느 q 성분을 계산하는지 구분해 따라간다.

q1=12r11+r22+r33+1
=121+cos[θ]cos[ϕ]+cos[θ]cos[ψ]+cos[ϕ]cos[ψ]+sin[θ]sin[ϕ]sin[ψ]
q2=Sign[r32r23]2r11r22r33+1
수식
q3=Sign[r13r31]2r22r33r11+1
수식
q4=Sign[r21r12]2r33r11r22+1
수식

2

q1=121+cos[θ]cos[ϕ]+cos[θ]cos[ψ]+cos[ϕ]cos[ψ]+sin[θ]sin[ϕ]sin[ψ]
수식
수식
수식

3

수식

한 축만 남겨 결과를 확인한다

Q[φ,0,0]에서는 x축 회전만 남고, Q[0,θ,0]과 Q[0,0,ψ]에서는 각각 y축과 z축 회전만 남는다. 다른 두 각도가 0이 되면 많은 항이 없어져 반각의 사인·코사인 두 값으로 단순해진다. 이는 복잡한 일반식을 이해하기 위한 가장 직접적인 확인 과정이다.

Q[ϕ,0,0]
={122+2cos[ϕ],1222cos[ϕ]Sign[sin[ϕ]],0,0}
={cos[ϕ2],sin[ϕ2],0,0}
Q[0,θ,0]
={122+2cos[θ],0,1222cos[θ]Sign[sin[θ]],0}
={cos[θ2],0,sin[θ2],0}
Q[0,0,ψ]
={122+2cos[ψ],0,0,1222cos[ψ]Sign[sin[ψ]]}
={cos[ψ2],0,0,sin[ψ2]}

4

단순한 축 회전을 다시 합성한다

B[B[Qₓ,Qᵧ],Q_z]처럼 안쪽 결합부터 계산한다. 이 표기는 먼저 두 축을 결합한 다음 세 번째 축을 결합한다는 순서를 드러낸다. 이어지는 성분식은 이 결합을 실제 숫자와 삼각함수의 계산으로 펼친 결과이다.

수식
B[B[Q[ϕ,0,0],Q[0,θ,0]],Q[0,0,ψ]]
수식

5

B[B[{cos[ϕ2],sin[ϕ2],0,0},{cos[θ2],0,sin[θ2],0}],{cos[ψ2],0,0,sin[ψ2]}]
수식

최종 네 줄을 하나의 결과로 정리한다

마지막 네 식은 q₁·q₂·q₃·q₄를 각각 나타낸다. 앞 단계의 축별 반각 정의가 이 네 줄에 모두 남아 있다는 점을 확인한다. 특별한 각도를 대입하여 0이 되는 항을 지우면 일반식과 단일축 결과의 연결을 다시 살펴볼 수 있다.

q1=cos[ϕ2]cos[θ2]cos[ψ2]+sin[ϕ2]sin[θ2]sin[ψ2]
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]

정리하면

긴 전개가 보여주는 것은 새로운 여러 공식이 아니라, 같은 회전을 서로 다른 표현으로 옮겨도 같은 구조에 도달하는 과정이다. 이미지 중간식의 세부 항은 해당 식이 표시될 때 함께 대조하며 읽는다.