0% ont trouvé ce document utile (0 vote)
15 vues36 pages

Matrices de rotation et transformations 3D

Transféré par

hamza gaceur
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues36 pages

Matrices de rotation et transformations 3D

Transféré par

hamza gaceur
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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