Vous êtes sur la page 1sur 36

Systèmes avancés et robotique

Chapitre.2
Repères et transformations
homogènes
Mlaouhi Ibrahim
Mastère CIM
Computer Integration Manufacturing
Plan du Chapitre
• Notation

•  Introduction

•  Positionnement

 • Rotations élémentaires

•  Représentation d’un vecteur

•  Composition de matrices de rotation

•  Matrices homogènes

•  Exercices d'application

1
Notation
a, λ, M ∈ R scalaires ⎡ ⎤
x1
.
x ∈ Rn vecteur colonne de dimension n, x = ⎣ .. ⎦
xn
A ∈ Rn×m matrice avec n lignes et m colonnes

 n

x   x2i norme euclidienne du vecteur x ∈ Rn
i=1

In ∈ Rn×n matrice identité n × n

0n×m ∈ Rn×m matrice de zéros n × m

AT ∈ Rm×n transposée de la matrice A ∈ Rn×m


A−1 inverse de la matrice A ∈ Rn×n (de rang plein)

2
Introduction
ze
Manipulateur θ4 effecteur
générique xe Oe
ye
d3
θ2
?

θ1
base

•  Un manipulateur peut être représenté comme une chaîne cinématique


de segments reliés par l'intermédiaire d'articulations rotoïdes ou prismatiques

•  Le mouvement résultant de la structure est obtenu par composition des


mouvements élémentaires de chaque segment par rapport au précédent

•  Afin de manipuler un objet dans l'espace, il est nécessaire de décrire


la position et l'orientation (pose) de l'effecteur

Objectif final: exprimer la pose de l’effecteur en fonction des variables des


articulations, par rapport à un repère donné (par ex. le repère de la base)

3
Positionnement

La pose d'un solide (ou corps rigide) dans l'espace 3D peut être
complètement décrite par 6 paramètres indépendants:

•  3 paramètres indépendants définissent la position d'un


point, noté O’, du solide dans le repère fixe O-xyz (par ex.
coordonnées cartésiennes, cylindriques ou sphériques)

•  3 paramètres indépendants déterminent l'orientation


du solide autour du point O’ (par ex. les angles d’Euler)

solide

z y z
x
y O
O x

4
solide

o
repère fixe

La position du point O’ du solide par rapport au repère fixe O-xyz


s’exprime par l’équation:

o = ox x + oy y + oz z


où x, y, z sont les vecteurs unitaires (la norme est 1) des axes
  
du repère O-xyz et ox , oy , oz sont les composants du vecteur o ∈ R3
le long de chacun des trois axes

5
•  Afin de décrire l'orientation du solide, considérons un repère attaché au corps
et exprimons ses vecteurs unitaires par rapport au repère O-xyz

•  Soit O’-x’y’z’ un tel repère avec origine O’ et soient x , y , z les vecteurs


unitaires des axes

•  Ces vecteurs sont exprimés par rapport au repère O-xyz par les équations:

x = xx x + xy y + xz z


y = yx x + yy y + yz z
z = zx x + zy y + zz z
•  Sous forme compacte, les vecteurs unitaires x , y , z qui décrivent
l'orientation du solide par rapport à O-xyz, peuvent être combinés dans
la matrice 3  3:
⎡  ⎤ ⎡ T ⎤
xx yx zx x x yT x zT x
⎢ ⎥ ⎢ ⎥
R = [x y z ] = ⎣xy yy zy ⎦ = ⎣xT y yT y zT y⎦
xz yz zz xT z yT z zT z
qui est appelée matrice de rotation

6
Rotations élémentaires
•  Considérons les rotations qu’on peut obtenir à partir de rotations
élémentaires autour des axes x, y, z
•  Ces rotations sont positives s’ils sont faites autour des axes
relatifs dans le sens antihoraire

Exemple: le repère O-xyz est pivoté d’un angle α autour de l’axe z


et O-x’y’z’ est le repère qui résulte de cette rotation

7
Rotations élémentaires
•  Les vecteurs unitaires de O-x’y’z’ peuvent être
exprimés par rapport au repère O-xyz comme:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
cos α − sin α 0
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
x = ⎣ sin α ⎦ , y = ⎣ cos α ⎦ , z = ⎣ 0 ⎦
0 0 1

•  La matrice de rotation de O-x’y’z’ par


rapport à O-xyz engendrée est donc:
⎡ ⎤
cos α − sin α 0
⎢ ⎥
Rz (α) = ⎣ sin α cos α 0⎦
0 0 1

De la même façon, on peut trouver la matrice de rotation autour de


l’axe y d’un angle β et la matrice de rotation autour de l’axe x d’un angle γ
Remarque: ces matrices sont très utiles pour décrire des rotations
dans l’espace 3D autour d’axes arbitraires

8
Rotations élémentaires: sommaire
⎡ ⎤
1 0 0
⎢ ⎥ Matrice de rotation autour
Rx (γ) = ⎣ 0 cos γ − sin γ ⎦
de l’axe x d’un angle γ
0 sin γ cos γ
Mouvement de Lacet
⎡ ⎤
cos β 0 sin β
⎢ ⎥ Matrice de rotation autour
Ry (β) = ⎣ 0 1 0 ⎦
de l’axe y d’un angle β
− sin β 0 cos β
Mouvement de Tangage
⎡ ⎤
cos α − sin α 0
⎢ ⎥ Matrice de rotation autour
Rz (α) = ⎣ sin α cos α 0⎦
de l’axe z d’un angle α
0 0 1
Mouvement de roulis

Remarque:
Pour les rotations élémentaires, la propriété suivante est vérifiée:

Rx (−γ) = RTx (γ), Ry (−β) = RTy (β), Rz (−α) = RTz (α)

9
Représentation d’un vecteur
Hypothèse simplificatrice: l’origine du repère du solide coïncide avec l'origine
du repère fixe. Donc o = 03×1 = [0, 0, 0]T

On peut représenter le point 3D


P comme suit:
⎡ ⎤
px
⎢ ⎥
p = ⎣ py ⎦ par rapport à O-xyz
pz
et
⎡ ⎤
px
⎢  ⎥
p = ⎣ py ⎦ par rapport à O-x’y’z’
pz

10
Représentation d’un vecteur

Mais p et p sont deux représentations du même point P, donc:
 
p = px 
x + py 
y + pz 
z =  
x y z 
p
Mais cela signifie que (cf. les équations
précédentes):

p = R p

R représente la matrice de transformation qui


permet d’exprimer les coordonnées du point P
dans le repère O-xyz, en function des coordonnées
du même point dans le repère O-x’y’z’

R est une matrice orthogonale. Donc la


transformation inverse est simplement:

p  = RT p

11
Représentation d’un vecteur
Exemple:
Deux repères avec la même origine et une rotation relative d’un angle α
autour de l’axe z

p , p : vecteurs des coordonnées


du point P dans les repères
O-xyz et O-x’y’z’

On trouve que:

px = px cos α − py sin α


py = px sin α + py cos α
pz = pz

12
Représentation d’un vecteur
Exemple:
Deux repères avec la même origine et une rotation relative d’un angle α
autour de l’axe z

p , p : vecteurs des coordonnées


du point P dans les repères
O-xyz et O-x’y’z’

On trouve que:

px = px cos α − py sin α


py = px sin α + py cos α
pz = pz

Remarque:
La matrice Rz (α) représente non seulement l'orientation d'un repère par rapport
à un autre, mais elle décrit également la transformation d'un vecteur dans un
repère en un autre avec la même origine

13
Composition de matrices de rotation
Problème: Comment composer plusieurs rotations ?

Considérons trois repères O-x0 y0 z0, O-x1 y1 z1 , O-x2 y2 z2 avec la même origine O

14
Composition de matrices de rotation
Problème: Comment composer plusieurs rotations ?

Considérons trois repères O-x0 y0 z0, O-x1 y1 z1 , O-x2 y2 z2 avec la même origine O

p0 , p1 , p2 ∈ R3 : coordonnées d’un point P dans les trois repères

O-x2 y2 z2 O-x1 y1 z1

P
O

O-x0 y0 z0

15
Composition de matrices de rotation

Soit Rji la matrice de rotation du repère i par rapport au repère j

Donc
p1 = R12 p2

De la même façon, on obtient

p0 = R01 p1
p0 = R02 p2

16
Composition de matrices de rotation

Soit Rji la matrice de rotation du repère i par rapport au repère j

Donc
p1 = R12 p2

De la même façon, on obtient

p0 = R01 p1
p0 = R02 p2
Mais alors:

R02 = R01 R12

17
Composition de matrices de rotation

Considérons un repère initialement aligné avec O-x0 y0 z0

La rotation définie par R02 peut être interprétée comme obtenue


en deux étapes:

1.  Tourne le repère avec R01 pour l’aligner avec O-x1 y1 z1


2.  Tourne le repère, maintenant aligné avec O-x1 y1 z1, en utilisant R12
pour l’aligner avec O-x2 y2 z2

Remarque:
•  La rotation d'ensemble peut être exprimée comme une séquence
de rotations partielles
•  Chaque rotation est définie par rapport à la précédente
•  Le repère par rapport à lequel la rotation se produit est appelé repère courant
•  La composition de rotations successives est obtenue par multiplication à droite
des matrices de rotation en suivant l'ordre donné des rotations
•  Avec notre notation, on a que:

Rji = (Rij )−1 = (Rij )T

18
Composition de matrices de rotation
Remarque:
•  Les rotations successives peuvent aussi être specifiées toujours
par rapport au repère initial
•  On dit donc que les rotations sont faites par rapport au repère fixe
•  La composition de rotations successives est obtenue par multiplication
à gauche des matrices de rotation en suivant l’ordre donné des matrices
de rotation

Problème de base: le produit matriciel n’est pas commutatif !

•  Deux rotations, en général, ne commutent pas et la composition dépend


de l’ordre des rotations individuelles:

R01 R12 = R12 R01

19
Composition de matrices de rotation
Exemple:
⎡ ⎤ ⎡√ ⎤
1 0 0 3/2 0 1/2
⎢ √ √ ⎥ ⎢ ⎥
Rx (π/4) = ⎣0 2/2 − 2/2⎦ , Ry (π/6) = ⎣ 0 1 0 ⎦
√ √ √
0 2/2 2/2 −1/2 0 3/2

⎡√ √ √ ⎤
3/2 2/4 2/4
⎢ √ √ ⎥
Ry (π/6) Rx (π/4) = ⎣ 0 2/2 − 2/2⎦
√ √
−1/2 6/4 6/4
mais =
⎡√ ⎤
3/2 0 1/2
⎢√ √ √ ⎥
Rx (π/4) Ry (π/6) = ⎣ 2/4 2/2 − 6/4⎦
√ √ √
− 2/4 2/2 6/4

20
Composition de matrices de rotation
•  Rotations successives d'un objet autour des axes du repère courant

a)

=
b)

21
Composition de matrices de rotation
•  Rotations successives d'un objet autour des axes du repère fixe

a)

=
b)

22
Représentation de l’orientation
•  Les matrices de rotation fournissent une description redondante
de l’orientation d’un corps
R comprend 9 éléments:
•  En effet, la matrice de rotation
⎡ ⎤
r11 r12 r13
⎢ ⎥
R = ⎣ r21 r22 r23 ⎦
r31 r32 r33
•  Mais il y a 6 relations indépendantes entre ces éléments (contraintes
d’orthogonalité et de normalité des colonnes)
r11 r12 + r21 r22 + r31 r32 = 0 2 2 2
r11 + r21 + r31 = 1
r11 r13 + r21 r23 + r31 r33 = 0 2 2 2
r12 + r22 + r32 = 1
r12 r13 + r21 r23 + r31 r33 = 0 2 2 2
r13 + r23 + r33 = 1
Conclusion: 3 paramètres sont suffisantes pour décrire l'orientation d'un corps

Une représentation de l'orientation en fonction de 3 paramètres indépendants


est dite représentation minimale (par ex. les trois angles d’Euler)

23
Représentation de l’orientation: Les trois angles d’Euler

Angles d'Euler ψ, θ et φ. Le système fixe est indiqué en noir (Oxyz), le sys-


tème mobile en rouge (Ox'y'z') et la ligne des nœuds en bleu (Ou).

24
Représentation de l’orientation: Les trois angles d’Euler

25
Matrices homogènes

solide

o
repère fixe

Pour décrire la pose d’un solide dans l’espace 3D, on a besoin de connaître:

•  [Translation] Position d’un point sur le solide (O’) par rapport au repère fixe

•  [Rotation] Composants des vecteurs unitaires du repère attaché au corps


avec origine O’, par rapport au repère fixe

26
Matrices homogènes

Repère 1

Repère 0

Soit:
•  P : point générique dans l’espace 3D
0 1
•  p , p : coordonnées du point P par rapport au repère 0 et 1
0
•  o1 : vecteur qui décrit l’origine du repère 1 par rapport au repère 0
•  R01 : matrice de rotation du repère 1 par rapport au repère 0

27
Matrices homogènes

Repère 1

Repère 0

•  On peut écrire la position du point P par rapport au repère 0 comme suit:

Transformation de coordonnées
0
p = o01 + R01 p 1 (translation + rotation) d’un vecteur
entre le repère 0 et le repère 1

28
Matrices homogènes

Repère 1

Repère 0

•  Pour avoir une représentation compacte de la relation entre les coordonnées


du même point P dans les deux repères, nous pouvons introduire la
3
représentation homogène d’un vecteur générique p ∈ R :
 
p
=
p On rajoute une 4e coordonnée
1 au vecteur, dont la valeur est 1
p “tilde”

29
Matrices homogènes
•  Si on utilise cette représentation pour les vecteurs p0 et p1, on peut écrire
la transformation de coordonnées en utilisant une seule matrice 4 × 4:

  Matrice de
R01 o01
A01 = transformation
01×3 1 homogène

•  La pose du repère 1 par rapport au repère 0 est définie par le couple:

(o01 , R01 )
•  La pose est définie par 6 paramètres:

•  3 définissant la translation
•  3 définissant la rotation

30
Matrices homogènes
•  La transformation d’un vecteur du repère 1 au repère 0 est exprimée par
une seule matrice qui contient la matrice de rotation du repère 1 par rapport
au repère 0 et le vecteur de translation de l’origine du repère 0 à l’origine
du repère 1:

 0 = A01 p
p 1

•  La transformation inverse entre le repère 0 et 1 est décrite par la


matrice A10 qui satisfait l’équation:

 1 = A10 p
p 0
 0 = (A01 )−1 p
•  En utilisant les propriétés des matrices partitionnées, on trouve que:

   
(R01 )T −(R01 )T o01 R10 −R10 o01
(A01 )−1 = =
01×3 1 01×3 1

31
Matrices homogènes
Attention: les matrices homogènes ne satisfont pas la propriété d’orthogonalité.
En conséquence, en général:

A−1 = AT
En conclusion:
•  Une matrice homogène permet d’exprimer la transformation
de coordonnées entre deux repères sous forme compacte

•  Si les repères ont la même origine la matrice homogène se réduit


à la matrice de rotation (4 × 4) définie précédemment

•  Comme pour les matrices de rotation, on peut composer une séquence


de transformations de coordonnées grâce au produit matriciel:

 0 = A01 A12 · · · An−1


p n 
p n

où Ai−1
i est la matrice de transformation qui met en relation
la description d’un point dans le repère i avec la
description du même point dans le repère i − 1

32
Matrices homogènes z0 z1

Exemple 1 (Rotation simple autour de l’axe z) α


y1
O0
  y0
Rz (α) 03×1 O1
A01 =
01×3 1 x0
x1
z1

Exemple 2 (Translation simple) O1


y1

  z0
I3 o01
A01 = x1
o01
01×3 1
O0 y0

x0

33
Exercice.1

Déterminer: M01 , M12 puis M02

34
Exercice.2

35

Vous aimerez peut-être aussi