Quaternion differentiation - · PDF fileQuaternion differentiation Quaternion...

4
Quaternion differentiation Quaternion differentiation’s formula connects time derivative of component of quaternion q(t) with component of vector of angular velocity W(t). Quaternion q(t)=(q 0 (t), q 1 (t) , q 2 (t) , q 3 (t)) determines attitude of rigid body moving with one fixed point, vector of angular velocity W(t)=( W x (t) , W y (t) , W z (t)) determines angular velocity of this body at point of time t. point of time. Norm of quaternion q(t) is unit, i.e. 1 ) ( ) ( ) ( ) ( 2 3 2 2 2 1 2 0 = + + + t q t q t q t q (1) Vector W(t) can be represented as quaternion with zero scalar part, i.e )) ( ), ( ), ( , 0 ( ) ( t W t W t W t W z y x = (2) Quaternion differentiation’s formula can be represented as ) ( ) ( 2 1 ) ( t q t W dt t dq = (3) Using quaternion multiplication rule )) ( ) ( ) ( ) ( ) ( ) ( ( 2 1 ) ( )) ( ) ( ) ( ) ( ) ( ) ( ( 2 1 ) ( )) ( ) ( ) ( ) ( ) ( ) ( ( 2 1 ) ( )) ( ) ( ) ( ) ( ) ( ) ( ( 2 1 ) ( 1 2 0 3 3 1 0 2 2 3 0 1 3 2 1 0 t q t W t q t W t q t W dt t dq t q t W t q t W t q t W dt t dq t q t W t q t W t q t W dt t dq t q t W t q t W t q t W dt t dq y x z x z y z y x z y x + = + = + = + + = (4) Below formula (3) brief and vigorous derivation follows. Let R 0 is any given vector (quaternion with zero scalar part) fixed in rigid body at initial moment of time t 0 , R t is the same vector (quaternion) at moment of time t. Then, obviously ) ( ) ( 1 0 t q R t q R t = (5) If we differentiate (5) then dt t dq R t q t q R dt t dq dt dR t ) ( ) ( ) ( ) ( 1 0 1 0 + =

Transcript of Quaternion differentiation - · PDF fileQuaternion differentiation Quaternion...

Quaternion differentiation Quaternion differentiation’s formula connects time derivative of component of quaternion q(t) with component of vector of angular velocity W(t). Quaternion q(t)=(q0(t), q1(t), q2(t), q3(t)) determines attitude of rigid body moving with one fixed point, vector of angular velocity W(t)=( Wx(t), Wy(t), Wz(t)) determines angular velocity of this body at point of time t. point of time. Norm of quaternion q(t) is unit, i.e.

1)()()()( 23

22

21

20 =+++ tqtqtqtq

(1) Vector W(t) can be represented as quaternion with zero scalar part, i.e

))(),(),(,0()( tWtWtWtW zyx= (2) Quaternion differentiation’s formula can be represented as

)()(21)( tqtW

dttdq=

(3) Using quaternion multiplication rule

))()()()()()((21)(

))()()()()()((21)(

))()()()()()((21)(

))()()()()()((21)(

1203

3102

2301

3210

tqtWtqtWtqtWdt

tdq

tqtWtqtWtqtWdt

tdq

tqtWtqtWtqtWdt

tdq

tqtWtqtWtqtWdt

tdq

yxz

xzy

zyx

zyx

−+=

−+=

−+=

++−=

(4) Below formula (3) brief and vigorous derivation follows. Let R0 is any given vector (quaternion with zero scalar part) fixed in rigid body at initial moment of time t0, Rt is the same vector (quaternion) at moment of time t. Then, obviously

)()( 10 tqRtqRt

−= (5) If we differentiate (5) then

dttdqRtqtqR

dttdq

dtdRt )()()()( 1

01

0

−− +=

(6) From (5) and (6) we have

dttdqtqRRtq

dttdq

dtdR

ttt )()()()( 1

1−

− +=

(7) Because norm of quaternion q(t) is unit, i.e.

1)()( 1 =− tqtq (8) we have

0)()()()( 11 =+

−−

dttdqtqtq

dttdq

(9) It follows from (7) and (9) that

)()()()( 11 tqdt

tdqRRtqdt

tdqdt

dRtt

t −− −=

(10) Let

)()()( 1 tqdt

tdqtp −=

(11) Obviously

))(),(),(()())(())(()( 2210111 tqtqtqtqtqVtqStq −=+= −−−

(12) where S() =scalar part, V()=vector part of quaternion Scalar part S(p(t)) of quaternion p(t) equals

0)()()()(

))(( 33

22

11

00 =+++= q

dttdq

qdt

tdqqdt

tdqqdt

tdqtpS

because norm of quaternion q(t) is unit. It follows that p(t) is vector. Because Rt is also vector

])([2)()( ttt RtptpRRtp =− (13) where [ab]= cross-product of vector a and vector b.

On the other hand, variable dt

dRt is velocity of point of rigid body with one fixed point. Hence

])([ tt RtW

dtdR

=

(14). Because Rt is arbitrary vector, it follows from (10), (11), (13) and (14)

)()(2)(2)( 1 tqdt

tdqtptW −==

(15) It follows from (15) finally that

)()(21)( tqtW

dttdq=

(3) It is necessary to draw attention: in formula (3) angular velocity vector W(t)=(WX(t), WY(t), WZ(t)) is represented by projections on axes of unmoving system of coordinates. If we apply the projections on axes of moving system of coordinates for the same angular velocity vector then obviously:

)())(),(),(,0)(())(),(),(,0( 1 tqtWtWtWtqtWtWtW zyxZYX−=

(16) Where Wx(t), Wy(t), Wz(t) are projections of angular velocity vector on axes of moving system of coordinates. It follows from (3) and (16) that

))(),(),(()(

)()(21)(

tWtWtWtW

tWtqdt

tdq

zyx=

=

(17) Finally, consider example of formulas (3) and (17) using for so-called conic moving. In this case quaternion q(t) equals:

))0),cos(),sin((2

sin,0()(

))0),sin(),(cos(2

sin,2

(cos)(

))0),sin(),(cos(2

sin,2

(cos)(

1

ttdt

tdq

tttq

tttq

ωωβω

ωωββ

ωωββ

−⎟⎠⎞

⎜⎝⎛=

⎟⎠⎞

⎜⎝⎛−⎟

⎠⎞

⎜⎝⎛=

⎟⎠⎞

⎜⎝⎛

⎟⎠⎞

⎜⎝⎛=

(18)

Accordingly (3) and (17) projections of angular velocity vector on axes of unmoving and moving systems of coordinates equals:

))1)(cos(),cos()sin(),sin()sin(()()(2))(),(),((

)))cos(1(),cos()sin(),sin()sin(()()(2))(),(),((

1

1

−−==

−−==

βωωβωωβω

βωωβωωβω

ttdt

tdqtqtWtWtW

tttqdt

tdqtWtWtW

zyx

ZYX