Chapitre 2
Chapitre 2
Chapitre 2
Chapitre 2
2.1.introduction
Nous présentons dans ce chapitre une notation qui permet de décrire de façon homogène les
différents systèmes de coordonnées .cette notation ,les transformations homogènes ,largement
utilisée en informatique graphique [robert 65] .[Newman 79] pour calcules les projections et
perspectives d’un objet sur écran .est maintenant la plus répandue en robotique [Pieper 68]
,[Paul 81] on montre comment représenter de cette façon un point ,un vecteur libre ,et les
transformations entre repères .on défini ensuite le torseur cinématique .le torseur dynamique
.les transformations entre torseurs ainsi que les transformations différentielles .
p
x
P= p y [2.1
pz
1
Modélisation ,identification et commande des robots chapitre 2 2
p
pz y
px
X py
La représentation d’une direction (vecteur libre ) se fait aussi par quatre composantes ,
mais la quatrième est nulle .indiquant un point à l’infini .si l’on note ux ,uy,uz les
coordonnées cartésienne d’un vecteur unitaire u , en coordonnées homogènes on écrit :
u x
u= u y [2.2]
u z
0
Q= [α β γ δ] [2.3]
s n a p
x x x x
i s y n y
Tj= [isj inj iaj ipj ] =
a p
y y
[2.5]
s z nz a p
z z
0 0 0 1
où isj ,inj, et iaj désignent respectivement les vecteurs unitaires suivant les axes xj ,yj et zj du
repère Rj exprimé dans le repère Ri et ou ipj est le vecteur exprimant l’origine du repère Rj
dans le repère Ri .
zi
zj
xj
Ri yi
yj
xi
i
Tj
Figure 2.2. Transformation des repères
On dit également que la matrice iTj définie le repère Rj dans le repère Ri .par la suite on notera
souvent la matrice de transformation [2.5a] sous forme d’une matrice partitionnée :
j Ai j P j
i
Tj = = is j [2.5b]
0 0 0 1 0 0 0 1
Il s’agit d’un abus de notation .puisque les vecteurs n’ont alors que trois composantes ,mais
cette description ,en isolant la matrice d’orientation iAj , est parfois plus pratique .de toute
manière , la distinction entre représentation à trois ou à quatre composantes sera toujours
claire dans le contexte .
En résumé :
_la matrice iTj représente la transformation permettant de passer du repère Ri au repère Rj
_elle peut être interprétée comme étant un repère Rj (trois axes orthonormés et l’origine
)exprimé dans Ri.
la matrice iTj permet donc d’exprimer dans le repère Ri les coordonnées d’un point donné dans
le repère Rj.
P1
zi zj
Rj
xj
Ri
yi yj
i
Tj
xi
Figure 2.3. transformation d’un vecteur
Exemple 2.1. :en utilisant la formule [2.5a],déduire de la figure 2.4 les matrices iTj et
j
Ti .on obtient directement :
0 0 1 3 0 0 1 6
i
T j= 0 1 0 12 , Ti = 0 1
j 0 12
1 0 0 6 1 0 0 3
0 0 0 1 0 0 0 1
zi
yj
6
6
12 yi
zj
xj
3
xi
La position relative d’un point par rapport à un plan est indépendante des transformations
appliquées à l’ensemble (point ,plan).Ainsi :
Modélisation ,identification et commande des robots chapitre 2 5
j
Q jP= iQ iP= iQ iTj jP
Il s’ensuit que :
j
Q = iQ iTj [2.7]
1 0 0 a
i
Tj =Trans(a,b,c) = 0 1 0 b [2.8]
0 0 1 c
0 0 0 1
par la suite ,on utilisera aussi la notation Trans (u,d) pour désigner une translation d’une
valeur d le long d’un axe u .Ainsi ,la matrice Trans (a,b,c) peut etre décomposée en un produit
de trois matrices Trans(x,a) Trans(y,b) Trans(z,c) ,l’ordre des multiplications étant
quelconque .
zi
zj
yj
c b
a xj
xi
Soit Rot(x, ) cette rotation .on déduit de la figure les composantes des vecteurs unitaires
i
sj , inj , iaj portés respectivement par les axes xj yj et zj du repère Rj et exprimé dans Ri .Si l’on
note S et C les sinus et cosinus de respectivement ,elles s’écrivent :
i
sj =[1 0 0 0]T
i
nj =[0 C S 0]T [2.9]
i
aj =[0 - S C 0]T
1 0 0 0 0
Tj =Rot (x, )=
i 0 C S 0 = rot(x,) 0 [2.10]
0 S C 0 0
0 0 0 1 0 0 0 1
rot(x, )désignant la matrice d’orientation de dimension (3x3).
zj zi
yj
aj
nj
yi
sj
xj
xi
C 0 S 0 0
i
Tj =Rot (y, )= 0 1 0 0 = rot(y,) 0 [2.11]
S 0 C 0 0
0 0 0 1 0 0 0 1
on vérifie que :
C S 0 0 0
i
Tj = Rot(z, ) = S C 0 0 = rot(z,) 0 [2.12]
0 0 1 0 0
0 0 0 1 0 0 0 1
s x nx a x Px
Py P
T= s y n y a y A
= 0 0 0 1 [2.13]
s z nz a z Pz
0 0 0 1
Modélisation ,identification et commande des robots chapitre 2 7
b)la matrice A est orthogonale ,c’est à dire que la matrice inverse est égale à la matrice
transposée :
On peut aussi multiplier à gauche les termes de l’expression [2.6] par iTj-1 inverse de iTj :
i
Tj-1 iPl =jPl [2.16]
e)l’inverse d’une matrice de transformation représentée par la relation [2.13] peut être
calculée par :
sT P
AT nT P AT AT P
T-1= = [2.20]
a P 1
T 0 0 0
0 0 0
1
T1T2= A1 P1 A2 P2 = A1 A2 A1P2 P1 [2.21]
0 0 0 1 0 0 0
1 0 0 0 1
Modélisation ,identification et commande des robots chapitre 2 8
h) Si un repère Rj défini dans le repère Ri par la transformation iTj ,subit une transformation
T exprimée dans le repère Ri , le repère Rj se transforme en Rj ??? avec
i
Tj =T iTj (figure 2.8).
_une multiplication à droite de la transformation signifie que la transformation 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 .
z1 R2 z2
1
T2
R1
x2
0
T1 zk-1
z0 y1 y2
k-1
x1 Tk
R0
Xk-1 yk-1 zk
x0 xk yk
0
Tk
zj
i
Tj Rj
zj′
zi yj Rj′
T zi′ xj
Ri yi′
i i
yi ′Tj′ = Tj
Modélisation ,identification et commande des robots chapitre 2 9
xi xi′
T iTj =iTj′
Exemple 2.2.Soit la transformation composée illustrée par la figure 2.9 et définie par :
0
T2 =Rot(x,30°)Trans (y,d)
-multiplication à droite (figure 2.9a) :on applique la rotation puis la translation (lecture de
gauche à droite de 0T2) ,la translation est appliquée sur le nouveau repère R1 .
-multiplication à gauche (figure 2.9b) :on applique la translation puis la rotation par rapport au
repère R0 (lecture de droite à gauche de 0T2 .
z2 z2
z0 trans (y,d) z0
z1 Rot(x,30)
x2 x2 z1
Rot(x,30°) x1
x0, x1 x0 Trans (y,d)
a) b)
considérant maintenant une rotation Rot(u, θ) autour d’un axe portant un vecteur unitaire
u=[ux uy uz]T passant par l’origine du repère Ri (figure 2.10).
Modélisation ,identification et commande des robots chapitre 2 10
on définit le repère Rk de telle sorte que zk soit porté par le vecteur u et que l’axe xk soit la
perpendiculaire commune à zk et zi . la matrice iTk .peut etre obtenue par composition des
transformations suivantes :
i
Tk= Rot (z,α)Rot(x,β) [2.26]
ou α est l’angle entre l’axe xi et l’axe xk autour de zi et ou β est l’angle entre zi et u autour de
xk
en développant la relation [2.26] ,on obtient :
u S
u= ak = u y = C S
x
i
[2.27]
C
u z
ŭ=zk θ α yk
β β yi
α
yi
xi β
xk
Tourner autour de u est équivalent à tourner autour de l’axe z du repère Rk .a partir des
propriétés g et h du §2.3.6.on déduit que :
D’oừ
0
Rot(u, θ)= rot(u,) 0
0
0 0 0 1
s x n x a x 0
0
T= s y n y a y [2.33]
s z n z a z 0
0 0 0 1
On cherche à identifier les termes u et θ de l’expression suivante :
D’après les expressions [2.30]et [2.33] ,en faisant la somme des termes diagonaux on trouve :
C θ= 1 (sx+ny+az-1) [2.34]
2
A partir des termes extradiagonaux , on obtient :
2uxS θ =nz-ay
2uyS θ=ax-sz [2.35]
2uzS θ=sy-nx
se fait en utilisant l’équation [2.35] si θ 0.lorsque S θ est petit ,les paramètres ux, uy et uz ne
sont pas déterminés avec précision par cette équation .Cependant dans le cas ou C θ<0,on
obtient ux , uy et uz par une méthode plus exacte en identifiant les termes de la diagonale
principale de Rot(u, θ) avec ceux de la relation [2.33] :
ux= sx C ,uy= ny C ,uz= az C [2.38]
1C 1C 1C
A partir des signes des termes [2.35] ,on déduit que :
ux=sign(nz-ay) sx C
1C
uy=sign(ax-sz) ny C [2.39]
1C
uz=sign(sy-nx) az C
1C
Modélisation ,identification et commande des robots chapitre 2 12
Soit :
0 1/ 2 1/ 2 0
= 1/ 2 1/ 2 1/ 2 0
1/ 2 1/ 2 1/ 2 0
8 8 8 1
2.4.1.Définition
nous présentons dans ce paragraphe une méthode de description de la vitesse d’un solide dans
l’espace fondée sur l’utilisation du torseur cinématique .
l’application qui à tout point Oi du corps Ci fait correspondre un vecteur Vi est appelé champ
de vecteur .Si ce vecteur est une vitesse ,on parlera des champs des vitesses .le champ des
vitesses est antisymétrique ,ce qui caractérise un torseur , appelé torseur cinématique .on
appelle éléments de réduction du torseur cinématique .on appelle éléments de réduction du
torseur cinématique en Oi .
Vi :moment résultant en Oi représentant la vitesse absolue de l’origine par rapport à R0
, tel que Vi = d ( O0OI) .
dt
Wi :résultante du torseur représentant le vecteur de rotation instantanée du corps Ci par
rapport à R0
La connaissance de ces deux éléments permet de calculer la vitesse d’un point Oj par l
a relation fondamentale suivante :
Vj =Vi+ i xOi Oj [2.40]
Le symbole x désigne le produit vectoriel ou les composantes de Vi et de i peuvent être
concaténées pour composer le vecteur yi :
Yi =[Vi T i T]T [2.41]
Le vecteur Yi est appelé vecteur du torseur cinématique en Oi .
Soit iVi et iωi les vecteurs représentant le torseur cinématique en Oi exprimé dans le
repère Ri . on veut calculer les vecteurs jVj et jωj du torseur cinématique en Oj exprimé dans
le repère Rj .en remarquant que :
ωj=ωi [2.42]
Vj=Vi + ωixLi.j [2.43]
i i
Vj = I3 iPˆj V i [2.45]
i 03 I3 i
j i
j
V j Ai i 03 I3 iPˆj iV
= i
03 I3 i
j
j 0 3 J Ai
i
j
i
j Ai jAi iPˆj V i
= i [2.46]
J Ai
03
i
i)produit :
0
Tj= 0T1.1T2…….j-1Tj [2.48]
ii)inverse:
De même ,la transformation iTj+d iTj peut etre calculée par multiplication à droite en fonction
de jdj et de juj par la relation :
i
Tj+d iTj= iTj Trans (jdxj ,jdyj ,jdzj )Rot(juj ,dθ) [2.52]
et la différentielle devient :
en supposant dθ suffisamment petit pour que les approximations S(dθ)= dθ et C(dθ) =1 soient
valides ,la matrice de transformation de rotation pure d’un angle dθ autour d’un axe de
vecteur unitaire u se calcule à partir de la relation [2.30] et en utilisant [2.54] :
jˆ d j = juˆ j jd j dj
j
j j
j
[2.57]
0 0 0 0 0 0 0 0
zn
yn
zE
xE
yE
Figure 2.11. Exemple 2.4
D’une façon analogue ,on peut aussi évaluer l’influence d’une erreur de position et
d’orientation de l’organe terminal sur la situation de l’outil . supposant que l’on ait une borne
Modélisation ,identification et commande des robots chapitre 2 16
de l’erreur de position de 10 mm dans toutes les directions et que l’on estime à 0.01 radians
l’erreur de rotation autour de x :
n
dn=[ 0.01 0.01 0.01 ]T . nδn =[ 0.01 0 0 ]T
l’erreur propagée jusqu’à l’outil se calcule par :
E
δE=EAn nδn EdE= EAn(nδnx nPE + ndn)
D’ou le résultat :
E
dE=[ -0.013 0.01 0.011 ]T . EδE=[ 0 0.01 0 ]T
2.6.Torseur dynamique
un effort en Oi est représenté par un torseur dynamique fi dont la résultante est la force fi
et le moment autour de Oi est mi :
fi= f i [2.59]
mi
on peut aussi interpréter l’effort fi comme étant une force fi au point Oi et un couple mi .
Etant donné un effort ifi ,exprimé dans un repère Ri associé à un corps quelconque
,pour calculer l’effort équivalent jfj exprimé dans un repère Rj du même corps ,on utilise la
matrice de transformation entre torseurs de telle sorte que :
jm j j imi
j f j = Ti i fi [2.60]
après développement ,l’équation [2.60] s’écrit :
j
fj =jAi ifi [2.61]
i
mj = jAi(ifi x iPi +imi) [2.62]
il est souvent plus pratique d’inter changer l’ordre de fi et mi .Dans ce cas , la relation [2.60]
devient :
jm j i T i fi
j f j = Tj imi [2.63]
n
fn =nAE EfE
n
mn = nAE (EfE x EPn +Emn
L’application numérique conduit à :
n
fn=[ 0 0 0.5]T
n
mn=[0.5 0 3]T
2.7. conclusion