Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

Modlisation gomtrique des robots - Commande en position des

robots

54

U1 : T12 U2
s1 : Extrait (U1 , 1)

Cq2 (Cq3 (Sq4 Sq6 + Cq4 Cq5 Cq6 ) Sq3 (Sq4 Cq5 Cq6 Cq4 Sq6 )) Sq2 (Sq3 (Sq4 Sq6 + Cq4 Cq5 Cq6 ) + Cq3 (Sq4 Cq5 Cq6 Cq4 Sq6 ))
Cq2 (Sq3 (Sq4 Sq6 + Cq4 Cq5 Cq6 ) + Cq3 (Sq4 Cq5 Cq6 Cq4 Sq6 )) + Sq2 (Cq3 (Sq4 Sq6 + Cq4 Cq5 Cq6 ) Sq3 (Sq4 Cq5 Cq6 Cq4 Sq6 ))
Sq5 Cq6

n1 : Extrait (U1 , 2)

Cq2 (Cq3 (Sq4 Cq6 Cq4 Cq5 Sq6 ) Sq3 (Sq4 Cq5 Sq6 Cq4 Cq6 )) Sq2 (Cq3 (Sq4 Cq5 Sq6 Cq4 Cq6 ) + Sq3 (Sq4 Cq6 Cq4 Cq5 Sq6 ))
Sq2 (Cq3 (Sq4 Cq6 Cq4 Cq5 Sq6 ) Sq3 (Sq4 Cq5 Sq6 Cq4 Cq6 )) + Cq2 (Cq3 (Sq4 Cq5 Sq6 Cq4 Cq6 ) + Sq3 (Sq4 Cq6 Cq4 Cq5 Sq6 ))
Sq5 Sq6

a1 : Extrait (U1 , 3)

Cq2 (Sq3 Sq4 Sq5 Cq3 Cq4 Sq5 ) Sq2 (Cq3 Sq4 Sq5 Sq3 Cq4 Sq5 )
Sq2 (Sq3 Sq4 Sq5 Cq3 Cq4 Sq5 ) + Cq2 (Cq3 Sq4 Sq5 Sq3 Cq4 Sq5 )
Cq5
P : Extrait (U1 , 4)

1
Cq2 (D4 Cq3 + D3 ) D4 Sq2 Sq3
D4 Cq2 Sq3 + Sq2 (D4 Cq3 + D3 )
0
U0 : T01 U1
s0 : Extrait (U0 , 1)

Cq2 (Cq3 (Sq4 Sq6 + Cq4 Cq5 Cq6 ) Sq3 (Sq4 Cq5 Cq6 Cq4 Sq6 )) Sq2 (Sq3 (Sq4 Sq6 + Cq4 Cq5 Cq6 ) + Cq3 (Sq4 Cq5 Cq6 Cq4 Sq6 ))
Cq2 (Sq3 (Sq4 Sq6 + Cq4 Cq5 Cq6 ) + Cq3 (Sq4 Cq5 Cq6 Cq4 Sq6 )) + Sq2 (Cq3 (Sq4 Sq6 + Cq4 Cq5 Cq6 ) Sq3 (Sq4 Cq5 Cq6 Cq4 Sq6 ))
Sq5 Cq6

n0 : Extrait (U0 , 2)

Cq2 (Cq3 (Sq4 Cq6 Cq4 Cq5 Sq6 ) Sq3 (Sq4 Cq5 Sq6 Cq4 Cq6 )) Sq2 (Cq3 (Sq4 Cq5 Sq6 Cq4 Cq6 ) + Sq3 (Sq4 Cq6 Cq4 Cq5 Sq6 ))
Sq2 (Cq3 (Sq4 Cq6 Cq4 Cq5 Sq6 ) Sq3 (Sq4 Cq5 Sq6 Cq4 Cq6 )) + Cq2 (Cq3 (Sq4 Cq5 Sq6 Cq4 Cq6 ) + Sq3 (Sq4 Cq6 Cq4 Cq5 Sq6 ))
Sq5 Sq6

a0 : Extrait (U0 , 3)

Cq2 (Sq3 Sq4 Sq5 Cq3 Cq4 Sq5 ) Sq2 (Cq3 Sq4 Sq5 Sq3 Cq4 Sq5 )
Sq2 (Sq3 Sq4 Sq5 Cq3 Cq4 Sq5 ) + Cq2 (Cq3 Sq4 Sq5 Sq3 Cq4 Sq5 )
Cq5
P : Extrait (U0 , 4)
0

Cq2 (D4 Cq3 + D3 ) D4 Sq2 Sq3


D4 Cq2 Sq3 + Sq2 (D4 Cq3 + D3 )
q1
./MGDH80.mac

2.3.3.3

2.4
2.4.1

MGD du robot AFMA

Modlisation gomtrique inverse dun robot


Introduction

Le modle gomtrique direct MGD permet de calculer les coordonnes oprationnelles X en fonction des coordonnes articulaires q :

2.4 Modlisation gomtrique inverse dun robot

55

M GI

M GD
Le problme inverse MGI consiste calculer les coordonnes articulaires qui
amnent lorgane terminal dans une situation dsire, spcifie par ses coordonnes
oprationnelles.
Lorsquelle existe, la forme explicite qui donne toutes les solutions possibles au
problme inverse (il y a rarement unicit de la solution) constitue ce que lon appelle
le modle gomtrique inverse MGI.
Il nexiste pas une mthode analytique gnrale pour trouver le MGI, mais un
certain nombre de mthodes, plus ou moins adaptes des classes de cinmatiques
particulires :
la mthode de Pieper [Pie68] : permet de rsoudre le problme pour un nombre
limit darchitectures simples (robots 6 degrs de libert (ddl), possdant 3
articulations rotodes daxes concourants ou 3 articulations prismatiques).
la mthode de Paul [Pau81] : traite sparment chaque cas particulier et
convient la majorit des robots industriels
les mthodes gomtriques ([LZ83], Elgazzar 85) consistent trouver directement chaque variable articulaire partir de considrations gomtriques. Il y
a une grande dpendance de ces mthodes avec larchitecture du robot.
Lorsque le modle gomtrique inverse nexiste pas (pas de forme explicite), on utilise
des procdures numriques.
Par itrations successives, on calcule une solution particulire au problme inverse, qui est une solution locale (dpendant des conditions initiales). Outre cet
inconvnient, ces mthodes sont pnalisantes en temps de calcul.
citons par exemple :
les mthodes de type Newton RAPHSON procdant par linarisation de la
matrice de passage du mcanisme [Pie68].
les mthodes bases sur le modle diffrentiel inverse ([Fou80, Ren80, GBF85]).
les mthodes bases sur la transpose de la matrice jacobienne ([WE84, SS94]).
Nous utiliserons en dtail dans cette partie, les mthodes de Pieper et de Paul,
conduisant une forme explicite du transformateur de coordonnes (MGI).

2.4.2

Position du problme

Soit f TE la matrice de transformation homogne reprsentant la situation finale


dsire du repre outil par rapport au repre atelier.

Modlisation gomtrique des robots - Commande en position des


robots

56

On a vu que dans le cas gnral, on peut exprimer f TE sous la forme :


f

TE = Z.0 Tn .E

(2.35)

avec :
Z = matrice de transformation homogne dfinissant le repre R0 du robot
dans le repre atelier.
E = matrice de transformation homogne dfinissant le repre outil RE dans
le repre terminal.
0 T n = matrice de passage homogne du robot.
En regroupant droite les termes connus, on obtient la relation
U0 =0 T n = Z 1 .f TE .E 1

(2.36)

Le problme consiste trouver les variables articulaires q1 , q2 , ...qn pour que 0 T n soit
gal U0 .
On donne lexpression numrique de f TE et on connait celle de Z et de E.
En rsum :
X

Convension

TE

U0

q
(2.36)
Mthode de Paul

(2.37)

Conclusion : Aprs avoir calcul la valeur numrique de U0 partir de X, on


utilise lexpression analytique de U0 pour extraire le vecteur q. La principale difficult
est donc ette dernire tape.

2.4.3

Rsolubilit dun robot manipulateur (introduit par


Pieper 68)

Un robot manipulateur est dit rsoluble lorsquil est possible de calculer toutes
les configurations permettant datteindre une situation donne.
Tous les robots ne le sont pas, mais ce nest pas une condition ncessaire pour
la commande car dans de pareil cas, des mthodes itratives numriques sont mises
en oeuvre pour trouver une solution locale.
Daprs Roth (76), les robots moins de 6 ddl sont toujours rsolubles.
Avec 6 ddl, ils sont rsolubles lorsquils prsentent les caractristiques suivantes :
3 articulations prismatiques
3 articulations rotodes daxes concourants
1 articulation rotode et 1 articulation prismatique coaxiales
2 paires darticulations rotodes daxes concourants
Presque tous les robots 6 d.d.l. de lindustrie sont rsolubles.

2.4.4

Nombre de solutions au problme inverse

On peut constater pratiquement trois cas :

2.4 Modlisation gomtrique inverse dun robot

57

abscence de solutions.
Par exemple, lorsque la situation dsire est en dehors de la zone accessible du
robot. La zone accessible est limite par le nombre de ddl, les dbattements
articulaires, et la dimension des segments.
infinit de solutions.
Ce cas se prsente lorsque :
le robot est redondant vis--vis de la tche raliser.
le robot se trouve en configuration singulire. Il y a alors une redondance
locale qui se traduit par le fait que le robot ne peut dplacer son organe
terminal dans certaines directions ou tourner autour de certains axes. De ce
fait, il perd un ou plusieurs ddl. Tout cela est d aux valeurs numriques
particulires prises par les paramtres pour dcrire la situation dsire.
solution en ensemble fini.
Cest le cas lorsque toutes les solutions peuvent tre calcules sans ambigut.
La forme explicite est alors un ensemble de vecteurs q 1 , q 2 , ...q r qui satisfont
lquation
X = f (q i )
(2.38)
pourP
i = 1, 2, ..., r
r = nj=1 Kj reprsente le nombre de configurations articulaires possibles, et
Kj le nombre de solutions pour la variable articulaire qj .
Le nombre de solutions dpend de larchitecture du robot manipulateur. Il nexiste
pas de formule gnrale pour le dterminer.
Pour les classes de robots 6 ddl possdant trois articulations rotodes daxes
concourants, le nombre maximum de solutions est de 32 dans lhypothse ou aucun
paramtre gomtrique nest gal 0.
Ce nombre dpend des valeurs particulires des paramtres gomtriques, de
lamplitude des courses articulaires et donc du positionnement des butes mcaniques et/ou lectriques.

2.4.5

Calcul du modle gomtrique inverse (MGI)

2.4.5.1

Prsentation de la mthode

Considrons un robot manipulateur dont la matrice de passage homogne a pour


expression :
0
Tn =0 T1 .1 T2 ....n1 Tn
(2.39)
On note :

sx nx ax Px
sy ny ay Py

U0 =0 T1 .1 T2 ...n1 Tn =
sz nz az Pz
0 0 0 1

(2.40)

Cette matrice U0 est la donne du problme. Elle reprsente la situation de lorgane


terminal dans le repre de base du robot R0 .

58

Modlisation gomtrique des robots - Commande en position des


robots
Trouver les variables articulaires partir de lquation :
U0 =0 T1 .1 T2 .n1 Tn

(2.41)

en fonction des lments articulaires s, n, a et P est trs difficile.


Paul (en 81) a propos une mthode qui consiste prmultiplier successivement
les 2 membres de lquation par les matrices de transformation homogne inverse.
j

Tj1 pour j variant de 1 n 1

(2.42)

Cela permet disoler et didentifier lune aprs lautre les variables articulaires que
lon recherche.
Remarques :
1. Pour un robot 6 ddl, on procde comme suit :
Multiplication gauche par 1 T0
1

T0 .U0 =1 T2 .2 T3 .3 T4 .4 T5 .5 T6

(2.43)

1re partie de lquation = fonction de q1 uniquement


2me partie de lquation = fonction de q2 , q3 , q4 ,q5 , q6 dj calcul pour
MGD si on a pris la prcaution de sauvegarder tous les rsultats intermdiaires Ui .
q1 est obtenu par identification dun ou de deux lments parmi les plus
simples qui constitue lexpression de droite avec les termes quivalents dans
celle de gauche. Les diffrents types de relations mises en jeu dans ces identifications seront tudis au paragraphe suivant (une dizaine de cas).
en partant de lexpression 1 T0 .U0 =1 T2 .2 T3 .3 T4 .4 T5 .5 T6 , on prmultiplie par
2
T1 et on ritre le mme processus. La succession des quations permettant
le calcul de tous les qi est la suivante :
U0 =0 T1 .1 T2 .2 T3 .3 T4 .4 T5 .5 T6
1
T0 U0 =1 T2 .2 T3 .3 T4 .4 T5 .5 T6 q1
2
T1 U1 =2 T3 .3 T4 .4 T5 .5 T6 q2
3
T2 U2 =3 T4 .4 T5 .5 T6 q3
4
T3 U3 =4 T5 .5 T6 q4
5
T4 U4 =5 T6 q5 et q6
avec Uj =j Tj1 Uj1

(2.44)

2. Dans certains cas il est possible de rsoudre le robot en partant de qn . Il suffit


alors de multiplier droite les 2 membres de lexpression
U0 =0 T1 .1 T2 .n1 Tn par j Tj1 pour j variable de n 2

(2.45)

2.4 Modlisation gomtrique inverse dun robot


2.4.5.2

59

Solutions aux types dquations rencontrs

Lorsque nous utilisons la mthode prcdente, nous sommes confronts de manire itrative la rsolution de systme dquations de diffrents types. Lutilisation
dun grand nombre de robots industriels a permis de constater que les principaux
types rencontrs sont peu nombreux. La liste est donne par le tableau 2.4.5.2. Les
10 types dquations sont dtaills ci-dessous.
Equations type 1 : X.rj = Y
Dans ce cas, la rponse est immdiate = r1 =

Y
avec X 6= 0
X

Equations type 2 : X.Si + Y.Ci = Z


X et Y tant connus, deux cas peuvent tre envisags.
Z = 0, 2 solutions sont possibles :

i = ATAN 2(Y, X)
i0 = i + 180o

(2.46)

Z 6= 0
On rsout le systme en sinus et en cosinus, puis on prend larctangente : On peut
rcrire le systme type 2 de deux manires diffrentes.
Y.Ci = Z X.Si
X.Si = Z Y.Ci
en sinus :

do

en cosinus :

do

Y 2 .C 2 i = Z 2 + X 2 .S 2 i 2.Z.X.Si
Y 2 .(1 S 2 i ) = Z 2 + X 2 .S 2 i 2.Z.X.Si
(X 2 + Y 2 ).S 2 i 2.Z.X.Si + Z 2 Y 2 = 0
4 = 4.Y 2 (X 2 + Y 2 Z 2 )

Z.X + .Y X 2 + Y 2 Z 2
Si =
avec = 1
X2 + Y 2
X 2 .S 2 i = Z 2 + Y 2 .C 2 i 2.Z.Y.Ci
X 2 .(1 C 2 i ) = Z 2 + Y 2 .C 2 i 2.Z.Y.Ci
(X 2 + Y 2 ).C 2 i 2.Z.Y.Ci + Z 2 X 2 = 0
4 = 4.X 2 (X 2 + Y 2 Z 2 )

Z.Y .X X 2 + Y 2 Z 2
Ci =
avec = 1
X2 + Y 2

(2.47)

(2.48)

(2.49)

Le signe devant vient du fait que nous devrons vrifier chaque instant que

60

Modlisation gomtrique des robots - Commande en position des


robots

Type dquations

Forme du systme dquations

Type 1

X.ri = Y

Type 2

X.Si + Y.Ci = Z

Type 3

X1 .Si = Y1
X1 .Si + Y1 .Ci = Z1
ou
X2 .Ci = Y2
X2 .Si + Y2 .Ci = Z2

Type 4

X1 .rj .Si = Y1
X2 .rj .Ci = Y2

Type 5

X1 .Si = Y1 + Z1 .rj
X2 .Ci = Y2 + Z2 .rj

Type 6

W.Sj = X.Ci + Y.Si + Z1


W.Cj = X.Si Y.Ci + Z2

Type 7

W1 .Cj + W2 .Sj = X.Ci + Y.Si + Z1


W1 .Sj W2 .Cj = X.Si Y.Ci + Z2

Type 8

X.Ci + Y.C(i + j ) = Z1
X.Si + Y.S(i + j ) = Z2

Type 9

X.Ci = Y

Type 10

X.Si = Y

Tab. 2.1 Systmes dequations possibles

2.4 Modlisation gomtrique inverse dun robot

61

C 2 i + S 2 i = 1. La rponse est la suivante :

Z.X + .Y X 2 + Y 2 Z 2
Si =
X2 + Y 2

Z.Y .X X 2 + Y 2 Z 2
Ci =
X2 + Y 2

(2.50)

si X 2 + Y 2 Z 2 0 alors i = AT AN 2(Si , Ci )

(2.51)

Equations type 3 (forme 1) :


X1 .Si = Y1
X2 .Ci = Y2

(2.52)

X1 et X2 tant non nuls, la rponse est la suivante.


Y1 Y2
,
)
X1 X2

(2.53)

X1 .Si + Y1 .Ci = Z1
X2 .Si + Y2 .Ci = Z2

(2.54)

i = ATAN2(

Equations type 3 (forme2) :

On se ramne au cas prcdent en posant :

Si =

Y2 .Z1 Y1 .Z2
X1 .Y2 X2 .Y1

X1 .Z2 X2 .Z1
Ci =
X1 .Y2 X2 .Y1
do i = ATAN2(Si , Ci )

(2.55)

Modlisation gomtrique des robots - Commande en position des


robots

62

Equations type 4 :
X1 .rj .Si = Y1
X2 .rj .Ci = Y2
X1 et X2 tant non nuls. On rcrit le systme :

Y12

2 2

.S

=
r
Y
j
i

rj .Si = 1
X12
X1 =
Y

rj .Ci = 2
Y2

X2
rj2 .C 2 i = 22
X2

(2.56)

(2.57)

do

rj =

Y22
Y12
+
X12 X22

Si rj nest pas nul, on en dduit :


i = ATAN 2(

Y1
Y2
rj ,
rj )
X1 X2

(2.58)

X1 et X2 tant non nuls. La rponse est la suivante :


s

Y22
Y12
+
X12 X22
Y1 Y2
i = ATAN2( ,
)
X1 X2

(2.59)

X1 .Si = Y1 + Z1 .rj
X2 .Ci = Y2 + Z2 .rj

(2.60)

rj =

Equations type 5 :

X1 et X2 tant non nuls, on rcrit le systme

Z1
Y1

+
.rj
Si =

X1 X1
Si = V1 + W1 .rj
soit
Ci = V2 + W2 .rj

Y
Z

Ci = 2 + 2 .rj
X2 X2

(2.61)

2.4 Modlisation gomtrique inverse dun robot

63

S 2 i + C 2 i = 1
1 = V12 + V22 + 2.(W1 V1 + W2 V2 ).rj + (W12 + W22 ).rj2
4 = 4.(W1 V1 + W2 V2 )2 4.(V12 + V22 1).(W12 + W22 )

(2.62)

4 = 4.(2.W1 V1 .W2 V2 ) 4.(V12 .W22 + V22 .W12 W12 W22 )


4 = 4.(W12 + W22 (V1 .W2 V2 .W1 )2 )
rj =

(V1 .W1 + V2 .W2 ) +

p
W12 + W22 (V1 .W2 V2 .W1 )2
W12 + W22

(2.63)

On en dduit :
i = ATAN2(V1 + W1 .rj , V2 + W2 .rj )

(2.64)

4 tant positif, avec = 1, la rponse est la suivante


p
(V1 .W1 + V2 .W2 ) + W12 + W22 (V1 .W2 V2 .W12 )
rj =
W12 + W22

(2.65)

i = ATAN2(V1 + W1 .rj , V2 + W2 .rj )

Equations type 6 :
W.Sj = X.Ci + Y.Si + Z1
W.Cj = X.Si Y.Ci + Z2

(2.66)

Eliminons j :
W 2 .S 2 j = X 2 .C 2 i + Y 2 .S 2 i + Z12 + 2.X.Y.Ci .Si + 2.X.Ci .Z1 + 2.Y.Si .Z1
W 2 .C 2 j = X 2 .S 2 i + Y 2 .C 2 i + Z22 2.X.Y.Ci .Si + 2.X.Si .Z2 2.Y.Ci .Z2
W2 =

X 2 + Y 2 + Z12 + Z22 + 2.X.Ci .Z1 + 2.Y.Si .Z1 + 2.X.Si .Z2 2.Y.Ci .Z2
(2.67)
En sommant, on peut crire :
B1 .Si + B2 .Ci = B3

(2.68)

64

Modlisation gomtrique des robots - Commande en position des


robots
Avec
B1 = 2.(Y.Z1 + X.Z2 )
B2 = 2.(X.Z1 Y.Z2 )
B3 = W 2 X 2 Y 2 Z12 Z22

(2.69)

Dans ce cas, i peut tre rsolu par un systme de type 2.


Puis j peut tre rsolu par un systme de type 3 (forme 1) avec
Y1 = X.Ci + Y.Si + Z1
Y2 = X.Si Y.Ci + Z2

X1 = W
X2 = W

(2.70)

W1 .Cj + W2 .Sj = X.Ci + Y.Si + Z1


W1 .Sj W2 .Cj = X.Si Y.Ci + Z2

(2.71)

et

Equations type 7 :

En levant les deux premiers membres au carr, on a :


W12 .C 2 j + W22 .S 2 j + 2.W1 .W2 .Cj .Sj
W12 .S 2 j + W22 .C 2 j 2.W1 .W2 .Cj .Sj

(2.72)

En additionnant, il reste W12 + W22


Pour les seconds membres levs au carr, on a :
X 2 .C 2 i + Y 2 .S 2 i + Z12 + 2.XY.Ci .Si + 2.XZ1 .Ci + 2.Y Z1 .Si
X 2 .S 2 i + Y 2 .C 2 i + Z22 2.XY.Ci .Si + 2.XZ2 .Si 2.Y Z2 .Ci

(2.73)

En additionnant, il reste
X 2 + Y 2 + Z12 + Z22 + 2.(XZ1 Y Z2 ).Ci + 2.(Y Z1 + XZ2 ).Si

(2.74)

Soit en regroupant les deux rsultats :


2.(XZ1 Y Z2 ).Ci + 2.(Y Z1 + XZ2 ).Si = W12 + W22 X 2 Y 2 Z12 Z22
(2.75)
Cest une quation de type 2 en i . Une fois i calcul, on rsout une des 2 quations
de type 2 en j .

Equations type 8 :
X.Ci + Y.C(i + j ) = Z1
X.Si + Y.S(i + j ) = Z2

(2.76)

2.4 Modlisation gomtrique inverse dun robot

65

En levant au carr, on obtient :


X 2 .C 2 i + Y 2 .C 2 (i + j ) + 2.XY.Ci .C(i + j ) = Z12
X 2 .S 2 i + Y 2 .S 2 (i + j ) + 2.XY.Si .S(i + j ) = Z22

(2.77)

En additionnant :
2.XY.(Ci .C(i + j ) + Si .S(i + j )) = Z12 + Z22 X 2 Y 2

(2.78)

En intgrant un signe dans le sinus et le cosinus, on a :


2.XY.(C(i ).C(i + j ) S(i ).S(i + j )) = Z12 + Z22 X 2 Y 2

(2.79)

do
C(i + j i ) = Cj =

Z12 + Z22 X 2 Y 2
2.XY

(2.80)

On en dduit j avec :
p
j = ATAN2( 1 C 2 j , Cj )

(2.81)

Il suffit ensuite de rsoudre un systme de deux quations et deux inconnues comme


suit :
X.Ci + Y.(Ci .Cj Si .Sj ) = Z1
X.Si + Y.(Ci .Sj + Si .Cj ) = Z2
(2.82)
(X + Y.Cj ).Ci Y.Sj .Si = Z1
Y.Sj .Ci + (X + Y.Cj ).Si = Z2
Soit :
B1 .Ci B2 .Si = Z1 avec B1 = X + Y.Cj
B2 .Ci + B1 .Si = Z2
B2 = Y.Sj

(2.83)

On rsoud en sinus et cosinus (quations type 3 forme 2) et on obtient i par :


i = ATAN2(Si , Ci )

(2.84)

X.Cj = Y

(2.85)

Equations type 9 :
Dans ce cas, la rponse est immdiate :
Y
X
Si = 1 C 2 i

Ci =

et

i = ATAN2(Si , Ci )

(2.86)

Modlisation gomtrique des robots - Commande en position des


robots

66

Equations type 10 :
(2.87)

X.Si = Y
Dans ce cas, la rponse est immdiate =
Y
X
Ci = 1 S 2 i

Si =

2.4.6

et

i = ATAN2(Si , Ci )

(2.88)

MGI pour des robots 6 ddl comportant un poignet


rotule (daxes concourants)

Lorsquil sagit de dterminer le MGI dun robot, avant de se lancer dans la srie
de calculs itratifs prsents dans le paragraphe e), il est bon de se poser la question
de simplification de la mthode. En effet, avant tout calcul, il faut savoir :
quelles sont les variables articulaires qui contribuent la position du repre
terminal du robot Rn
quelles sont les variables articulaires qui contribuent lorientation du repre
terminal Rn
Lorsque le poignet du robot est une rotule daxes concourants, cest le porteur qui
pilote la position de lorgane terminal. Ce porteur est constitu de n 3 ddl.
On peut crire :
0
Pn =0 Pn3+1 , cest dire :

Px
Py 0 1 2

= T1 T2 T3 ...n3 Tn3+1
Pz

0
0

0
1

(2.89)

(2.90)
avec :

Px
Py


Pz : position de lorgane terminal dans le repre R0 .
1

0
0


0 : oprateur dextraction de la matrice de position partir de la matrice
1
de transformation homogne
A partir de cette premire relation, en reprenant la mthode itrative du paragraphe 2.4.5.1 page 57, il est donc possible de calculer les valeurs des n 3 premires
articulations.

2.4 Modlisation gomtrique inverse dun robot

67

Pour les 3 dernires, on utilise une seconde relation. Une fois la position atteinte,
lorgane terminal se trouve dans une "orientation initiale" de aux diffrentes transformations homognes depuis le repre de base du robot R0 , jusquau dernier repre
du porteur Rn3 .
A partir de la matrice U0 , on peut extraire la matrice des cosinus directeurs 0 An .
0
An = [ s n a] est une donne du problme inverse.
On peut donc crire :
n3
(2.91)
A0 [ s n a] =n3 An
Les premires variables articulaires q1 , q2 ..qn3 tant calcules partir de la position
de lorgane terminal, la matrice n3 A0 est donc connue numriquement. Le terme de
gauche est donc entirement connu. On rduit le systme trois variables articulaires
qn2 , qn1 qn .
Pour dterminer leurs valeurs numriques, on utilise la mthode itrative du
paragraphe 2.4.5.1 page 57.
Remarque :
1. Lorsque le robot 6ddl (n = 6), les deux relations prcdentes scrivent :
Pour la position, on dtermine q1 , q2 , q3 avec :

0
Px
Py 0 1 2 3 0

(2.92)
Pz = T1 T2 T3 T4 0
1
1

Px

Py
est la position de lorgane terminal et 0 T11 T22 T33 T4
o

Pz
1
pend pas de q4 , a5 , q6 .
Pour lorientation, on dtermine q4 , q5 , q6 partir de :

A0

Ne dpend que de
q1 q2 q3

[s n a]

Matrice des cos. directeurs


extraite partir de U0

0
0
ne d0
1

=3 A6

Ne dpend que de
q4 q5 q6
(2.93)

2. Dans la remarque prcdente, la premire relation fait apparatre la matrice


de transformation homogne 3 T4 . Celle-ci nest utile que si lorigine du repre
R3 ne concide pas avec lorigine du repre R4 . Sa prsence dans la relation,
permet de prendre en compte les paramtres gomtriques fixes de la liaison
R3 /R4 .
3. Lorsque n est suprieur 6, on dit que le robot est redondant. Il sera donc ncessaire dintroduire des relations supplmentaires dcrivant cette redondance.

Modlisation gomtrique des robots - Commande en position des


robots

68

2.4.7

Exemples de calcul de MGI

2.4.7.1

Calcul du MGI pour le robot AID-5

On se donne le systme de coordonnes oprationnelles X.

s x nx ax

s
y ny ay
On peut en dduire U0 =0 T6 =
s z nz az
0 0 0

Il faut dterminer le systme de coordonnes articulaires q.


On a :

Px
Py

Pz
1

(2.94)

U0 =0 T1 1 T2 2 T3 3 T4 4 T5 5 T6 =0 T6
(2.95)
Uj =j Tj1 Uj1 permettant de dterminer dans lordre q1 q6
Dtermination de q1 , q2 , q3 Ce robot possde un poignet rotule.
Les premiers lments du corps articul forment les translations.
Les derniers lments forment les rotations.
On a donc :
0

On a donc :

P6 =0 P4 permettant de dterminer dans

0
Px

Py 0
2
3
1
0

Pz = T1 T2 T3 T4 0
1
1

C1
Px
Py s1

Pz =
1

lordre q1 q6

[S23 RL4 + C2 D3 ]
[S23 RL4 + C2 D3 ]

C23 RL4 + S2 D3
1

(2.96)

(2.97)

(2.98)

Ces relations ne permettent pas dextraire directement q1 , q2 , q3 .


Seul q1 pourrait tre dtermin. En effet, daprs la relation prcdente, par
identification des termes de droite et gauche on pourrait crire :
q1 = ATAN 2(Py , Px ) prs
Prmultiplication par

T0

Px

Py
1
T0
Pz
1

u1

(2.99)

C1 Px + S1 Py
S1 Px + C1 Py
=

Pz

(2.100)

2.4 Modlisation gomtrique inverse dun robot

0
0 1

=1 T0 0 T1 1 T2 2 T3
0 = T4
1


0
0

0
0
=1 T6
=
U
1
0
0
1
1

69

0
0

0
1

(2.101)

(2.102)

4 6 est une liaison rotule naffectant pas la position.


Or U1 a dj t calcul par le MGD.
On en tire par identification, de nouvelles quations.
C1 Px + S1 Py
= S23 RL4 + C2 D3 (a)
S1 Px + C1 Py = 0
(b)
Pz
= C23 RL4 + S2 D3
(c)

(2.103)

de lquation (b) on tire


q1 = ATAN 2(Py , Px )
ou
q10 = q1 + 180
Prmultiplication par 2 T1
On a alors :

C1 Px + S1 Py

S1 Px + C1 Py
2
T1
Pz
1
Do les nouvelles quations :

0
= U2

0
1

S3 RL4 + D3

C3 RL4

= 0
1

C2 (C1 Px + S1 Py ) + S2 Pz
= S3 RL4 + D3 (a)
S2 (C1 Px + S1 Py ) + C2 Pz = C3 RL4
(b)
S1 Px C1 Py
=0
(c)

(2.104)

(2.105)

(2.106)

On peut calculer q2 et q3 partir des quations (a) et (b).


Cest un systme de type 6.
Calculons dabord q2
On a un systme du type
W Sj = X Ci + Y Si + Z1
(2.107)
W Cj = X Si + Y Ci + Z2

70

Modlisation gomtrique des robots - Commande en position des


robots

On se ramne un systme du type


B1
B1
B2
B3

Avec

Si + B2 Ci = B3
= 2(Z1 Y + Z2 X)
= 2(Z1 X Z2 Y )
= W 2 X 2 Y 2 Z12 Z22

(2.108)

Dans notre cas on a :


W = RL4
Z1 = D 3
Z2 = 0

X = B = (C1 Px + S1 Py )
Y = Pz

(2.109)

Do B1 S2 + B2 C2 = B3
Avec
B1 = 2(D3 Pz ) = 2D3 Pz
(2.110)

B2 = 2D3 B
B3 = RL24 B 2 Pz2 D32

Cest une quation de type 2 avec identification


B1 X
B2 Y
B3 Z

(2.111)

La solution est :
S2

p
B1 B3 + B2 B12 + B22 B32
=
B12 + B22

C2

p
B1 B3 + B1 B12 + B22 B32
= C2
=
B12 + B22

= S2

Avec = 1 et B12 + B22 B32 0


Une autre forme peut tre utilise en posant :
p
V = D B32
D = B12 + B22
S2 =

B1 B3 + B2 V
= S2
D

(2.112)

(2.113)

(type 3)

(2.114)

B1 B3 + B1 V
C2 =
= C2
D
De ces deux relations on tire :
q2 = q2 = ATAN 2(S2 , C2 )
2 solutions = 1

(2.115)

2.4 Modlisation gomtrique inverse dun robot

71

Calculons q3
Daprs le dernier systme dquation, on a :
S3 =

Pz S2 + BC2 D3
RL4

C3 =

C2 Pz + S2 B
RL4

(2.116)

Do
q3 = ATAN 2(S3 , C3 )

(2.117)

Lorientation de U0 =0 T6 est 0 A6 = [s n a]

(2.118)

Dtermination de q4 , q5 , q6

donc 3 A0 [s n a] =3 A6
q1 , q2 , q3 tant connu 3 A0 est connu
[s n a] est lorientation dfinie par le systme de coordonnes oprationnelles.
Cest une donne du problme.
3 A6 ne dpend que de q4 , q5 , q6 qui sont inconnues
On a donc ici un systme dquations avec 3 inconnues.
On calcule le terme de gauche en dterminant dabord
3

0
T
A0 = (0 A1
3 ) = ( A3 )

(2.119)

or 0 A3 est la matrice de rotation de 0 T3 cest dire


0

C1

3
S1
T0 [s n a] =
0
0

S1
C1
0
0

Do on en tire :

T3 =0 T1 1 T2 2 T3 =0 T1 1 T3
0
0
1
0

0
C23

0 0
0 S23
1
0

S23
0
C23
0

0
1
0
0

(2.120)
1
C2 D3

0
.[s n a] (2.121)
S2 D3
1

C1
S1 0
C23
0
S23
3
C23 S1 C1 0
A0 = S23 0
0
1 0
0
0 1

A0 [s n a] = [3 A0 s 3 A0 n 3 A0 a]

C1 S1 0
sx
C23
0 S23
3
A0 s = S23 0 C23 S1 C1 0 |sy
sz
0
1 0
0
0 1

(2.122)

(2.123)

72

Modlisation gomtrique des robots - Commande en position des


robots

C1 sx + S1 sy
C23
0 S23
= S23 0 C23 S1 sx + C1 sy
sz
0
1 0

C23 (C1 sx + S1 sy ) + S23 sz


= S23 (C1 sx + S1 sy ) + C23 sz
S1 sx C1 sy

De mme on obtient

C23 (C1 nx + S1 ny ) + S23 nz


3
A0 n = S23 (C1 nx + S1 ny ) + C23 nz
S1 nx C1 ny

et

C23 (C1 ax + S1 ay ) + S23 az


3
A0 a = S23 (C1 ax + S1 ay ) + C23 az
S1 ax C1 ay

Dautre part 3 A6 est la matrice de rotation de 3 T6 .


Elle peut tre extraite de U3 .

C4 C5 C6 S4 S6
C4 C5 S6 S4 C6 C4 S5
3

S5 S6
C5
A6 = S5 C6
S4 C5 C6 C4 S6 S4 C5 S6 C4 C6
S4 S5

(2.124)

(2.125)

(2.126)

(2.127)

(2.128)

Aprs analyse de 3 A6 et q5 , ne peut se dterminer que par lutilisation de la fonction


Arcosinus. Cette fonction tant moins prcise que ATAN2, on prfre utiliser 4 A6
extraite partir de U4 .

C5 C6 C5 S6 S5
4

C6
0
(2.129)
A6 = S6
S5 C6 S5 S6 C5
Il est donc ncessaire de calculer :
4

Do

A0 (s n a) =4 A3 3 A0 (s n a)

C4 0 S4
C23 (C1 sx + S1 sy ) + S23 sz
4
A0 s = S4 0 C4 S23 (C1 sx + S1 sy ) + C23 sz
0 1
0
S1 sx C1 sy

C4 [C23 (C1 sx + S1 sy ) + S23 sz ] S4 (S1 sx C1 sy )


= S4 [C23 (C1 sx + S1 sy ) + S23 sz ] C4 (S1 sx C1 sy )
S23 (C1 sx + S1 sy ) + C23 sz

(2.130)

(2.131)

(2.132)

On en dduit 4 A0 n et 4 A0 a en remplaant s par n puis a.


En identifiant le terme matriciel troisime colonne, deuxime ligne on a
S4 [C23 (C1 ax + S1 ay ) + S23 az ] C4 (S1 ax C1 ay ) = 0

(2.133)

2.4 Modlisation gomtrique inverse dun robot

73

que lon peut rcrire :


C4 B1 + S4 [C23 B2 + S23 az ] = 0
avec

B1 = S1 ax C1 ay
B2 = C1 ax + S1 ay

(2.134)
(2.135)

Cest une quation type 2. On a 2 solutions :


q4 = AT AN 2(B1 , C23 B2 S23 az )
ou
0
q4 = q4 + 180

(2.136)

Pour q5 , on utilise la troisime colonne ligne 1 et 3.


S5 = C4 [C23 (C1 ax + S1 ay ) + S23 az ] S4 (S1 ax C1 ay )
C5 = S23 (C1 ax + S1 ay ) + C2 3az

(2.137)

Cest une quation de type 3 :


On en dduit
q5 = AT AN 2(S5 , C5 )

(2.138)

Pour q6 , on a la deuxime ligne des matrices (colonne 1 et 2).


Equations de type 2
S6 = S4 [C23 (C1 sx + S1 sy ) + S23 sz ] C4 [S1 sx C1 sy ]
C6 = S4 [C23 (C1 nx + S1 ny ) + S23 nz ] C4 [S1 nx c1 ny ]

(2.139)

On en dduit
q6 = AT AN 2(S6 , C6 )

(2.140)

On a donc une solution pour q5 , q6 , q2 , q3 et deux solutions pour q4 , q1


Soit un total de quatre solutions.
Le choix devra se faire sur des critres additifs.
Par exemple :
loignement des butes
contrle de lespace occup par le robot
autre...
Remarque : il existe des positions singulires du robot
1. Si Px = Py = 0
Dans ce cas, q1 est indtermin et O4 (centre de la route) laxe z0 , z1 .
On peut fixer par exemple :
q1 = q1c valeur courante de q1
ou
q1 =le plus loign des butes lectriques et mcaniques. Dans ce cas, il se
peut quune faible variation de la situation entrane une grande variation de
q1 impossible raliser.

74

Modlisation gomtrique des robots - Commande en position des


robots
2. Si C23 (C1 ax + S1 ay ) + S23 az = 0 et S1 ax C1 ay = 0
Alors q4 est indtermine.

Si S5 = 0 (rsultat des hypothses 2. Voir equation (2.138) page 73 pour le calcul


de q5 )
alors les axes z4 et z6 sont confondus.
Cest donc la somme q4 + q6 qui intervient car q5 = 0
Cest une singularit de poignet.
Dans ce cas,
3

A6 =3 A4 4 A5 5 A6 = A(x, 90)A(z, q4 + q6 )

(2.141)

Comme q5 = 0 on ne passe pas par R5 . 3 A6 reprsente la matrice de rotation de U3 :


Or

C4 C5 C6 S4 S6
C4 C5 S6 S4 C6 C4 S5 0
S5 C6
S5 S6
C5
RL4

U3 =
(2.142)
S4 C5 C6 C4 S6 S4 C5 S6 C4 C6

S4 S5
0
0
0
0
1

C4 C6 S4 S6
0
U3/q5 =0 =
S4 C6 C4 S6
0

C(4+6)
S(4+6)
0
0
U3/q5 =0 =
S(4+6) C(4+6)
0
0

Do (deuxime colonne)

C4 S6 S4 C6 0 0
0
1 RL4

S4 S6 C4 C6
0 0
0
0 1

0 0
1 RL4
or3 A6 =3 A6 [s n a]

0 0
0 1

q4 + q6 = AT AN 2[C23 (C1 nx + S1 ny ) + S23 nz S1 nx C1 ny ]

(2.143)

(2.144)

(2.145)

On peut fixer q4 la valeur courante et q6 par la relation dessus.


On peut aussi chercher que q4 et q6 soient le plus loignes possible des butes.
2.4.7.2

MGI du robot ACMA H-80

You might also like