Vous êtes sur la page 1sur 5

# 01.10.

14

## 2.1.5 Rotations in 3D: Rotation axis!

2D:

3D:

Angle

Center of rotation

Angle

## Rotations around axes as direction cosines!

!
% x1 x 2
! x 2 , y , z2 # = % y x 2
"
\$ % 1
2
% z1 x 2
"

y1

y 2

z1=
z2

angle and axis!

y1

y2

x1

y1=
y2

x1 y 2
y1 y 2
z1 y 2

y1 y 2
z1 y 2

#
x1 z 2 &
y1 z 2 &
&
z1 z 2 &
\$

x 2

x1

! cos
%
= % sin
% 0
"

sin
cos
0

0
0
1

#
&
&
&
\$

## Rotations around axes as direction cosines!

!
% x1 x 2
! x 2 , y , z2 # = % y x 2
"
\$ % 1
2
% z1 x 2
"

x1 y 2

#
x1 z 2 &
y1 z 2 &
&
z1 z 2 &
\$

Ex. 5: Ry=?

## # cos 0 sin &

%
(
Ry = % 0
1
0 (
%\$ sin 0 cos ('
#1
0
0 &
%
(
Rx = %0 cos sin (
%\$0 sin cos ('

## #cos sin 0&

%
(
Rz = % sin cos 0(
%\$ 0
0
1('

Exercice 6

## a): rotation by 90 around z, then rotation

by 90 around y
b): rotation by 90 around y, then rotation
by 90 around z

## Solution by matrix multiplication!

# 0 0 1&#0 1 0& #0 0 1&
%
(%
( %
(
% 0 1 0(%1 0 0( = %1 0 0(
%\$1 0 0('%\$0 0 1(' %\$0 1 0('

6a

6b

## #0 1 0&# 0 0 1& # 0 1 0&

%
(%
( %
(
%1 0 0(% 0 1 0( = % 0 0 1(
%\$0 0 1('%\$1 0 0(' %\$1 0 0('

01.10.14

z axis!
90!

y axis!
90!

7c
y

z axis 90
7b

z axis!
90!

y axis!
90!

Body frame

Body frame

7d

y axis 90

Ex. 8

z
x

y axis 90

z axis 90
Fig. 4

Ex. 8

## rotation d'un angle J autour de l'axe [x,y,z]T

avec || [x,y,z]T|| = 1

" xx
\$
(1 cos )\$ xy
\$ xz
#

xy
yy
yz

" 0 z y %
" 1 0 0 %
xz %
'
\$
'
\$
'
yz ' + cos \$ 0 1 0 ' + sin \$ z 0 x '
'
\$
'
\$
'
0
0
1
y
x
0
zz &
#
&
#
&

# xx
R = (1 cos )% xy
\$% xz

## 1. solution: Formule (10)

xy
yy
yz

xz &
#1
yz ( + cos %0
zz ('
\$%0

0
1
0

0&
#0
0( + sin % z
%\$y
1('

z
0
x

y&
x (
0 '(

2. solution:

(10)
Benjamin Olinde Rodrigues

1795 1851

01.10.14

## Passage Matrice de cos. dir. => Axe/Angle

From direction cosines to axis/angle:!

! a d
#
R =# b e
# c f
"

g \$
&
h &
i &
%

! x
axis! #
direction:

# y
# z
"

! f h \$
\$
&
&
1 #
# gc &
&=
& 2sin( ) # b d &
%
"
%

"a d
\$
R = \$b e
\$#c f

1
cos( ) = (tr(R) 1)
2
1
sin( ) =
( f h)2 + (g c)2 + (b d)2
2

"0 0 1%
\$
'
= \$1 0 0'
\$#0 1 0'&

g%
'
h'
i '&

# 0 1 0&
%
(
= % 0 0 1(
\$%1 0 0('

"x%
" f h%
1
\$ '
\$
'
\$y' = 2sin( ) \$ g c '
\$#z'&
\$# b d '&

ex.
6a)

ex. 6b)

1
(tr(R) 1)
2
1
sin( ) =
( f h)2 + (g c)2 + (b d)2
2
cos( ) =

(11)

Problmes de (11)

Solution: Quaternions!

## Lexpression axe/angle de l'quation (11) prsente

deux dfauts majeurs pour le traitement
l'ordinateur:
1.) La solution n'est pas unique (racine pos. ou neg.)

## Ces deux inconvnients disparaissent de

faon lgante en employant les paramtres
d'Euler*) ou quaternions ou paramtres de
Rodrigues.
Les quaternions sont employs en robotique
industrielle.

## En pratique, il y aura une mauvaise condition

numrique pour tout angle proche de 0 ou de 180
et une erreur pour ces deux cas!

## Les quaternions sont une

gnralisation des nombres complexes.

Aprs de longs et infructueux essais d'tendre l'interpretation gomtrique des nb. complexes dans le plan (Argand,
1768-1822, mathmaticien genevois) aux 3 dimensions,
Hamilton (1843) a trouv les deux astuces ncessaires:
1.

## Il n'y aura pas deux, mais trois parties imaginaires,

en plus de la partie relle.

2.

## Partie relle, parties imaginaires

Ces nouveaux nombres "hypercomplexes",
contiennent une partie relle scalaire 0

## et trois parties imaginaires [1, 2, 3]T

qui sont interprtes comme partie vectorielle .
le quaternion Q est donc le quadruple

Q = { 0 , 1, 2, 3} = { 0 , }

(11a)

01.10.14

## Comment la rotation est-elle exprime dans

le quaternion?

i = (1)

Q = { 0 , 1, 2, 3} = 0 + i 1 + j 2 + k 3

(11d)

i2 = j2 = k2 = ijk = 1

(11e)

ij = k = ji
Non-Commutativit! !
jk = i = kj

ki = j = ik

(11f)

Angle de rotation

## Laxe de rotation est donne

par la partie vectorielle

= [1, 2, 3]T

Q = { 0 , 1, 2, 3} ={ 0 , }

0 = cos(/2)

unitaires:

0 = cos(/2)

|| = sin(/2)

(11b)

## Passage entre quaternions et matrice des

cosinus directeurs

i2 = j2 = k2 = 1

Les rgles

jk = i = kj

(11c)

02 + 12+ 22+ 32 = 1

## Laxe de rotation disparat pour!

angles de rotation 0, 360, 720!

ij = k = ji

(11b)

|| = sin(/2)

mnent au produit

\$ 2( 20 + 12 ) 1
&
R = & 2( 1 2 + 0 3 )
&%2( 1 3 0 2 )

ki = j = ik

2( 1 2 0 3 )
2( 20 + 22 ) 1
2( 2 3 + 0 1 )

2( 1 3 + 0 2 )'
)
2( 2 3 0 1 ))
2
2
2( 0 + 3 ) 1 )(

QMQL = { 0 , } { 0 , } =

{ 00 T , 0 + 0 + }

(11g)

## Ce produit dfinit l'enchanement des rotations QL puis QM

Exercice 8b): Exercice 7 avec des quaternions.

! r r
# 11 12
# r21 r22
#
#" r31 r32

r13 \$
&
r23 &
&
r33 &%

"
\$ sgn(r32 r23 )
1\$
= \$ sgn(r13 r31 )
2
\$ sgn(r r )
21
12
\$#
1
0 =
r11 + r22 + r33 +1
2

%
r11 r22 r33 +1 '
'
r22 r11 r33 +1 '
r33 r22 r11 +1 ''
&
= cos(/2) 0

01.10.14

## 2.1.6 Matrices homognes 3D

Homogenous Matrices in 3D

"R3 3
#\$ 01 3

t 3 1 %
1 &'
(12)

!
Matrices de rot.
Quaternions !

!total !

## Une rotation autour d'un axe ne passant pas par l'origine se

compose de la mme faon que dans le cas 2D:

!27
!16

!45!
!28!

!
!

!18
!12

!
!

" I3 3
\$#01 3

p 31 % "R
1 '&#\$ 0

0% " I
1&' \$#0

p% "R
=
1 '& #\$ 0

p Rp %
1 &'

(13)

## avec le vecteur p de l'origine O un point quelconque sur l'axe de rotation

with vector p from origin O to any point on the rotation axis.

## Rappel: Mouvement gnral 3D: Vis

(screw, Schraube)
Recall from earlier lecture: The most general motion in 3D is a screw

## Diffrence avec le cas 2D:

Le mouvement gnral en 3D est quivalent une rotation autour d'un
axe plus une translation en direction de cet axe.

## The most general change of position in 3-D is a screw.

A screw is a rotation around an axis plus a translation
along this axis.