You are on page 1of 4

Transformation Angular Velocities and

Derivatives of Euler Angles


João Cavalcanti Santos

October 23, 2018

Consider a point rotating (3 dimensionally) around the origin with position given by

x(t) = R(t) x(0) (1)

The rotation matrix may be written using Euler angles, for instance:

R(t) = Rz (γ(t)) Ry (β(t)) Rx (α(t)) (2)

The present section seeks the mathematical relation between the vector of angular velocity
ω = [ωx , ωy , ωz ]T and the derivatives of the Euler angles [α̇, β̇, γ̇]T . As shown in Fig. 1, the
vector ω has the same direction than the axis of rotation and its amplitude is equal to φ̇.

x.
f
q
r sin x

R(a,b,g)
q

x0

Figure 1: Angular velocity and Euler angles

Velocity may be calculated as follows

ẋ(t) = Ṙ(t) x(0) (3)


ẋ = Ṙ RT x (4)

1
Still, see that

R−1 = RT ⇒ R RT = I (5)
h iT
Ṙ RT = − Ṙ RT (6)

Therefore, the matrix Ṙ RT is always skew symmetric. As a result, it can be written as


 
0 −ωz ωy
Ṙ RT =  ωz 0 −ωx  (7)
−ωy ωx 0

This is consistent with the definition of the cross product operator


 
0 −ωz ωy
ω̂ =  ωz 0 −ωx  (8)
−ωy ωx 0

which may be applied to calculate the linear velocity

ẋ = Ṙ RT x (9)
= ω̂ x (10)
=ω×x (11)

Differentiating (2)

Ṙ RT = (γ̇ Ṙz RT T T T T T
z ) + Rz (β̇ Ṙy Ry ) Rz + Rz Ry (α̇ Ṙx Rx ) Ry Rz (12)

Let ei be a 3x1 column vector with all entries equal to zero, except for the ith which is
equal to 1. Direct substitution leads to

α̇ Ṙx RT
x = α̇ ê1 (13)
β̇ Ṙy RT
y = β̇ ê2 (14)
γ̇ Ṙz RT
z = γ̇ ê3 (15)

Equation (12) may be rewritten as

Ṙ RT = (γ̇ ê3 ) + Rz (β̇ ê2 ) RT T T


z + Rz Ry (α̇ ê1 ) Ry Rz (16)

Following, considering any vector v and any rotation matrix R, it will be shown that

R v̂ RT (17)

represents a rotation of the cross product operator v̂.

2
Denote the rows of any rotation matrix according to (18)
 T
r1
R = rT 2
 (18)
T
r3

See that any set of rows is an orthonormal basis, so that

r1 × r2 = r3 (19)
r2 × r3 = r1 (20)
r3 × r1 = r2 (21)
r1 × r1 =0 (22)
r2 × r2 =0 (23)
r3 × r3 =0 (24)
(25)

Then, (17) can be expanded as follows


 
r1 · (v × r1 ) r1 · (v × r2 ) r1 · (v × r3 )
R v̂ RT = r2 · (v × r1 ) r2 · (v × r2 ) r2 · (v × r3 ) (26)
r3 · (v × r1 ) r3 · (v × r2 ) r3 · (v × r3 )
 
v · (r1 × r1 ) v · (r1 × r2 ) v · (r1 × r3 )
= − v · (r2 × r1 ) v · (r2 × r2 ) v · (r2 × r3 ) (27)
v · (r3 × r1 ) v · (r3 × r2 ) v · (r3 × r3 )
 
0 −v · r3 v · r2
=  v · r3 0 −v · r1  (28)
−v · r2 v · r1 0
\
= (R v) (29)

which means that R v̂ RT is equivalent to the cross product operator of the vector v rotated
by R. Using this expression in (16)
V V

Ṙ RT = γ̇ e3 + β̇ Rz e2 + α̇ Rz Ry e1 = ω
V V

(30)
V
V V

Since u + v = u + v , the vector angular velocities is given by

ω = α̇ Rz Ry e1 + β̇ Rz e2 + γ̇ e3 (31)
 
  α̇
= Rz Ry e1 Rz e2 e3 β̇  (32)
γ̇

Check this method with (Khosravi and Taghirad, 2014) (or (Schenk et al., 2015) and
(Kallas, 2017)).

3
References
Vinayak Kallas. Hexapod kinematics and sti ness model. Technical report, 2017.

Mohammad A Khosravi and Hamid D Taghirad. Robust PID control of fully-constrained


cable driven parallel robots. Mechatronics, 24(2):87–97, 2014. ISSN 0957-4158.

Christian Schenk, Heinrich H Bülthoff, and Carlo Masone. Robust adaptive sliding mode
control of a redundant cable driven parallel robot. In System Theory, Control and Com-
puting (ICSTCC), 2015 19th International Conference on, pages 427–434. IEEE, 2015.
ISBN 1479984817.

You might also like