Chapitre 2-Matrices de Transformations Homogènes
Chapitre 2-Matrices de Transformations Homogènes
Chapitre 2-Matrices de Transformations Homogènes
1- Introduction :
En robotique, à chaque élément du poste de travail est associé un ou plusieurs repères.
Ces repères sont généralement définis de telle sorte que leurs axes et leurs origines
correspondent respectivement à des directions et à des points privilégiés ayant un rôle
fonctionnel lors de l'exécution de la tâche.
- D'exprimer les déplacements relatifs des différents éléments du mécanisme articulé les uns
par rapport aux autres,
- De spécifier les situations successives que doit prendre le repère associé à l'organe terminal
du robot pour réaliser une tâche donnée, ainsi que les vitesses correspondantes,
- De décrire et de contrôler les efforts mis en jeu lorsque le robot interagit avec son
environnement,
- D'intégrer à la commande les informations sensorielles issues des capteurs ayant chacun leur
système de référence propre.
2- Coordonnées homogènes :
Les trois (3) premières sont les coordonnées cartésiennes du point, tandis que la
composante supplémentaire est considérée comme un facteur d'échelle, égal à un (1) en
robotique, nous avons alors :
Z
V
(2.1)
Vz Y
Vx
Vy
X
Elle se fait par quatre (4) composantes, trois (3) coordonnées cartésiennes et la
quatrième est nulle, soit :
(2.2)
Q = [α β γ δ] (2.3)
(2.4)
3 - Transformations homogènes :
Soit un repère Ri, auquel on fait subir une transformation (translation ou rotation) qui
l'amène sur le repère Rj (figure 2.2.).
Cette transformation est définie par la matrice iTj, appelée matrice de transformation
homogène, de dimension (4x4), telle que :
(2.5)
Où isj, inj et iaj désignent les vecteurs unitaires suivant les axes xj, yj et zj
respectivement du repère Rj exprimés dans le repère Ri et iPj représente l'origine du repère Rj
exprimée dans le repère Ri.
Ainsi la matrice iTj définit le repère Rj dans le repère Ri. Elle peut être écrite sous la
forme suivante :
(2.6)
Yj
Rj
Zi Zj
Ri
Xj
Yi i
Tj
Xi
Soit un vecteur jV1 définissant le point P1 dans le repère Rj, le vecteur jV1 peut être
exprimé dans le repère Ri, ce qui revient à calculer les coordonner du point P1 dans Ri
a)- La matrice de transformation iTj permet d'exprimer, dans le repère Ri, les coordonnées d'un
vecteur donné dans le repère Rj.
i
V1 = iTj. jV1
P1
i Yj
V1
Zi i
V1 Zj
Rj
Ri
Xj
Yi i
Tj
Xi
b)- Faisons subir une transformation quelconque iTj au vecteur iV1, transformation qui amène
le point P1 en P2.
Soit iV2, le vecteur résultant définissant le point P2 dans le repère Ri, on écrit alors :
i
V2 = iTj . jV2, (2.7)
Figure 2.4. Transformation d'un vecteur du repère Ri à Rj, après transformation d'un point
La position relative d'un point par rapport à un plan est indépendante des
transformations appliquées à l'ensemble {point, plan}, ainsi :
j
Q.jV = iQ.iV = iQ.iTj.jV (2.9)
(2.11)
Zi Zi
Yi
c
Xi
Yi
a
Xi b
Zi
Zj
aj nj Yj
θ
θ
Yi
θ
Xi, Xj sj
(2.13)
(2.14)
Zi
Zj
aj
θ
θ nj
Yi, Yj
θ
Xi
sj
Xj
(2.15)
Zi, Zj
aj
θ Yj
nj
θ
Yi
θ
Xi sj
Xj
(2.16)
Pour une transformation de translation pure A=I3 (I3 matrice unité d'ordre 3), tandis
que pour une transformation de rotation pure P=0.
b)- La matrice A est orthogonale, c'est à dire que la matrice inverse est égale à la matrice
transposée.
A-1=AT (2.17)
e)- L'inverse d'une matrice de transformation peut être mise sous la forme suivante :
(2.20)
g)- Si un repère Rj défini par la transformation iTj, subit une transformation T définie par
rapport au repère Ri, les nouvelles coordonnées des isj, inj et iaj, iPj sont obtenues en
multipliant ces vecteurs par la transformation T : le repère Rj se transforme donc en T.iTj.
Zj Yj
Rj
i
Zi Tj
Xj
Ri
Yi
Xi T.iTj
- Une multiplication à droite de la transformation iTj signifie qu'elle est faite par rapport au
repère courant Rj,
- Une multiplication à gauche signifie que la transformation est faite par rapport au repère de
référence Ri.
(2.22)
(T1.T2 ≠ T2.T1)
(2.25)
Considérons une rotation Rot(u, θ) autour d'un axe portant un vecteur unitaire
u=[ux uy uz]T quelconque et passant par l'origine.
Supposant que u soit le vecteur unitaire suivant l'axe izj d'un repère iTj obtenu par la
composition des transformations suivantes :
i
Tj = Rot(z, α).Rot(x, β) (2.26)
Où α est l'angle entre l'axe xi et xj autour de l'axe zi, définissant l'intersection du plan
(xi, yi) avec le plan perpendiculaire à u et où β est l'angle entre zi et u autour de xi.
zi
u=zj
α
θ yj
β
β yi'
α
yi
α
xi β
xj
(2.27)
(2.30)
On retiendra plus facilement cette expression en exprimant la matrice des cosinus directeurs
par : A(u,θ) = u.uT(1-cθ) + I3.cθ + û.sθ (2.31)
avec :
(u x v = û.v)
(2.32)
Rot(u,θ) = T (2.32)
Après comparaison des expressions donnant Rot(u,θ) du paragraphe 3.7 et celle de T ci-
dessus, on a :
cθ = 1/2.(sx + ny + az - 1) (2.33)
(2.34)
(2.36)
(2.37)
(2.38)
Les transformations homogènes sont aussi utilisées pour décrire la situation (position
et orientation ) des objets.
Pour modéliser un objet, il suffit de préciser un repère fixe de cet objet, puis de définir
des éléments caractéristiques par rapport à ce repère fixe(centre de gravité, position de saisie,
position d'équilibre ...etc.).
5 - Translation et rotation différentielles :
5.1 -- Principe :
Par contre si les composantes des translations et rotation différentielles sont exprimées
dans le repère courant Rj, la transformation résultante s'écrit, après multiplication à droite :
i
Tj+diTj = iTj .Trans(dx, dy, dz).Rot(u,dθ) (2.41)
Selon que les éléments de la matrice Δ sont exprimés dans le repère de référence R i ou dans le
repère courant Rj.
(2.46)
On a
(2.47)
(2.48)
(2.49)
δx = ux dθ (2.50)
δy = uy dθ (2.51)
δz = uz dθ (2.52)
(2.53)
6 - Conclusion :
Ce chapitre a présenté les transformations homogènes, c'est une notation pratique pour
exprimer les transformations de repère usuelles, elle est à la base de la modélisation des
éléments géométriques constituant le robot et son environnement.
Le chapitre suivant a pour objectif de présenter les méthodes les plus fréquemment
utilisées en robotique pour décrire la position et l'orientation d'un solide dans l'espace.