Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapitre 2-Matrices de Transformations Homogènes

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 13

Chapitre 2 : MATRICES DE TRANSFORMATION HOMOGENE

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.

La notion de changement de repère est donc fondamentale. Elle permet :

- 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 :

2.1 - Représentation d'un point :

En coordonnées homogènes, la représentation d'un point se fait par un vecteur colonne


à quatre (4) composantes.

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

Figure 2.1. Représentation d'un point


2.2 - Représentation d'une direction :

Elle se fait par quatre (4) composantes, trois (3) coordonnées cartésiennes et la
quatrième est nulle, soit :

(2.2)

2.3 - Représentation d'un plan :

Le plan αx + βy + γz + δ = 0 est représenté par un vecteur ligne Q :

Q = [α β γ δ] (2.3)

Pour tout point V appartenant au plan Q, le produit matriciel QV est nul :

(2.4)

3 - Transformations homogènes :

3.1 - Transformation des repères :

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

Figure 2.2. Transformation des repères

3.2 - Transformation des vecteurs :

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

Deux cas sont à considérer :

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

Figure 2.3. Transformation d'un vecteur du repère Ri à Rj

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)

on a iV1 = jV2 (égalité en terme de composantes), alors on peut écrire :


i
V2 = iTj . iV1 (2.8)
P1
Yj
Rj
Zi i
V1 Zj
j
V2
i P2
Ri V2
Xj
Yi i
Tj
Xi

Figure 2.4. Transformation d'un vecteur du repère Ri à Rj, après transformation d'un point

3.3 - Transformation d'un plan :

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)

il s'en suit que :


j
Q = iQ.iTj (2.10)

3.4 - Matrice de transformation de translation pure :

(2.11)

Zi Zi

Yi
c
Xi
Yi
a

Xi b

Figure 2.5. Transformation de translation pure

Par convention, on écrit :

Trans(a,b,c) = Trans(X,a).Trans(Y,b).Trans(Z,c) (2.12)


3.5 - Matrices de transformation de rotation autour des axes principaux :

3.5.1 - Rotation θ autour de l'axe X :

Soit Rot(X, θ) cette rotation :

Zi

Zj
aj nj Yj
θ
θ
Yi
θ
Xi, Xj sj

Figure 2.6. Transformation de rotation pure autour de l'axe X

(2.13)

Où A(X,θ) est la matrice d'orientation de dimension (3x3).

3.5.2 - Rotation θ autour de l'axe Y :

(2.14)

Zi

Zj
aj
θ
θ nj
Yi, Yj
θ
Xi
sj
Xj

Figure 2.7. Transformation de rotation pure autour de l'axe Y


3.5.3 - Rotation θ autour de l'axe Z :

(2.15)

Zi, Zj
aj

θ Yj

nj
θ
Yi
θ
Xi sj

Xj

Figure 2.8. Transformation de rotation pure autour de l'axe Z

3.6 - Propriétés des matrices de transformation homogènes :

a)- Une matrice de transformation peut se mettre sous la forme suivante :

(2.16)

La matrice A représente la rotation alors que la matrice colonne P représente la translation.

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)

Ses éléments représentent les cosinus directeurs d'orientation.


Elle ne contient que trois paramètres indépendants (l'un des vecteurs s, n ou a se
déduit du produit vectoriel des deux autres ; par exemple s=n x a ; en outre le produit scalaire
n.a est nul, et les normes de n et de a sont égales à 1).

c)- L'inverse de la matrice iTj définit la matrice jTi.


i
TJ-1 = jTi (2.18)

d)- On vérifie aisément que :

Rot-1(u, θ) = Rot(u, -θ) = Rot(-u, θ) (2.19)

e)- L'inverse d'une matrice de transformation peut être mise sous la forme suivante :

(2.20)

f)- Si un repère R0 a subi n transformations consécutives et si la iième transformation,


(i=1,...,n), est définie par rapport au repère courant Ri-1, alors la transformation 0Tn peut être
déduite de la composition des multiplications à droite de ces transformations :
0
Tn =0T1.1T2.2T3...n-1Tn (2.21)

Figure 2.9. Composition des transformations, Multiplication à droite

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

Figure 2.10. Composition des transformations, Multiplication à gauche

En résumé, à partir des propriétés f et g, on a :

- 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.

h)- Composition de deux matrices :

La multiplication de deux matrices de transformation donne une matrice de transformation :

(2.22)

(T1.T2 ≠ T2.T1)

i)- Transformations consécutives autour du même axe :

Rot(u, θ1).Rot(u, θ2) = Rot(u, (θ1+θ2)) (2.23)

Rot(u, θ).Trans(u, d) = Trans(u, d).Rot(u, θ) (2.24)

j)- Décomposition de la matrice de transformation :

Elle peut se décomposer en deux matrices de transformation, l'une représentant une


translation pure, l'autre une rotation pure :

(2.25)

3.7- Matrice de transformation correspondant à une rotation autour d'un vecteur


quelconque :

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

Figure 2.11. Transformation de rotation pure autour d'un axe quelconque

A partir de la relation ci dessus, on obtient :

(2.27)

Tourner autour de u, est équivalent à tourner autour de l'axe z du repère iTj.

A partir des propriétés f et g du paragraphe 3.6, on déduit que :

Rot(u,θ).iTj = iTj.Rot(z,θ) (2.28)

d'où Rot(u,θ) = iTj.Rot(z,θ).iTj-1 (2.29)

Après développement, on obtient :

(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)

3.8 - Axe et angle de rotation équivalent à une transformation de rotation donnée :

Soit T une matrice de transformation de rotation pure telle que :

(2.32)

On cherche à identifier les termes u et θ de l'expression suivante :

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)

on déduit : θ = arct(sθ/cθ) pour 0 ≤ θ ≤ π (2.35)

A partir des termes extradiagonaux, on calcule :

(2.36)

(2.37)

(2.38)

4 - Représentation des objets :

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 :

Etant donnée la transformation iTj, on cherche à calculer la transformation iTj + diTj


issue d'une translation différentielle (dx, dy, dz) et d'une rotation différentielle dθ autour d'un
axe portant un vecteur unitaire u.

compte tenu de la propriété g du paragraphe 3.6, si les composantes de la transformation


différentielle sont données dans le repère de référence Ri, la transformation correspondante
s'obtient par multiplication à gauche :
i
Tj+diTj = Trans(dx, dy, dz).Rot(u,dθ).iTj (2.39)

d'où diTj = [Trans(dx, dy, dz).Rot(u,dθ) - I].iTj (2.40)

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)

d'où diTj = iTj . [Trans(dx, dy, dz).Rot(u,dθ) - I] (2.42)

On définit la matrice de transformation différentielle notée Δ par :

Δ = [Trans(dx, dy, dz).Rot(u,dθ) - I] (2.43)

de telle sorte que :

diTj = iΔ.iTj (2.44)

ou diTj = iTj .jΔ (2.45)

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.

5.2 - Calcul de la matrice de transformation différentielle :

5.2.1 - Première méthode :

En supposant dθ suffisamment petit pour que les approximations s(dθ)=dθ et


c(dθ)=1soient valides, la matrice de transformation de rotation pure d'un angle dθ autour d'un
axe de vecteur unitaire u sera donnée par :

(2.46)
On a

(2.47)

5.2.2 - Seconde méthode :

Le calcul de la matrice différentielle peut aussi se faire à partir de l'expression des


rotations différentielles δx, δy et δz autour des axes x, y et z respectivement. En faisant les
mêmes approximations sur les petits angles que précédemment, on obtient :

(2.48)

En négligeant les termes d'ordre 2, on obtient le résultat suivant :

(2.49)

En identifiant cette expression avec les matrices de transformation différentielles, on


vérifie qu'une rotation dθ autour d'un axe de direction u est équivalente à trois (3) rotations
successives δx, δy et δz autour des axes x, y et z respectivement, avec :

δx = ux dθ (2.50)

δy = uy dθ (2.51)

δz = uz dθ (2.52)

En résumé on retiendra que la matrice de transformation différentielle a pour expression :

(2.53)

Où û et représentent les préproduits vectoriels de u et δ.

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.

Vous aimerez peut-être aussi