Commande des Robots Manipulateurs Chapitre II : MODELISATION GEOMETRIQUE
MODELISATION GEOMETRIQUE
I Introduction :
Un bras manipulateur est considéré comme une chaîne de segments rigides interconnectés entre eux
par le biais d’articulations rotoïdes ou prismatiques.
Le modèle géométrique est l’étude analytique de la géométrie du robot et de son outil de travail par
rapport à un référentiel fixe sans prendre en compte les vitesses, les forces et les moments.
Il y’a deux problèmes fondamentaux dans la modélisation géométrique :
1- Soit un robot avec un vecteur articulaire q=[q1, q2,q3, …, qn] et des paramètres géométriques
(longueurs, …), quelle est la position et l’orientation et l’orientation de son outil de travail par
rapport à un référentiel fixe R0 : ceci est le modèle géométrique directe.
2- Soit les paramètres du robot, pour une position et orientation de l’outil de travail du robot / R0,
quelles sont les valeurs des variables articulaires qui permettent d’atteindre cette position dans le
cas ou c’est possible (modèle géométrique inverse).
II Modèle géométrique direct :
II.1 Introduction :
Pour le calcul du modèle géométrique d’un robot nous faisons appel au calcul vectoriel et matriciel,
ceci pour développer une approche systématique et général. Pour décrire la localisation d’un segment du
robot par rapport à un référentiel fixe R0.
Soit un point P exprimé dans un repère OUVW.
Soit le repère OUVW, issu de la rotation du repère OXYZ par rapport à un de ces axes, la matrice de
rotation A est la matrice de transformation qui nous permet d’exprimer les coordonnées du point P dans le
repère OXYZ.
Soit (Ix, Jy, Kz) et (Iu, Jv, Kw) les vecteurs unitaires respectifs es
Z
repères OXYZ et OUVW.
Les coordonnés du point P :
Puvw = (Pu, Pv, Pw)t.
Pxyz = (Px, Py, Pz)t.
P Sachant que Puvw et Pxyz correspondent aux
coordonnées du même point nous devons trouver
une matrice 3 x 3 qui transforme les coordonnées
W
Puvw en Coordonnées exprimées dans OXYZ tel
O V Y
que :
U
Pxyz = R . Puvw
Puvw = Pu.Iu+Pv.Jv+Pw.kw
Pxyz représentent les composantes du point P le
long des axes Ox, Oy, Oz ou la projection du point
X
P sur ces axes.
En utilisant la définition du produit scalaire :
Px = Ix.P = Ix . IuPu + Ix . JvPv + Ix . KwPw
Py = Jy.P = Jy . IuPu + Jy . JvPv + Jy . KwPw
Pz = Kz.P = Kz . IuPu + Kz . JvPv + Kz . KwPw
ce qui donne :
Commande des Robots Manipulateurs Chapitre II : MODELISATION GEOMETRIQUE
= . Pxyz = R . Puvw
Nous allons nous intéresser à trouver l’expression de R qui exprime la rotation de Ouvw par rapport
à un des axes du référentiel Oxyz.( exemple Rx,α : rotation par rapport à l’axe x d’un angle α)
1 0 0 cosθ 0 sinθ # − # 0
, = 0 − Ry, θ = 0 1 0 ,# = # # 0
0 −sinθ 0 cosθ 0 0 1
Lorsqu’il y’a trois rotations successifs, le résultat sera la multiplication des trois matrices, l’ordre doit être
1 0 0
cosθ 0 sinθ # − # 0
respecté.
, . Ry, θ. ,# = 0 − . 0 1 0 . # # 0 .
0 −sinθ 0 cosθ 0 0 1
R=
Dans ce cas l’ordre est : 1- , ensuite, 2- , θ ensuite, 3- Rz, #.
II.2 Orientation d’un repère par rapport à un repère fixe :
Pour connaitre l’orientation d’un corps par rapport à un repère fixe nous pouvons utiliser 3 méthodes
qui sont :
II.2.a Cosinus directeurs :
%1 ∝1 ∝2 ∝3 +1
%2 = )1 )2 )3 . +2
z0 zb
%3 *1 *2 *3 +3
yb
g3 g2
e3
e2
y0 g1
e1
Avec α1β1 + α2β2 + α3β3 = 0
x0 xb α1γ1 + α2γ2 + α3γ3 = 0
γ1β1 + γ 2β2 + γ 3β3 = 0
et α1 + α2 + α3 =1, γ1 + γ2 + γ3 = 1 et β1 + β2 + β3 = 1
RO : rotation de # autour de z0 R1 : rotation de α autour de x1 R2 : rotation de θ autour de z2
II.2.b Angles d’EULER : trois rotations successives autour de z0, x1 et enfin autour de z2.
# − # 0 1 0 0 , − , 0
# # 0 . 0 − . , , 0
0 0 1 0 0 0 1
II.2.c Angles de BYAN : trois rotations autour de x1, y2 et z3
1 0 0 cosθ2 0 sinθ2 ,3 − ,3 0
RO : rotation de θ1 autour de x0 R1 : rotation de θ2 autour de y1 R2 : rotation de θ3 autour de z2 R3
0 ,1 − ,1 . 0 1 0 . ,3 ,3 0
0 ,1 ,1 −sinθ2 0 cosθ2 0 0 1
E1 = A(θ1) . E0 E2 = A(θ2) . E1 E3 = A(θ3) . E2
Après multiplication : E3 = A(θ3) . A(θ2) . A(θ1) . E0 (exercice : donner l’expression de la matrice
résultante).
Commande des Robots Manipulateurs Chapitre II : MODELISATION GEOMETRIQUE
III Position et orientation d’un point C du corps Bi dans le repère Ro :
III. 1 Méthode utilisant les matrices 3x3 : soit une succession de corps solides indéformables
formant une chaîne mécanique articulé.
Bi-1 Ri
B1 Ri-1 Bi
R1 C
B0
Ri étant les repères associés à chaque corps
Bi étant les corps (segments) constituant le robot
C : point appartenant au dernier segment, il sera assimilé à l‘outil de travail
R0
Le corps Bo et son repère sont fixes, le corps final Bi ainsi que chaque corps intermédiaire sont
connu dans leurs propre repère et sont mobiles.
Définir le modèle géométrique direct reviens à connaitre :
1- L’orientation du repère Ri par rapport au repère Ro.
2- La position du point C (Outil de Travail) du point Bi (connu dans Ri) par rapport au repère Ro.
Si -.
A- Orientation du repère Ri par rapport au repère Ro :
./0
vecteur unité j du repère Rj : j+1 = -. . j => (Rj+1) = -.
./0 ./0
représente la matrice de passage exprimant le vecteur unité j+1 du repère Rj+1vis à vis du
. (Rj)
En reprenant la figure précédente, on pourra donc aller du repère Ro au repère Ri par les
(R1) = -02 . (Ro), (R2) = -03 . (R1), …………………. (Ri) = -4450 . (Ri-1).
transformations successives suivantes.
Et donc : (Ri) = -4450 . -450
453 ……….-0 . -2 .(Ro) = -2 . (Ro)
3 0 4
V(Ri) = -42 . V(Ro). V(Ro) = (-42 ) V(Ri)
Pour n’importe quel vecteur V connu dans le repère Ri on pourra écrire :
-1
=>
Det(-42 ) = 1 => (-42 ) = (-42 ) -24
Propriétés :
-1 t
V(Ro) = (-42 ) . V(Ri) = -24 . V(Ri).
noté
t
B- Position d’un point C du corps Bi dans le repère Ro :
En utilisant les propriétés des vecteurs :
Or OiC(Ro) = -24 . OiC(Ri).
OC(Ro) = OOi(Ro) + OiC(Ro).
Commande des Robots Manipulateurs Chapitre II : MODELISATION GEOMETRIQUE
Donc OC(Ro) = OOi(Ro) + -24 .OiC(Ri)
De la même manière OOi(Ro) = OOi-1(Ro) + Oi-1Oi(Ro) et Oi-1Oi(Ro) = -2450 . Oi-1Oi(Ri-1)
OC(Ro) = OOi-1(Ro) + -2450 . Oi-1Oi(Ri-1) + -24 . OiC(Ri).
OC(Ro) = OO1(Ro) + -02 .O1O2(R1) + -23 .O2O3(R2) + ……+ -2450 . Oi-1Oi(Ri-1) + -24 . OiC(Ri).
Et par voie de récurrence :
Si l’on considère que le vecteur X que l’on doit contrôler correspond à l’orientation du corps Bi et à
X= (-24 , OCxo, OCyo,OCzo) ou
la position du point C donc X aura pour composantes :
-24 est la matrice d’orientation et (OCxo, OCyo,OCzo) composante position.
III. 2 Méthode utilisant les matrices 4x4 (transformation homogènes) :
Cette méthode repose sur l’utilisation des coordonnées homogènes.
Soit un point de coordonnées OC = V = (a, b, c)t.
On choisi de décrire ce point par un vecteur à 4 composantes :
V= ( x, y, z, ω) avec x = a . ω, y = b . ω, z = c . ω.
Dans ce cas plusieurs transformations de vecteurs peuvent se représenter par les matrices 4 x 4.
1. Dans les cas d’une translation :
1 0 0 9
• La translation d’un point suivant un vecteur (a, b, c)t vas s’écrire :
0 1 0 :
8 ;
0 0 1
0 0 0 1
Exemple : translatons le point de coordonnées x = 2, y = 3, z = 4, et ω = 1 d’un vecteur de coordonnées :
1 0 0 −1 2 1
a = -1, b = 2, et c = 1 ceci donne.
0 1 0 2 3 5
8 ;.8 ;=8 ;
0 0 1 1 4 5
0 0 0 1 1 1
1 0 0 0 , 0 , 0 , − , 0 0
2. Dans le cas d’une rotation, on peut définir une rotation d’un angle θ de la manière suivante :
0 , − , 0 0 1 0 0 , , 0 0
8 ; 8 ; 8 ;
0 , , 0 − , 0 , 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
Rotation / axe x de θ Rotation /axe y de θ Rotation /axe z de θ
Commande des Robots Manipulateurs Chapitre II : MODELISATION GEOMETRIQUE
Cette méthode est valable si nous respectons deux conventions qui sont :
1- Partant de la base fixe du robot, il faut attacher les repères liés à chaque corps à l’extrémité de
chacun d’eux.
2- Nous devons faire les produits matriciels successifs en partant de la base et en allant vers l’outil de
travail car les matrices 4 x 4 ne sont pas commutatives.
III. 3 Notion de DENAVIT-HARTENBERG pour la modélisation des robots :
1. Chaine cinématique d’un bras manipulateur
On ne considère ici que les systèmes mécaniques composés de chaines cinématiques Poly-articulées
ouvertes, appelés bras manipulateurs série.
On supposera par la suite les bras manipulateurs constitués de n corps mobiles, supposés
parfaitement rigides, reliés entre eux par n liaisons rotoïdes et/ou prismatiques formant une structure de
chaine simple
Chaine cinématique d’un bras manipulateur série
La technique la plus répandue pour décrire la géométrie d’un bras manipulateur, consiste à utiliser les
paramètres de Denavit-Hartenberg . On associe au ième corps le repère Ri = (Oi, xi, yi, zi), avec i = 0, 1, . . .,
n. Pour placer les repères R1 à Rn−1 selon la règle des paramètres de Denavit-Hartenberg, il convient de
suivre les règles suivantes, pour i = 2, 3, . . . , n
• Oi−1 est le pied de la perpendiculaire commune aux axes des liaisons Li−1 et Li, situé sur Li−1. Si
les axes des liaisons sont parallèles, il faut choisir arbitrairement une perpendiculaire commune ;
• Xi−1 est le vecteur unitaire de cette perpendiculaire commune, orienté de Li−1 vers Li. Si les axes
des deux liaisons sont concourants ou confondus, l’orientation est arbitraire ;
• Zi−1 est un vecteur unitaire de l’axe de la liaison Li−1, librement orienté. On privilégie généralement
les débattements positifs pour les liaisons prismatiques et on symétrise généralement par rapport à 0
le débattement des liaisons rotoïdes;
• yi−1 est tel que le repère Ri−1 soit orthonormé direct.
• Ensuite, le repère R0 est défini librement en suivant des considérations de simplicité.
• De même, le point On est choisi de façon à annuler un maximum de paramètres. Un point On+1 est
associé à l’OT du bras manipulateur, selon des critères opérationnels
Une autre manière de faire :
Pour définir ces transformations, il est tout d'abord nécessaire de définir les axes des liaisons :
1. Les axes @@@@A
>? sont suivant les axes des liaisons.
2. Les axes @@@@A
B? sont parallèles à la normale commune à @@@@@@@@@A
>?50 et @@@@A @@@@A
>? soit : B @@@@@@@@@A @@@@A
? = >?50 ⋀ >?
@@@A
3. Les axes D @@@@A @@@@A
? sont choisi de manière à former un trièdre direct avec les axes >? et B? .
Commande des Robots Manipulateurs Chapitre II : MODELISATION GEOMETRIQUE
1. di, la distance selon l'axe @@@@A
>? entre les axes @@@@A @@@@@@@@@A
B? +E B ?/0
2. θi, l'angle entre autour de l'axe @@@@A @@@@A
>? entre les axes B @@@@@@@@@A
? +E B?/0
3. ri, la distance selon l'axe @@@@A
B? entre les axes @@@@@@@@@A
>?50 +E > @@@@A
? . C'est donc également la longueur de la
4. αi, l'angle entre autour de l'axe @@@@A
B? entre les axes @@@@@@@@@A @@@@A
normale commune.
>?50 +E > ? .
Liaisons selon DENAVIT-HARTENBERG.
Le passage de (Ri) à (Ri+1) s’exprime en suivant les 4 transformations suivantes :
ai : Longueur de la perpendiculaire commune aux axes des liaisons Li et Li+1 .
d i : Distance le long de l’axe, du support de X i au support de X i +1 .
αi : Angle entre Zi et Z i +1 mesuré autour de X i +1 .
θ i : Angle entre X i et X i +1 mesuré autour de Z i +1 .
La position et l’orientation du corps Ci par rapport au corps Ci-1 sont définies par la matrice de
passage homogène Ti,i+1 du repère Ri (lié à Ci-1 ) au repère Ri+1 (lié à Ci).
Cette matrice s’obtient en fonction des quatre paramètres de D-H, ai , d i , αi , θ i .
Conformément au paramétrage de DENAVIT-HARTENBERG, la matrice de passage entre les
corps Ci-1 et Ci est donc :
Ti,i+1 = rot( Zi , θ i ) × trans(0, 0, d i ) × trans( ai , 0, 0) × rot( X i , αi )
Cos θ i −Sin θ i . Cos αi Sin θ i . Sin αi ai Cos θ i
H N
GSin θ i Cos θ i . Cos αi −Cos θ i . Sin αi ai Sin θ i M
Ti,i+1 = G M
G 0 Sin αi Cos αi di M
F 0 0 0 1 L
Commande des Robots Manipulateurs Chapitre II : MODELISATION GEOMETRIQUE
Ri, i + 1 Pi, i + 1
Ti, i+1 = O R
0 1
Autre manière de disposer les repères :
1. Etablir un repère orthonormé (Oo, Xo, Yo, Zo) à la base du robot en choisissant l’axe Zo le long
de l’axe de l’articulation.
2. Etablissement des axes des articulations, il faut aligner l’axe Zi avec celui de l’articulation i+1.
3. L’intersection entre Zi et la normale à Zi+1 donne Oi (cette origine peu ne pas être au centre de
l’articulation).
4. Cette normale sera l’axe Xi.
5. Xi doit être le long de la normale commune entre Zi et Zi+1 lorsqu’ils sont parallèles.
6. Selon la règle des trois doigts établir l’axe Yi.
IV Modèle géométrique des robots manipulateurs :
Nous somme obligés de calculer toutes les matrices Ti, i+1 qui sont les matrices de passage
homogènes élémentaires d’un repère {Ri} au repère {Ri+1}. Le produit des matrices de passage homogènes
élémentaires permet le calcul de la matrice de passage homogène du repère {R0} (lié au bâti) au repère
{Rn} (lié à l’outil de travail).
La matrice T0,n résultante de la multiplication des différentes matrices de passage Ti,i+1 nous permet
d’obtenir la matrice de passage homogène du repère R1 lié au bâti au repère Rn lié à l’organe terminal, où
Ri,i+1 représente la rotation entre les repères Ri+1 et Ri et Pi,i+1 la translation entre ces mêmes repères.
T0,n = T0,1 . T1,2 . T2,3 ....... Tn-1,n
avec S2,? = O 2,? 2,?
R
0 1
2,? : [3x3] Matrice d’orientation de l’outil de travail.
2,? : [3x1] Matrice position de l’outil de travail.
Expression du modèle géométrique du robot
A- Position de l’outil de travail :
Soit ti,j l’élément ij de la matrice T0,n, la position de l’outil de travail (en coordonnées cartésiennes )
est donnée par la matrice P0,n telle que : BTU = l = E0V DTU = m = E3V >TU = n = EWV
B- Orientation de l’outil de travail :
L’orientation de l’outil de travail est obtenue à l’aide de la matrice de passage R0,n :
1. Paramètre d’EULER :
φ = ( sgnt (t32-t23) ).√ t11-t22-t33+1
α = ( sgnt (t13-t31) ).√ -t11-t22-t33+1 sgnt : représente la fonction signe.
θ = ( sgnt (t21-t12) ).√ -t11-t22-t33+1
1. Angles de BRYAN :
θ1= Atan [ 2 .(-ε .t23/ε . t33) ] Φ1=[0,2π]
θ2= Atan [ t13/ε .√( t123 + t113 ) ] Φ2=[0,2π] Atan : représente la fonction E%50
θ3= Atan [ 2 .(t12/ t11) ] Φ3=[0,2π]
1. Cosinus directeurs :
Commande des Robots Manipulateurs Chapitre II : MODELISATION GEOMETRIQUE
Xx=t11 Yx=t12 Zx=t13
Xy=t21 Yy=t22 Zy=t23
Xz=t31 Yz=t32 Zz=t33
Méthode générale pour calculer le modèle géométrique :
.On définie le nombre de corps du robot (de 1 à n). .On place le robot (toutes ces articulationst) dans sa position zéro.
.On définie le nombre de liaisons du robot (de 1 à n).
.Ceci peut être arbitraire, mais il est conseillé de prendre la
.On définie le nombre de système de coordonnées (n+1)(O à n)
position suggérée par le fabricant s’il y en a une.
On détermine les 4 variables de D-H
: Angle de vrillage, rotation par rapport à Xi.
: Distance de translation le long de l’axe Zi. 1. On identifie l’axe Zi de tous les repères.
: Angle de rotation par rapport à Zi. -Liaison rotoide – axe de rotation.
-Liaison prismatique – axe de translation.
: Distance de translation le long de l’axe Xi.
2. On identifie l’axe Xi
-L’axe Xi coïncide avec le segment de droit perpendiculaire à la
fois à Zi et l’axe Zi+1.
-L’axe Yi est trouvé par la règle de la main droite.
-Formation des matrices de transformation élémentaires. 3. Dans cette convention l’axe Xn et l’axe X0 sont arbitraires,
-Formation des matrices de transformation globales. on les choisit le plus simplement possible.
V Modèle géométrique inverse des robots manipulateurs :
Lorsque l’on veut commander un robot, c’est le vecteur X qui est connu et donc il faut remonter à la
connaissance des qi qui lui correspondent.
Le modèle géométrique inverse (MGI) est l’ensemble des relations inverses à celle du modèle
géométrique direct. Ce modèle permet d’exprimer les variables articulaires q du bras manipulateur en
q = Y5Z (X)
fonction des coordonnées opérationnelles X exigées pour l’exécution d’une tâche donné.
L’inversion sera jugée par 03 critères :
7. Le modèle doit être très proche de la réalité.
8. Le temps de calcul du modèle doit être compatible avec la tâche.
calculer q = [ 50 (x).
9. Le modèle géométrique direct doit être inversible. Partant de x = f(q), on doit être capable de
Il n’existe pas une méthode analytique générale qui permette de résoudre le MGI.
Cependant un certain nombre de méthodes, adaptées à des classes de cinématiques particulières sont
souvent citées en bibliographie et permettent de traiter le problème
Les Méthode de PIEPER, méthode de PAUL, méthode de LEE ce sont des méthodes qui sont adaptés
au robot manipulateur ayant 6 ddl de type rotation.
La méthode numérique n’est pas très utilisée pour cause de convergence.
En général les concepteurs de robots calculent le modèle géométrique inverse en utilisant les
relations de base de la géométrie classique et celles de la trigonométrie.
Pour illustrer cette complexité nous allons donner un exemple :
Commande des Robots Manipulateurs Chapitre II : MODELISATION GEOMETRIQUE
Θ1 On s’intéresse au point C représenté par le
vecteur X exprimé dans Ro :
L4 Xc = (P3+L2)S1S2+L4S1(s(2+3)).
P3 Yc = -(P3+L2)C1S2-L4C1s(2+3).
Zc = Lo+L1+(P3+L2)C2+L4c(2+3).
Nous choisissons à l’avance les coordonnées
C du point C. nous désirons calculer les valeurs
L2 des variables articulaires (θ1, θ2, P3, θ3) qui
amènent C au point choisi. Il faut inverser les
03 équations (Xc, Yc, Zc). Nous pouvons
Θ2 rencontrer 03 types de problèmes :
1) Géométrie élémentaire :
L1 θ1 Il faut que Zc <Lo+L1+L2+P3max+L4.
2) Problème mécanique : les θi ne font
Pas des rotations de 360° donc limitation du
Lo volume de travail.
3) Problème mathématique : (supposons
que 1 et 2 ne se posent pas).
Nous avons 3 équations à 4 inconnues, il peut y avoir une infinité de solutions pour lesquelles chacune des 3
inconnues sont fonction de la 4ième.
VI Résolvabilité d’un robot manipulateur :
opérationnelles, si connaissant le modèle géométrique x = f(q), une solution unique à l’équation q = Y5Z(x)
On dit qu’un robot est résolvable pour une tâche impliquant un type de vecteur de coordonnées
peut être atteinte mathématiquement. La résolvabilité est liée au choix du type de vecteur x.
Si le robot a 6 ddl, x représente la position et l’orientation de l’outil de travail dans Ro.
Si le robot a 3ddl x représente uniquement la position de l’outil de travail.
Il est préférable d’avoir la dimension N de x = la dimension N de q et même dans ce cas il n’est pas
toujours résolvable.