Sunteți pe pagina 1din 7

Relationship Between Euler-Angle

Rates and Body-Axis Rates

•! "˙ is measured in the Inertial Frame ! p $ !


#
'! $
&
! 0 $ ! 0 $
•! "˙ is measured in Intermediate Frame #1
# & # & B 2# &
# q & = I3 # 0 & + H 2B # (! & + H 2 H1 # 0 &
•! "˙ is measured in Intermediate Frame #2 # r &
" %
#" 0 &% #" 0 &% #" )! &%
•! ... which is
! p $ ! 1 0 'sin ( $!# )! $
# & # & & B Can the inversion
# 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 (

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)

H
! IB h B = !
" I H IB h B
Consequently # 0 !r ( t ) q ( t ) &
% (
H
! BI ( t ) = ! "" B ( t ) H BI ( t ) = ! % r ( t ) 0 ! p (t ) ( H BI ( t )
% (
%$ !q ( t ) p ( t ) 0 ( t ) (' B

H BI ( 0 ) = H BI (!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 & :
# a & in reference frame
" 3 %
' : Rotation angle

Euler’s Rotation Theorem


Vector transformation
involves 3 components
rB = H BI rI
= ( aT rI ) a + "# rI ! ( aT rI ) a $% cos & + sin & ( rI ' a )
= cos & rI + (1! cos & ) ( aT rI ) a ! sin & ( a ' rI )

! a1 $
# & Orientation of rotation axis
a ! # a2 & :
# a & in reference frame
" 3 %
' : Rotation angle

6
Rotation Matrix
Derived from
Euler’s Formula

rB = H BI rI = cos ! rI + (1" cos ! ) ( aT rI ) a " sin ! ( a! rI )


Identity

( a r ) a = ( aa ) r
T
I
T
I

Rotation matrix

H BI = cos ! I 3 + (1" cos ! ) aaT " sin ! a!


7

Quaternion Derived from Euler


Rotation Angle and Orientation
Quaternion vector
4 parameters based on Euler’s formula

! ( a1 + $
! q1 $ # &
# & $ # sin ( ' 2 ) * a -
# q2 & ! q 3 $ ! sin ( ' 2 ) a * 2 -
&
q=# !# &=# &=# & ( 4 ! 1)
q3 & # q4 & # cos ( ' 2 ) & # * a3
)
-
, &
# & " % " % # &
#" q4 & cos ( ' 2 )
% #" &%

4-parameter representation of 3 parameters;


hence, a constraint must be satisfied

q T q = q12 + q2 2 + q32 + q4 2
= sin 2 ( ! 2 ) + cos 2 ( ! 2 ) = 1
8
Rotation Matrix Expressed with
Quaternion
From Euler’s formula

H BI = "# q4 2 ! ( q 3 T q 3 ) $% I 3 + 2q 3q 3T ! 2q4 q! 3
Rotation matrix from quaternion
H BI =
" q2 ! q2 ! q2 + q2 2 ( q1q2 + q3q4 ) 2 ( q1q3 ! q2 q4 ) %
$ 1 2 3 4
'
$ 2 ( q1q2 ! q3q4 ) !q12 + q22 ! q32 + q42 2 ( q2 q3 + q1q4 ) '
$ '
$ 2 ( q1q3 + q2 q4 ) 2 ( q2 q3 ! q1q4 ) !q12 ! q22 + q32 + q42 '
# &
9

Quaternion Expressed from


Elements of Rotation Matrix
Initialize q(0) from Direction Cosine Matrix or Euler Angles
" h11 ( = cos !11 ) h12 h13 %
$ '
H BI ( 0 ) = $ h21 h22 h23 ' = H BI ((0 ,) 0 ,* 0 )
$ h31 h32 h33 '
# &
1
q4 ( 0 ) = 1+ h11 ( 0 ) + h22 ( 0 ) + h33 ( 0 )
2
Assuming that q4 ! 0
! q (0) $ ! !" h23 ( 0 ) ' h32 ( 0 ) $% $
# 1 & # &
1 #
q 3 ( 0 ) ! # q2 ( 0 ) & = !" h31 ( 0 ) ' h13 ( 0 ) $% &
# & 4q4 ( 0 ) # &
#" q3 ( 0 ) &% # !" h12 ( 0 ) ' h21 ( 0 ) $% & 10
" %
Quaternion Vector Kinematics

d ! q 3 $ 1 ! q4 ' B ( '" B q 3 $
q! = # &= # & ( 4 ! 1)
dt # q4 & 2 # ('
' T
q3 &%
" % " B

Differential equation is linear in either q or "B

! q!1 $ ! 0 'z (' y ' x $ ! q1 $


# & # & # &
# q!2 & 1 # (' z 0 ' x ' y & # q2 &
= # &
# q! 3 & 2 # ' y (' x 0 ' z & # q3 &
# & # &
#" q! 4 & # (' (' y (' z 0 & # q4 &%
% " x
%B "
11

Propagate Quaternion Vector


Using Body-Axis Angular Rates
! p (t ) q (t ) r (t ) # ! ! % % % #
" $ " x y z
$

! q!1 ( t ) $ ! 0 r ( t ) 'q ( t ) p ( t ) $ ! q1 ( t ) $
# & # & # &
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 ) &
#
#" q! 4 ( t ) && # ' p ( t ) 'q ( t ) 'r ( t )
#" 0 & #
&% B #" q4 ( t ) &&
% %
Digital integration to compute q(tk)

dq (" )
tk

q int ( t k ) = q ( t k!1 ) + #t dt d"


k!1
12
Euler Angles Derived from Quaternion
$
{
$ ! ' & atan2 2 ( q1q4 + q2 q3 ) , %1* 2 ( q1 + q2 ) (
$ 2 2
' } ')
& ) & )
& " )=& sin *1 $% 2 ( q2 q4 * q1q3 ) '( )
& # ) & )
%
%
{
( & atan2 2 ( q3q4 + q1q2 ) , $1* 2 ( q2 2 + q32 ) '
% ( } )
(

•! atan2: generalized arctangent algorithm, 2 arguments


–! returns angle in proper quadrant
–! avoids dividing by zero
–! has various definitions, e.g., (MATLAB)
* " y%
, tan !1 $ ' if x > 0
, # x&
,, " y% " y%
atan2 ( y, x ) = + ( + tan !1 $ ' , ! ( + tan !1 $ ' if x < 0 and y ) 0, < 0
# x& # x&
,
, ( 2 , !( 2 if x = 0 and y > 0, < 0
,
,- 0 if x = 0 and y = 0 13

S-ar putea să vă placă și