Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Z V’ b1

W W’ a2
b2 V

a1

Y
U
X a3 b3
U’

Representation of 3D Angular Motion

Giovanni Legnani,
Dip. Ingegneria Meccanica e Industriale,
University of Brescia, Italy
Giovanni.Legnani@unibs.it
Several ways to represent 3D angular
positions (attitude) have been proposed
u
• Euler/Cardanic sequences j
(singular for j=0 or 90°) Y z’
• Euler parameters (quaternions)
y’
(4 elements constrained) Z X
• Euler axis and angle axis u, angle j x’
(4 elements constrained)
• Rodriguez-Hamilton parameters
(singular for j=180°)
• Rotation matrix (9 elements constrained)
• …
why so many
conventions?
3D rotations: some characteristics
• Unlike translations, 3D rotations are not
commutable 𝑅 𝑦 𝑅(𝑧) ≠ 𝑅 𝑧 𝑅(𝑦)

z
T 𝑦 𝑇 𝑧 = (1)
=𝑇 𝑧 𝑇(𝑦) z y

z
(2)
• Sequence dependent x y
y

(Cardanic/Euler seq.)
• It is impossible to z (2) z (1)
define a set of angular
coordinates whose y t
y
t

time derivative is the


angular velocity t t

• The time integral of the angular velocity does not


represent angular position (i.e. 3D orientation)
more common «problems» of
known conventions
• singular configurations (e.g. in
Cardanic/Euler angle sequences: 1st and
3rd axis coincident; in Rodriguez
Hamilton parameters: j=180°)
• redundant parameter with constrains
(e.g. 4 Euler Parameters q2=1, rotation
matrix  r2ij=1)
• meaning not immediately
understood by humans
Each angular convention may be
«optimal» in some circumstance…
e.g. Euler angles: Rotation, Precession, Nutation
Z
singularity for N=0 never reached in Earth motion
Rot 1/day
Prec 1/26,000 years R
1 Precession Nut 23.5° (approax constant) P
N
2 Nutation

3 Rotation

…but unsuitable in others in which


singularities may happen (e.g. acrobatic flight)
Euler axis and angle
j
Y z’
u x   0  uz uy  y’
 
u  u y  u   uz 0  ux  Z X
 u y x’
u z 
 ux 0 
 xx yx zx 
R  I 3  u sin(j )  u (1  cos(j ))
2
R   x y yy z y 
 x z yz z z 

xx  y y  z z  1
1

u  R  Rt
2
 cos(j )  c 
2

j  atan 2s, c   y z  z x 2  z x  xz 2  x y  y x 2
sin(j )  s  
2
Euler parameters (quaternions)
 
2 d 2  a 2  1 2ab  cd  2ac  bd   Y
j
z’

 
R   2ab  cd  2 d 2  b 2  1 2bc  ad  

 2ac  bd 
 2bc  ad  2 d 2
 
c 2

 1 Z X
y’

x’

a = ux sin(j/2)   2 Q1 q  
  2Q T q  Q Q T q
   
b = uy sin(j/2)
c = uz sin(j/2)
0 d  a  b  c d 
d = cos(j/2) a
  d c  b a 
   x Q   q 
 y  b c d a b 
q= i a + j b + k c + d   
b a d 
  
 z  c c 

ij=-ji=k, jk=-kj=i,
ki=-ik=j, ii=jj=kk=-1 The total rotation qt obtained by two
consecutive rotations q1 and q2 is qt = q1 q2
Rodriguez-Hamilton parameters
 A  u x  j
V   B   u y  tan j / 2  Y z’
C  u z  singular for j=180°
y’
Z X
 1 A  B  C
2 2 2
x’
1  A2  B 2  C 2 2 AB  C  2 AC  B  
1 
R   2 AB  C  1  A2  B 2  C 2 2BC  A 

 2 AC  B  2 BC  A  1  A 2
 B 2
 C 2
 

link with Euler parameters A=a/d B=b/d C=c/d

The final rotation Vt obtained by two


V1  V2  V1  V2
individual rotations V1 and V2 is simply Vt 
1  V1  V2
Euler angles a
example zxz

Euler rotation ijk l=6-i-j l


conventions axes b
xyx 121 3
cyclic yzy 232 1 +1
zxz 313 2 
zyz 323 1
anticyclic xzx
yxy
131
212
2
3
-1
R  rij  
rij  sb s
rii  c b ril  l sb c
rjj   sa cb s  ca c
r ji  sa s b rjl  l ca s  l sa cb c
rlj  lca cb s  lsa c
rli  lca s b rll   sa s  ca cb c

solution 1 (0<b<p) solution 2 (0>b>-p)


a  atan 2rji ,  lrli  a  atan 2 rji , lrli 
 singular for

b  acos rii  sin(b)=0 b   acos rii 
  atan 2r , lr    atan 2 r ,  lr 
 ij il  ij il
Euler angles: velocity, acceleration
velocity
i  1 0 cb  a 
     0 c
  A

sa sb   b 
 j  a
l  0 lsa  lca sb    
acceleration

 i    sb 0 0   b 
       s c
  A  
 j  a b ca sb  sa  a 
 l   lca cb
  lsa sb lca  ab 

matrix A cannot be inverted for sin(b)=0 (singular configuration)


Cardanic angles example xyz

Cardanic rotation ijk l


conventions axes
xyz 123
cyclic yzx 231 +1
zxy 312
zyx 321
anticyclic yxz 132 -1
xzy 213 R=R(i,a)R(j,b)R(k,)
rii  c b c rij  l c b s rik  l sb
r ji  sa s b c  lca s r jj  l sa s b s  ca c rjk  l sa cb
rki  lca s b c  sa s rkj  ca s b s  lsa c rkk  ca cb

solution 1 (|b|<p/2) solution 2 (|b|>p/2)


a  atan 2 lr jk , rkk   
R  rij a  atan 2lrjk ,rkk 
 
b  asin lrik  singular for b  p  asin  lrik 
  atan 2 lr , r  cos(b)=0   atan 2lr ,r 
 ij ii  ij ii
Nautical angles

• singular for b=±90°


(1st and 3rd axis aligned)
Cardanic Angles: velocity, acceleration
velocity  i  1 0 ls b  a 
      
  A   j   0 ca  l sa c b   b 
 k  0 lsa ca c b    
acceleration

 i   lcb 0 0   b 


       ls s
  A  
 j  a b  lca cb  sa  a 
 k   ca sb
  sa cb lca  ab 

matrix A cannot be inverted for cos(b)=0 (singular configuration)


angular velocity and acceleration
• velocity  C
A

• by time deriving the velocity equations


we got

  C   C
A    C 
  C 1 A
 

C may be singular
Conclusions
• Each set of angular coordinates, it has
good and bad points
• Good in some circumstances, bad in
others
• Problems (depending on the convention):
– singular configurations
– redundant-constrained parameters
• Direct/inverse kinematics presented:
position, velocity, and acceleration

Thank you for your attention

You might also like