Académique Documents
Professionnel Documents
Culture Documents
géométriques :
rotation et translation
173
Repères
• En robotique, on doit constamment transférer
des points d’un référentiel à un autre
7 3
Coordonnées du repère (robot) :
1
référentiel
ym carte/global
xm
12
12
Coordonnées globales du repère :
7 174
Autre exemple : caméra
• Si les objets sont directement en coordonnées de la
caméra, on peut facilement calculer une image
A' P A
Ax
u 1 0 0 0 A
v 0 1 0 0 y
Az
1 0 0 1/ f 0
coordonnées 1
image 2D coordonnées
3D
A
P B P ABT yr
P
A Px B Px ABTx
A B A 5
Py Py BTy réf. B xr
y P1
q
x
• Opération linéaire* : multiplication de matrice
cos q sin q
R , P2 RP1
sin q cos q
(prémultiplication)
*Le calcul des cos/sin n’est pas linéaire, mais l’application de la rotation R l’est 179
Exemple rotation 2D
Rotation de q =15o d’un rectangle autour de (0,0) : on
applique cette équation pour chaque point
x2 cos15 sin15o x1 0.9659 0.2588 x1
o
y
o y 0.2588 y
2 sin15o cos15 1 0.9659 1
P P2 P(:,2) = [2 0]';
P(:,3) = [2 1]';
P(:,4) = [0 1]';
yA
dans le repère A) A
P A B
BR P yA
17,7 équivalent
à faire tourner
le vecteur BP q
q
réf. A réf. A
-4.9 xA xA
cos(45 o
) sin(45o
) 9 4.9
A
P
sin(45 ) cos(45 )
o o 16 17.7
Transformation entre 2 repères
• On peut représenter toute transformation1 par une
rotation et une translation : cas général 2D/3D
• On a P, q et BT , on cherche P
B A A
yA
réf. A xA
yC
réf. C xC
C
P AC
( B R P BT
PA R A B A
) C
AT
184
Coordonnées homogène : translation 2D
• En cartésien, une translation est une addition
x2 x1 Tx1
y y T
2 1 y1
• En homogène, translation s’exprime par une multiplication
P2 TP1
GLO-4001/7021 Introduction à la robotique mobile 185
Coordonnées homogène : rotation 2D
• Rotation est encore une multiplication
x2 cos q sin q 0 x1
y sin q cos q 0 y1
2
1 0 0 1 1
P2 RP1
187
Homogène : chaînage des opérations
• Ordre est important
P2 = TRP
(multiplication rotation : autour
des matrices de l’origine
n’est pas
commutative)
pas au même endroit!
P3 = RTP
rotation : autour
de l’origine
P3 = P2
GLO-4001/7021 Introduction à la robotique mobile 188
RT vs. TR
• Il est plus naturel de faire TR que de faire RT
matrice vecteur
rotation translation
matrice vecteur
rotation translation
yC
réf. C xC
C
P C C A A B
AT A R BT B R P
191
Transformations : coordonnées homogènes
• On peut ainsi combiner directement T et R dans
une seule matrice de transformation H=TR
yC
réf. C xC
Rappel :
rotation transl.
R11 R12 R13 Tx
R R
R
21 22 23 y T coordonnées A
A
P
H C C A B
B
R31 R32 R33 Tz
0 0
0 1
AH BH P
192
Sens des transformations
• On peut facilement trouver l’opposé des
transformations. Supposons qu’on connaisse B H
A
On cherche
B
P B
A H A
P
B 1 B B 1 B
AH P AH AH
A
P
B 1 B
AH P PA
(direction flèche
A
Or, B H B
P A
P a changé)
A 1
Donc B H
A BH
193
Sens des rotations
• Profitez des propriétés de certaines matrices
• Soit : B H BT B R
A A A
B
AH BART ( BAT )
(ordre inverse, direction inverses)194
GLO-4001/7021 Introduction à la robotique mobile
Transformation monde caméra
• Pour calculer l’endroit où un point dans le monde
va se situer par rapport à la caméra, on trouve la
transformation entre les deux référentiels
Pc
T =
1 0 0 5
0 1 0 0
0 0 1 21
0 0 0 1
>> Pc = T*R*Pm
Pc =
2.8650
0
23.9054
1.0000
u
x1 X1 X1
x3 x1 1 0 0 0
X X2
x2 0 1 0 0H 2 X
v
x2
x 0 0 1/ f X3 3
x3 3 0
1
u
x1 X1 X1
x3 x1 u0 0
X X2
x2 0 v0 0H 2 X
v
x2
x 0 X3 3
x3 3 0 1 0
1
f = 1 pour simplifier
À titre informatif (u0,v0) : point principal sur capteur
, : échelle x-y en pixel du capteur, idéalement
: déformation entre axes du capteurs, idéalement =0
203