Vous êtes sur la page 1sur 107

Elments de Robotique

Universit Blaise Pascal


T. Chateau
2012/2013
C0
C1
C2
Ck+1
Cn-2
Cn-1
Cn
Ck+L
Cm-1
Cm
Ck
z0,z1
zk
zk+1
zk+L
zm
zn
Table des matires
Liste des gures iii
Liste des tableaux vi
Introduction 1
1 Gomtrie et cinmatique du dplacement 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Gomtrie du dplacement . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Transformations homognes . . . . . . . . . . . . . . . . . . . 3
1.2.1.1 Matrice de transformations homognes de transla-
tion pure . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1.2 Matrice de transformation homogne de rotation pure 5
1.2.1.3 Proprits des matrices de transformation homogne 7
1.2.1.4 Rotation autour dun axe u quelconque . . . . . . . . 12
1.2.2 Situation dun solide dans lespace . . . . . . . . . . . . . . . . 16
1.2.2.1 Description de la position dun solide . . . . . . . . . 16
1.2.2.2 Description de lorientation dun solide . . . . . . . . 19
1.3 Cinmatique du dplacement . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.1 Mouvement circulaire . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.2 Systmes daxes tournants . . . . . . . . . . . . . . . . . . . . 24
1.3.3 Systmes daxes mobiles dans le cas gnral . . . . . . . . . . 25
1.3.4 Lois de composition des vitesses . . . . . . . . . . . . . . . . . 26
2 Modlisation gomtrique des robots - Commande en position des
robots 29
2.1 Introduction la modlisation . . . . . . . . . . . . . . . . . . . . . . 29
2.2 Description de la structure gomtrique dun robot . . . . . . . . . . 30
2.2.1 Notations et rgles gnrales . . . . . . . . . . . . . . . . . . . 30
2.2.2 Description des robots chane ouverte simple . . . . . . . . . 30
ii Table des matires
2.2.2.1 Cadre gnral . . . . . . . . . . . . . . . . . . . . . . 30
2.2.2.2 Paramtrage de Denavit-Hartenberg modi (Khalil
86) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.2.3 Exemples de description . . . . . . . . . . . . . . . . 33
2.2.3 Extensions aux chanes fermes et arborescentes . . . . . . . . 36
2.2.3.1 Cas des chanes arborescentes . . . . . . . . . . . . . 37
2.2.3.2 Cas des chanes fermes . . . . . . . . . . . . . . . . 39
2.2.3.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3 Modlisation gomtrique directe dun robot . . . . . . . . . . . . . . 45
2.3.1 Matrice de transformation de lorgane terminal dans le repre
atelier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.3.2 Calcul du modle gomtrique direct dun robot (MGD) . . . 46
2.3.3 Exemples de modles gomtriques directs . . . . . . . . . . . 47
2.3.3.1 MGD du robot AID-5 . . . . . . . . . . . . . . . . . 47
2.3.3.2 MGD du robot H-80 . . . . . . . . . . . . . . . . . . 51
2.3.3.3 MGD du robot AFMA . . . . . . . . . . . . . . . . . 55
2.4 Modlisation gomtrique inverse dun robot . . . . . . . . . . . . . . 55
2.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.4.2 Position du problme . . . . . . . . . . . . . . . . . . . . . . . 56
2.4.3 Rsolubilit dun robot manipulateur (introduit par Pieper 68) 56
2.4.4 Nombre de solutions au problme inverse . . . . . . . . . . . . 57
2.4.5 Calcul du modle gomtrique inverse (MGI) . . . . . . . . . . 58
2.4.5.1 Prsentation de la mthode . . . . . . . . . . . . . . 58
2.4.5.2 Solutions aux types dquations rencontrs . . . . . . 59
2.4.6 MGI pour des robots 6 ddl comportant un poignet rotule
(daxes concourants) . . . . . . . . . . . . . . . . . . . . . . . 66
2.4.7 Exemples de calcul de MGI . . . . . . . . . . . . . . . . . . . 68
2.4.7.1 Calcul du MGI pour le robot AID-5 . . . . . . . . . 68
2.4.7.2 MGI du robot ACMA H-80 . . . . . . . . . . . . . . 74
2.5 Commande en position dun robot . . . . . . . . . . . . . . . . . . . . 75
2.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.5.2 Gnration de mouvement dans lespace articulaire . . . . . . 76
2.5.2.1 Interpolation polynomiale . . . . . . . . . . . . . . . 77
2.5.2.2 Loi bang-bang . . . . . . . . . . . . . . . . . . . . . 83
2.5.2.3 Loi trapze : loi bang-bang avec palier de vitesse . . 86
2.5.3 Gnration de mouvement rectiligne dans lespace oprationnel 94
Conclusion 97
Table des matires iii
Bibliographie 97
Table des gures
1.1 Passage dun repre R
i
un repre R
f
. . . . . . . . . . . . . . . . . 4
1.2 Translation pure dun repre R
f
par rapport un repre R
i
. . . . . 5
1.3 Rotation pure autour de laxe x dun repre R
f
par rapport un
repre R
i
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Rotation pure autour de laxe y dun repre R
f
par rapport un
repre R
i
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Rotation pure autour de laxe z dun repre R
f
par rapport un
repre R
i
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Passage direct et inverse dun repre R
i
un repre R
j
. . . . . . . . 9
1.7 Transformations conscutives . . . . . . . . . . . . . . . . . . . . . . 10
1.8 Composition droite et gauche dune transformation . . . . . . . . 12
1.9 Composition droite dune translation le long de laxe y . . . . . . . 12
1.10 Composition droite dune translation le long de laxe y . . . . . . . 13
1.11 Rotation autour dun axe quelconque y . . . . . . . . . . . . . . . . 14
1.12 Coordonnes cartsiennes . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.13 Coordonnes cylindriques . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.14 Coordonnes sphriques . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.15 Les angles dEuler (convention z, x, z) . . . . . . . . . . . . . . . . . . 20
1.16 Les angles de Bryant (convention x, y, z) . . . . . . . . . . . . . . . . 21
1.17 Les angles de roulis-tangage-lacet (convention z, y, x) . . . . . . . . . 22
1.18 Les quaternions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.19 Mouvement circulaire. . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.20 Systme daxes tournants. . . . . . . . . . . . . . . . . . . . . . . . . 25
1.21 Systme daxes mobiles : cas gnral. . . . . . . . . . . . . . . . . . . 25
1.22 Systme daxes mobiles : cas dune chane articulaire simple. . . . . . 26
2.1 Robot structure ouverte simple. . . . . . . . . . . . . . . . . . . . . 31
2.2 Paramtres gomtriques dans le cas dune structure ouverte simple. 32
2.3 Structure du robot AID-5. . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4 Structure du robot ACMA H-80. . . . . . . . . . . . . . . . . . . . . 36
2.5 Robot structure ouverte arborescente. . . . . . . . . . . . . . . . . . 37
2.6 Paramtrage ncessaire un corps plus de 2 articulations . . . . . 38
2.7 Repres ncessaires pour dcrire une chane ferme . . . . . . . . . . 41
2.8 Synoptique du robot HITACHI-HPR . . . . . . . . . . . . . . . . . . 42
2.9 Synoptique du robot ASEA-IRB5 . . . . . . . . . . . . . . . . . . . . 43
2.10 Synoptique quivalent du robot ASEA-IRB5 . . . . . . . . . . . . . . 44
2.11 Repres ncessaires pour dcrire un robot dans un atelier. . . . . . . 46
2.12 Boucles de gnration de mouvement. (a) : dans lespace articulaire -
(b) : dans lespace oprationnel. . . . . . . . . . . . . . . . . . . . . . 75
2.13 Degr 1 : Evolution de la position, de la vitesse et de lacclration . 78
2.14 Degr 3 : Evolution de la position, de la vitesse et de lacclration . 80
2.15 Degr 5 : Evolution de la position, de la vitesse et de lacclration . 82
2.16 Loi bang-bang : Evolution de la position, de la vitesse et de laccl-
ration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.17 Loi trapze et bang-bang : Evolution de de la vitesse et de lacclra-
tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.18 Loi trapze : Evolution de la position, de la vitesse et de lacclration 88
2.19 Loi trapze : Evolution de la vitesse . . . . . . . . . . . . . . . . . . 89
2.20 Loi trapze : Evolution de la vitesse . . . . . . . . . . . . . . . . . . 90
2.21 Loi trapze : Evolution de la vitesse . . . . . . . . . . . . . . . . . . 91
2.22 Loi trapze : cas o la vitesse nest pas sature . . . . . . . . . . . . 93
Liste des tableaux
2.1 Systmes dequations possibles . . . . . . . . . . . . . . . . . . . . . . 60
Introduction 1
Introduction
2 Introduction
Chapitre 1
Gomtrie et cinmatique du
dplacement
1.1 Introduction
Ltude de la robotique ncessite des connaissances de base en Gomtrie et en
cinmatique. Lorsque lon dsire commander un robot, il est ncessaire de situer ses
direntes parties mobiles les unes par rapport aux autres. Pour ce faire, on associe
un repre chaque partie du robot (socle, eecteur, articulations). Le passage dun
repre un autre (position, orientation) sexprime sous la forme dune matrice de
passage.
La gomtrie, et plus particulirement les coordonnes et transformations ho-
mognes sont des outils indispensables et trs utiliss en robotique, qui font lobjet
dune grande partie de ce chapitre.
La cinmatique du dplacement, travers la loi de composition des vitesses, fait
galement partie des bases de la robotique. Elle est aborde dans la deuxime partie
du chapitre
1.2 Gomtrie du dplacement
1.2.1 Transformations homognes
Dans le cas dune transformation homogne, le type de reprsentation est matri-
ciel. Le passage dun repre initial R
i
un repre nal R
f
sexprime par linterm-
diaire dune matrice M, appele matrice de changement de repre, matrice de
passage ou matrice de transformation homogne (cf g. 1.1). En robotique,
4 Gomtrie et cinmatique du dplacement
y
i
x
i
z
i
R
i
x
f
y
f
z
f
R
f
M
Figure 1.1 Passage dun repre R
i
un repre R
f
.
cette matrice de dimension (4 4), note
i
M
f
sexprime sous la forme :
i
T
f
=
i
M
f
= (
i
s
j
i
n
j
i
a
j
i
P
j
) =
_
_
_
_
s
x
n
x
a
x
P
x
s
y
n
y
a
y
P
y
s
z
n
z
a
z
P
z
0 0 0 1
_
_
_
_
=
_
i
R
f
i
P
f
0 1
_
(1.1)
o
i
s
j
,
i
n
j
et
i
a
j
sont les vecteurs unitaires, suivant les axes x
j
, y
j
et z
j
du repre
R
j
exprims dans le repre R
i
, o
i
P
j
est le vecteur exprimant lorigine du repre
R
j
dans le repre R
i
, et avec :

i
R
f
: matrice (33) des rotations donnant lorientation note
i
A
f
(de R
f
dans
R
i
)

i
P
f
: matrice (3 1) des translations donnant la position
i
M
f
=
_
i
R
f
i
P
f
0 1
_
=
_
i
A
f
i
P
f
0 1
_
=
_
I
3
i
P
f
0 1
_

_
i
A
f
0
0 1
_
(1.2)
A laide de la matrice
i
M
f
, il est possible dexprimer les coordonnes dun point
quelconque P de lespace dans le repre R
i
partir de ces coordonnes homognes
exprimes dans le repre R
f
par la relation :
_
_
_
_
x

1
_
_
_
_
R
i
=
i
M
f
.
_
_
_
_
x
y
z
1
_
_
_
_
R
f
=
_
i
R
f
i
P
f
0 1
_
.
_
_
_
_
x
y
z
1
_
_
_
_
R
f
(1.3)
1.2.1.1 Matrice de transformations homognes de translation pure
Lorsque deux repres sont uniquement lis par une translation, il est possible
de passer de lun lautre en utilisant une matrice de transformation homogne de
1.2 Gomtrie du dplacement 5
y
i
x
i
z
i
R
i
x
f
y
f
z
f
R
f
M
a
b
c
Figure 1.2 Translation pure dun repre R
f
par rapport un repre R
i
.
translation pure. Nous utiliserons les notations suivantes :
Trans(a, b, c) pour indiquer une translation (a selon laxe x, b selon laxe y et
c selon laxe z)
Trans(x, a) pour indiquer une translation a selon laxe x
Trans(y, b) pour indiquer une translation b selon laxe y
Trans(z, c) pour indiquer une translation c selon laxe z
Considrons une translation T compose de :
dune translation a selon laxe x Trans(a, 0, 0) = Trans(x, a)
dune translation b selon laxe y Trans(0, b, 0) = Trans(y, b)
dune translation c selon laxe z Trans(0, 0, c) = Trans(z, c)
La gure (1.2) montre un exemple de cette translation, associe la matrice de
transformation homogne de translation pure
i
M
f
. Les matrices de translation sont
lies par la relation suivante :
Trans(a, b, c) = Trans(a, 0, 0).Trans(0, b, 0).Trans(0, 0, c)
= Trans(x, a).Trans(y, b).Trans(z, c)
(1.4)
La matrice de transformation homogne de translation pure
i
M
f
associe cette
translation sexprime alors :
M =
_
_
_
_
a
I
3
b
c
0 0 0 1
_
_
_
_
=
_
_
_
_
a
I
3
0
0
0 0 0 1
_
_
_
_
.
_
_
_
_
0
I
3
b
0
0 0 0 1
_
_
_
_
.
_
_
_
_
0
I
3
0
c
0 0 0 1
_
_
_
_
(1.5)
1.2.1.2 Matrice de transformation homogne de rotation pure
Lorsque deux repres sont uniquement lis par une rotation, il est possible de
passer de lun lautre en utilisant une matrice de transformation homogne de
rotation pure. Nous utiliserons les notations suivantes :
6 Gomtrie et cinmatique du dplacement
y
i
x
i
z
i
R
i
x
f
y
f
z
f
R
f
cos
x
c
o
s

x
s
i
n

x
sin
x

x
Figure 1.3 Rotation pure autour de laxe x dun repre R
f
par rapport un
repre R
i
.
Rot(x,
x
) pour indiquer une rotation (
x
autour de laxe x)
Rot(y,
y
) pour indiquer une rotation (
y
autour de laxe y)
Rot(z,
z
) pour indiquer une rotation (
z
autour de laxe z)
Dans la matrice de transformation homogne, la rotation est dcrite par la matrice
R prsente dans lquation (1.1) page 4. Lorsque la rotation est nulle autour des
trois axes, R devient la matrice identit (cest le cas pour les rotations pures) :
R = I
3
=
_
_
1 0 0
0 1 0
0 0 1
_
_
(1.6)
Exemple 1 : Une rotation
x
autour de laxe x (cf g. 1.3).
R =
_
_
1 0 0
0 cos
x
sin
x
0 sin
x
cos
x
_
_
=
_
_
1 0 0
0 c
x
s
x
0 s
x
c
x
_
_
(autre notation)
(1.7)
Notons (i
R
f
, j
R
f
, k
R
f
) la base associe au repre R
f
et (i
R
i
, j
R
i
, k
R
i
) la
base associe au repre R
i
. La matrice de rotation R est obtenue en
dcrivant (i
R
f
, j
R
f
, k
R
f
) en fonction de (i
R
i
, j
R
i
, k
R
i
) :
i
R
f
= 1.i
R
i
+ 0.j
R
i
+ 0.k
R
i
=
i
s
f
j
R
f
= 0.i
R
i
+ cos
x
.j
R
i
+ sin
x
.k
R
i
=
i
n
f
k
R
f
= 0.i
R
i
sin
x
.j
R
i
+ cos
x
.k
R
i
=
i
a
f
(1.8)
1.2 Gomtrie du dplacement 7
y
i
x
i
z
i
R
i
x
f
y
f
z
f
R
f

y
Figure 1.4 Rotation pure autour de laxe y dun repre R
f
par rapport un
repre R
i
.
Exemple 2 : Une rotation
y
autour de laxe y (cf g. 1.4).
R =
_
_
cos
y
0 sin
y
0 1 0
sin
y
0 cos
y
_
_
=
_
_
c
y
0 s
y
0 1 0
s
y
0 c
y
_
_
(autre notation)
(1.9)
Exemple 3 : Une rotation
z
autour de laxe z (cf g. 1.5).
R =
_
_
cos
z
sin
z
0
sin
z
cos
z
0
0 0 1
_
_
=
_
_
c
z
s
z
0
s
z
c
z
0
0 0 1
_
_
(autre notation)
(1.10)
Rq. : Une rotation autour dun axe principal x, y ou z laisse
inchang laxe de rotation considr.
1.2.1.3 Proprits des matrices de transformation homogne
Nous avons vu (eq. 1.1 page 4) quune matrice de transformation homogne T
peut se mettre sous la forme :
T =
_
_
_
_
s
x
n
x
a
x
P
x
s
y
n
y
a
y
P
y
s
z
n
z
a
z
P
z
0 0 0 1
_
_
_
_
=
_
A P
0 1
_
(1.11)
8 Gomtrie et cinmatique du dplacement
y
i
x
i
z
i
R
i
x
f
y
f
z
f
R
f

z
Figure 1.5 Rotation pure autour de laxe z dun repre R
f
par rapport un
repre R
i
.
avec
A : matrice (3 3) des rotations donnant lorientation (de R
f
dans R
i
)
P : matrice (3 1) des translations donnant la position (de R
f
dans R
i
)
Lorsque la tranformation, entre le repre de dpart et la repre darrive est une
translation pure, on a A = I
3
. Dans le cas dune rotation pure, on a P = O
3
=
(0, 0, 0)
T
Proprit 1 La matrice de rotation A est orthogonale :
A
1
= A
T
(1.12)
Les lments de la matrice A de rotation reprsentent les cosinus directeurs dorien-
tation (s, n, a). Elle ne contient que trois paramtres indpendants sur les 9 qui la
constituent (trois angles de rotations). Un des vecteurs s, n ou a se dduit du produit
vectoriel des deux autres, car ils constituent une base orthonorme. Par exemple :
s = na
n.a = 0
||n|| = ||a|| = 1
(1.13)
Proprit 2 Soit la matrice
i
T
j
de transformation homogne prenant le repre R
i
pour lamener sur le repre R
j
. Si
j
T
i
est la matrice de transformation homogne
prenant le repre R
j
pour lamener sur le repre R
i
, alors
i
T
j
et
j
T
i
sont lis par la
relation :
_
i
T
j
_
1
=
j
T
i
(1.14)
1.2 Gomtrie du dplacement 9
y
i
x
i
z
i
R
i
x
j
y
j
z
j
R
j
i
T
j
j
T
i
= (
i
T
j
)
1
Figure 1.6 Passage direct et inverse dun repre R
i
un repre R
j
.
La gure 1.6 illustre cette proprit. Soit le point P
1
de coordonnes homognes
i
v
1
= (
i
v
x
,
i
v
y
,
i
v
z
, 1)
T
dans R
i
et
j
v
1
= (
j
v
x
,
j
v
y
,
j
v
z
, 1)
T
dans R
j
.On a :
j
v
1
=
j
T
i
.
i
v
1
(a)
i
v
1
=
i
T
j
.
j
v
1
(b)
(1.15)
En multipliant par (
i
T
j
)
1
la relation (b) de lquation (1.15), on obtient :
(
i
T
j
)
1
.
i
v
1
= (
i
T
j
)
1
.
i
T
j
.
j
v
1
(1.16)
En utilisant la relation (a) de (1.15), on en dduit :
j
T
i
=
_
i
T
j
_
1
(1.17)
Proprit 3 Soit la matrice T de transformation homogne eectuant une rotation
dangle
u
autour de laxe u (indirement x, y ou z). La matrice inverse T
1
est
galement une matrice de transformation homogne eectuant une rotation autour
de laxe u, mais dangle
u
:
(T)
1
= (Rot(u,
u
))
1
= Rot(u,
u
) = Rot(u,
u
) (1.18)
Par convention sur le sens de rotation, on a :
Rot(u,
u
) = Rot(u,
u
) (1.19)
Exemple : rotation autour de laxe x.
Rot(x,
x
) =
_
_
_
_
1 0 0 0
0 c(
x
) s(
x
) 0
0 s(
x
) c(
x
) 0
0 0 0 1
_
_
_
_
=
_
_
_
_
1 0 0 0
0 c
x
s
x
0
0 s
x
c
x
0
0 0 0 1
_
_
_
_
= (Rot(x,
x
))
T
(1.20)
10 Gomtrie et cinmatique du dplacement
y
0
x
0
z
0
R
0
x
1
y
1
z
1
R
1
x
k1
y
k1
z
k1
R
k1
x
k
y
k
z
k
R
k
0
T
1
k1
T
k
0
T
k
Figure 1.7 Transformations conscutives
.
En utilisant la proprit 1, on en dduit :
Rot(x,
x
) = (Rot(x,
x
))
T
= (Rot(x,
x
))
1
(1.21)
Cette proprit est galement vraie pour les matrices de transformation homogne
de translation pure :
Trans(u, d) = Trans(u, d) = Trans(u, d) (1.22)
Proprit 4 Linverse dune matrice de transformation homogne peut tre mis
sous la forme :
T
1
=
_
_
_
_
s
T
.P
A
T
n
T
.P
a
T
.P
0 1
_
_
_
_
=
_
A
T
A
T
.P
0 1
_
(1.23)
Proprit 5 Si un repre R
0
a subit K transformations conscutives, et si la i
eme
(i = 1, 2, .., k) est dnie par rapport au repre R
i1
, alors :
0
T
k
=
0
T
1
.
1
T
2
.
2
T
3
.
3
T
4
...
k1
T
k
(1.24)
La gure 1.7 illustre cette proprit.
Proprit 6 La composition de deux matrices nest pas commutative
T
1
.T
2
=
_
A
1
P
1
0 1
_
.
_
A
2
P
2
0 1
_
=
_
A
1
.A
2
A
1
.P
2
+ P
1
0 1
_
(1.25)
1.2 Gomtrie du dplacement 11
T
2
.T
1
=
_
A
2
P
2
0 1
_
.
_
A
1
P
1
0 1
_
=
_
A
2
.A
1
A
2
.P
1
+ P
2
0 1
_
(1.26)
Le produit des matrices de rotation ntant pas commutatif, on en dduit :
T
1
.T
2
= T
2
.T
1
(1.27)
Proprit 7 Dans le cas de transformations conscutives autour du mme axe u,
ce dernier reste inchang par la transformation :
Rot(u,
1
).Rot(u,
2
) = Rot(u,
1
+
2
) (1.28)
et,
Trans(u, d).Rot(u,
1
) = Rot(u,
1
).Trans(u, d) (1.29)
Proprit 8 Soit un repre R
j
, dni par une tansformation
i
T
j
du repre R
i
. Si
R
j
subit une transformation T (dnie par rapport au repre R
i
), alors la transfor-
mation totale amenant au repre nal R
f
sexprime sous la forme :
i
T
f
= T.
i
T
j
(1.30)
Si cette mme transformation, amenant R
j
sur R
f
, est dnie dans R
j
par T

, alors
on a galement :
i
T
f
=
i
T
j
.T

(1.31)
On en dduit la relation suivante :
T.
i
T
j
=
i
T
j
.T

(1.32)
Cette relation est illustre par la gure 1.8.
Lorsquun repre R
j
, dni par rapport un repre R
i
, subit une transformation
exprime par rapport ce mme repre R
j
, alors la transformation totale est
dduite par la composition gauche de cette transformation.
Remarque sur la composition des transformations
Une composition droite sapplique au repre nal. (
i
T
j
=
Rot(x,
x
)
R
0
.Trans(y, d)
R
1
). La gure 1.9 illustre ce propos.
Une composition gauche sapplique au repre initial.
(
i
T
j
=Rot(x,
x
)
R
0
.Trans(y, d)
R
0
). La gure 1.10 illustre ce propos.
12 Gomtrie et cinmatique du dplacement
y
i
x
i
z
i
R
i
x
j
y
j
z
j
R
j
x
f
y
f
z
f
R
f
i
T
j
T

T.
i
T
j
Figure 1.8 Composition droite et gauche dune transformation
.
y
0
x
0
z
0
R
0
y
1
x
1
z
1
R
1
x
2
y
2
z
2
R
2
Trans(y, d)
Rot(x,
x
)

x
Figure 1.9 Composition droite dune translation le long de laxe y
.
1.2.1.4 Rotation autour dun axe u quelconque
Soit un vecteur unitaire u quelconque. Soit R
i
, un repre tel que son origine
concide avec celle du vecteur u. Les coordonnes de u sont alors, dans R
j
:
u = (u
x
, u
y
, u
z
)
T
.
Soit R
j
, un repre tel que :
son origine concide avec celle du vecteur u,
son axe z
j
se confonde avec le vecteur u.
La transformation homogne permettant le passage du repre R
i
au repre R
j
peut
tre dcompose en :
Rot(z, ) : une rotation autour de laxe z dun angle tel que u
au plan (z
f
, y
f
),
Rot(x, ) : une rotation autour de laxe x dun angle .
1.2 Gomtrie du dplacement 13
y
0
x
0
z
0
R
0
y
1
x
1
z
1
R
1
x
2
y
2
z
2
R
2
Trans(y, d)
Rot(x,
x
)

x
Figure 1.10 Composition droite dune translation le long de laxe y
.
On obtient la relation suivante :
i
T
j
= Rot(z, ).Rot(x, ) (1.33)
Cette relation est illustre sur la gure 1.11 Le repre R
i
subit donc deux transfor-
mations successives :
R
i
== Rot(z, ) ==> R
f
== Rot(x, ) ==> R
j
(1.34)
En dveloppant la relation
i
T
j
=Rot(z, ).Rot(x, ), on obtient :
_
_
_
_
c s 0 0
s c 0 0
0 0 1 0
0 0 0 1
_
_
_
_
.
_
_
_
_
1 0 0 0
0 c s 0
0 s c 0
0 0 0 1
_
_
_
_
=
_
_
_
_
c s.c s.s 0
s c.c c.s 0
0 s c 0
0 0 0 1
_
_
_
_
(1.35)
A partir de la troisime colonne de la matrice
i
T
j
, on peut donc extraire les
coordonnes du vecteur u, exprimes dans le repre R
i
:
u =
_
_
u
x
u
y
u
z
_
_
=
_
_
s.s
c.s
c
_
_
=
i
a
j
(1.36)
Tourner autour de laxe u (dni par le vecteur unitaire u) dun angle , revient
donc tourner autour de laxe z
j
. Do, daprs la proprit 8, dnie page 11, on
en dduit que :
Rot(u, ).
i
T
j
=
i
T
j
.Rot(z, ) (1.37)
soit :
Rot(u, ) =
i
T
j
.Rot(z, ).(
i
T
j
)
1
(1.38)
14 Gomtrie et cinmatique du dplacement


y
i
x
i
z
i
R
i
y
j
x
j
z
j
R
j
x
f
y
f
z
f
R
f

u
Figure 1.11 Rotation autour dun axe quelconque y
.
do :
Rot(u, ) = Rot(z, ).Rot(x, ).Rot(z, ).Rot(z, ).Rot(x, ) (1.39)
En dveloppant cette relation, on obtient :
Rot(u, ) =
_
A(u, ) 0
0 1
_
(1.40)
avec :
A(u, ) =
_
_
u
2
x
.(1 c) + c u
x
u
y
.(1 c) u
z
.s u
x
u
z
.(1 c) + u
y
.s
u
x
u
y
.(1 c) + u
z
.s u
2
y
.(1 c) + c u
y
u
z
.(1 c) u
x
.s
u
x
u
z
.(1 c) u
y
.s u
y
u
z
.(1 c) + u
x
.s u
2
z
.(1 c) + c
_
_
(1.41)
On prfre utiliser la relation suivante (formule de Rodrigues) :
A(u, ) = u.u
T
.(1 c) + I
3
.c + u.s (1.42)
avec :
u =
_
_
0 u
z
u
y
u
z
0 u
x
u
y
u
x
0
_
_
(1.43)
u est appele matrice de pr produit vectoriel. En eet, on a la relation :
u V = u.V (1.44)
1.2 Gomtrie du dplacement 15
pour tout vecteur V .
_
_
u
x
u
y
u
z
_
_

_
_
V
x
V
y
V
z
_
_
=
_
_
u
y
.V
z
u
z
.V
y
u
z
.V
x
u
x
.V
z
u
x
.V
y
u
y
.V
x
_
_
=
_
_
0 u
z
u
y
u
z
0 u
x
u
y
u
x
0
_
_
.
_
_
V
x
V
y
V
z
_
_
(1.45)
Remarque reprsentation exponentielle e
u.
Nous avons vu que A(u, ) = u.u
T
.(1 c) + I
3
.c + u.s avec :
u =
_
_
0 u
z
u
y
u
z
0 u
x
u
y
u
x
0
_
_
(1.46)
De plus, on a :
u.u
T
=
_
_
u
x
u
y
u
z
_
_
.(u
x
u
y
u
z
) =
_
_
u
2
x
u
x
u
y
u
x
u
z
u
x
u
y
u
2
y
u
y
u
z
u
x
u
z
u
y
u
z
u
2
z
_
_
(1.47)
et u
x
2
+ u
t
2
+ u
z
2
= 1
u
2
= u. u = u.u
T
I
3
=
_
_
u
2
x
1 u
x
u
y
u
x
u
z
u
x
u
y
u
2
y
1 u
y
u
z
u
x
u
z
u
y
u
z
u
2
z
1
_
_
(1.48)
Il est donc possible de rcrire la matrice de rotation sous la forme (autre forme de
la formule de Rodrigues) :
A(u, ) = I
3
+ u.s + u
2
.(1 c) (1.49)
En dveloppant en srie de Mac Laurin les fonctions sinus et cosinus, on a :
A(u, ) = I
3
+ u.
_


3
3!
+

5
5!


7
7!
+ ...
_
+ u
2
.
_

2
2!


4
4!
+

6
6!
...
_
(1.50)
Comme on a u
3
= u, u
4
= u
2
, u
5
= u et u
6
= u
2
,
on a donc :
A(u, ) = I
3
+ u. +
( u.)
2
2!
+
( u.)
3
3!
+
( u.)
4
4!
+
( u.)
5
5!
+ ... (1.51)
Ce qui reprsente le dveloppement en sries de Mac Laurin de la fonction exponen-
tielle. Il vient que :
A(u, ) = exp( u, ) = e
u.
(1.52)
16 Gomtrie et cinmatique du dplacement
Exemple : Rotation autour de laxe x
A(x, ) = e
u.
= I
3
+ u.s + u
2
.(1 c) (1.53)
avec u = (1, 0, 0)
T
A(x, ) =
_
_
1 0 0
0 1 0
0 0 1
_
_
+
_
_
0 0 0
0 0 1
0 1 0
_
_
.s+
_
_
0 0 0
0 1 0
0 0 1
_
_
.(1c)
(1.54)
A(x, ) =
_
_
1 0 0
0 c s
0 s c
_
_
(1.55)
1.2.2 Situation dun solide dans lespace
La situation dun solide dans lexpace est exprime par une matrice de transfor-
mation homogne de la forme :
T =
_
_
_
_
s
x
n
x
a
x
P
x
s
y
n
y
a
y
P
y
s
z
n
z
a
z
P
z
0 0 0 1
_
_
_
_
=
_
A P
0 1
_
(1.56)
avec :
A matrice (3 3) des rotations donnant loriantation du solide dans un repre
xe R
0
P matrice (31) des translations donnant la position du solide dans un repre
xe R
0
Nous allons prsenter quelques mthodes de description usuelles en robotique, pour
dcrire la situation dun repre R
n
, associ un solide quelconque, dans un repre
de rfrence R
0
. Nous aborderons dabord les direntes mthodes permettant de
reprsenter la position du solide, puis celles permettant de paramtrer lorientation
de ce mme solide.
1.2.2.1 Description de la position dun solide
La position de lorigine dun repre li un solide R
n
, par rapport un repre
de rfrence R
0
, peut tre dnie par dirents types de coordonnes :
cartsiennes,
cylindriques,
sphriques.
Le choix dune description est guid par les caractristiques du manipulateur (forme
du volume de travail) dune part, et par la tche raliser dautre part.
1.2 Gomtrie du dplacement 17
y
0
x
0
z
0
R
0
x
n
y
n
z
n
R
n
T
P
x
P
y
P
z
Figure 1.12 Coordonnes cartsiennes
.
y
0
x
0
z
0
R
0
x
n
y
n
z
n
R
n
T

r
z
Figure 1.13 Coordonnes cylindriques
.
Coordonnes cartsiennes Cest la mthode la plus gnrale. Elle donne direc-
tement les composantes du vecteur de position P. Cette reprsentation est utilise
lorsque la structure du robot est cartsienne (par exemple : robot cartsien Afma,
Acma-p80, Ibm-7565,...). La gure 1.12 illustre cette reprsentation. La matrice
de position est la suivante :
P
car
=
_
_
P
x
P
y
P
z
_
_
(1.57)
Coordonnes cylindriques Cette reprsentation est utilise lorsque la structure
du robot est cylindrique (par exemple : robot Acma th8, Cincinnati-t3-363,...).
La gure 1.13 illustre cette reprsentation La matrice de position est la suivante :
P
cyl
=
_
_
r.c
rs
z
_
_
(1.58)
18 Gomtrie et cinmatique du dplacement
y
0
x
0
z
0
R
0
x
n
y
n
z
n
R
n
T

r
Figure 1.14 Coordonnes sphriques
.
On peut exprimer les coordonnes cylindriques en fonction des coordonnes cat-
siennes par les relations suivantes :
r =
_
P
2
x
+ P
2
y
= atan2(P
y
, P
x
)
z = P
z
(1.59)
o la fonction atan2 permet le calcul de larc-tangente partir de deux arguments.
Le rsultat [180; 180], le quadrant tant x par lanalyse du signe de P
x
et
de P
y
. Seul les cas P
x
= 0 et P
y
= 0 constitue une singularit (impossibilit de
solution).
Coordonnes sphriques Cette reprsentation est utilise lorsque la structure
du robot est sprique (par exemple : robot Unimation-1000/2000/4000, Psa-
barnab, Stanford,...). La gure 1.14 illustre cette reprsentation. La matrice
de position est la suivante :
P
sph
=
_
_
r.c.s
r.s.s
r.c
_
_
(1.60)
On peut exprimer les coordonnes spriques en fonction des coordonnes cart-
siennes, par les relations qui suivent :
r =
_
P
2
x
+ P
2
y
+ P
2
z
= atan2(P
y
, P
x
) si = 0 ou = 0 si = 0
= atan2
_
P
y
s
, P
z
_
si = 0 ou = atan2(P
x
, P
z
) si = 0
(1.61)
1.2 Gomtrie du dplacement 19
1.2.2.2 Description de lorientation dun solide
Pour dcrire dorientation dun solide, le choix de trois paramtres se rvle
parfois dicile. Aussi, on se ramne des reprsentations redondantes. Les mthodes
les plus utilises sont les suivantes :
les cosinus directeurs,
les angles dEuler,
les angles de Bryant,
les angles Roulis-Tangage-Lacet,
les paramtres dEuler (ou Olingue-Rodrigues, quaternions).
Les cosinus directeurs La description de lorientation dun solide par les cosinus
directeurs est donne par les trois vecteurs s, n et a constituant 9 lments appels
cosinus directeurs. La matrice dorientation est la suivante :
_
_
s
x
n
x
a
x
s
y
n
y
a
y
s
z
n
z
a
z
_
_
(1.62)
La connaissance de deux vecteurs choisis parmi les 3 est sussante (le troisime
est obtenu par le produit vectoriel des deux autres). 3 composantes seulement sont
indpendantes, mais dans le cas gnral, il est dicile de les xer. La description de
lorientation dun solide par les cosinus directeurs est une mthode redondante.
Les angles dEuler Dans ce cas, lorientation dun repre R
n
associ un solide
quelconque, dans un repre rfrence R
0
, est dtermine par la spcication de 3
angles correspondants trois rotations successives (z, x, z). La gure 1.15 illustre
cette mthode de desciption de lorientation. Le plan (x
n
, y
n
) coupe le plan (x
0
, y
0
)
suivant une droite ON appele ligne modale, perpendiculaire aux axes z
0
et z
n
. Son
sens positif est donn par le produit vectoriel z
n
z
0
. Comme le montre la gure
1.15, les angles dEuler sont dnis comme suit :
(prcession) : angle entre x
0
et ON tel que 0 360
0
(nutation) : angle entre z
0
et z
n
tel que 0 180
0
(rotation propre) : angle entre ON et x
n
tel que 0 360
0
et sont mesurs dans le sens donn par la rgle du tire-bouchon respectivement
autour des axes Z
0
et Z
n
.
La composition de ces trois rotations permet de calculer la matrice dorientation.
En eet, on a :
A
Eul
= E(z, ).A(x, ).A(z, ) (1.63)
do
A
Eul
=
_
_
c.c s.c.s c.s s.c.c s.s
s.c + c.c.s s.s + c.c.c c.s
s.s s.c c
_
_
(1.64)
20 Gomtrie et cinmatique du dplacement
y
0
x
0
z
0
R
0
x
n
y
n
z
n
R
n
N
O

pl(x
0
, y
0
)
p
l
(
x
n
,
y
n
)
Figure 1.15 Les angles dEuler (convention z, x, z)
.
Remarque : Au lieu de prendre par convention lordre (z, x, z), cer-
tains auteurs prennent lordre (z, y, z), ce qui donne :
A
Eul
= A(z, ).A(y, ).A(z, ) (1.65)
On peut montrer, que pour passer des cosinus directeurs aux angle dEuler, les
relations suivantes sont utilisables :
= atan2(a
x
, a
y
) 180
0
prs ( = atan2(a
x
, a
y
) + 180
0
) (3me colonne)
= atan2(s.a
x
c.a
y
, a
z
) (3me colonne)
= atan2(c.n
x
s.n
y
, c.s
x
+ s.s
y
) (1/2me colonne)
(1.66)
Dans le cas o a
x
et a
y
sont nuls, les axes z
0
et z
n
sont confondus ; donc est nul ou
gal 180
0
. Cette situation correspond un cas singulier, dans lequel, les rotations
et psi seectuent autour du mme axe et cest la quantit + qui intervient.
Lorsque = 0, on a alors :
A
Eul
= A(z, + ) (1.67)
on en dduit que + =antan2(n
x
, n
y
) (2me colonne de la matrice de rotation
autour de z) et = 0
Les angles de Bryant Comme pour les angles dEuler, lorientation dun repre
R
n
, associ un solide quelconque, dans un repre de rfrence R
0
, est dtermine
1.2 Gomtrie du dplacement 21
y
0
x
0
z
0
R
0
x
n
y
n
z
n
R
n
y
1
x
1
z
1
y
2
x
2
z
2

1

2

3
Figure 1.16 Les angles de Bryant (convention x, y, z)
.
par la spcication de 3 angles correspondants 3 rotations successives (x, y, z). La
gure 1.16 illustre cette description de lorientation.
La composition de ces trois notations permet de calculer la matrice dorientation.
En eet, on a :
A
Bry
= A(x,
1
).A(y,
2
).A(z,
3
) (1.68)
do
A
Bry
=
_
_
c
2
.c
3
c
1
.s
3
+ s
1
.s
2
.c
3
s
1
.s
3
c
1
.s
2
.c
3
c
2
.s
3
c
1
.c
3
s
1
.s
2
.s
3
s
1
.c
3
+ c
1
.s
2
.s
3
s
2
s
1
.c
2
c
1
.c
2
_
_
(1.69)
On peut montrer, que le passage des cosinus directeurs aux angles de Bryant est
obtenu par les relations suivantes :

1
= atan2(n
z
, a
z
) 180
0
prs (
1
= atan2(n
z
, a
z
) + 180
0
) (3/4me colonne)

2
= atan2(s
z
, c
1
.a
z
s
1
.n
z
) (3me ligne)

3
= atan2(c
1
.n
x
+ s
1
.a
x
, c
1
.n
y
+ s
1
.a
y
) (3/4me colonne)
(1.70)
Les roulis-tangage-lacet Comme pour les deux reprsentations prcdentes,
lorientation dun repre R
n
, associ un solide quelconque, dans un repre de
rfrence R
0
, est dtermine par la spcication de 3 angles correspondants 3 ro-
tations successives (z, y, x). La gure 1.17 illustre cette description de lorientation.
La composition de ces trois rotations permet de calculer la matrice dorientation :
A
RTL
= A(z, ).A(y, ).A(x, ) (1.71)
22 Gomtrie et cinmatique du dplacement
y
0
x
0
z
0
R
0
x
n
y
n
z
n
R
n
y
1
x
1
z
1
x
2
z
2

Figure 1.17 Les angles de roulis-tangage-lacet (convention z, y, x)


.
do
A
RTL
=
_
_
c.c c.s.s s.c c.s.c + s.s
s.c s.s.s + c.c s.s.c c.s
s c.s c.c
_
_
(1.72)
On peut montrer, que le passage des cosinus directeurs aux angles RTL est obtenu
par les relations suivantes :
= atan2(s
y
, s
x
) 180
0
prs ( = atan2(s
y
, s
x
) + 180
0
) (1re colonne)
= atan2(s
z
, c.s
x
+ s.s
y
) (1re colonne)
= atan2(s.a
x
c.a
y
, s.n
x
+ c.n
y
) (3/4me colonne)
(1.73)
IL y a une singularit si s
y
= s
x
= 0
Les paramtres dEuler (les quaternions) Dans ce cas, lorientation dun re-
pre R
n
, associ un solide quelconque, dans un repre de rfrence R
0
, est dter-
mine par la spcication des 4 paramtres (
1
,
2
,
3
,
4
) qui dcrivent une rotation
unique quivalente [180; 180] autour dun axe de vecteur unitaire u, tels que :

1
= cos
_

2
_

2
= u
x
. sin
_

2
_

3
= u
y
. sin
_

2
_

4
= u
z
. sin
_

2
_
(1.74)
1.2 Gomtrie du dplacement 23
y
0
x
0
z
0
R
0
x
n
y
n
z
n
R
n
u
Figure 1.18 Les quaternions.
.
Ces paramtres ont les proprits suivantes :
2
2
1
1 = cos (a) et
2
1
+
2
2
+
2
3
+
2
4
= 1 (b) (1.75)
La gure 1.18 illustre cette description de lorientation La matrice dorientation est
la suivante :
A
Quat
=
_
_
2.(
2
1
+
2
2
) 1 2.(
2
.
3

1
.
4
) 2.(
2
.
4
+
1
.
3
)
2.(
2
.
3
+
1
.
4
) 2.(
2
1
+
2
3
) 1 2.(
3
.
4

1
.
2
)
2.(
2
.
4

1
.
3
) 2.(
3
.
4
+
1

2
) 2.(
2
1
+
2
4
) 1
_
_
(1.76)
Pour dmontrer cette relation, il sut de remplacer les expressions des paramtres
(
1
,
2
,
3
,
4
) dans la matrice et de comparer avec celle obtenue pour une rotation
autour dun axe u quelconque.
On peut montrer, que le passage des cosinus directeurs aux quaternions (para-
mtres dEuler) est obtenu par les relations suivantes :

1
=
1
2
.
_
s
x
+ n
y
+ a
z
+ 1

2
=
1
2
.sign(n
x
a
y
).
_
s
x
n
y
a
z
+ 1

3
=
1
2
.sign(a
x
s
z
).
_
s
x
+ n
y
a
z
+ 1

4
=
1
2
.sign(s
y
n
x
).
_
s
x
n
y
+ a
z
+ 1
(1.77)
La fonction sign(A) donne le signe dun rel A
24 Gomtrie et cinmatique du dplacement
y
f
x
f
z
f
R
f
P
A
s
R

Figure 1.19 Mouvement circulaire.


.
1.3 Cinmatique du dplacement
Dans cette partie, nous aborderons les principales relations utilisables lorsquil
sagit de dcrire le mouvement dun corps solide.
1.3.1 Mouvement circulaire
Soit un point P qui se dplace sur un cercle de rayon R (cf g. 1.19) :
s reprsente la longueur de larc AP donc s = R.
est langle au centre du cercle correspondant
La vitesse tangentielle peut sexprimer en fonction de la vitesse angulaire de ro-
tation par la relation suivante :
=
ds
dt
= R.
d
dt
= R. (1.78)
1.3.2 Systmes daxes tournants
Considrons un systme daxes tournants reprsent par la gure 1.20 Soit R
f
(x
z
, y
f
, z
f
) un repre absolu dorigine O que nous considrons xe.
Soit R
m
(x
m
, y
m
, z
m
) un repre tournant par rapport R
f
de mme origine O.
Soit A = (A
1
, A
2
, A
3
)
T
(vecteur position de A exprim dans R
m
), un point variable
dans lespace.
Alors, on a :
_
dA
dt
_
R
f
=
_
dA
dt
_
Rm
+ A (1.79)
o
V (A)
R
f
= V (A)
Rm
+ A (1.80)
o reprsente la vitesse angulaire de rotation du repre R
m
par rapport au repre
R
f
.
1.3 Cinmatique du dplacement 25
y
f
x
f
z
f
R
f
y
m
x
m
z
m
R
m
A
Figure 1.20 Systme daxes tournants.
.
y
m
x
m
z
m
R
m
y
f
x
f
z
f
R
f
P
O
r
R Q
Figure 1.21 Systme daxes mobiles : cas gnral.
.
1.3.3 Systmes daxes mobiles dans le cas gnral
Soit R
f
(x
f
, y
f
, z
f
) un repre absolu dorigine O que nous considrons xe.
Soit R
m
(x
m
, y
m
, z
m
) un repre mobile par rapport R
f
dorigine Q.
Supposons que R soit le vecteur position de lorigine Q par rapport O.
Supposons que
.
R
soit la vitesse du point Q par rapport O.
Supposons que r soit le vecteur position dun point P quelconque par rapport Q.
Soit
.
r la vitesse du point P par rapport Q.
La gure 1.21 reprsente la scne. On a alors :
V (P)
R
f
= V (Q)
R
f
+ V (P)
Rm
+ r (1.81)
soit :
_
dr
dt
_
R
f
=
.
R
+
_
dr
dt
_
Rm
+ r (1.82)
o :

.
R
exprime la vitesse du point Q par rapport O,
26 Gomtrie et cinmatique du dplacement
zf
y
0
x
0
z
0
R
0
y
1
x
1
z
1
R
1
y
i
x
i
z
i
R
i
y
i+1
x
i+1
z
i+1
R
i+1
C
0
C
1
C
i
C
i+1
Figure 1.22 Systme daxes mobiles : cas dune chane articulaire simple.
.

_
dr
dt
_
Rm
exprime le mouvement du aux translations,
r exprime le mouvement du aux rotations,
exprime la vitesse angulaire de rotation de R
m
par rapport R
f
.
Remarque 1 : Si Q est confondu avec O, alors :
.
R
= 0. Il sen suit
que :
_
dr
dt
_
R
f
=
_
dr
dt
_
Rm
+ r (1.83)
qui scrit galement :
.
r
R
f
=
.
r
Rm
+ r (1.84)
Ce qui permet de vrier les relations prcdentes.
Remarque 2 : Si, de plus, P ne varie par en amplitude (cest dire
en position), alors
.
r
Rm
= 0. Il sen suit que :
.
r
R
f
= r = r = .r (1.85)
avec
exprime la vitesse angulaire de rotation de R
m
par rapport R
f
,
exprime la matrice de pr produit vectoriel (tenseur ).
1.3.4 Lois de composition des vitesses
Le but de cette partie est dtablir une relation de rcurrence pour une chaine
articulaire forme par les corps successifs dun robot. A chacun des corps C
i
, on
associe un repre R
i
. De plus, on considre R
0
comme repre xe. La gure 1.22
dcrit le cas dune chane articulaire. Dans ce cas, on peut exprimer la vitesse de
1.3 Cinmatique du dplacement 27
translation associe au corps C
i+1
par la relation suivante :
V (O
i+1
)
(R
0
)
(R
i
)
= V (O
i
)
(R
0
)
(R
i
)
+ V (O
i+1
)
(R
i
)
(R
i
)
+
i
(R
0
)
(R
i
)
O
i
O
i+1
(1.86)
o :
V (O
i+1
)
(R
0
)
(R
i
)
reprsente la vitesse de translation de translation de O
i+1
par
rapport O
0
exprime dans le repre R
i
,
V (O
i
)
(R
0
)
(R
i
)
reprsente la vitesse de translation de O
i
par rapport O
0
exprime
dans le repre R
i
,
V (O
i+1
)
(R
i
)
(R
i
)
reprsente la vitesse de translation de O
i+1
par rapport O
i
ex-
prime dans le repre R
i
,

i
(R
0
)
(R
i
)
reprsente la vitesse angulaire de rotation du repre R
i
par rapport au
repre R
0
exprime dans le repre R
i
,
O
i+1
O
i
reprsente le vecteur position de lorigine O
i+1
dans le repre R
i
.
De mme, on peut crire :
V (O
i+1
)
(R
0
)
(R
i
)
=
i
A
i+1
.V (O
i+1
)
(R
0
)
(R
i+1
)
(1.87)
et
V (O
i
)
(R
0
)
(R
i
)
=
i
A
i1
.V (O
i
)
(R
0
)
(R
i1
)
(1.88)
i
A
i+1
reprsente la matrice rotation de la matrice de transformation homogne
i
T
i+1
permettant le passage du repre R
i
R
i+1
.
Pour les vitesses angulaires de rotation, nous utiliserons la relation suivante :

i
(R
0
)
(R
i
)
=
i
(R
i1
)
(R
i1
)
+
i
A
i1
.
i1
(R
0
)
(R
i1
)
(1.89)
avec :

i
(R
0
)
(R
i
)
reprsente la vitesse angulaire de rotation du repre R
i
par rapport
R
0
exprime dans le repre R
i
,

i
(R
i1
)
(R
i1
)
reprsente la vitesse angulaire de rotation du repre R
i
par rapport
R
i1
exprime dans le repre R
i1
,

i
A
i1
reprsente la matrice de rotation (cosinus directeur) de la matrice de
transformation homogne permettant le passage du repre R
i
au repre R
i1
,

i1
(R
0
)
(R
i1
)
reprsente la vitesse angulaire de rotation du repre R
i1
par rapport
R
0
exprime dans le repre R
i1
.
Ces trois relations permettent de calculer les vitesses de rotation et de translation
de nimporte quel segment du robot, en particulier celles de lorgane terminal.
Chapitre 2
Modlisation gomtrique des robots
- Commande en position des robots
2.1 Introduction la modlisation
La conception et la commande des robots manipulateurs ncessitent le calcul de
certains modles mathmatiques, tels que les
modles de transformation entre :
lespace oprationnel X (dans lequel on dnit la situation de lorgane ter-
minal)
lespace articulaire q (dans lequel on dnit la conguration du robot)
X q (2.1)
modles dynamiques dnissant les quations du mouvement du robot, qui
permettent dtablir les relations entre les couples et les forces exercs par les
actionneurs et, les positions, vitesses et acclrations articulaires :
= f(q,
.
q
,
..
q
, F) (2.2)
Parmi les modles de transformation, on distingue :
les modles gomtriques direct et inverse qui expriment la situation de lor-
gane terminal en fonction de la conguration du mcanisme articulaire et in-
versement.
X q (2.3)
les modles direntiels direct et inverse qui expriment la direntielle de la
situation de lorgane terminal en fonction de la conguration du mcanisme
articulaire et inversement.
.
X

.
q
(2.4)
La plupart de ces modles sont tablis par calcul symbolique. Dans cet objectif, un
logiciel de calcul symbolique est un outil essentiel.
30
Modlisation gomtrique des robots - Commande en position des
robots
LEcole Centrale de Nantes a mis sur le march un logiciel appel SYMORO+
[KC] qui permet ltude, le dveloppement et le test de tous ces modles.
Il existe des mthodes et notations utilises pour la modlisation des robots. La
plus rpandue est celle de Denavit-Hartenberg [DH55]. Elle est bien adapte pour des
structures ouvertes simples, mais prsente des ambiguts lorsquelle est applique
sur des robots structures fermes ou arborescentes. Dans les annes 80, Wisama
Khalil propose une modication de cette mthode : mthode de Denavit-Hartenberg
modie (dte mthode de Khalil). Cette mthode permet la description homogne
en un nombre minimum de paramtres pour la reprsentation des direntes struc-
tures de robots gnralement rencontrs.
2.2 Description de la structure gomtrique dun
robot
2.2.1 Notations et rgles gnrales
La mthode gnrale est base sur les rgles et conventions suivantes :
la variable de larticulation j est note q
j
le corps j est not C
j
les corps sont supposs parfaitement rigides. Ils sont connects par des articu-
lations considres comme idales.
le repre R
j
est li au corps C
j
laxe du z
j
repre R
j
, est port par laxe articulaire j
les paramtres qui permettent de dnir le repre R
j
, par rapport au repre
antcdent sont munis de lindice j
2.2.2 Description des robots chane ouverte simple
2.2.2.1 Cadre gnral
Le systme est compos de n+1 corps C
0
, C
1
, C
2
...C
n
et de n articulations (voir
gure 2.1).
Le corps C
0
dsigne la base du robot. Le corps C
n
est celui qui porte lorgane
terminal.
Larticulation j connecte le corps C
j
au corps C
j1
.
2.2.2.2 Paramtrage de Denavit-Hartenberg modi (Khalil 86)
Le repre R
j
x au corps C
j
est dni de telle sorte que :
z
j
est port par laxe articulaire j
x
j
est port par la perpendiculaire commune aux axes z
j
et z
j+1
Si z
j
et z
j+1
sont parallles ou colinaires, le choix de x
j
nest pas unique. Dans ce cas, des
2.2 Description de la structure gomtrique dun robot 31
C
0
C
1
C
2
C
3
C
4
C
n2
C
n1
C
n
Figure 2.1 Robot structure ouverte simple.
.
considrations de symtrie ou de simplicit permettent alors un choix rationnel.
y
j
est laxe qui forme un tridre direct : y
j
= z
j
x
j
Le passage du repre R
j1
au repre R
j
, sexprime en fonction de 4 paramtres
suivants :

j
est langle entre les axes z
j1
et z
j
correspondant une rotation autour de
x
j1
d
j
est la distance entre les axes z
j1
et z
j
le long de x
j1

j
est langle entre les axes x
j1
et x
j
correspondant une rotation autour de
z
j
r
j
est la distance entre les axes x
j1
et x
j
correspondant une rotation autour
de z
j
La gure 2.2 reprsente la dnition des paramtres de Denavit-Hartenberg mo-
di.
La variable articulaire q
j
(associe la j
eme
articulation ) est soit :

j
si larticulation est de type rotode (
j
= 0)
r
j
si larticulation est de type prismatique (
j
= 1)
On a donc : q
j
=
j
.
j
+
j
.r
j
La matrice de transformation homogne dnissant le repre R
j
dans le repre
R
j1
est donne par :
j1
T
j
= Rot(x,
j
).Trans(x, d
j
).Rot(z,
j
).Trans(z, r
j
) (2.5)
Soit :
j1
T
j
=
_
_
_
_
C
j
S
j
0 d
j
C
j
.S
j
C
j
.C
j
S
j
r
j
.S
j
S
j
.S
j
S
j
.C
j
C
j
r
j
.C
j
0 0 0 1
_
_
_
_
(2.6)
32
Modlisation gomtrique des robots - Commande en position des
robots
z
j1
O
j1
x
j1

j
z
j
O
j
x
j
r
j

j
d
j
Figure 2.2 Paramtres gomtriques dans le cas dune structure ouverte simple.
.
On remarque que :
j1
A
j
= Rot(x,
j
).Rot(z,
j
) car les oprations de rota-
tions/translations successives sur un mme axe sont commutatives.
On en dduit la matrice de transformation homogne inverse permettant le pas-
sage du repre R
j
au repre R
j1
.
j
T
j1
= Trans(z, r
j
).Rot(z,
j
).Trans(x, d
j
).Rot(x,
j
) (2.7)
dont lexpression littrale est la suivante (
j
A
j1
= (
j1
A
j
)
T
) :
j
T
j1
=
_
_
_
_
C
j
C
j
.S
j
S
j
.S
j
d
j
.C
j
S
j
C
j
.C
j
S
j
.C
j
d
j
.S
j
0 S
j
C
j
r
j
0 0 0 1
_
_
_
_
(2.8)
Remarques :
1. Pour la dnition de R
0
, le choix le plus simple consiste confondre R
0
avec
R
1
pour la valeur particulire de larticulation q
1
= 0. Cela implique que z
0
et
z
1
sont confondus, et que x
0
= x
1
pour q
1
= 0.
2. De mme, en dnissant laxe x
n
du repre R
n
comme tant colinaire x
n1
lorsque q
n
= 0, on rend les paramtres r
n
=
n
= 0.
3. Pour une articulation j prismatique, laxe z
j
est parallle laxe de larticula-
tion, mais la position sur cet axe peut tre quelconque.
4. Cette mthode de description xe la conguration zro du robot tel que
q = q = q
i0
= 0. On peut choisir une autre conguration (quelconque), en
procdant au changement de variable suivant : q
c
= q q
i0
avec
2.2 Description de la structure gomtrique dun robot 33
q
c
= nouveau vecteur des variables articulaires
q
i0
= conguration zro choisie
5. De mme, si la convention axe positif est change au montage du robot, il
sut deectuer le changement de variable : q
c
= q.
6. Lorsquune cinmatique est constitue par 2 ou plusieurs axes parallles cons-
cutifs, on peut se ramener une seule matrice de transformation quivalente en
faisant intervenir la somme des variables articulaires. Par exemple, si
j+1
= 0,
les axes z
j
et z
j+1
sont parallles. Dans ce cas, on a :
j1
T
j+1
=
j1
T
j
.
j
T
j+1
=
Rot(x,
j
).Trans(x, d
j
).Rot(z,
j
).Trans(z, r
j
).Rot(x,
j+1
).Trans(x, d
j+1
).
Rot(z,
j+1
).Trans(z, r
j+1
) =
Rot(x,
j
).Trans(x, d
j
).Rot(z,
j
).Trans(z, r
j
).
Trans(x, d
j+1
).Rot(z,
j+1
).Trans(z, r
j+1
) =
Rot(x,
j
).Trans(x, d
j
).Trans(z, r
j
).Rot(z,
j
+
j+1
).Trans(x, d
j+1
).Trans(z, r
j+1
) =
Rot(x,
j
).Trans(x, d
j
).Rot(z,
j
+
j+1
).Trans(z, r
j
+ r
j+1
).Trans(x, d
j+1
)
(2.9)
Ce qui peut se rcrire sous la forme suivante :
j1
T
j+1
=
_
_
_
_
C(
j
+
j+1
) S(
j
+
j+1
) 0 d
j
+ d
j+1
.C
j
C
j
.S(
j
+
j+1
) C
j
.C(
j
+
j+1
) S
j
d
j+1
.C
j
.S
j
(r
j
+ r
j+1
).S
j
S
j
.S(
j
+
j+1
) S
j
.C(
j
+
j+1
) C
j
d
j+1
.S
j
.S
j
+ (r
j
+ r
j+1
).C
j
0 0 0 1
_
_
_
_
(2.10)
La transformation inverse a pour expression :
j+1
T
j1
=
_
_
_
_
C(
j
+
j+1
) C
j
.S(
j
+
j+1
) S
j
.S(
j
+
j+1
) d
j
.C(
j
+
j+1
) d
j+1
.C
j+1
S(
j
+
j+1
) C
j
.C(
j
+
j+1
) S
j
.C(
j
+
j+1
) d
j
.S(
j
+
j+1
) + d
j+1
.S
j+1
0 S
j
. C
j
(r
j
+ r
j+1
)
0 0 0 1
_
_
_
_
(2.11)
Dans ces deux expressions, on voit apparatre les sommes
j
+
j+1
et r
j
+r
j+1
(cf
(2.9)).
2.2.2.3 Exemples de description
Robot manipulateur AID-5 (RRR,RRR) La gure 2.3 montre le synoptique
du robot AID-5.
Le robot AID-5 est constitu :
dun porteur muni de 3 degrs de libert (RRR)
dun poignet muni de 3 degrs de libert (RRR) : une rotule daxes concourants
Pour dterminer les paramtres de Denavit-Hartenberg, il faut procder par tapes :
1. disposer les axes z
j
sur les axes articulaires
2. disposer R
0
tel que R
0
= R
1
pour q
1
= 0
34
Modlisation gomtrique des robots - Commande en position des
robots
+
+
+
+
+
+
D
3
RL
4
x
0
, x
1
z
0
, z
1
x
2
z
2
x
4
, x
5
, x
6
z
3
z
4
x
3
z
5
z
6
Figure 2.3 Structure du robot AID-5.
.
2.2 Description de la structure gomtrique dun robot 35
3. disposer les axes x
j
en prenant la convention x
j
= z
j
z
j+1
(tridre direct).
Il se peut que pour des raisons de simplicit, quil soit prfrable de prendre
la convention tridre indirect.
Dans le cas du robot AID-5, les axes z
j
sont poss de manire automatique en
fonction des conventions de signes sur les axes articulaires (angle positif selon la
rgle du vissage selon laxe).
Le tableau des paramtres de Denavit-Hartenberg relatif au robot AID-5 est le
suivant :
J
j

j
d
j

j
r
j
Tridre
R
0
=R
1
0 0 0 q1 0 D/I
R
1
=R
2
0 90 0 q2 0 D
R
2
=R
3
0 0 D
3
q3 0 D/I
R
3
=R
4
0 90 0 q4 RL
4
D
R
4
=R
5
0 90 0 q5 0 I
R
5
=R
6
0 90 0 q6 0 I
Plusieurs problmes sont mis jour par cet exemple.
Tout dabord, le choix des vecteurs x
j
nest pas unique. En eet, si lon regarde les
liaisons R
0
=R
1
et R
2
=R
3
, les axes z
j
sont soit colinaires, soit parallles. Pour
simplier la reprsentation, dans les deux cas on choisit laxe x
j
correspondant de
tel sorte que le passage laxe x
j+1
soit simple (mme direction). Dans certains cas,
on regarde galement la liaison prcdente, de manire simplier la reprsentation
du passage de laxe x
j1
laxe x
j
.
Pour le choix de x
6
, il serait ncessaire de connatre la direction de laxe x
e
du
repre outil. En labscence de celle-ci, le choix est arbitraire mais doit tre simple.
Par consquent, seul deux choix sont retenus en gnral. Ces deux choix dirent
par une direction oppose. Dans notre exemple, nous avons retenu la simplication
du passage R
5
=R
6
qui conduit avoir x
5
= x
6
pour q
6
= 0.
Dans la dernire colonne de ce tableau gure la convention prise (pour chaque
liaison), pour xer la direction de laxe x
j
. Il est clair que cela revient au mme
en dnitif, si lon considre que les repres R
0
et R
n
sont les mmes selon les
conventions prises. La seule dirence porte sur la prsence et non prsence dans le
tableau de rotations supplmentaires de valeur 180
o
= (qui marchent par paire).
Robot manipulateur ACMA H-80 (PRR, RRR) La gure 2.4 montre le
synoptique de ce robot.
On considre le robot ACMA H-80 constitu :
dun porteur muni de 3 degrs de libert (PRR)
dun poignet muni de 3 degrs de libert (RRR) : une rotule daxes concourants
Dans le cas du robot ACMA H-80, les axes z
j
sont poss de manire automatique
en fonction des conventions de signes sur les axes articulaires (angle positif selon la
rgle du vissage selon laxe).
36
Modlisation gomtrique des robots - Commande en position des
robots
+
+ +
+
+
+
D
3
D
4
z
0
, z
1
x
2
z
2
x
0
, x
1
x
4
, x
5
, x
6
z
3
z
4
x
3
z
5
z
6
Figure 2.4 Structure du robot ACMA H-80.
.
Le tableau des paramtres de Denavit-Hartenberg relatif au robot ACMA H-80
est le suivant :
J
j

j
d
j

j
r
j
Tridre
R
0
=R
1
1 0 0 0 q
1
D/I
R
1
=R
2
0 0 0 q
2
0 D/I
R
2
=R
3
0 0 D
3
q
3
0 D/I
R
3
=R
4
0 0 D
4
q
4
0 I
R
4
=R
5
0 90 0 q
5
0 I
R
5
=R
6
0 90 0 q
6
0 D/I
Robot cartsien AFMA (PPP, RRR) (Voir td)
2.2.3 Extensions aux chanes fermes et arborescentes
En dehors des chanes ouvertes simples, il est possible de rencontrer :
des chanes ouvertes arborescentes
des chanes fermes
des chanes composes de chanes simples, arborescentes ou non, et de chanes
fermes
2.2 Description de la structure gomtrique dun robot 37
C
0
C
1
C
2
C
n
C
n1
C
n2
C
k
C
k+1
C
k+L
C
m
C
m1
z
0
, z
1
z
k
z
k+L
z
k+1
z
m
z
n
Figure 2.5 Robot structure ouverte arborescente.
.
2.2.3.1 Cas des chanes arborescentes
Une structure (ou chane) est constitue par n + 1 corps, n articulations et r
organes terminaux.
Par convention, les corps et articulations sont numrots de la manire suivante :
la base est xe et constitue le corps C
0
les numros des corps et articulations sont croissants sur chaque branche en
partant de la base (corps C
0
), vers un organe terminal
le corps C
j
est articul autour de larticulation j par rapport au corps C
a(j)
,
qui reprsente le corps antcdent sur la chane menant au corps C
j
en partant
de la base.
La topologie du systme est compltement dnie par la donne des indices
a(j) pour j = 1, 2, ..n
La gure 2.5 reprsente un exemple de chane arborescente avec deux organes ter-
minaux.
Les dirents repres sont placs de la manire suivante :
R
j
est xe par rapport au corps C
j
z
j
est port par laxe articulaire j
Jusque l, ces notations sont les mmes que celles employes pour une chane ouverte
simple.
38
Modlisation gomtrique des robots - Commande en position des
robots
Figure 2.6 Paramtrage ncessaire un corps plus de 2 articulations
.
Si le corps C
i
, avec i = a(j), na pas darborescence, laxe x
i
est choisi comme
la perpendiculaire commune aux axes z
i
, z
j
. En eet, le repre R
j
est successeur au
repre R
i
. On retient les 4 paramtres de Denavit-Hartenberg pour paramtrer la
liaison.
Si le corps C
i
porte plus dun corps, C
j
et C
k
par exemple, il faut alors choisir
laxe x
i
sur lune des deux perpendiculaires communes z
i
, z
j
ou z
i
, z
k
. Le bon
sens est de retenir la prfrence la chane menant lorgane terminal principal,
ou bien la chane qui possde le plus grand nombre de corps articuls. Deux cas
doivent tre envisags pour dnir un repre li C
j
successeur de C
i
.
si laxe x
i
est la perpendiculaire commune z
i
, z
j
alors la matrice de passage
i
T
j
(du repre R
i
au repre R
j
) scrit comme dans le cas des chanes simples
partir des 4 paramtres (
j
, d
j
,
j
, r
j
).
Si laxe x
i
est la perpendiculaire commune z
i
, z
k
, 2 paramtres supplmen-
taires doivent tre introduit.

j
= langle entre laxe x
i
et la perpendiculaire commune aux axes z
i
, z
j
notes x
i
, autour de laxe z
i

j
= distance entre laxe x
i
et laxe x
i
, le long de laxe z
i
.
La gure 2.6 montre les dirents repres et paramtres mis en oeuvre pour traiter
ce cas particulier.
Ces deux paramtres permettent de construire la matrice de passage
i
T
i
, per-
mettant le passage du repre R
i
au repre R
i
. Le repre R

i
est identique au repre
R
i
, mais il est construit sur lautre perpendiculaire commune.
i
T
i
= Rot(z,
j
).Trans(z,
j
) (2.12)
2.2 Description de la structure gomtrique dun robot 39
i
T
i
=
_
_
_
_
C
j
S
j
0 0
S
j
C
j
0 0
0 0 1
j
0 0 0 1
_
_
_
_
(2.13)
Do on en tire :
i
T
j
, =
i
T
i
.
i

T
j
avec
i

T
j
= Rot(x,
j
).Trans(x, d
j
).Rot(z,
j
).Trans(z, r
j
) (2.14)
Aprs dveloppement, on obtient la matrice globale suivante :
i
T
j
=
_
_
_
_
C
j
.C
j
S
j
.C
j
.S
j
C
j
.S
j
S
j
.C
j
.C
j
S
j
.S
j
d
j
.C
j
+ r
j
.S
j
.S
j
S
j
.C
j
+ C
j
.C
j
.S
j
S
j
.S
j
+ C
j
.C
j
.C
j
C
j
.S
j
d
j
.S
j
r
j
.C
j
.S
j
S
j
.S
j
S
j
.C
j
C
j
r
j
.C
j
+
j
0 0 0 1
_
_
_
_
(2.15)
Son inverse est :
j
T
i
=
_
_
_
_
C
j
.C
j
S
j
.C
j
.S
j
S
j
.C
j
+ C
j
.C
j
.S
j
S
j
.S
j

j
.S
j
.S
j
d
j
.C
j
C
j
.S
j
S
j
.C
j
.C
j
S
j
.S
j
+ C
j
.C
j
.C
j
S
j
.C
j

j
.S
j
.C
j
+ d
j
.S
j
S
j
.S
j
C
j
.S
j
C
j
r
j

j
.C
j
0 0 0 1
_
_
_
_
(2.16)
Remarque : Si
j
et
j
= 0, la matrice de transformation homogne
i
T
i
est unitaire.
Cest le cas frquent o les axes x
i
et x
i
sont confondus. Dans ce cas, on se ramne
au cas des chanes simples.
2.2.3.2 Cas des chanes fermes
Dans ce cas, le systme est constitu de n+1 corps et ventuellement de r organes
terminaux. De plus, il dispose de L > n articulations.
Le nombre de boucles fermes est donn par la relation : b = L n
Pour dcrire ce style de robot, on dtermine une structure arborescente quiva-
lente en coupant virtuellement chacune des boucles fermes sur lune de ses articu-
lations.
On choisit une articulation non motorise de prfrence, qui est telle que le
nombre de corps qui la spare de la racine ait le mme ordre de grandeur que lon
parcourt la boucle dun ct ou de lautre.
On procde comme au paragraphe prcdent pour la numrotation des corps et
des articulations.
Les articulations coupes sont notes partir de n + 1 jusqu L.
On place ensuite les repres sur les corps en suivant les rgles dj nonces.
Pour chaque articulation coupe k, on dnit un repre R
k
, xe par rapport lun
des corps supportant cette articulation.
40
Modlisation gomtrique des robots - Commande en position des
robots
Soit C
j
ce corps. Conformment aux rgles prcdentes, laxe z
k
est port par
laxe articulaire k. Laxe x
k
est port par la perpendiculaire commune z
k
et z
j
.
A partir des 4 ou 6 paramtres usuels indics k, on peut construire la matrice
de transformation homogne
i
T
k
permettant le passage du repre R
i
au repre R
k
,
avec i = a(k) dsignant lautre corps li larticulation k.
Dautre part, R
k
tant xe par rapport au repre R
j
, on peut dnir une matrice
constante
j
T
k
permettant le passage du repre R
j
au repre R
k
.
Pour viter une confusion de notations, les paramtres gomtriques de cette
dernire transformation sont indics k + b. On a donc
j
T
k

j
T
k+b
et j = a(k + b).
Cela revient introduire un repre R
k+b
confondu avec le repre R
k
tel que :
k+b
T
k
= I
4
.
Dans ces conditions, on peut crire une relation de fermeture de la boucle :
k+b
T
k
=
k+b
T
j
.
j
T
j+1
..
i
T
k
= I
4
(2.17)
Ainsi la description dun systme comportant des boucles fermes se ramne celle
dun systme arborescent obtenu en coupant chaque boucle sur une de ses articula-
tions, et en rajoutant des repres supplmentaires. Du fait que la coupure se fait sur
une articulation non motorise, on remarque que les paramtres r
k+b
et
k+b
sont
nuls.
La gure 2.7 montre les dirents repres mis en oeuvre pour traiter le cas
particulier des chanes fermes.
2.2.3.3 Exemples
Robot manipulateur Hitachi HPR (RRR, RR) On considre le robot
HITACHI-HPR constitu de 5 degrs de libert, 7 corps mobiles et 8 articulations
rotodes. Il comporte une boucle ferme de type paralllogramme. Les articulations
2, 5 et 8 ne sont pas motorises. La boucle est ouverte sur larticulation 8 entre les
corps 4 et 5.
La gure 2.8 montre le synoptique de ce robot.
Dans le cas du robot HITACHI-HPR, les axes z
j
sont poss de manire auto-
matique en fonction des conventions de signes sur les axes articulaires (angle positif
selon la rgle du vissage selon laxe).
Le tableau des paramtres de Denavit-Hartenberg relatif au robot HITACHI-
HPR est le suivant :
2.2 Description de la structure gomtrique dun robot 41
Figure 2.7 Repres ncessaires pour dcrire une chane ferme
.
J a(j)
j

j

j

j
d
j

j
rj Tridre
R
0
=R
1
0 0 0 0 0 0 q
1
0 D/I
R
1
=R
2
1 0 0 0 90 0
2
0 I
R
1
=R
3
1 0 0 0 90 0 q
3
0 I
R
2
=R
4
2 0 0 0 0 D
4
q
4
0 D/I
R
3
=R
5
3 0 0 0 0 D
5

5
0 D/I
R
5
=R
6
5 0 0 0 0 D
6
q
6
0 D/I
R
6
=R
7
6 0 0 0 90 0 q
7
0 D
R
4
=R
8
4 0 0 0 0 D
8
= D
5

8
0 D/I
R
5
=R
9
5 0 0 0 0 D
9
= D
4
0 0 D/I
Robot manipulateur ASEA IRB5 (RPP, RR) On considre le robot ASEA
IRB5 constitu de 5 degrs de libert, 7 corps mobiles et 6 articulations rotodes
et 2 prismatiques. Il comporte une boucle ferme de type paralllogramme. Les
articulations 4, 5, 8 et 9 ne sont pas motorises.
La gure 2.9 montre le synoptique de ce robot.
Dans le cas du robot ASEA IRB5, on prfre simplier le schma synoptique
en faisant apparatre deux liaisons rotodes la place du paralllogramme et des
deux liaisons prismatiques. Cela nous permet daboutir la nouvelle reprsentation
quivalente (cf. gure 2.10).
En considrant cette nouvelle reprsentation, le tableau des paramtres de
42
Modlisation gomtrique des robots - Commande en position des
robots
Figure 2.8 Synoptique du robot HITACHI-HPR
.
2.2 Description de la structure gomtrique dun robot 43
Figure 2.9 Synoptique du robot ASEA-IRB5
.
44
Modlisation gomtrique des robots - Commande en position des
robots
Figure 2.10 Synoptique quivalent du robot ASEA-IRB5
.
2.3 Modlisation gomtrique directe dun robot 45
Denavit-Hartenberg relatif au robot ASEA IRB5 est le suivant :
J a(j)
j

j

j

j
d
j

j
rj Tridre
R
0
=R
1
0 0 0 0 0 0 q
1
L
1
D/I
R
1
=R
2
1 0 0 0 90 0 q
2
0 D/I
R
2
=R
3
1 0 0 0 0 L
2
q
3
0 D/I
R
3
=R
4
2 0 0 0 0 L
3
q
4
0 D/I
R
4
=R
5
5 0 0 0 90 0 q
5
0 D/I
Robot arborescent (TBD)
2.3 Modlisation gomtrique directe dun robot
2.3.1 Matrice de transformation de lorgane terminal dans le
repre atelier
Un robot nest quun constituant dun poste de travail. Gnralement, on lui
adjoint des systmes dalimentation et dvacuation de pices, des dispositifs de
bridage, des capteurs extroceptifs...
Il est donc ncessaire de situer dans lespace de travail la fois le robot mais
galement tous ce qui peut tre amen intragir avec ce robot. Pour cela, nous
dnissons un repre atelier que nous noterons R
f
, dirent dans la plupart des cas
du repre R
0
li la base xe du robot (vident dans le cas o il y a plusieurs
robots).
La gure 2.11 prsente les dirents repres et les direntes matrices de trans-
formation homogne mis en jeu pour la modlisation de robot dans un atelier.
On adopte les notations suivantes :
Z =
f
T
0
la matrice de transformation homogne permettant dexprimer la
situation du repre de base du robot R
0
dans le repre atelier R
f

0
T
n
la matrice de transformation homogne permettant dexprimer la situation
du repre de terminal R
n
du robot dans le repre de base R
0
du robot
E =
n
T
E
la matrice de transformation homogne permettant dexprimer la
situation du repre outil du robot R
E
dans le repre terminal du robot R
n

f
T
E
la matrice de transformation homogne globale permettant dexprimer la
situation du repre outil du robot R
E
dans le repre atelier R
f
La prsence du repre R
E
permet de prendre en compte le fait quun robot peut
avoir plusieurs tches robotiques eectuer, et de ce fait plusieurs outils.
Ces repres outils sont choisis pour faciliter la description de la tche robotique
associe. Des directions peuvent tre privilgies : comme par exemple un axe dusi-
nage, un axe de vissage, une orientation pour soudure ou peinture, ....
On appelle matrice de passage du robot la composition des matrices de transfor-
mation exprimant le repre du corps terminal R
n
dans le repre de base du robot
46
Modlisation gomtrique des robots - Commande en position des
robots
R
0
R
f
R
E
R
n
z =
f
T
0
0
T
n
E =
n
T
E
f
T
E
Figure 2.11 Repres ncessaires pour dcrire un robot dans un atelier.
.
R
0
. Pour une chane ouverte simple, on a :
0
T
n
=
o
T
1
.
1
T
2
...
n1
T
n
(2.18)
La matrice de transformation globale
f
T
E
scrit alors :
f
T
E
= Z.
0
T
n
.E (2.19)
Pour tablir les modles gomtriques dun robot, il sera ncessaire auparavant de
mesurer la situation du robot dans le repre atelier Z, et de calibrer la situation E
du repre outil R
E
dans le repre terminal du robot R
n
.
2.3.2 Calcul du modle gomtrique direct dun robot
(MGD)
Dnition : Le modle gomtrique direct est lensemble des relations permet-
tant dexprimer la situation de lorgane terminal du robot en fonction des variables
articulaires.
La situation de lorgane terminal X est dnie par m coordonnes oprationnelles
X = [x
1
x
2
...x
m1
x
m
]
T
(2.20)
Les variables articulaires sont dnies par le vecteur q de dimension n :
q = [q
1
q
2
...q
n1
q
n
]
T
(2.21)
Le modle gomtrique scrit alors : X = f(q)
Plusieurs possibilits sont oertes pour dnir le contenu du vecteur X. Nous
avons vu dans la premire partie de ce cours, quil existait plusieurs faons de coder
la position et lorientation dun corps solide.
Par exemple, si lon choisit :
2.3 Modlisation gomtrique directe dun robot 47
la position cartsienne et les cosinus directeurs pour lorientation, on obtient
X = [P
x
P
y
P
z
S
x
S
y
S
z
n
x
n
y
n
z
a
x
a
y
a
z
]
T
(2.22)
la position cartsienne et les angles RTL pour lorientation, on obtient
X = [P
x
P
y
P
z
]
T
(2.23)
2.3.3 Exemples de modles gomtriques directs
2.3.3.1 MGD du robot AID-5
Le synoptique de ce robot est donn gure 2.3, page 34. On rapelle le tableau
des paramtres de Devavit-Hartenberg de ce robot ci-dessous :
J
j

j
d
j

j
r
j
Tridre
R
0
=R
1
0 0 0 q1 0 D/I
R
1
=R
2
0 90 0 q2 0 D
R
2
=R
3
0 0 D
3
q3 0 D/I
R
3
=R
4
0 90 0 q4 RL
4
D
R
4
=R
5
0 90 0 q5 0 I
R
5
=R
6
0 90 0 q6 0 I
D
3
et RL
4
sont les caractristiques gomtriques du robot. On rappelle lexpression
de la matrice de transformation homogne associe au paramtrage de Denhavit-
Hartenberg.
j1
T
j
=
_
_
_
_
C
j
S
j
0 d
j
C
j
.S
j
C
j
.C
j
S
j
r
j
.S
j
S
j
.S
j
S
j
.C
j
C
j
r
j
.C
j
0 0 0 1
_
_
_
_
(2.24)
On en dduit les matrices
0
T
1
,
1
T
2
,
2
T
3
,
3
T
4
,
4
T
5
et
5
T
6
. Pour ce faire une solution
consiste utiliser un logiciel de calcul formel. Parmis les plus connus, nous pouvons
citer matlab qui dispose dune boite outils ddie au calcul symbolique, Maple,
Maxima. Dans ce cour, nous avons utilis Maxima, car il possde une licence Libre
dutilisation.
Nous avons tout dabord modlis le tableau de DH sous une forme matricielle :
Modlisation du MGD :
DH :
_
_
_
_
_
_
_
_
0 0 0 q
1
0
0

2
0 q
2
0
0 0 D
3
q
3
0
0

2
0 q
4
RL
4
0

2
0 q
5
0
0

2
0 q
6
0
_
_
_
_
_
_
_
_
48
Modlisation gomtrique des robots - Commande en position des
robots
Calcul des matrices de passage :
T01 : DenHart (DH, 1)
_
_
_
_
C
q
1

S
q
1
0 0
S
q
1 C
q
1
0 0
0 0 1 0
0 0 0 1
_
_
_
_
(C37) T12 : DenHart2 (DH, 2)
(D37)
_
_
_
_
C
(q
3
+ q
2
)
S
(q
3
+ q
2
) 0 D
3C
q
2
0 0 1 0
S
(q
3
+ q
2
)
C
(q
3
+ q
2
) 0 D
3S
q
2
0 0 0 1
_
_
_
_
Ceci est une astuce de programmation
(C38) T23 : IDENT(4)
(D38)
_
_
_
_
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
_
_
_
_
(C39) T34 : DenHart (DH, 4)
(D39)
_
_
_
_
C
q
4

S
q
4
0 0
0 0 1 RL
4
S
q
4 C
q
4
0 0
0 0 0 1
_
_
_
_
(C40) T45 : DenHart (DH, 5)
(D40)
_
_
_
_
C
q
5

S
q
5
0 0
0 0 1 0

S
q
5

C
q
5
0 0
0 0 0 1
_
_
_
_
(C41) T56 : DenHart (DH, 6)
(D41)
_
_
_
_
C
q
6

S
q
6
0 0
0 0 1 0

S
q
6

C
q
6
0 0
0 0 0 1
_
_
_
_
Pour obtenir le MGD dun robot, il faut dterminer la matrice de passage du
robot : soit
0
T
6
dans le cas prsent. Pour lobtenir, on multipliera les matrices
j1
T
j
en partant de la dernire an de dninir des matrices intermdiaires U
j
utiles pour
llaboration du modle gomtrique inverse (MGI). On a :
U
j
=
j
T
j+1
.U
j+1
(2.25)
2.3 Modlisation gomtrique directe dun robot 49
Appliquer notre cas, on dnit successivement :
U
6
= I
6
(2.26)
U
5
=
5
T
6
.U
6
=
5
T
6
(2.27)
U
4
=
4
T
5
.U
5
=
4
T
5
.
5
T
6
=
4
T
6
(2.28)
U
3
=
3
T
4
.U
4
=
3
T
4
.
4
T
5
.
5
T
6
=
3
T
6
(2.29)
U
2
=
2
T
3
.U
3
=
2
T
3
.
3
T
4
.
4
T
5
.
5
T
6
=
2
T
6
(2.30)
U
1
=
1
T
2
.U
2
=
1
T
2
.
2
T
3
.
3
T
4
.
4
T
5
.
5
T
6
=
1
T
6
(2.31)
U
0
=
0
T
1
.U
1
=
0
T
1
.
1
T
2
.
2
T
3
.
3
T
4
.
4
T
5
.
5
T
6
=
0
T
6
(2.32)
Les expression des matrices U
j
peuvent tre assez longues. Lorsque cest le cas,
nous les prsentons sous la forme :
U
j
=
_
_
_
_
s
x
j
n
x
j
a
x
j
P
x
j
s
y
j
n
y
j
a
y
j
P
y
j
s
z
j
n
z
j
a
z
j
P
z
j
0 0 0 1
_
_
_
_
(2.33)
(C42) U
5
: T56
(D42)
_
_
_
_
C
q
6

S
q
6
0 0
0 0 1 0

S
q
6

C
q
6
0 0
0 0 0 1
_
_
_
_
(C44) U
4
: T45 U
5
(D44)
_
_
_
_
C
q
5C
q
6

C
q
5S
q
6

S
q
5
0

S
q
6

C
q
6
0 0

S
q
5C
q
6 S
q
5S
q
6

C
q
5
0
0 0 0 1
_
_
_
_
(C46) U
3
: T34 U
4
(D46)
_
_
_
_
S
q
4S
q
6
+
C
q
4C
q
5 C
q
6 S
q
4C
q
6

C
q
4 C
q
5S
q
6

C
q
4S
q
5
0
S
q
5C
q
6

S
q
5S
q
6 C
q
5
RL
4
S
q
4C
q
5C
q
6

C
q
4 S
q
6

S
q
4C
q
5S
q
6

C
q
4C
q
6

S
q
4S
q
5
0
0 0 0 1
_
_
_
_
(C48) U
2
: T23 U
3
(D48)
_
_
_
_
S
q
4S
q
6
+
C
q
4C
q
5 C
q
6 S
q
4C
q
6

C
q
4 C
q
5S
q
6

C
q
4S
q
5
0
S
q
5C
q
6

S
q
5S
q
6 C
q
5
RL
4
S
q
4C
q
5C
q
6

C
q
4 S
q
6

S
q
4C
q
5S
q
6

C
q
4C
q
6

S
q
4S
q
5
0
0 0 0 1
_
_
_
_
(C49) s
2
: Extrait (U
2
, 1)
(D49)
_
_
S
q
4S
q
6
+
C
q
4C
q
5 C
q
6
S
q
5C
q
6
S
q
4C
q
5C
q
6

C
q
4 S
q
6
_
_
(C50) n
2
: Extrait (U
2
, 2)
50
Modlisation gomtrique des robots - Commande en position des
robots
(D50)
_
_
S
q
4C
q
6

C
q
4C
q
5 S
q
6

S
q
5S
q
6

S
q
4C
q
5S
q
6

C
q
4 C
q
6
_
_
(C51) a
2
: Extrait (U
2
, 3)
(D51)
_
_

C
q
4S
q
5
C
q
5

S
q
4S
q
5
_
_
(C52) P
2
: Extrait (U
2
, 4)
(D52)
_
_
0
RL
4
0
_
_
(C53) U
1
: T12 U
2
(D53)
_
_
_
_
C
(q
3
+ q
2
) (
S
q
4 S
q
6
+
C
q
4C
q
5C
q
6
)
S
(q
3
+ q
2
)
S
q
5 C
q
6 C
(q
3
+ q
2
) (
S
q
4C
q
6

C
q
4
C
q
4S
q
6

S
q
4C
q
5 C
q
6 S
q
4C
q
5S
q
S
(q
3
+ q
2
) (
S
q
4 S
q
6
+
C
q
4C
q
5C
q
6
) +
C
(q
3
+ q
2
)
S
q
5 C
q
6 S
(q
3
+ q
2
) (
S
q
4C
q
6

C
q
4C
0
(C54) s
1
: Extrait (U
1
, 1)
(D54)
_
_
C
(q
3
+ q
2
) (
S
q
4 S
q
6
+
C
q
4C
q
5C
q
6
)
S
(q
3
+ q
2
)
S
q
5 C
q
6
C
q
4S
q
6

S
q
4C
q
5 C
q
6
S
(q
3
+ q
2
) (
S
q
4 S
q
6
+
C
q
4C
q
5C
q
6
) +
C
(q
3
+ q
2
)
S
q
5 C
q
6
_
_
(C55) n
1
: Extrait (U
1
, 2)
(D55)
_
_
C
(q
3
+ q
2
) (
S
q
4 C
q
6

C
q
4C
q
5S
q
6
) +
S
(q
3
+ q
2
)
S
q
5 S
q
6
S
q
4C
q
5S
q
6
+
C
q
4 C
q
6
S
(q
3
+ q
2
) (
S
q
4 C
q
6

C
q
4C
q
5S
q
6
)
C
(q
3
+ q
2
)
S
q
5 S
q
6
_
_
(C56) a
1
: Extrait (U
1
, 3)
(D56)
_
_

C
(q
3
+ q
2
)
C
q
4S
q
5

S
(q
3
+ q
2
)
C
q
5
S
q
4S
q
5
C
(q
3
+ q
2
)
C
q
5

S
(q
3
+ q
2
)
C
q
4S
q
5
_
_
(C57) P
1
: Extrait (U
1
, 4)
(D57)
_
_
D
3C
q
2

S
(q
3
+ q
2
) RL
4
0
C
(q
3
+ q
2
) RL
4
+ D
3S
q
2
_
_
On en dduit le MGD par le calcul de U0 :
(C58) U
0
: T01 U
1
(D58)
0
B
B
@
Cq
1
(C(q
3
+ q
2
) (Sq
4Sq
6
+ Cq
4C q
5Cq
6
) S (q
3
+ q
2
) Sq
5Cq
6
) S q
1
(Cq
4Sq
6
Sq
4 Cq
5Cq
6
) Cq
1
(C (q
3
+ q
2
) (Sq
4C q
6
Cq
4Cq
5Sq
6
Sq
1
(C(q
3
+ q
2
) (Sq
4Sq
6
+ Cq
4C q
5Cq
6
) S (q
3
+ q
2
) Sq
5Cq
6
) + C q
1
(Cq
4Sq
6
Sq
4 Cq
5Cq
6
) Sq
1
(C (q
3
+ q
2
) (Sq
4C q
6
Cq
4Cq
5Sq
6
)
S (q
3
+ q
2
) (Sq
4 Sq
6
+ Cq
4Cq
5Cq
6
) + C(q
3
+ q
2
) Sq
5 Cq
6 S (q
3
+ q
2
) ( Sq
4Cq
6

0
(C59) s
0
: Extrait (U
0
, 1)
(D59)
0
@
Cq
1
(C(q
3
+ q
2
) (Sq
4Sq
6
+ Cq
4C q
5Cq
6
) S (q
3
+ q
2
) Sq
5Cq
6
) S q
1
(Cq
4Sq
6
Sq
4 Cq
5Cq
6
)
Sq
1
(C(q
3
+ q
2
) (Sq
4Sq
6
+ Cq
4C q
5Cq
6
) S (q
3
+ q
2
) Sq
5Cq
6
) + C q
1
(Cq
4Sq
6
Sq
4 Cq
5Cq
6
)
S (q
3
+ q
2
) (Sq
4 Sq
6
+ Cq
4Cq
5Cq
6
) + C(q
3
+ q
2
) Sq
5 Cq
6
1
A
(C60) n
0
: Extrait (U
0
, 2)
(D60)
0
@
Cq
1
(C(q
3
+ q
2
) (Sq
4Cq
6
Cq
4C q
5Sq
6
) + S (q
3
+ q
2
) Sq
5Sq
6
) S q
1
(Sq
4Cq
5Sq
6
+ Cq
4Cq
6
)
Sq
1
(C(q
3
+ q
2
) (Sq
4Cq
6
Cq
4C q
5Sq
6
) + S (q
3
+ q
2
) Sq
5Sq
6
) + C q
1
(Sq
4Cq
5Sq
6
+ Cq
4Cq
6
)
S (q
3
+ q
2
) (Sq
4 Cq
6
Cq
4Cq
5Sq
6
) C(q
3
+ q
2
) Sq
5 Sq
6
1
A
(C61) a
0
: Extrait (U
0
, 3)
2.3 Modlisation gomtrique directe dun robot 51
(D61)
0
@
Cq
1
(C(q
3
+ q
2
) Cq
4Sq
5
S (q
3
+ q
2
) Cq
5
) Sq
1S q
4Sq
5
Sq
1
(C(q
3
+ q
2
) Cq
4Sq
5
S (q
3
+ q
2
) Cq
5
) + Cq
1S q
4Sq
5
C(q
3
+ q
2
) Cq
5
S (q
3
+ q
2
) Cq
4S q
5
1
A
(C62) P
0
: Extrait (U
0
, 4)
(D62)
0
@
Cq
1
(D
3Cq
2
S ( q
3
+ q
2
) RL
4
)
Sq
1
(D
3Cq
2
S ( q
3
+ q
2
) RL
4
)
C(q
3
+ q
2
) RL
4
+ D
3Sq
2
1
A
A partir de la matrice de passage U
0
, il est possible de choisir comme vecteur de
coordonnes oprationnelles :
X = [P
x
P
y
P
z
S
x
S
y
S
z
n
x
n
y
n
z
a
x
a
y
a
z
]
T
(2.34)
Dans ce cas, le modle gomtrique direct du robot est donn par les 12 relations
issues de U
0
. On peut noter que dans ce cas, la descrition est redondante car 6
paramtres susent pour dcrire la position et lorientation de lorgane terminal
dans le repre atelier. Si on veut rduire le nombre de paramtres, alors, il faudra
choisir un systme de descrition dangles. Dans ce cas, le MGD sera dcrit pas le
vecteur de position P et trois angles.
2.3.3.2 MGD du robot H-80
On rapelle le tableau des paramtres de Denavit-Hartenberg relatif au robot
ACMA H-80 :
J
j

j
d
j

j
r
j
Tridre
R
0
=R
1
1 0 0 0 q
1
D/I
R
1
=R
2
0 0 0 q
2
0 D/I
R
2
=R
3
0 0 D
3
q
3
0 D/I
R
3
=R
4
0 0 D
4
q
4
0 I
R
4
=R
5
0 90 0 q
5
0 I
R
5
=R
6
0 90 0 q
6
0 D/I
Le synoptique de ce robot est donn gure 2.4 page 36
GCL (GNU Common Lisp) Version(2.4.0) Wed May 9 12 :02 :00 CDT 2001
Licensed under GNU Library General Public License
Contains Enhancements by W. Schelter
Maxima 5.6 Wed May 9 12 :01 :49 CDT 2001 (with enhancements by W.
Schelter).
Licensed under the GNU Public License (see file COPYING)
batch(MGDH80) ;
batching MGDH80.mac
PRINT( Calcul du MGD)
Calcul du MGD
Calcul du MGD
52
Modlisation gomtrique des robots - Commande en position des
robots
DH :
_
_
_
_
_
_
_
_
1 0 0 0 q
1
0 0 0 q
2
0
0 0 D
3
q
3
0
0 0 D
4
q
4
0
0

2
0 q
5
0
0

2
0 q
6
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0 0 0 q
1
0 0 0 q
2
0
0 0 D
3
q
3
0
0 0 D
4
q
4
0
0

2
0 q
5
0
0

2
0 q
6
0
_
_
_
_
_
_
_
_
DenHart ( DH, l) :=
_
_
_
_
C
DH
l,4

S
DH
l,4
0 DH
l,3
C
DH
l,2S
DH
l,4 C
DH
l,2C
DH
l,4

S
DH
l,2
DH
l,5S
DH
l,2
S
DH
l,2S
DH
l,4 S
DH
l,2C
DH
l,4 C
DH
l,2
DH
l,5C
DH
l,2
0 0 0 1
_
_
_
_
Extrait (m, l) :=
_
_
m
1,l
m
2,l
m
3,l
_
_
T01 : DenHart ( DH, 1)
_
_
_
_
1 0 0 0
0 1 0 0
0 0 1 q
1
0 0 0 1
_
_
_
_
T12 : DenHart ( DH, 2)
_
_
_
_
C
q
2

S
q
2
0 0
S
q
2 C
q
2
0 0
0 0 1 0
0 0 0 1
_
_
_
_
T23 : DenHart ( DH, 3)
_
_
_
_
C
q
3

S
q
3
0 D
3
S
q
3 C
q
3
0 0
0 0 1 0
0 0 0 1
_
_
_
_
T34 : DenHart ( DH, 4)
_
_
_
_
C
q
4

S
q
4
0 D
4
S
q
4 C
q
4
0 0
0 0 1 0
0 0 0 1
_
_
_
_
T45 : DenHart ( DH, 5)
2.3 Modlisation gomtrique directe dun robot 53
_
_
_
_
C
q
5

S
q
5
0 0
0 0 1 0

S
q
5

C
q
5
0 0
0 0 0 1
_
_
_
_
T56 : DenHart ( DH, 6)
_
_
_
_
C
q
6

S
q
6
0 0
0 0 1 0

S
q
6

C
q
6
0 0
0 0 0 1
_
_
_
_
U
5
: T56
_
_
_
_
C
q
6

S
q
6
0 0
0 0 1 0

S
q
6

C
q
6
0 0
0 0 0 1
_
_
_
_
TRIGREDUCE(U
5
)
_
_
_
_
C
q
6

S
q
6
0 0
0 0 1 0

S
q
6

C
q
6
0 0
0 0 0 1
_
_
_
_
U
4
: T45 U
5
_
_
_
_
C
q
5C
q
6

C
q
5S
q
6

S
q
5
0

S
q
6

C
q
6
0 0

S
q
5C
q
6 S
q
5S
q
6

C
q
5
0
0 0 0 1
_
_
_
_
U
3
: T34 U
4
_
_
_
_
S
q
4S
q
6
+
C
q
4C
q
5C
q
6 S
q
4C
q
6

C
q
4C
q
5S
q
6

C
q
4S
q
5
D
4
S
q
4C
q
5C
q
6

C
q
4S
q
6

S
q
4C
q
5S
q
6

C
q
4C
q
6

S
q
4S
q
5
0

S
q
5C
q
6 S
q
5S
q
6

C
q
5
0
0 0 0 1
_
_
_
_
U
2
: T23 U
3
s
2
: Extrait (U
2
, 1)
_
_
C
q
3
(
S
q
4S
q
6
+
C
q
4C
q
5C
q
6
)
S
q
3
(
S
q
4C
q
5C
q
6

C
q
4S
q
6
)
S
q
3
(
S
q
4S
q
6
+
C
q
4C
q
5C
q
6
) +
C
q
3
(
S
q
4C
q
5C
q
6

C
q
4S
q
6
)

S
q
5C
q
6
_
_
n
2
: Extrait (U
2
, 2)
_
_
C
q
3
(
S
q
4C
q
6

C
q
4C
q
5S
q
6
)
S
q
3
(
S
q
4C
q
5S
q
6

C
q
4C
q
6
)
C
q
3
(
S
q
4C
q
5S
q
6

C
q
4C
q
6
) +
S
q
3
(
S
q
4C
q
6

C
q
4C
q
5S
q
6
)
S
q
5S
q
6
_
_
a
2
: Extrait (U
2
, 3)
54
Modlisation gomtrique des robots - Commande en position des
robots
_
_
S
q
3S
q
4S
q
5

C
q
3C
q
4S
q
5

C
q
3S
q
4S
q
5

S
q
3C
q
4S
q
5

C
q
5
_
_
P
2
: Extrait (U
2
, 4)
_
_
D
4C
q
3
+ D
3
D
4S
q
3
0
_
_
U
1
: T12 U
2
s
1
: Extrait (U
1
, 1)
0
@
Cq
2
(Cq
3
(Sq
4Sq
6
+ Cq
4Cq
5Cq
6
) Sq
3
(Sq
4Cq
5Cq
6
Cq
4Sq
6
)) Sq
2
(Sq
3
(Sq
4Sq
6
+ Cq
4Cq
5Cq
6
) + Cq
3
(Sq
4Cq
5Cq
6
Cq
4Sq
6
))
Cq
2
(Sq
3
(Sq
4Sq
6
+ Cq
4Cq
5Cq
6
) + Cq
3
(Sq
4Cq
5Cq
6
Cq
4Sq
6
)) + Sq
2
(Cq
3
(Sq
4Sq
6
+ Cq
4Cq
5Cq
6
) Sq
3
(Sq
4Cq
5Cq
6
Cq
4Sq
6
))
Sq
5Cq
6
1
A
n
1
: Extrait (U
1
, 2)
0
@
Cq
2
(Cq
3
(Sq
4Cq
6
Cq
4Cq
5Sq
6
) Sq
3
(Sq
4Cq
5Sq
6
Cq
4Cq
6
)) Sq
2
(Cq
3
(Sq
4Cq
5Sq
6
Cq
4Cq
6
) + Sq
3
(Sq
4Cq
6
Cq
4Cq
5Sq
6
))
Sq
2
(Cq
3
(Sq
4Cq
6
Cq
4Cq
5Sq
6
) Sq
3
(Sq
4Cq
5Sq
6
Cq
4Cq
6
)) + Cq
2
(Cq
3
(Sq
4Cq
5Sq
6
Cq
4Cq
6
) + Sq
3
(Sq
4Cq
6
Cq
4Cq
5Sq
6
))
Sq
5Sq
6
1
A
a
1
: Extrait (U
1
, 3)
_
_
C
q
2
(
S
q
3S
q
4S
q
5

C
q
3C
q
4S
q
5
)
S
q
2
(
C
q
3S
q
4S
q
5

S
q
3C
q
4S
q
5
)
S
q
2
(
S
q
3S
q
4S
q
5

C
q
3C
q
4S
q
5
) +
C
q
2
(
C
q
3S
q
4S
q
5

S
q
3C
q
4S
q
5
)

C
q
5
_
_
P
1
: Extrait (U
1
, 4)
_
_
C
q
2
(D
4C
q
3
+ D
3
) D
4S
q
2S
q
3
D
4C
q
2S
q
3
+
S
q
2
(D
4C
q
3
+ D
3
)
0
_
_
U
0
: T01 U
1
s
0
: Extrait (U
0
, 1)
0
@
Cq
2
(Cq
3
(Sq
4Sq
6
+ Cq
4Cq
5Cq
6
) Sq
3
(Sq
4Cq
5Cq
6
Cq
4Sq
6
)) Sq
2
(Sq
3
(Sq
4Sq
6
+ Cq
4Cq
5Cq
6
) + Cq
3
(Sq
4Cq
5Cq
6
Cq
4Sq
6
))
Cq
2
(Sq
3
(Sq
4Sq
6
+ Cq
4Cq
5Cq
6
) + Cq
3
(Sq
4Cq
5Cq
6
Cq
4Sq
6
)) + Sq
2
(Cq
3
(Sq
4Sq
6
+ Cq
4Cq
5Cq
6
) Sq
3
(Sq
4Cq
5Cq
6
Cq
4Sq
6
))
Sq
5Cq
6
1
A
n
0
: Extrait (U
0
, 2)
0
@
Cq
2
(Cq
3
(Sq
4Cq
6
Cq
4Cq
5Sq
6
) Sq
3
(Sq
4Cq
5Sq
6
Cq
4Cq
6
)) Sq
2
(Cq
3
(Sq
4Cq
5Sq
6
Cq
4Cq
6
) + Sq
3
(Sq
4Cq
6
Cq
4Cq
5Sq
6
))
Sq
2
(Cq
3
(Sq
4Cq
6
Cq
4Cq
5Sq
6
) Sq
3
(Sq
4Cq
5Sq
6
Cq
4Cq
6
)) + Cq
2
(Cq
3
(Sq
4Cq
5Sq
6
Cq
4Cq
6
) + Sq
3
(Sq
4Cq
6
Cq
4Cq
5Sq
6
))
Sq
5Sq
6
1
A
a
0
: Extrait (U
0
, 3)
_
_
C
q
2
(
S
q
3S
q
4S
q
5

C
q
3C
q
4S
q
5
)
S
q
2
(
C
q
3S
q
4S
q
5

S
q
3C
q
4S
q
5
)
S
q
2
(
S
q
3S
q
4S
q
5

C
q
3C
q
4S
q
5
) +
C
q
2
(
C
q
3S
q
4S
q
5

S
q
3C
q
4S
q
5
)

C
q
5
_
_
P
0
: Extrait (U
0
, 4)
_
_
C
q
2
(D
4C
q
3
+ D
3
) D
4S
q
2S
q
3
D
4C
q
2S
q
3
+
S
q
2
(D
4C
q
3
+ D
3
)
q
1
_
_
./MGDH80.mac
2.4 Modlisation gomtrique inverse dun robot 55
2.3.3.3 MGD du robot AFMA
2.4 Modlisation gomtrique inverse dun robot
2.4.1 Introduction
Le modle gomtrique direct MGD permet de calculer les coordonnes opra-
tionnelles X en fonction des coordonnes articulaires q :
X q
MGI
MGD
Le problme inverse MGI consiste calculer les coordonnes articulaires qui
amnent lorgane terminal dans une situation dsire, spcie 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 directe-
ment 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 in-
verse, 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 direntiel inverse ([Fou80, Ren80, GBF85]).
56
Modlisation gomtrique des robots - Commande en position des
robots
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
T
E
la matrice de transformation homogne reprsentant la situation nale
dsire du repre outil par rapport au repre atelier.
On a vu que dans le cas gnral, on peut exprimer
f
T
E
sous la forme :
f
T
E
= Z.
0
T
n
.E (2.35)
avec :
Z = matrice de transformation homogne dnissant le repre R
0
du robot
dans le repre atelier.
E = matrice de transformation homogne dnissant le repre outil R
E
dans
le repre terminal.

0
Tn = matrice de passage homogne du robot.
En regroupant droite les termes connus, on obtient la relation
U
0
=
0
Tn = Z
1
.
f
T
E
.E
1
(2.36)
Le problme consiste trouver les variables articulaires q
1
, q
2
, ...q
n
pour que
0
Tn soit
gal U
0
.
On donne lexpression numrique de
f
T
E
et on connait celle de Z et de E.
En rsum :
X
f
T
E
U
0
q
Convension (2.36) Mthode de Paul
(2.37)
Conclusion : Aprs avoir calcul la valeur numrique de U
0
partir de X, on
utilise lexpression analytique de U
0
pour extraire le vecteur q. La principale dicult
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 congurations 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 :
2.4 Modlisation gomtrique inverse dun robot 57
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 :
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.
innit de solutions.
Ce cas se prsente lorsque :
le robot est redondant vis--vis de la tche raliser.
le robot se trouve en conguration 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 ni.
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)
pour i = 1, 2, ..., r
r =

n
j=1
Kj reprsente le nombre de congurations articulaires possibles, et
Kj le nombre de solutions pour la variable articulaire q
j
.
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 mca-
niques et/ou lectriques.
58
Modlisation gomtrique des robots - Commande en position des
robots
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
T
n
=
0
T
1
.
1
T
2
....
n1
T
n
(2.39)
On note :
U
0
=
0
T
1
.
1
T
2
...
n1
T
n
=
_

_
s
x
n
x
a
x
P
x
s
y
n
y
a
y
P
y
s
z
n
z
a
z
P
z
0 0 0 1
_

_
(2.40)
Cette matrice U
0
est la donne du problme. Elle reprsente la situation de lorgane
terminal dans le repre de base du robot R
0
.
Trouver les variables articulaires partir de lquation :
U
0
=
0
T
1
.
1
T
2
.
n1
T
n
(2.41)
en fonction des lments articulaires s, n, a et P est trs dicile.
Paul (en 81) a propos une mthode qui consiste prmultiplier successivement
les 2 membres de lquation par les matrices de transformation homogne inverse.
j
T
j1
pour j variant de 1 n 1 (2.42)
Cela permet disoler et didentier lune aprs lautre les variables articulaires que
lon recherche.
Remarques :
1. Pour un robot 6 ddl, on procde comme suit :
Multiplication gauche par
1
T
0
1
T
0
.U
0
=
1
T
2
.
2
T
3
.
3
T
4
.
4
T
5
.
5
T
6
(2.43)
1re partie de lquation = fonction de q
1
uniquement
2me partie de lquation = fonction de q
2
, q
3
, q
4
,q
5
, q
6
dj calcul pour
MGD si on a pris la prcaution de sauvegarder tous les rsultats interm-
diaires U
i
.
q
1
est obtenu par identication dun ou de deux lments parmi les plus
simples qui constitue lexpression de droite avec les termes quivalents dans
celle de gauche. Les dirents types de relations mises en jeu dans ces iden-
tications seront tudis au paragraphe suivant (une dizaine de cas).
en partant de lexpression
1
T
0
.U
0
=
1
T
2
.
2
T
3
.
3
T
4
.
4
T
5
.
5
T
6
, on prmultiplie par
2
T
1
et on ritre le mme processus. La succession des quations permettant
2.4 Modlisation gomtrique inverse dun robot 59
le calcul de tous les q
i
est la suivante :
U
0
=
0
T
1
.
1
T
2
.
2
T
3
.
3
T
4
.
4
T
5
.
5
T
6
1
T
0
U
0
=
1
T
2
.
2
T
3
.
3
T
4
.
4
T
5
.
5
T
6
q
1
2
T
1
U
1
=
2
T
3
.
3
T
4
.
4
T
5
.
5
T
6
q
2
3
T
2
U
2
=
3
T
4
.
4
T
5
.
5
T
6
q
3
4
T
3
U
3
=
4
T
5
.
5
T
6
q
4
5
T
4
U
4
=
5
T
6
q
5
et q
6
avec U
j
=
j
T
j1
U
j1
(2.44)
2. Dans certains cas il est possible de rsoudre le robot en partant de q
n
. Il sut
alors de multiplier droite les 2 membres de lexpression
U
0
=
0
T
1
.
1
T
2
.
n1
T
n
par
j
T
j1
pour j variable de n 2 (2.45)
2.4.5.2 Solutions aux types dquations rencontrs
Lorsque nous utilisons la mthode prcdente, nous sommes confronts de ma-
nire itrative la rsolution de systme dquations de dirents 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.r
j
= Y
Dans ce cas, la rponse est immdiate = r
1
=
Y
X
avec X = 0
Equations type 2 : X.S
i
+ Y.C
i
= Z
X et Y tant connus, deux cas peuvent tre envisags.
Z = 0, 2 solutions sont possibles :

i
= ATAN 2(Y, X)

i
=
i
+ 180
o
(2.46)
Z = 0
On rsout le systme en sinus et en cosinus, puis on prend larctangente : On peut
rcrire le systme type 2 de deux manires direntes.
Y.C
i
= Z X.S
i
X.S
i
= Z Y.C
i
(2.47)
en sinus : Y
2
.C
2

i
= Z
2
+ X
2
.S
2

i
2.Z.X.S
i
Y
2
.(1 S
2

i
) = Z
2
+ X
2
.S
2

i
2.Z.X.S
i
(X
2
+ Y
2
).S
2

i
2.Z.X.S
i
+ Z
2
Y
2
= 0
= 4.Y
2
(X
2
+ Y
2
Z
2
)
do S
i
=
Z.X + .Y

X
2
+ Y
2
Z
2
X
2
+ Y
2
avec = 1
(2.48)
60
Modlisation gomtrique des robots - Commande en position des
robots
Type dquations Forme du systme dquations
Type 1 X.r
i
= Y
Type 2 X.S
i
+ Y.C
i
= Z
Type 3
X
1
.S
i
= Y
1
X
2
.C
i
= Y
2
ou
X
1
.S
i
+ Y
1
.C
i
= Z
1
X
2
.S
i
+ Y
2
.C
i
= Z
2
Type 4 X
1
.r
j
.S
i
= Y
1
X
2
.r
j
.C
i
= Y
2
Type 5 X
1
.S
i
= Y
1
+ Z
1
.r
j
X
2
.C
i
= Y
2
+ Z
2
.r
j
Type 6 W.S
j
= X.C
i
+ Y.S
i
+ Z
1
W.C
j
= X.S
i
Y.C
i
+ Z
2
Type 7 W
1
.C
j
+ W
2
.S
j
= X.C
i
+ Y.S
i
+ Z
1
W
1
.S
j
W
2
.C
j
= X.S
i
Y.C
i
+ Z
2
Type 8 X.C
i
+ Y.C(
i
+
j
) = Z
1
X.S
i
+ Y.S(
i
+
j
) = Z
2
Type 9 X.C
i
= Y
Type 10 X.S
i
= Y
Table 2.1 Systmes dequations possibles
2.4 Modlisation gomtrique inverse dun robot 61
en cosinus : X
2
.S
2

i
= Z
2
+ Y
2
.C
2

i
2.Z.Y.C
i
X
2
.(1 C
2

i
) = Z
2
+ Y
2
.C
2

i
2.Z.Y.C
i
(X
2
+ Y
2
).C
2

i
2.Z.Y.C
i
+ Z
2
X
2
= 0
= 4.X
2
(X
2
+ Y
2
Z
2
)
do C
i
=
Z.Y .X

X
2
+ Y
2
Z
2
X
2
+ Y
2
avec = 1
(2.49)
Le signe devant vient du fait que nous devrons vrier chaque instant que
C
2

i
+ S
2

i
= 1. La rponse est la suivante :
S
i
=
Z.X + .Y

X
2
+ Y
2
Z
2
X
2
+ Y
2
C
i
=
Z.Y .X

X
2
+ Y
2
Z
2
X
2
+ Y
2
(2.50)
si X
2
+ Y
2
Z
2
0 alors
i
= ATAN2(S
i
, C
i
) (2.51)
Equations type 3 (forme 1) :
X
1
.S
i
= Y
1
X
2
.C
i
= Y
2
(2.52)
X
1
et X
2
tant non nuls, la rponse est la suivante.

i
= ATAN2(
Y
1
X
1
,
Y
2
X
2
) (2.53)
Equations type 3 (forme2) :
X
1
.S
i
+ Y
1
.C
i
= Z
1
X
2
.S
i
+ Y
2
.C
i
= Z
2
(2.54)
On se ramne au cas prcdent en posant :
S
i
=
Y
2
.Z
1
Y
1
.Z
2
X
1
.Y
2
X
2
.Y
1
C
i
=
X
1
.Z
2
X
2
.Z
1
X
1
.Y
2
X
2
.Y
1
(2.55)
62
Modlisation gomtrique des robots - Commande en position des
robots
do
i
= ATAN2(S
i
, C
i
)
Equations type 4 :
X
1
.r
j
.S
i
= Y
1
X
2
.r
j
.C
i
= Y
2
(2.56)
X
1
et X
2
tant non nuls. On rcrit le systme :
_

_
r
j
.S
i
=
Y
1
X
1
r
j
.C
i
=
Y
2
X
2
=
_

_
r
2
j
.S
2

i
=
Y
2
1
X
2
1
r
2
j
.C
2

i
=
Y
2
2
X
2
2
(2.57)
do
r
j
=

Y
2
1
X
2
1
+
Y
2
2
X
2
2
Si r
j
nest pas nul, on en dduit :

i
= ATAN 2(
Y
1
X
1
r
j
,
Y
2
X
2
r
j
) (2.58)
X
1
et X
2
tant non nuls. La rponse est la suivante :
r
j
=

Y
2
1
X
2
1
+
Y
2
2
X
2
2

i
= ATAN2(
Y
1
X
1
,
Y
2
X
2
)
(2.59)
Equations type 5 :
X
1
.S
i
= Y
1
+ Z
1
.r
j
X
2
.C
i
= Y
2
+ Z
2
.r
j
(2.60)
X
1
et X
2
tant non nuls, on rcrit le systme
_

_
S
i
=
Y
1
X
1
+
Z
1
X
1
.r
j
C
i
=
Y
2
X
2
+
Z
2
X
2
.r
j
soit
_
S
i
= V
1
+ W
1
.r
j
C
i
= V
2
+ W
2
.r
j
(2.61)
2.4 Modlisation gomtrique inverse dun robot 63
S
2

i
+ C
2

i
= 1
1 = V
2
1
+ V
2
2
+ 2.(W
1
V
1
+ W
2
V
2
).r
j
+ (W
2
1
+ W
2
2
).r
2
j
= 4.(W
1
V
1
+ W
2
V
2
)
2
4.(V
2
1
+ V
2
2
1).(W
2
1
+ W
2
2
)
= 4.(2.W
1
V
1
.W
2
V
2
) 4.(V
2
1
.W
2
2
+ V
2
2
.W
2
1
W
2
1
W
2
2
)
= 4.(W
2
1
+ W
2
2
(V
1
.W
2
V
2
.W
1
)
2
)
(2.62)
r
j
=
(V
1
.W
1
+ V
2
.W
2
) +
_
W
2
1
+ W
2
2
(V
1
.W
2
V
2
.W
1
)
2
W
2
1
+ W
2
2
(2.63)
On en dduit :

i
= ATAN2(V
1
+ W
1
.r
j
, V
2
+ W
2
.r
j
) (2.64)
tant positif, avec = 1, la rponse est la suivante
r
j
=
(V
1
.W
1
+ V
2
.W
2
) +
_
W
2
1
+ W
2
2
(V
1
.W
2
V
2
.W
2
1
)
W
2
1
+ W
2
2

i
= ATAN2(V
1
+ W
1
.r
j
, V
2
+ W
2
.r
j
)
(2.65)
Equations type 6 :
W.S
j
= X.C
i
+ Y.S
i
+ Z
1
W.C
j
= X.S
i
Y.C
i
+ Z
2
(2.66)
Eliminons
j
:
W
2
.S
2

j
= X
2
.C
2

i
+ Y
2
.S
2

i
+ Z
2
1
+ 2.X.Y.C
i
.S
i
+ 2.X.C
i
.Z
1
+ 2.Y.S
i
.Z
1
W
2
.C
2

j
= X
2
.S
2

i
+ Y
2
.C
2

i
+ Z
2
2
2.X.Y.C
i
.S
i
+ 2.X.S
i
.Z
2
2.Y.C
i
.Z
2
W
2
= X
2
+ Y
2
+ Z
2
1
+ Z
2
2
+ 2.X.C
i
.Z
1
+ 2.Y.S
i
.Z
1
+ 2.X.S
i
.Z
2
2.Y.C
i
.Z
2
(2.67)
En sommant, on peut crire :
B
1
.S
i
+ B
2
.C
i
= B
3
(2.68)
64
Modlisation gomtrique des robots - Commande en position des
robots
Avec
B
1
= 2.(Y.Z
1
+ X.Z
2
)
B
2
= 2.(X.Z
1
Y.Z
2
)
B
3
= W
2
X
2
Y
2
Z
2
1
Z
2
2
(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
Y
1
= X.C
i
+ Y.S
i
+ Z
1
Y
2
= X.S
i
Y.C
i
+ Z
2
et
X
1
= W
X
2
= W
(2.70)
Equations type 7 :
W
1
.C
j
+ W
2
.S
j
= X.C
i
+ Y.S
i
+ Z
1
W
1
.S
j
W
2
.C
j
= X.S
i
Y.C
i
+ Z
2
(2.71)
En levant les deux premiers membres au carr, on a :
W
2
1
.C
2

j
+ W
2
2
.S
2

j
+ 2.W
1
.W
2
.C
j
.S
j
W
2
1
.S
2

j
+ W
2
2
.C
2

j
2.W
1
.W
2
.C
j
.S
j
(2.72)
En additionnant, il reste W
2
1
+ W
2
2
Pour les seconds membres levs au carr, on a :
X
2
.C
2

i
+ Y
2
.S
2

i
+ Z
2
1
+ 2.XY.C
i
.S
i
+ 2.XZ
1
.C
i
+ 2.Y Z
1
.S
i
X
2
.S
2

i
+ Y
2
.C
2

i
+ Z
2
2
2.XY.C
i
.S
i
+ 2.XZ
2
.S
i
2.Y Z
2
.C
i
(2.73)
En additionnant, il reste
X
2
+ Y
2
+ Z
2
1
+ Z
2
2
+ 2.(XZ
1
Y Z
2
).C
i
+ 2.(Y Z
1
+ XZ
2
).S
i
(2.74)
Soit en regroupant les deux rsultats :
2.(XZ
1
Y Z
2
).C
i
+ 2.(Y Z
1
+ XZ
2
).S
i
= W
2
1
+ W
2
2
X
2
Y
2
Z
2
1
Z
2
2
(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.C
i
+ Y.C(
i
+
j
) = Z
1
X.S
i
+ Y.S(
i
+
j
) = Z
2
(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.C
i
.C(
i
+
j
) = Z
2
1
X
2
.S
2

i
+ Y
2
.S
2
(
i
+
j
) + 2.XY.S
i
.S(
i
+
j
) = Z
2
2
(2.77)
En additionnant :
2.XY.(C
i
.C(
i
+
j
) + S
i
.S(
i
+
j
)) = Z
2
1
+ Z
2
2
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
)) = Z
2
1
+ Z
2
2
X
2
Y
2
(2.79)
do
C(
i
+
j

i
) = C
j
=
Z
2
1
+ Z
2
2
X
2
Y
2
2.XY
(2.80)
On en dduit
j
avec :

j
= ATAN2(
_
1 C
2

j
, C
j
) (2.81)
Il sut ensuite de rsoudre un systme de deux quations et deux inconnues comme
suit :
X.C
i
+ Y.(C
i
.C
j
S
i
.S
j
) = Z
1
X.S
i
+ Y.(C
i
.S
j
+ S
i
.C
j
) = Z
2
(X + Y.C
j
).C
i
Y.S
j
.S
i
= Z
1
Y.S
j
.C
i
+ (X + Y.C
j
).S
i
= Z
2
(2.82)
Soit :
B
1
.C
i
B
2
.S
i
= Z
1
avec B
1
= X + Y.C
j
B
2
.C
i
+ B
1
.S
i
= Z
2
B
2
= Y.S
j
(2.83)
On rsoud en sinus et cosinus (quations type 3 forme 2) et on obtient
i
par :

i
= ATAN2(S
i
, C
i
) (2.84)
Equations type 9 :
X.C
j
= Y (2.85)
Dans ce cas, la rponse est immdiate :
C
i
=
Y
X
S
i
=

1 C
2

i
et
i
= ATAN2(S
i
, C
i
) (2.86)
66
Modlisation gomtrique des robots - Commande en position des
robots
Equations type 10 :
X.S
i
= Y (2.87)
Dans ce cas, la rponse est immdiate =
S
i
=
Y
X
C
i
=

1 S
2

i
et
i
= ATAN2(S
i
, C
i
) (2.88)
2.4.6 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 simplication de la mthode. En eet, avant tout calcul, il faut savoir :
quelles sont les variables articulaires qui contribuent la position du repre
terminal du robot R
n
quelles sont les variables articulaires qui contribuent lorientation du repre
terminal R
n
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
P
n
=
0
P
n3+1
, cest dire :
_

_
P
x
P
y
P
z
1
_

_
=
0
T
1
1
T
2
2
T
3
...
n3
T
n3+1
_

_
0
0
0
1
_

_
(2.89)
(2.90)
avec :

_
P
x
P
y
P
z
1
_

_
: position de lorgane terminal dans le repre R
0
.

_
0
0
0
1
_

_
: oprateur dextraction de la matrice de position partir de la matrice
de transformation homogne
A partir de cette premire relation, en reprenant la mthode itrative du para-
graphe 2.4.5.1 page 58, il est donc possible de calculer les valeurs des n3 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 direntes trans-
formations homognes depuis le repre de base du robot R
0
, jusquau dernier repre
du porteur R
n3
.
A partir de la matrice U
0
, on peut extraire la matrice des cosinus directeurs
0
A
n
.
0
A
n
= [ s n a] est une donne du problme inverse.
On peut donc crire :
n3
A
0
[ s n a] =
n3
A
n
(2.91)
Les premires variables articulaires q
1
, q
2
..q
n3
tant calcules partir de la position
de lorgane terminal, la matrice
n3
A
0
est donc connue numriquement. Le terme de
gauche est donc entirement connu. On rduit le systme trois variables articulaires
q
n2
, q
n1
q
n
.
Pour dterminer leurs valeurs numriques, on utilise la mthode itrative du
paragraphe 2.4.5.1 page 58.
Remarque :
1. Lorsque le robot 6ddl (n = 6), les deux relations prcdentes scrivent :
Pour la position, on dtermine q
1
, q
2
, q
3
avec :
_

_
P
x
P
y
P
z
1
_

_
=
0
T
1
1
T
2
2
T
3
3
T
4
_

_
0
0
0
1
_

_
(2.92)
o
_

_
P
x
P
y
P
z
1
_

_
est la position de lorgane terminal et
0
T
1
1
T
2
2
T
3
3
T
4
_

_
0
0
0
1
_

_
ne d-
pend que de q
4
, a
5
, q
6
.
Pour lorientation, on dtermine q
4
, q
5
, q
6
partir de :
3
A
0
[s n a] =
3
A
6

Ne dpend que de Matrice des cos. directeurs Ne dpend que de
q
1
q
2
q
3
extraite partir de U
0
q
4
q
5
q
6
(2.93)
2. Dans la remarque prcdente, la premire relation fait apparatre la matrice
de transformation homogne
3
T
4
. Celle-ci nest utile que si lorigine du repre
R
3
ne concide pas avec lorigine du repre R
4
. Sa prsence dans la relation,
permet de prendre en compte les paramtres gomtriques xes de la liaison
R
3
/R
4
.
3. Lorsque n est suprieur 6, on dit que le robot est redondant. Il sera donc n-
cessaire dintroduire des relations supplmentaires dcrivant cette redondance.
68
Modlisation gomtrique des robots - Commande en position des
robots
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.
On peut en dduire U
0
=
0
T
6
=
_

_
s
x
n
x
a
x
P
x
s
y
n
y
a
y
P
y
s
z
n
z
a
z
P
z
0 0 0 1
_

_
(2.94)
Il faut dterminer le systme de coordonnes articulaires q.
On a :
U
0
=
0
T
1
1
T
2
2
T
3
3
T
4
4
T
5
5
T
6
=
0
T
6
U
j
=
j
T
j1
U
j1
permettant de dterminer dans lordre q
1
q
6
(2.95)
Dtermination de q
1
, q
2
, q
3
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
P
6
=
0
P
4
permettant de dterminer dans lordre q
1
q
6
(2.96)
_

_
P
x
P
y
P
z
1
_

_
=
0
T
1
1
T
2
2
T
3
3
T
4
_

_
0
0
0
1
_

_
(2.97)
On a donc :
_

_
P
x
P
y
P
z
1
_

_
=
_

_
C
1
[S
23
RL
4
+ C
2
D
3
]
s
1
[S
23
RL
4
+ C
2
D
3
]
C
23
RL
4
+ S
2
D
3
1
_

_
(2.98)
Ces relations ne permettent pas dextraire directement q
1
, q
2
, q
3
.
Seul q
1
pourrait tre dtermin. En eet, daprs la relation prcdente, par
identication des termes de droite et gauche on pourrait crire :
q
1
= ATAN 2(P
y
, P
x
) prs (2.99)
Prmultiplication par
1
T
0
1
T
0
_

_
P
x
P
y
P
z
1
_

_
=
_

_
C
1
P
x
+ S
1
P
y
S
1
P
x
+ C
1
P
y
P
z
1
_

_
(2.100)
2.4 Modlisation gomtrique inverse dun robot 69
=
1
T
0
0
T
1
1
T
2
2
T
3
_

_
0
0
0
1
_

_
=
1
T
4
_

_
0
0
0
1
_

_
(2.101)
=
1
T
6
_

_
0
0
0
1
_

_
= U
1
_

_
0
0
0
1
_

_
(2.102)
4 6 est une liaison rotule naectant pas la position.
Or U
1
a dj t calcul par le MGD.
On en tire par identication, de nouvelles quations.
C
1
P
x
+ S
1
P
y
= S
23
RL4 +C
2
D
3
(a)
S
1
P
x
+ C
1
P
y
= 0 (b)
P
z
= C
23
RL4 +S
2
D
3
(c)
(2.103)
de lquation (b) on tire
q
1
= ATAN 2(P
y
, P
x
)
ou
q

1
= q
1
+ 180
(2.104)
Prmultiplication par
2
T
1
On a alors :
2
T
1
_

_
C
1
P
x
+ S
1
P
y
S
1
P
x
+ C
1
P
y
P
z
1
_

_
= U
2
_

_
0
0
0
1
l
_

_
=
_

_
S
3
RL
4
+ D
3
C
3
RL
4
0
1
_

_
(2.105)
Do les nouvelles quations :
C
2
(C
1
P
x
+ S
1
P
y
) + S
2
P
z
= S
3
RL
4
+ D
3
(a)
S
2
(C
1
P
x
+ S
1
P
y
) + C
2
P
z
= C
3
RL
4
(b)
S
1
P
x
C
1
P
y
= 0 (c)
(2.106)
On peut calculer q
2
et q
3
partir des quations (a) et (b).
Cest un systme de type 6.
Calculons dabord q
2
On a un systme du type
W S
j
= X C
i
+ Y S
i
+ Z
1
W C
j
= X S
i
+ Y C
i
+ Z
2
(2.107)
70
Modlisation gomtrique des robots - Commande en position des
robots
On se ramne un systme du type
B
1
S
i
+ B
2
C
i
= B
3
Avec B
1
= 2(Z
1
Y + Z
2
X)
B
2
= 2(Z
1
X Z
2
Y )
B
3
= W
2
X
2
Y
2
Z
2
1
Z
2
2
(2.108)
Dans notre cas on a :
W = RL
4
X = B = (C
1
P
x
+ S
1
P
y
)
Z
1
= D
3
Y = P
z
Z
2
= 0
(2.109)
Do B
1
S
2
+ B
2
C
2
= B
3
Avec
B
1
= 2(D
3
P
z
) = 2D
3
P
z
B
2
= 2D
3
B
B
3
= RL
2
4
B
2
P
2
z
D
2
3
(2.110)
Cest une quation de type 2 avec identication
B
1
X
B
2
Y
B
3
Z
(2.111)
La solution est :
S
2
=
B
1
B
3
+ B
2
_
B
2
1
+ B
2
2
B
2
3
B
2
1
+ B
2
2
= S
2
C
2
=
B
1
B
3
B
1
_
B
2
1
+ B
2
2
B
2
3
B
2
1
+ B
2
2
= C
2
(2.112)
Avec = 1 et B
2
1
+ B
2
2
B
2
3
0
Une autre forme peut tre utilise en posant :
V =
_
D B
2
3
D = B
2
1
+ B
2
2
(2.113)
S
2
=
B
1
B
3
+ B
2
V
D
= S
2
(type 3)
C
2
=
B
1
B
3
+ B
1
V
D
= C
2
(2.114)
De ces deux relations on tire :
q
2
= q
2
= ATAN 2(S
2
, C
2
)
2 solutions = 1
(2.115)
2.4 Modlisation gomtrique inverse dun robot 71
Calculons q
3
Daprs le dernier systme dquation, on a :
S
3
=
P
z
S
2
+ BC
2
D
3
RL
4
C
3
=
C
2
P
z
+ S
2
B
RL
4
(2.116)
Do
q
3
= ATAN 2(S
3
, C
3
) (2.117)
Dtermination de q
4
, q
5
, q
6
Lorientation de U
0
=
0
T
6
est
0
A
6
= [s n a] (2.118)
donc
3
A
0
[s n a] =
3
A
6
q
1
, q
2
, q
3
tant connu
3
A
0
est connu
[s n a] est lorientation dnie par le systme de coordonnes oprationnelles.
Cest une donne du problme.

3
A
6
ne dpend que de q
4
, q
5
, q
6
qui sont inconnues
On a donc ici un systme dquations avec 3 inconnues.
On calcule le terme de gauche en dterminant dabord
3
A
0
= (
0
A
1
3
) = (
0
A
3
)
T
(2.119)
or
0
A
3
est la matrice de rotation de
0
T
3
cest dire
0
T
3
=
0
T
1
1
T
2
2
T
3
=
0
T
1
1
T
3
(2.120)
3
T
0
[s n a] =
_

_
_

_
C
1
S
1
0 0
S
1
C
1
0 0
0 0 1 0
0 0 0 1
_

_
_

_
C
23
S
23
0 C
2
D
3
0 0 1 0
S
23
C
23
0 S
2
D
3
0 0 0 1
_

_
_

_
1
.[s n a] (2.121)
Do on en tire :
3
A
0
=
_
_
C
23
0 S
23
S
23
0 C
23
0 1 0
_
_
_
_
C
1
S
1
0
S
1
C
1
0
0 0 1
_
_
(2.122)
3
A
0
[s n a] = [
3
A
0
s
3
A
0
n
3
A
0
a]
3
A
0
s =
_
_
C
23
0 S
23
S
23
0 C
23
0 1 0
_
_
_
_
C
1
S
1
0
S
1
C
1
0
0 0 1
_
_
_
_
s
x
|s
y
s
z
_
_
(2.123)
72
Modlisation gomtrique des robots - Commande en position des
robots
=
_
_
C
23
0 S
23
S
23
0 C
23
0 1 0
_
_
_
_
C
1
s
x
+ S
1
s
y
S
1
s
x
+ C
1
s
y
s
z
_
_
(2.124)
=
_
_
C
23
(C
1
s
x
+ S
1
s
y
) + S
23
s
z
S
23
(C
1
s
x
+ S
1
s
y
) + C
23
s
z
S
1
s
x
C
1
s
y
_
_
(2.125)
De mme on obtient
3
A
0
n =
_
_
C
23
(C
1
n
x
+ S
1
n
y
) + S
23
n
z
S
23
(C
1
n
x
+ S
1
n
y
) + C
23
n
z
S
1
n
x
C
1
n
y
_
_
(2.126)
et
3
A
0
a =
_
_
C
23
(C
1
a
x
+ S
1
a
y
) + S
23
a
z
S
23
(C
1
a
x
+ S
1
a
y
) + C
23
a
z
S
1
a
x
C
1
a
y
_
_
(2.127)
Dautre part
3
A
6
est la matrice de rotation de
3
T
6
.
Elle peut tre extraite de U
3
.
3
A
6
=
_
_
C
4
C
5
C
6
S
4
S
6
C
4
C
5
S
6
S
4
C
6
C
4
S
5
S
5
C
6
S
5
S
6
C
5
S
4
C
5
C
6
C
4
S
6
S
4
C
5
S
6
C
4
C
6
S
4
S
5
_
_
(2.128)
Aprs analyse de
3
A
6
et q
5
, ne peut se dterminer que par lutilisation de la fonction
Arcosinus. Cette fonction tant moins prcise que ATAN2, on prfre utiliser
4
A
6
extraite partir de U
4
.
4
A
6
=
_
_
C
5
C
6
C
5
S
6
S
5
S
6
C
6
0
S
5
C
6
S
5
S
6
C
5
_
_
(2.129)
Il est donc ncessaire de calculer :
4
A
0
(s n a) =
4
A
3
3
A
0
(s n a) (2.130)
Do
4
A
0
s =
_
_
C
4
0 S
4
S
4
0 C
4
0 1 0
_
_
_
_
C
23
(C
1
s
x
+ S
1
s
y
) + S
23
s
z
S
23
(C
1
s
x
+ S
1
s
y
) + C
23
s
z
S
1
s
x
C
1
s
y
_
_
(2.131)
=
_
_
C
4
[C
23
(C
1
s
x
+ S
1
s
y
) + S
23
s
z
] S
4
(S
1
s
x
C
1
s
y
)
S
4
[C
23
(C
1
s
x
+ S
1
s
y
) + S
23
s
z
] C
4
(S
1
s
x
C
1
s
y
)
S
23
(C
1
s
x
+ S
1
s
y
) + C
23
s
z
_
_
(2.132)
On en dduit
4
A
0
n et
4
A
0
a en remplaant s par n puis a.
En identiant le terme matriciel troisime colonne, deuxime ligne on a
S
4
[C
23
(C
1
a
x
+ S
1
a
y
) + S
23
a
z
] C
4
(S
1
a
x
C
1
a
y
) = 0 (2.133)
2.4 Modlisation gomtrique inverse dun robot 73
que lon peut rcrire :
C
4
B
1
+ S
4
[C
23
B
2
+ S
23
a
z
] = 0 (2.134)
avec B
1
= S
1
a
x
C
1
a
y
B
2
= C
1
a
x
+ S
1
a
y
(2.135)
Cest une quation type 2. On a 2 solutions :
q
4
= ATAN2(B
1
, C
23
B
2
S
23
a
z
)
ou
q

4
= q
4
+ 180
(2.136)
Pour q
5
, on utilise la troisime colonne ligne 1 et 3.
S
5
= C
4
[C
23
(C
1
a
x
+ S
1
a
y
) + S
23
a
z
] S
4
(S
1
a
x
C
1
a
y
)
C
5
= S
23
(C
1
a
x
+ S
1
a
y
) + C
2
3a
z
(2.137)
Cest une quation de type 3 :
On en dduit
q
5
= ATAN2(S
5
, C
5
) (2.138)
Pour q
6
, on a la deuxime ligne des matrices (colonne 1 et 2).
Equations de type 2
S
6
= S
4
[C
23
(C
1
s
x
+ S
1
s
y
) + S
23
s
z
] C
4
[S
1
s
x
C
1
s
y
]
C
6
= S
4
[C
23
(C
1
n
x
+ S
1
n
y
) + S
23
n
z
] C
4
[S
1
n
x
c
1
n
y
]
(2.139)
On en dduit
q
6
= ATAN2(S
6
, C
6
) (2.140)
On a donc une solution pour q
5
, q
6
, q
2
, q
3
et deux solutions pour q
4
, q
1
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 P
x
= P
y
= 0
Dans ce cas, q
1
est indtermin et O
4
(centre de la route) laxe z
0
, z
1
.
On peut xer par exemple :
q
1
= q
1c
valeur courante de q
1
ou
q
1
=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
q
1
impossible raliser.
74
Modlisation gomtrique des robots - Commande en position des
robots
2. Si C
23
(C
1
a
x
+ S
1
a
y
) + S
23
a
z
= 0 et S
1
a
x
C
1
a
y
= 0
Alors q
4
est indtermine.
Si S
5
= 0 (rsultat des hypothses 2. Voir equation (2.138) page 73 pour le calcul
de q
5
)
alors les axes z
4
et z
6
sont confondus.
Cest donc la somme q
4
+ q
6
qui intervient car q
5
= 0
Cest une singularit de poignet.
Dans ce cas,
3
A
6
=
3
A
4
4
A
5
5
A
6
= A(x, 90)A(z, q
4
+ q
6
) (2.141)
Comme q
5
= 0 on ne passe pas par R
5
.
3
A
6
reprsente la matrice de rotation de U
3
:
Or
U
3
=
_

_
C
4
C
5
C
6
S
4
S
6
C
4
C
5
S
6
S
4
C
6
C
4
S
5
0
S
5
C
6
S
5
S
6
C
5
RL
4
S
4
C
5
C
6
C
4
S
6
S
4
C
5
S
6
C
4
C
6
S
4
S
5
0
0 0 0 1
_

_
(2.142)
U
3/q
5
=0
=
_

_
C
4
C
6
S
4
S
6
C
4
S
6
S
4
C
6
0 0
0 0 1 RL
4
S
4
C
6
C
4
S
6
S
4
S
6
C
4
C
6
0 0
0 0 0 1
_

_
(2.143)
U
3/q
5
=0
=
_

_
C
(4+6)
S
(4+6)
0 0
0 0 1 RL
4
S
(4+6)
C
(4+6)
0 0
0 0 0 1
_

_
or
3
A
6
=
3
A
6
[s n a] (2.144)
Do (deuxime colonne)
q
4
+ q
6
= ATAN2[C
23
(C
1
n
x
+ S
1
n
y
) + S
23
n
z
S
1
n
x
C
1
n
y
] (2.145)
On peut xer q
4
la valeur courante et q
6
par la relation dessus.
On peut aussi chercher que q
4
et q
6
soient le plus loignes possible des butes.
2.4.7.2 MGI du robot ACMA H-80
2.5 Commande en position dun robot 75
2.5 Commande en position dun robot
2.5.1 Introduction
En robotique, une des taches de base que doit accomplir un robot consiste se
dplacer dun point A un point B, avec le respect ventuel dun certain nombre
de contraintes (vitesse, accleration max, vitement dobstacle). La commande en
position du robot consiste donc calculer les direntes consignes, en fonction du
temps, an de gnrer le mouvement dsir. Cest pour cela que la commande en
position dun robot est aussi appele gnration de mouvement.
De manire classique, deux types de commande en position sont envisage :
une commande en position dans lespace articulaire q (g 2.12a). Pour assurer
le passage de la position initiale la position nale (q
i
q
f
) et le controler
temporellement, une gnration de mouvement est ncessaire. Par exemple, si
lon souhaite synchroniser les axes pour avoir un mouvement harmonieux et
controler la gomtrie du dplacement du robot chaque itration.
une commande en position dans lespace oprationnel X (g 2.12b).
+
-
+
-
q
f
q
d
(t)
q
d
(t)
q
i
q
i
q
m
q
m
T
T
Gnration dun
Gnration dun
mouvement en
mouvement en
q
Asservissement
Asservissement
MGI
MGD
X
f
X
d
(t)
X
i
X
(a)
(b)
Figure 2.12 Boucles de gnration de mouvement. (a) : dans lespace articulaire
- (b) : dans lespace oprationnel.
.
Le choix du type de commande peut tre eectu en fonction de lespace dans lequel
est dcrit la trajectoire suivre. La gnration dun mouvement directement dans
lespace articulaire prsente des avantages :
le mouvement est minimal sur chaque articulation,
elle ncessite moins de calculs (pas de passage MGD MGI),
76
Modlisation gomtrique des robots - Commande en position des
robots
le mouvement nest pas aect pas le passage sur les congurations singulires,
les contraintes de couples maximum et de vitesse maximum sont connues car
on les xe aux limites physiques des actionneurs.
En contrepartie, la gomtrie du dplacement du robot dans lespace opration-
nel nest pas controle (bien quelle soit rptitive). Il y a donc risque de collision si
lenvironnement est encombr. On en dduit que ce type de mouvement conviendra
davantage lorsque lespace sera dgag, et pour des dplacements rapides.
Lorsque la gomtrie de la trajectoire doit tre contrle, la gnration de trajec-
toire dans lespace oprationnel sera prfre. Par contre, elle comporte un certain
nombre dinconvnients :
elle demande dappliquer le MGI en chaque point de la trajectoire,
elle peut tre mise en dfaut lorsque la trajectoire calcule passe par une
position singulire,
elle peut tre mise en dfaut lorsque la trajectoire calcule fait passer une
articulation hors de ces limites de variation q[q
min
; q
max
],
les limites C
max
, V
max
tant dnies dans lespace oprationnel ne permettent
pas dutiliser au mieux les actionneurs.
Le choix dpend essentiellement de la tche eectuer et de lespace de travail.
espace articulaire espace oprationnel
rapide moyennement rapide
tche espace de travail libre espace de travail encombr
(vitesses, couples, butes) (prcision, obstacle)
2.5.2 Gnration de mouvement dans lespace articulaire
Soit un robot n degrs de libert.
Soit q
i
le vecteur des coordonnes articulaires initiales.
Soit q
f
le vecteur des coordonnes articulaires nales.
Soit k
v
le vecteur vitesse maximal.
Soit k
a
le vecteur acclration maximal.
Les caractristiques k
v
, k
a
sont calcules en fonction de :
k
v
: les caractristiques des actionneurs et des rapports de rduction des or-
ganes de transmission,
k
a
: le rapport des couples moteurs maximaux aux inerties maximales.
Le mouvement interpol entre q
i
et q
f
en fonction du temps t est dcrit par
2.5 Commande en position dun robot 77
lquation suivante :
q = q
i
+ r(t)D pour 0 t t
f
.
q
(t) =
.
r (t)D
(2.146)
avec D = q
f
q
i
.
r(t) est une fonction dinterpolation telle que : r(0) = 0 et r(t
f
) = 1. On peut
alors crire 2.146 comme suit :
q(t) = q
f
(t) [1 r(t)]D (2.147)
Plusieurs fonctions permettent de satisfaire le passage par q
i
t = 0 et q
f

t = t
f
:
interpolation polynomiale linaire, de degr 3 ou de degr 5
loi du Bang Bang,
loi trapze (Bang Bang avec paliers de vitesse)
2.5.2.1 Interpolation polynomiale
Les 3 modes les plus courants sont linterpolation linaire, linterpolation de degr
3 et linterpolation de degr 5.
Linterpolation linaire Cest la plus simple. Lquation du mouvement scrit :
q(t) = q
i
+
t
t
f
.D (2.148)
Cette loi de mouvement impose une vitesse constante le long de la trajectoire. Elle
est continue en position et discontinue en vitesse.
On en dduit la fonction dinterpolation :
r(t) =
t
t
f
(2.149)
La loi est continue en position, mais discontinue en vitesse et acclration. On
obtient lvolution suivante (g 2.13).
Pratiquement, le dbut (t = 0) et la n (t = t
f
) sont marqus par des -coups.
78
Modlisation gomtrique des robots - Commande en position des
robots
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
3
Evolution de la variable q(t)
t (secondes)
q
(
t
)
qf
qi
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
Vmax
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
3
2
1
0
1
2
3
Evolution de la variable d/dt(dq/dt)
t (secondes)
d
/
d
t
(
d
q
/
d
t
)
Figure 2.13 Degr 1 : Evolution de la position, de la vitesse et de lacclration
.
2.5 Commande en position dun robot 79
Linterpolation de degr 3 [Craig86] Si lon impose une vitesse nulle aux points
de dpart et darrive, on rajoute deux contraintes supplmentaires par rapport
linterpolation linaire. An de satisfaire ces 4 contraintes,
_
q
i
= q(0) = 0 (a)
q
f
= q(t
f
) = 0 (b)
_
q(0) = q
i
(c)
q(t
f
) = q
f
(d)
le degr minimal du polynme est de 3. La forme gnrale est donne par lqua-
tion suivante :
q(t) = a
0
+ a
1
.t + a
2
.t
2
+ a
3
.t
3
(2.150)
On en dduit les relations donnant la vitesse et lacclration :
_
q = a
1
+ 2.a
2
.t + 3.a
3
.t
2
q = 2.a
2
+ 6.a
3
.t
(2.151)
En utilisant les hypothses (a) et (c), on en dduit les coecients :
_
a
0
= q
i
a
1
= 0
(2.152)
On en dduit la fonction dinterpolation :
r(t) = 3.
_
t
t
f
_
2
2.
_
t
t
f
_
3
(2.153)
En utilisant les hypothses (b) et (d), on obtient un systme de deux quations
et deux inconnues. On en dduit les coecients :
_
a
2
=
3
t
2
f
.D
a
3
=
2
t
3
f
.D
(2.154)
Lacclration sannule lorsque t =
2.a
2
6.a
3
=
2.3.t
3
f
t
2
f
.6.2
=
t
f
2
. Elle a donc un maximum
en t = 0 et minimum en t = t
f
. La valeur extrmale est : q
max
=
6.|D|
t
2
f
La vitesse est maximale en t =
t
f
2
et nulle en t = 0 et en t = t
f
. La valeur
extrmale est : q
max
=
3.|D|
2.t
f
.
On obtient lvolution suivante (g 2.14).
80
Modlisation gomtrique des robots - Commande en position des
robots
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
3
Evolution de la variable q(t)
t (secondes)
q
(
t
)
qf
qi
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
3.|D|/(2.tf)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
6
4
2
0
2
4
6
Evolution de la variable d/dt(dq/dt)
t (secondes)
d
/
d
t
(
d
q
/
d
t
)
6.|D|/(tf.tf) 6.|D|/(tf.tf)
6.|D|/(tf.tf)
Figure 2.14 Degr 3 : Evolution de la position, de la vitesse et de lacclration
.
2.5 Commande en position dun robot 81
Linterpolation de degr 5 [Binford77]
Si de plus lon impose une acclration nulle aux points de dpart et darrive, on
rajoute deux contraintes supplmentaires par rapport linterpolation de degr 3.
An de satisfaire ces 6 contraintes,
_
q
i
= q(0) = 0 (a)
q
f
= q(t
f
) = 0 (b)
_
q
i
= q(0) = 0 (c)
q
f
= q(t
f
) = 0 (d)
_
q(0) = q
i
(e)
q(t
f
) = q
f
(f)
le degr minimal du polynme est de 5. La forme gnrale est donne par lqua-
tion suivante :
q(t) = a
0
+ a
1
.t + a
2
.t
2
+ a
3
.t
3
+ a
4
.t
4
+ a
5
.t
5
(2.155)
On en dduit les relations donnant la vitesse et lacclration :
_
q = a
1
+ 2.a
2
.t + 3.a
3
.t
2
+ 4.a
4
.t
3
+ 5.a
5
.t
4
q = 2.a
2
+ 6.a
3
.t + 12.a
4
.t
2
+ 20.a
5
.t
3
(2.156)
En utilisant les hypothses (e), (c) et (a), on en dduit les coecients :
_
_
_
a
0
= q
i
a
1
= 0
a
2
= 0
(2.157)
En utilisant les hypothses (f), (d) et (b), on obtient un systme de trois qua-
tions et trois inconnues. On en dduit les coecients :
_

_
a
3
=
10
t
3
f
.D
a
4
=
15
t
4
f
.D
a
5
=
6
t
5
f
.D
(2.158)
On en dduit la fonction dinterpolation :
r(t) = 10.
_
t
t
f
_
3
15.
_
t
t
f
_
4
+ 6.
_
t
t
f
_
5
(2.159)
Lacclration sannule lorsque t =
t
f
2
. Elle a un maximum et un minimum :
q
max
=
10.|D|

3.t
2
f
q
min
=
10.|D|

3.t
2
f
La vitesse est maximale en t =
t
f
2
et nulle en t = 0 et en t = t
f
. La valeur
extrmale est : q
max
=
15.|D|
8.t
f
.
On obtient lvolution suivante (g 2.15).
82
Modlisation gomtrique des robots - Commande en position des
robots
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
3
Evolution de la variable q(t)
t (secondes)
q
(
t
)
qf
qi
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
15.|D|/8.tf
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
6
4
2
0
2
4
6
Evolution de la variable d/dt(dq/dt)
t (secondes)
d
/
d
t
(
d
q
/
d
t
)
(10.|D|)/(sqrt(3).tf.tf)
(10.|D|)/(sqrt(3).tf.tf)
Figure 2.15 Degr 5 : Evolution de la position, de la vitesse et de lacclration
.
2.5 Commande en position dun robot 83
2.5.2.2 Loi bang-bang
Dans ce cas le mouvement est reprsent par une phase dacclration constante
jusqu
t
f
2
, puis une phase de decclration constante. On impose les 4 contraintes :
_
q
i
= q(0) = 0 (a)
q
f
= q(t
f
) = 0 (b)
_
q(0) = q
i
(c)
q(t
f
) = q
f
(d)
Le mouvement est donc continu en position et en vitesse. Il est discontinu en
acclration.
La position est donne par lensemble des relations suivantes :
_
_
_
q(t) = q
i
+ 2 (
t
t
f
)
2
.D
q(t) = q
i
+
_
1 + 4
t
t
f
2 (
t
t
f
)
2
_
.D
pour
0 t
t
f
2
t
f
2
t t
f
(2.160)
On en dduit les relations donnant la vitesse et lacclration :
Pour 0 t
t
f
2
_
q = 4 (
t
t
f
2
).D
q = (
4
t
f
2
).D
(2.161)
Pour
t
f
2
t t
f
_
q =
4
t
f
4 (
t
t
f
2
).D
q = (
4
t
f
2
).D
(2.162)
Lacclration a un maximum et un minimum : q
max
= (
4
t
f
2
).D, q
min
= (
4
t
f
2
).D
La vitesse est maximale en t =
t
f
2
et nulle en t = 0 et en t = t
f
. La valeur
extrmale est : q
max
=
2.|D|
t
f
.
On obtient lvolution suivante (g 2.16).
84
Modlisation gomtrique des robots - Commande en position des
robots
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
3
Evolution de la variable q(t)
t (secondes)
q
(
t
)
qf
qi
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
2.|D|/tf
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
6
4
2
0
2
4
6
Evolution de la variable d/dt(dq/dt)
t (secondes)
d
/
d
t
(
d
q
/
d
t
)
4.|D|/(tf.tf)
4.|D|/(tf.tf)
Figure 2.16 Loi bang-bang : Evolution de la position, de la vitesse et de lacc-
lration
.
2.5 Commande en position dun robot 85
Remarque : temps minimum .
Si t
f
nest pas spci, on recherche en gnral le temps minimum pour faire le
dplacement q
i
q
f
en respectant les contraintes de vitesse et dacclration.
Gnralement on calcul le temps minimum sur chaque articulation sparemment
puis on eectue la coordination des articulations sur un temps commun. La coordi-
nation est ncessaire deux titres :
harmonie du mouvement global du robot
contrle de la trajectoire et de la gomtrie du robot.
Les deux tapes sont donc :
calcul du temps minimum t
f
: il dpend de la mthode dinterpolation retenue.
Il consiste en fait saturer la vitesse et/ou lacclration. Pour le calcul de
chacun des t
fj
, on se sert des rsultats suivants :
Interpolation linaire t
fj
=
|D
j
|
k
vj
Interpolation de degr 3 t
fj
= MAX
_
3|D
j
|
2k
vj
,
_
6|D
j
|
k
aj
_
Interpolation de degr 5 t
fj
= MAX
_
15|D
j
|
8k
vj
,
_
10|D
j
|

3k
aj
_
Loi Bang-Bang t
fj
= MAX
_
2|D
j
|
k
vj
, 2
_
|D
j
|
k
aj
_
Pour la coordination des axes, on impose pour chaque axe t
f
=
MAX[t
f1
, t
f2
, t
fn
].
86
Modlisation gomtrique des robots - Commande en position des
robots
2.5.2.3 Loi trapze : loi bang-bang avec palier de vitesse
Avec une loi bang-bang, le temps minimal est assur, soit en saturant la vitesse,
soit en saturant lacclration.
Lorsque la vitesse est sature, le fait dajouter un palier permet aussi de saturer
lacclration, et de diminuer le temps de parcours.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
kv
Loi trapze : saturation de lacclration
Loi bangbang : saturation de la vitesse
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
6
4
2
0
2
4
6
Evolution de la variable d/dt(dq/dt)
t (secondes)
d
/
d
t
(
d
q
/
d
t
)
ka
ka
loi trapze : saturation de lacclration
loi bangbang : saturation de la vitesse
Figure 2.17 Loi trapze et bang-bang : Evolution de de la vitesse et de laccl-
ration
.
Si la vitesse est sature sur larticulation j, daprs le tableau 2.5.2.2, on voit
que :
t
f

2|D
j
|
k
vj
lorsque que lon veut saturer la vitesse
2.5 Commande en position dun robot 87
t
f
2
_
|D
j
|
k
aj
lorsque que lon veut saturer lacclration
par consquent lexistence dun palier de vitesse est donn par :
2 |D
j
|
k
vj
> 2

|D
j
|
k
aj
(2.163)
En levant au carr, on obtient la condition dexistance du palier :
|D
j
| >
k
2
vj
k
aj
(2.164)
La loi trapze est optimale en temps : elle est parmi celles qui assurent une
continut en vitesse.
La position est donne par lensemble des relations suivantes :
_

_
q
j
(t) = q
i
j
+
t
2
2
k
aj
sgn(D
j
)
q
j
(t) = q
i
j
+ (t

j
2
) k
vj
sgn(D
j
)
q
j
(t) = q
f
j

1
2
(t
fj
t)
2
k
aj
sgn(D
j
)
pour
0 t
j

j
t t
fj

j
t
fj

j
t t
fj
(2.165)
On en dduit les relations donnant la vitesse et lacclration :
Pour 0 t
j
_
q
j
(t) = t k
aj
sgn(D
j
)
q
j
(t) = k
aj
sgn(D
j
)
(2.166)
Pour
j
t t
fj

j
_
q
j
(t) = k
vj
sgn(D
j
)
q
j
(t) = 0
(2.167)
Pour t
fj

j
t t
fj
_
q
j
(t) = (t
fj
t) k
aj
sgn(D
j
)
q
j
(t) = k
aj
sgn(D
j
)
(2.168)
avec

j
=
k
vj
k
aj
(2.169)
On obtient lvolution suivante (g 2.18).
88
Modlisation gomtrique des robots - Commande en position des
robots
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
3
Evolution de la variable q(t)
t (secondes)
q
(
t
)
qf
qi
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
kv
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
6
4
2
0
2
4
6
Evolution de la variable d/dt(dq/dt)
t (secondes)
d
/
d
t
(
d
q
/
d
t
)
ka
ka
Figure 2.18 Loi trapze : Evolution de la position, de la vitesse et de lacclration
.
2.5 Commande en position dun robot 89
Laire du trapze reprsentant lvolution des vitesses, est gale la distance
parcourue dans lintervalle [0; t
fj
]. On a donc :
|Dj| = |q
f
j
q
i
j
| = 2
_

j
0
k
aj
t dt +
_
t
fj

j
k
vj
dt
|Dj| = k
vj
t
fj

k
vj
2
k
aj
(2.170)
On en dduit le temps minimal pour laxe j.
_
t
fj
=
k
vj
k
aj
+
|Dj|
k
vj
t
fj
=
j
+ +
|Dj|
k
vj
(2.171)
Pour synchroniser les dirents mouvements des axes 1, 2, , n deux mthodes ont
t proposes.
Mthode du temps minimal [Tondu 84]
Dans cette mthode le temps optimal t
f
= Max
j
[t
fj
] est conserv. Soit k
larticulation contraignante imposant t
f
= t
fk
.
Larticulation j est synchronise par rapport sa loi propre en augmentant la
dure du palier de vitesse. Les phases dacclration et de dcclration restant
identiques celles de la loi propre.
La loi synchronise sobtient en ralisant une homothtie dun rapport
j
sur sa
loi propre. On obtient lvolution suivante (g 2.19).
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0.5
0
0.5
1
1.5
2
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
kvj
lambdaj . kvj
Loi propre
Loi homothtique rapport lambdaj
kaj
lambdaj . kaj
tfj tfk
t
Figure 2.19 Loi trapze : Evolution de la vitesse
.
t
f
=
j
+
|D
j
|

j
k
vj
reprsente la dure de synchronisation. En fait,
j
reste constant.
On peut reprendre le calcul de lintgrale prcdent en introduisant
j
. Comme :
90
Modlisation gomtrique des robots - Commande en position des
robots
t
f
=
j
+
|D
j
|

j
k
vj
= t
f

j
=
|D
j
|

j
k
vj
(2.172)
On en dduit :

j
=
|D
j
|
(t
f

j
) k
vj
=
t
fj

j
t
f

j
(2.173)
Mthode proportionnelle
Avec cette mthode, les lois de vitesses des diverses articulations sont homoth-
tiques et comportent des phases dacclration et de freinage de mme dure .
On obtient lvolution suivante (g 2.20).
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0.5
0
0.5
1
1.5
2
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
j=1
j=2
j=n
j=k
dq/dt = lambdaj . kvk
tau tftau tf
t
Figure 2.20 Loi trapze : Evolution de la vitesse
.
On a alors :
q
j
(t) =
j
q
k
(t) pour j = 1, 2, , n (2.174)
Classiquement dans cette mthode les lois de vitesses sont dduites par homo-
thtie de la loi de vitesse de larticulation contraignante k.
On a :
q
k
(t) =
k
q
k
(t) donc
k
= 1 (2.175)
Dans certains cas, il nest pas possible de respecter des contraintes dacclra-
tions ou bien celles de vitesses pour une ou plusieurs articulations.
On est alors oblig dintroduire une marge de temps t et de recalculer les
rapports dhomothtie compte tenu de la nouvelle dure du mouvement t
f
= t
fk
+t.
2.5 Commande en position dun robot 91
Cette mthode ne donne pas le temps minimum (car soit il faut ralonger
(acclration), soit il faut ralonger la dure du palier de vitesse (vitesse)).
Il existe une alternative cette mthode que nous allons prsenter maintenant.
Cette mthode suppose le calcul dune constante de temps de la phase dacc-
lration priori dirent du
j
optimal des lois propres de chacunes des articulations.
Soit
j
k
vj
la vitesse de la loi synchronise pour larticulation j.
Soit
j
k
aj
lacclration de la loi synchronise pour larticulation j qui produit
le mouvement.
Calculons qui assure un temps t
f
minimum. Considrons deux articulations.
Les temps de parcours minimaux pour ces deux articulations sont :
t
f1
=
1
+
|D
1
|
k
v1
t
f2
=
2
+
|D
2
|
k
v2
On obtient lvolution suivante (g 2.21).
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
0.5
0
0.5
1
1.5
2
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
tau1
tau
tau2
tf tf2 tf1
lambda1 . kv1
lambda2 . kv2
kv1
kv2
Figure 2.21 Loi trapze : Evolution de la vitesse
.
La loi synchronise est telle que le temps t
f
:
t
f
=
1
+
|D
1
|
k
v1
=
2
+
|D
2
|
k
v2
(2.176)
avec
92
Modlisation gomtrique des robots - Commande en position des
robots
_
_
_

1
=

1
k
v1

1
k
a1

2
=

2
k
v2

2
k
a2
et t
f
= MAX[t
f1
, t
f2
]
On doit calculer
j
et
j
pour rendre t
f
minimum. On veut un xe. On a donc :
=
1
=
2
=

1
k
v1

1
k
a1
=

2
k
v2

2
k
a2
(2.177)
De plus, comme =
1
=
2
et t
f
= t
f1
= t
f2
, on a :
|D
1
|

1
k
v1
=
|D
2
|

2
k
v2
(2.178)
On en dduit deux relations :
_

2
=
1

k
v1
k
v2

|D
2
|
|D
1
|

2
=
1

k
a1
k
a2

|D
2
|
|D
1
|
(2.179)
Pour satisfaire les contraintes de vitesse, on a :
_
_
_
0
1
1
0
2
1
0
1

k
v2
k
v1

|D
1
|
|D
2
|
(2.180)
Pour satisfaire les contraintes dacclration, on a :
_
_
_
0
1
1
0
2
1
0
1

k
a2
k
a1

|D
1
|
|D
2
|
(2.181)
Le temps t
f
minimum est obtenu lorsque
1
et
1
sont les plus grands et satisfont
les contraintes suivantes :
_

1opt
= MIN
_
1,
k
v2
k
v1

|D
1
|
|D
2
|
_

1opt
= MIN
_
1,
k
a2
k
a1

|D
1
|
|D
2
|
_
(2.182)
Dans ce cas la dure optimale de la phase dacclration est :

opt
=

1opt

1opt

k
v1
k
a1
(2.183)
2.5 Commande en position dun robot 93
Ces relations sont gnralisables n articulations, en crivant que :
_

1opt
= MIN
_
1,
k
vj
k
v1

|D
1
|
|D
j
|
_

1opt
= MIN
_
1,
k
aj
k
a1

|D
1
|
|D
j
|
_

opt
=

1opt

1opt

k
v1
k
a1
=

jopt

jopt

k
vj
k
aj
pour
_

_
j = 2, 3, , n
j = 2, 3, , n
j = 1, 2, , n
(2.184)
Remarque : Si pour une articulation j donne, la loi optimale natteint pas la
vitesse maximale k
vj
, on remplace dans les formules prcdentes le terme k
vj
par
la vitesse maximale eectivement atteinte k

vj
. Cette situation se prsente lorsque :
|D
j
| <
k
2
vj
k
aj
.
On obtient lvolution suivante (g 2.22).
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
Evolution de la variable dq/dt
t (secondes)
d
q
/
d
t
kvj
kvj
tfj
t
Figure 2.22 Loi trapze : cas o la vitesse nest pas sature
.
On en dduit : k

vj
=
_
|D
j
| k
aj
En eet, en laissant tomber le terme sgn(D
j
), on a :
_

_
q
j
(
t
f
2
) = q
i
j
+
(
t
f
2
)
2
2
k
aj
q
j
(
t
f
2
) =
t
f
2
k
aj
= k

vj

_
|D
j
|
2
=
(
t
f
2
)
2
2
k
aj
k

vj
=
_
|D
j
| k
aj
(
t
f
2
) =
_
|D
j
|
k
aj
94
Modlisation gomtrique des robots - Commande en position des
robots
2.5.3 Gnration de mouvement rectiligne dans lespace op-
rationnel
Nous nous restreindrons ce type de mouvement car la gnration de mouve-
ment dans lespace oprationnel devient vite complexe.
On cherche appliquer un mouvement rectiligne au point outil (O
E
origine du
repre R
E
li loutil).
Soit
O
T
E
i
la matrice de transformation homogne dcrivant la situtation initiale
de loutil dans le repre R
0
.
Soit
O
T
E
f
la matrice de transformation homogne dcrivant la situtation nale
de loutil dans le repre R
0
.
On dnit :
O
T
E
i
=
_
A
i
P
i
0 1
_
O
T
E
f
=
_
A
f
P
f
0 1
_
On dcompose le mouvement en un mouvement de :
rotation autour dun axe u de lorgane terminal pour aligner A
i
avec A
f
,
translation en ligne droite entre les origines O
E
i
et O
E
f
.
Les deux mouvements se terminent en mme temps.
On a donc :
O
T
E
f
=
O
T
E
i
T(u, ) =
_
A
i
P
i
0 1
_

_
A(u, ) P
0 1
_
(2.185)
Soit :
k
v1
et k
a1
les vitesses et acclrations maximales pour la rotation
k
v2
et k
a2
les vitesses et acclrations maximales pour la translation
Le calcul de u et est obtenu partir de la relation suivante :
A
i
.A(u, ) = A
f
(2.186)
A(u, ) reprsente une rotation dun angle autour dun axe u.
A(u, ) = [A
i
]
T
A
f
=
_
_
s
i
n
i
a
i
_
_

_
s
f
n
f
a
f

(2.187)
A(u, ) =
_
_
s
i
s
f
s
i
n
f
s
i
a
f
n
i
s
f
n
i
n
f
n
i
a
f
a
i
s
f
a
i
n
f
a
i
a
f
_
_
(2.188)
2.5 Commande en position dun robot 95
or on a vu que :
A(u, ) =
_
_
u
2
x
.(1 c) + c u
x
u
y
.(1 c) u
z
.s u
x
u
z
.(1 c) + u
y
.s
u
x
u
y
.(1 c) + u
z
.s u
2
y
.(1 c) + c u
y
u
z
.(1 c) u
x
.s
u
x
u
z
.(1 c) u
y
.s u
y
u
z
.(1 c) + u
x
.s u
2
z
.(1 c) + c
_
_
(2.189)
ou bien
A(u, ) = u.u
T
.(1 c) + I
3
.c + u.s (2.190)
De ces direntes expressions on en dduit :
_

_
c =
1
2

_
s
i
s
f
+ n
i
n
f
+ a
i
a
f
1

s =
1
2

_
(a
i
n
f
n
i
a
f
)
2
+ (s
i
a
f
a
i
s
f
)
2
+ (n
i
s
f
s
i
n
f
)
2
= ATAN2(s, c)
u =
1
2s

_
_
a
i
n
f
n
i
a
f
s
i
a
f
a
i
s
f
n
i
s
f
s
i
s
f
_
_
(2.191)
Lensemble des mthodes dinterpolation mises en uvre dans lespace articu-
laire peuvent tre mises en uvre dans lespace oprationnel.
Compte tenu du dplacement total et des contraintes k
v1
et k
a1
, on calcule le
temps minimal t
f1
.
On procde de manire identique pour dterminer pour dterminer t
f2
impos
par le mouvement de translation sachant que la distance parcourue est :
D = P
f
P
i
=
_
(P
f
x
P
i
x
)
2
+ (P
f
y
P
i
y
)
2
+ (P
f
z
P
i
z
)
2
(2.192)
La synchronisation des deux types de mouvement permet de trouver un commun
t
f
.
Le mouvement rsultant est tel que :
O
T
E
(t) =
_
A(t) P(t)
0 1
_
avec

P(t) = P
i
+ r(t)(P
f
P
i
)
A(t) = A
i
A(u, r(t) )
(2.193)
o r(t) reprsente la fonction dinterpolation retenue.
On pourrait galement crire :

P(t) = P
f
(1 r(t))[P
f
P
i
]
A(t) = A
f
A(u, (1 r(t)) )
(2.194)
96
Modlisation gomtrique des robots - Commande en position des
robots
Remarque : Si lon choisit de calculer la rotation autour dun axe xe par rap-
port R
0
, alors il faut rcrire la relation exprimant le mouvement de rotation en
composant gauche :
A(u, ).A
i
= A
f
(2.195)
Bibliographie
[DH55] Denavit J and Hartenberg R.S. A Kinematic notation for lower pair mechanism
based on matrices. Trans. of ACME, J. of Applied Mechanics, 22 :215221, June
1955.
[Fou80] A. Fournier. Gnration de mouvements en robotique : application des inverses
gnralises et des pseudo-inverses. PhD thesis, USTL, Mntpellier, April 1980.
[GBF85] A.A Goldenberg, B. Benhabib, and R.G. Fenton. A complete generalized so-
lution to inverse kinematics of robots. IEEE J. of Robotics and Automation,
RA-1(1) :1420, 1985.
[KC] Khalil W. and Creusot D. Symoro+ : a system for the symbolic modeling of
robots. Robotica, 15 :153161.
[LZ83] C.S.G. Lee and M. Ziegler. A geometric approach in solving the inverse kinema-
tics of PUMA robots. In Proc. 13th Int. Symp on Industrial Robots, volume 16,
pages 118, 1983.
[Pau81] R.C.P Paul. Robot manipulators : mathematics, programming an d control. 1981.
[Pie68] D.L Pieper. The Kinematics of manipulators under computer control. PhD thesis,
Stanford University, 1968.
[Ren80] M. Renaud. Contribution a la modlisation et la commande dynamiques des
robots manipulateurs. PhD thesis, UPS, Toulouse, September 1980.
[SS94] L. Sicavicco and B. Sciavicco. Modeling and control of robot manipulators. Mc-
Graw Hill, 1994.
[WE84] W.A. Wolovich and H. Elliot. A computational technique for inverse kinema-
tics. In 23 IEEE Conf. on Decision and Control, pages 13591353, Las Vegas,
December 1984.