Relationship Between Euler-Angle Rates and Body-Axis Rates
Total Page:16
File Type:pdf, Size:1020Kb
Relationship Between Euler-Angle Rates and Body-Axis Rates ! $ ! $ ! $ •! " ˙ is measured in the Inertial Frame p '! 0 ! $ # & # & # & # 0 & "˙ B ! B 2 •! is measured in Intermediate Frame #1 # q & = I3 # 0 &+ H2 # ( &+ H2 H1 # 0 & •! " ˙ is measured in Intermediate Frame #2 # & "# 0 %& "# 0 %& # )! & " r % " % •! ... which is ! $ ! ' ( $! )! $ # p & # 1 0 sin &# & Can the inversion ) ) ( B ! # q & = # 0 cos sin cos &# (! & = LI + become singular? # & # &# & " r % " 0 'sin) cos) cos( % *! What does this mean? " % Inverse transformation [(.)-1 ! (.)T] $ ' !! $ ! " ! " '$ ' & ) & 1 sin tan cos tan )& p ) & ! ) I " = & 0 cos! *sin! )& q ) = LB+B & #! ) & )& ) % ( % 0 sin! sec" cos! sec" (% r ( 1 Euler-Angle Rates and Body-Axis Rates 2 Avoiding the Euler Angle Singularity at ! = ±90° !! Alternatives to Euler angles -! Direction cosine (rotation) matrix -! Quaternions Propagation of direction cosine matrix (9 parameters) ! I = !" I HBhB I HBhB Consequently # 0 !r() t q() t & % ( ! B B B HI ()t = !"" B ()t HI ()t = ! % r() t 0 ! p() t ( HI ()t % ( % !q() t p() t 0()t ( $ 'B HB ()0 = HB ! ," ,# I I ()0 0 0 3 Avoiding the Euler Angle Singularity at ! = ±90° Propagation of quaternion vector: single rotation from inertial to body frame (4 parameters) !! Rotation from one axis system, I, to another, B, represented by !! Orientation of axis vector about which the rotation occurs (3 parameters of a unit vector, a1, a2, and a3) !! Magnitude of the rotation angle, ", rad 4 Euler Rotation of a Vector Rotation of a vector to an arbitrary new orientation can be expressed as a single rotation about an axis at the vector’s base ! $ a1 # & Orientation of rotation axis a ! # a2 & : # & in reference frame " a3 % ' : Rotation angle 5 Euler’s Rotation Theorem Vector transformation = B involves 3 components rB HI rI = T + " ! T $ & + & ' ()a rI a #rI ()a rI a%cos sin ()rI a T = cos& rI + ()1! cos& ()a rI a ! sin& ()a ' rI ! $ a1 # & Orientation of rotation axis a ! # a2 & : # & in reference frame " a3 % ': Rotation angle 6 Rotation Matrix Derived from Euler’s Formula B T rB = HI rI = cos! rI + ()1" cos! ()a rI a " sin! ()ar! I Identity T T ()a rI a = ()aa rI Rotation matrix B T HI = cos! I3 + ()1" cos! aa " sin! a! 7 Quaternion Derived from Euler Rotation Angle and Orientation Quaternion vector 4 parameters based on Euler’s formula ! $ ! ( + $ q1 # a1 & # & * - ! $ ! ' $ # ' & # q2 & q3 sin()2 a sin()2 a2 # & # * - & ! q = # & ! # & = = * - ()4 1 q3 # q4 & # ' & # ) a3 , & # & " % " cos()2 % # & # & " q4 % # cos()' 2 & " % 4-parameter representation of 3 parameters; hence, a constraint must be satisfied T 2 2 2 2 q q = q1 + q2 + q3 + q4 = sin2 ()! 2 + cos2 ()! 2 = 1 8 Rotation Matrix Expressed with Quaternion From Euler’s formula B " 2 T $ T HI = q4 ! ()q3 q3 I3 + 2q3q3 ! 2q4q! 3 # % Rotation matrix from quaternion B HI = " q2 ! q2 ! q2 + q2 2 q q + q q 2 q q ! q q % $ 1 2 3 4 ()1 2 3 4 ()1 3 2 4 ' $ 2()q q ! q q !q2 + q2 ! q2 + q2 2()q q + q q ' $ 1 2 3 4 1 2 3 4 2 3 1 4 ' $ q q + q q q q ! q q !q2 ! q2 + q2 + q2 ' # 2()1 3 2 4 2()2 3 1 4 1 2 3 4 & 9 Quaternion Expressed from Elements of Rotation Matrix Initialize q(0) from Direction Cosine Matrix or Euler Angles " h ()= cos! h h % $ 11 11 12 13 ' B B HI ()0 = $ h21 h22 h23 ' = HI ()(0 ,)0 ,* 0 $ ' # h31 h32 h33 & 1 q ()0 = 1+ h ()0 + h ()0 + h ()0 4 2 11 22 33 Assuming that q4 ! 0 ! $ ! $ q ()0 "!h23 ()0 ' h32 ()0 %$ # 1 & # & 1 # & q3 ()0 ! # q2 ()0 & = "!h31 ()0 ' h13 ()0 %$ # & 4q4 ()0 # & q ()0 # ! ' $ & "# 3 %& "h12 ()0 h21 ()0 % 10 " % Quaternion Vector Kinematics ! $ ! ' ( '" $ d q3 1 q4 B Bq3 q! = # &= # & ()4 !1 dt q 2 ('' T "# 4 %& "# B q3 %& Differential equation is linear in either q or "B ! $ ! q! $ 0 ' z (' y ' x ! q $ # 1 & # & # 1 & (' ' ' # q!2 & 1 # z 0 x y & # q2 & = # & # q! & ' (' ' # q & # 3 & 2 # y x 0 z & # 3 & # q! & # (' (' (' & # q & " 4 % x y z 0 " 4 % " %B 11 Propagate Quaternion Vector Using Body-Axis Angular Rates ! # ! # p() t q() t r() t ! % x % y % z " $ " $ ! q! ()t $ ! 0 r() t 'q() t p() t $ ! q ()t $ # 1 & # & # 1 & dq()t # q!2 ()t & 1 # 'r() t 0 p() t q() t & # q2 ()t & = # & = # & # & dt # q!3 ()t & 2 # q() t ' p() t 0 r() t & # q3 ()t & # ! & # ' ' ' & # & # q4 ()t & # p() t q() t r() t 0 & # q4 ()t & " % " %B " % Digital integration to compute q(tk) t k dq()" q ()t = q()t ! + d" int k k 1 # dt tk!1 12 Euler Angles Derived from Quaternion $ ' atan2 2 q q + q q ,$ 1* 2 q 2 + q 2 ' $ ! ' & { ()1 4 2 3 % ()1 2 (} ) & ) & ) *1 $ ' & " ) = & sin %2()q2q4 * q1q3 ( ) & # ) & ) % ( $ 2 2 ' & atan2 2()q3q4 + q1q2 , 1* 2()q2 + q3 ) % { % (} ( •! atan2: generalized arctangent algorithm, 2 arguments –! returns angle in proper quadrant –! avoids dividing by zero –! has various definitions, e.g., (MATLAB) * !1 " y% , tan $ ' if x > 0 , # x& , , ! " y% ! " y% = ( + tan 1 , ! ( + tan 1 if x < 0 and y ) 0, < 0 atan2()y, x + #$ &' #$ &' , x x , ( 2 , !( 2 if x = 0 and y > 0, < 0 , = = -, 0 if x 0 and y 0 13.