You are on page 1of 52

Bases de la modlisation et de la commande

des robots-manipulateurs
robots
de type srie

Wisama KHALIL, Etienne DOMBRE


Date de cration : 08 mai 2012

Bases de la modlisation et de la commande des


robots-manipulateurs de type srie
1

Wisama KHALIL et Etienne DOMBRE

Ce document constitue un support de cours (une vingtaine d'heures) pour des tudiants en Master ou en Ecole
d'Ingnieurs qui cherchent acqurir les bases de la modlisation, de la gnration de mouvement et de la
commande des robots manipulateurs de type srie. Ils trouveront dans [Khalil 02] une prsentation plus complte
de ces domaines, notamment pour traiter les robots chane complexe et les robots parallles, pour identifier les
paramtres de ces modles ou pour introduire des schmas de commande en position et en effort avancs.

1. Modlisation
1.1 Introduction
La conception et la commande des robots ncessitent le calcul de certains modles mathmatiques, tels que :
les modles de transformation entre l'espace oprationnel (dans lequel est dfinie la situation de l'organe
terminal) et l'espace articulaire (dans lequel est dfinie la configuration du robot). On distingue :
- les modles gomtriques direct et inverse qui expriment la situation de l'organe terminal en fonction des
variables articulaires du mcanisme et inversement ;
- les modles cinmatiques direct et inverse qui expriment la vitesse de l'organe terminal en fonction des
vitesses articulaires et inversement ;
les modles dynamiques dfinissant les quations du mouvement du robot, qui permettent d'tablir les relations
entre les couples ou forces exercs par les actionneurs et les positions, vitesses et acclrations des
articulations.
On prsente dans ce chapitre quelques mthodes permettant d'tablir ces modles. On se limitera au cas des
robots structure ouverte simple. Pour les robots structure complexe, arborescente ou ferme, on renvoie le
lecteur [Khalil 02].
Le formalisme mathmatique fait appel aux matrices de transformation homognes de dimension (4x4). La
matrice homogne iTj reprsente la transformation permettant de passer du repre Ri au repre Rj :
iT
j

iAj iPj isj inj iaj iPj


=

0 0 0 1 0 0 0 1

[1]

o isj, inj et iaj dsignent respectivement les vecteurs unitaires suivant les axes xj, yj et zj du repre Rj exprims
dans le repre Ri, et o iPj est le vecteur exprimant l'origine du repre Rj dans le repre Ri. Les vecteurs isj, inj,
ia de la matrice d'orientation iA sont les cosinus directeurs.
j
j

1.2. Modlisation gomtrique


1.2.1. Description gomtrique
La modlisation des robots de faon systmatique et automatique exige une mthode adquate pour la
description de leur morphologie. Plusieurs mthodes et notations ont t proposes [Denavit 55], [Sheth 71],
[Renaud 75], [Khalil 76], [Borrel 79], [Craig 86]. La plus rpandue est celle de Denavit-Hartenberg [Denavit
55]. Mais cette mthode, dveloppe pour des structures ouvertes simples, prsente des ambiguts lorsqu'elle est
applique sur des robots ayant des structures fermes ou arborescentes. C'est pourquoi, nous prconisons la
1
2

IRCCyN, UMR 6597 CNRS - Ecole Centrale de Nantes


LIRMM, UMR 5506 CNRS - Universit Montpellier 2

Universit Numrique Ingnierie & Technologie Robotique

notation de Khalil et Kleinfinger qui permet la description homogne, et avec un nombre minimum de
paramtres, des architectures ouvertes simples et complexes de systmes mcaniques articuls [Khalil 86].
Une structure ouverte simple est compose de n+1 corps nots C0, , Cn et de n articulations. Le corps C0
dsigne la base du robot et le corps Cn le corps qui porte l'organe terminal. L'articulation j connecte le corps Cj
au corps Cj-1 (figure 1). La mthode de description est fonde sur les rgles et conventions suivantes :

les corps sont supposs parfaitement rigides. Ils sont connects par des articulations considres comme idales
(pas de jeu mcanique, pas d'lasticit), soit rotodes, soit prismatiques ;

le repre Rj est li au corps Cj ;


l'axe zj est port par l'axe de l'articulation j ;
l'axe xj est port par la perpendiculaire commune aux axes zj et zj+1. Si les axes zj et zj+1 sont parallles ou
colinaires, le choix de xj n'est pas unique : des considrations de symtrie ou de simplicit permettent alors un
choix rationnel.
Le passage du repre Rj-1 au repre Rj s'exprime en fonction des quatre paramtres gomtriques suivants
(figure 2) :
j : angle entre les axes zj-1 et zj correspondant une rotation autour de xj-1 ;
dj : distance entre zj-1 et zj le long de xj-1 ;
j : angle entre les axes xj-1 et xj correspondant une rotation autour de zj ;
rj : distance entre xj-1 et xj le long de zj.

C3

Cn

C2

C1
C0

Figure 1. Robot structure ouverte simple

xj
zj

zj-1

Oj
j
rj
xj-1

dj
Oj-1
Figure 2. Paramtres gomtriques dans le cas d'une structure ouverte simple

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

La variable articulaire qj associe la jme articulation est soit j, soit rj, selon que cette articulation est de
type rotode ou prismatique, ce qui se traduit par la relation :

qj = j j + j rj

[2]

avec :
j = 0 si l'articulation j est rotode ;
j = 1 si l'articulation j est prismatique ;

j = 1 j.
La matrice de transformation dfinissant le repre Rj dans le repre Rj-1 est donne par (figure 2) :
j-1T
j

= Rot(x, j) Trans(x, dj) Rot(z, j) Trans(z, rj)

Cj
CjSj
=
SjSj
0

Sj

dj

CjCj

Sj

rjSj

SjCj

Cj

rjCj

[3]

o Rot(u, ) et Trans(u, d) sont des matrices de transformation homogne (4x4) reprsentant respectivement
une rotation autour de l'axe u et une translation d le long de u.
REMARQUES
pour la dfinition du repre de rfrence R0, le choix le plus simple consiste prendre R0 confondu avec le
repre R1 quand q1 = 0, ce qui signifie que z0 est confondu avec z1 et O0 = O1 lorsque l'articulation 1 est
rotode, et z0 est confondu avec z1 et x0 est parallle x1 lorsque l'articulation 1 est prismatique. Ce choix rend
les paramtres 1 et d1 nuls ;
de mme, on dfinit l'axe xn du repre Rn comme tant colinaire xn-1 lorsque qn = 0 ;
pour une articulation j prismatique, l'axe zj est parallle l'axe de l'articulation mais la position de cet axe dans
l'espace peut tre quelconque : on le place donc de telle sorte que dj ou dj+1 soit nul ;
lorsque zj est parallle zj+1, on place xj de telle sorte que rj ou rj+1 soit nul ;
en pratique, le vecteur des variables articulaires q est donn par :
q = qc + q0
o q0 reprsente un dcalage ("offset") et qc sont les variables codeurs.
EXEMPLE 1. Description de la gomtrie du robot Stubli RX-90 (figure 3). La cinmatique du porteur est de
type anthropomorphe RRR et le poignet comporte trois rotations d'axes concourants, quivalentes une rotule.
D'un point de vue mthodologique, on place d'abord les axes zj sur les axes articulaires, puis les axes xj selon les
rgles nonces prcdemment. On dtermine ensuite les paramtres gomtriques du robot. Le placement des
repres est indiqu sur la figure 3 et les paramtres gomtriques sont donns dans le tableau 1.

Universit Numrique Ingnierie & Technologie Robotique

z4, z6
x4, x5, x6
z5
RL4

z0, z1

x3
x0, x1, x2
D3

z2

z3

Figure 3. Placement des repres et notations pour le robot Stubli RX-90


j

dj

/2

D3

/2

RL4

/2

/2

rj

Tableau 1. Paramtres gomtriques du robot Stubli RX-90

1.2.2. Modle gomtrique direct


Le modle gomtrique direct (MGD) est l'ensemble des relations qui permettent d'exprimer la situation de
l'organe terminal, c'est--dire les coordonnes oprationnelles du robot, en fonction de ses coordonnes
articulaires. Dans le cas d'une chane ouverte simple, il peut tre reprsent par la matrice de transformation 0Tn :
0T
n

= 0T1(q1) 1T2(q2) n-1Tn(qn)

[4]

Le modle gomtrique direct du robot peut aussi tre reprsent par la relation :
X = f(q)

[5]

q tant le vecteur des variables articulaires tel que :


q = [q1

q 2 q n ]T

[6]

Les coordonnes oprationnelles sont dfinies par :


X = [x1

x2 xm]T

[7]

Plusieurs possibilits existent pour la dfinition du vecteur X. Par exemple, avec les lments de la matrice
:

0T
n

Bases de la modlisation et de la commande des robots-manipulateurs de type srie


X = [Px

Py Pz

sx

sy sz

nx

ny nz

ax

ay az]T

[8]

ou bien, sachant que s = nxa :


X = [Px

Py Pz

nx

ny nz

ax

ay az]T

[9]

Pour les rotations, d'autres reprsentations sont couramment utilises comme les angles d'Euler, les angles de
Roulis-Tangage-Lacet (RTL) ou les paramtres d'Euler (quaternions). On peut facilement passer des cosinus
directeurs s, n, a l'une quelconque de ces reprsentations et inversement [Khalil 02].
EXEMPLE 2. Modle gomtrique direct du robot Stubli RX-90 (figure 3). A partir du tableau 1, la relation
[3] permet d'crire les matrices de transformation lmentaires j-1Tj. Le produit 0T6 de ces matrices a pour
composantes :
sx = C1(C23(C4C5C6 S4S6) S23S5C6) S1(S4C5C6 + C4S6)
sy = S1(C23(C4C5C6 S4S6) S23S5C6) + C1(S4C5C6 + C4S6)
sz = S23(C4C5C6 S4S6) + C23S5C6
nx = C1( C23 (C4C5S6 + S4C6) + S23S5S6) + S1(S4C5S6 C4C6)
ny = S1( C23 (C4C5S6 + S4C6) + S23S5S6) C1(S4C5S6 C4C6)
nz = S23(C4C5S6 + S4C6) C23S5S6
ax = C1(C23C4S5 + S23C5) + S1S4S5
ay = S1(C23C4S5 + S23C5) C1S4S5
az = S23C4S5 + C23C5
Px = C1(S23 RL4 C2D3)
Py = S1(S23 RL4 C2D3)
Pz = C23 RL4 + S2D3
avec C23 = cos (2+3) et S23 = sin (2+3).

1.2.3. Modle gomtrique inverse


On a vu que le modle gomtrique direct d'un robot permettait de calculer les coordonnes oprationnelles
donnant la situation de l'organe terminal en fonction des coordonnes articulaires. Le problme inverse consiste
calculer les coordonnes articulaires correspondant une situation donne de l'organe terminal. Lorsqu'elle
existe, la forme explicite qui donne toutes les solutions possibles (il y a rarement unicit de solution) constitue ce
que l'on appelle le modle gomtrique inverse (MGI). On peut distinguer trois mthodes de calcul du MGI :
la mthode de Paul [Paul 81] qui traite sparment chaque cas particulier et convient pour la plupart des robots
industriels ;
la mthode de Pieper [Pieper 68] qui permet de rsoudre le problme pour les robots six degrs de libert
possdant trois articulations rotodes d'axes concourants ou trois articulations prismatiques ;
la mthode gnrale de Raghavan et Roth [Raghavan 90], donnant la solution gnrale des robots six
articulations partir d'un polynme de degr au plus gal 16.
Lorsqu'il n'est pas possible de trouver une forme explicite du modle gomtrique inverse, on peut calculer
une solution particulire par des procdures numriques [Pieper 68], [Whitney 69], [Fournier 80],
[Featherstone 83], [Wolovich 84], [Goldenberg 85], [Sciavicco 86]. On ne prsente dans ce paragraphe que la
mthode de Paul, celles de Pieper et de Raghavan et Roth tant dtailles dans [Khalil 02].

Universit Numrique Ingnierie & Technologie Robotique

1.2.3.1. Position du problme


Soit fTEd la matrice de transformation homogne reprsentant la situation dsire du repre outil RE par
rapport au repre atelier Rf. Dans le cas gnral, on peut exprimer fTEd sous la forme :
fT d =
E

Z 0Tn(q) E

[10]

expression dans laquelle (figure 4) :


Z est la matrice de transformation dfinissant la situation du robot (repre R0) dans le repre atelier ;
0Tn est la matrice de transformation du repre terminal Rn dans le repre R0, fonction du vecteur des variables
articulaires q ;
E est la matrice de transformation dfinissant le repre outil RE dans le repre terminal Rn.
Lorsque n 6, on peut crire la relation suivante en regroupant dans le membre de droite tous les termes
connus :
0T (q)
n

= Z-1 fTEd E-1

[11]

Lorsque n < 6 , l'espace oprationnel du robot est de dimension infrieure six. Il n'est pas possible de faire
concider le repre outil RE avec un repre REd dcrivant la tche sauf lorsque les repres RE et REd sont
conditionns de faon bien particulire pour s'adapter au nombre insuffisant de degrs de libert. Pratiquement,
au lieu d'amener le repre RE sur le repre REd, on cherchera faire concider entre eux des lments
gomtriques lis ces repres (points, droites).
Dans le calcul du MGI, trois cas se prsentent :
a) absence de solution lorsque la situation dsire est en dehors de la zone accessible du robot. Celle-ci est
limite par le nombre de degrs de libert, les dbattements articulaires et la dimension des segments ;
b) infinit de solutions lorsque :
- le robot est redondant vis--vis de la tche ;
- le robot se trouve dans certaines configurations singulires ;
c) solutions en nombre fini, exprimes par un ensemble de vecteurs {q1, , qr}. On dit qu'un robot
manipulateur est rsoluble [Pieper 68], [Roth 76] lorsqu'il est possible de calculer toutes les configurations
permettant d'atteindre une situation donne. Aujourd'hui, tous les manipulateurs srie ayant jusqu' six degrs
de libert et qui ne sont pas redondants peuvent tre considrs comme rsolubles [Lee 88], [Raghavan 90]. Le
nombre de solutions dpend de l'architecture du robot manipulateur.

0T
n

Rn

R0

RE
E
Rf

0T
E

Figure 4. Transformations entre l'organe terminal et le repre atelier

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

1.2.3.2. Principe de la mthode de Paul


Considrons un robot manipulateur dont la matrice de transformation homogne a pour expression :
0T
n

= 0T1(q1) 1T2(q2) n-1Tn(qn)

[12]

Soit U0 la situation dsire telle que :


s n a P

sx nx ax Px
y y y y
U0 =
sz nz az Pz
0 0 0 1

[13]

On cherche rsoudre le systme d'quations suivant :


U0 = 0T1(q1) 1T2(q2) n-1Tn(qn)

[14]

Pour trouver les solutions de l'quation [14], Paul [Paul 81] a propos une mthode qui consiste
prmultiplier successivement les deux membres de l'quation [14] par les matrices jTj-1 pour j variant de 1 n-1,
oprations qui permettent d'isoler et d'identifier l'une aprs l'autre les variables articulaires que l'on recherche.
Pour un robot six degrs de libert par exemple, on procde comme suit :
multiplication gauche de l'expression [14] par 1T0 :
1T
0

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

[15]

Le terme de droite est fonction des variables q2, , q6. Le terme de gauche n'est fonction que des lments de
U0 et de la variable q1 ;
identification terme terme des deux membres de l'quation [15]. On se ramne un systme d'une ou de deux
quations fonction de q1 uniquement, dont la structure appartient un type particulier parmi une dizaine de
types possibles ;
multiplication gauche de l'expression [15] par 2T1 et calcul de q2.
La succession des quations permettant le calcul de tous les qj est la suivante :
U0 = 0T11T22T3 3T4 4T55T6
1T U = 1T 2T 3T 4T 5T
0 0
2 3
4
5 6
2T 1T U = 2T 3T 4T 5T
1
0 0
3
4
5
6
3T2 2T 1T U = 3T 4T 5T
1
0 0
4
5
6
4T 3T2 2T 1T U = 4T 5T
3
1
0 0
5
6
5T 4T 3T2 2T 1T U = 5T
4
3
1
0 0
6

[16]

les lments des deuximes membres ayant dj t calculs lors du calcul du MGD :
Uj = jT6 = jTj-1 Uj-1

[17]

L'utilisation de la mthode sur un grand nombre de robots industriels a permis de constater que les types
d'quations rencontrs sont peu nombreux et que leur rsolution mme si elle ncessite parfois quelques
dveloppements reste cependant relativement simple [Khalil 02].
REMARQUES
1) Lorsqu'un robot possde plus de six degrs de libert, le systme rsoudre contient plus d'inconnues que de
paramtres dcrivant la tche : il manque (n6) relations. Deux stratgies sont possibles :

Universit Numrique Ingnierie & Technologie Robotique

la premire consiste fixer (n6) articulations. On se ramne alors au problme six degrs de libert. Le
choix de ces articulations est dict par les spcifications de la tche et par la morphologie du robot. On peut
ensuite reconfigurer le robot autour des valeurs obtenues en vue de satisfaire des critres d'optimisation
supplmentaires [Chevallereau 88a] ;
la deuxime stratgie consiste introduire (n6) relations supplmentaires dcrivant la redondance, comme par
exemple dans [Hollerbach 84b] pour des robots sept degrs de libert.
2) Lorsque le robot possde moins de six degrs de libert, il ne peut pas donner son organe terminal n'importe
quelles positions et orientations. Il n'est pas possible d'amener le repre terminal RE sur un autre repre REd
dsir sauf si certains lments de 0TEd sont imposs de faon compenser le nombre insuffisant de degrs de
libert. Sinon, on est amen rduire le nombre d'quations en ne considrant que certains lments
gomtriques lis aux repres RE et REd.
EXEMPLE 3. Modle gomtrique inverse du robot Stubli RX-90. Tous calculs faits, on obtient les solutions
suivantes :
1 = atan2(Py, Px)

'1 = 1 +

[18.1]

2 = atan2(S2, C2)

[18.2]

avec :

C2 = YZ XX2 X+ Y+2 Y Z
XZ + Y X2 + Y2 Z2
S2 =
X2 + Y2
2

avec = 1

X = 2Pz D3
Y = 2 B1D3
Z = (RL4)2 (D3)2 (Pz)2 (B1)2
B1 = Px C1 + Py S1
PzS2B1C2+D3 B1S2+PzC2
3 = atan2 (
,
)
RL4
RL4
4 = atan2[S1axC1ay, C23(C1ax+S1ay)S23az]

'4 = 4 +
5 = atan2(S5, C5)

[18.3]
[18.4]
[18.5]

avec :
S5 = C4 [C23 (C1 ax + S1 ay) + S23az] + S4 (S1 ax C1 ay)
C5 = S23 (C1 ax + S1 ay) + C23 az
6 = atan2(S6, C6)

[18.6]

avec :
S6 = C4 (S1 sx C1 sy) S4 [C23 (C1 sx + S1 sy) + S23 sz]
C6 = C4 (S1 nx C1 ny) S4 [C23 (C1 nx + S1 ny) + S23 nz]
REMARQUES.
1) Positions singulires
i) lorsque Px=Py=0, ce qui correspond S23RL4C2D3=0, le point O4 se trouve sur l'axe z0 (figure 5a).
Les deux arguments utiliss pour le calcul de 1 sont nuls et de ce fait, 1 est indtermin. On peut fixer
1 une valeur quelconque, gnralement la valeur de la position courante, ou selon des critres
d'optimisation comme l'loignement des butes mcaniques des articulations. Ceci veut dire que l'on
peut toujours trouver une solution, mais il se peut alors qu'un petit changement de la situation dsire

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

demande une variation importante de 1 impossible raliser compte tenu des limites en vitesse et
acclration des actionneurs ;
ii) lorsque C23(C1ax+S1ay)+S23az=Hx=0 et S1axC1ay=Hz=0, la fonction atan2 utilise pour calculer
4 a ses deux arguments nuls et est donc indtermine. Cette configuration advient lorsque les axes 4 et
6 sont confondus (C5=1) et c'est la somme 46 qui intervient (figure 5b). On peut fixer 4 sa
valeur courante, puis on calcule 6 en fonction de cette valeur. On peut aussi calculer les valeurs de 4
et 6 qui loignent les articulations 4 et 6 de leurs butes ;
iii) une troisime position singulire lorsque C3=0 sera mise en vidence avec le modle cinmatique.
Cette singularit ne pose pas de problme pour le modle gomtrique inverse (figure 5c).
2) Nombre de solutions : en dehors des singularits, le robot Stubli RX-90 prsente huit configurations
thoriques pour le MGI (produit du nombre de solutions possibles sur chaque axe). Certaines de ces
configurations peuvent ne pas tre accessibles cause des limites articulaires.
O4O6

z1
z5

z1
O3
z3

O2

z3

z2

O2

O6

z2

z4, z6

a) Singularit d'paule
(Px=Py=0 ou S23RL4C2D3=0)

b) Singularit du poignet (S5=0)

O6

O2
z2

z3

z5

c) Singularit du coude (C3=0)


Figure 5. Positions singulires du robot Stubli RX-90

10

Universit Numrique Ingnierie & Technologie Robotique

1.3. Modlisation cinmatique


1.3.1. Modle cinmatique direct
Le modle cinmatique direct d'un robot manipulateur dcrit les vitesses des coordonnes oprationnelles en
fonction des vitesses articulaires. Il est not :
.
.
X = J(q) q

[19]

X
o J(q) dsigne la matrice jacobienne de dimension (mxn) du mcanisme, gale q et fonction de la
configuration articulaire q. La mme matrice jacobienne intervient dans le calcul du modle diffrentiel direct qui
donne les variations lmentaires dX des coordonnes oprationnelles en fonction des variations lmentaires des
coordonnes articulaires dq, soit :
dX = J(q) dq

[20]

L'intrt de la matrice jacobienne est multiple [Whitney 69], [Paul 81] :


elle est la base du modle diffrentiel inverse, permettant de calculer une solution locale des variables
articulaires q connaissant les coordonnes oprationnelles X ;
en statique, on utilise le jacobien pour tablir la relation liant les efforts exercs par l'organe terminal sur
l'environnement aux forces et couples des actionneurs ;
elle facilite le calcul des singularits et de la dimension de l'espace oprationnel accessible du robot [Borrel
86], [Wenger 89].
1.3.1.1. Calcul de la matrice jacobienne par drivation du MGD
Le calcul de la matrice jacobienne peut se faire en drivant le MGD, X = f(q), partir de la relation suivante :
fi(q)
Jij = q
j

i = 1, , m ; j = 1, , n

[21]

o Jij est l'lment (i, j) de la matrice jacobienne J.


Cette mthode est facile mettre en uvre pour des robots deux ou trois degrs de libert comme le montre
l'exemple suivant. Le calcul de la matrice jacobienne cinmatique prsent au 1.3.1.2 est plus pratique pour les
robots ayant plus de trois degrs de libert.
EXEMPLE 4. Soit le robot plan trois degrs de libert d'axes rotodes parallles reprsent sur la figure 6. On
note L1, L2 et L3 les longueurs des segments. On choisit comme coordonnes oprationnelles les coordonnes
(Px, Py) du point E dans le plan (x0, y0) et l'angle du dernier segment avec l'axe x0 :
Px = C1 L1 + C12 L2 + C123 L3
Py = S1 L1 + S12 L2 + S123 L3
= 1 + 2 + 3
La matrice jacobienne est calcule en drivant ces trois relations par rapport 1, 2 et 3 :

S1L1 S12L2 S123L3 S12L2 S123L3 S123L3


J = C1L1 +C12L2 +C123L3 C12L2 +C123L3 C123L3

1
1
1

1.3.1.2. Matrice jacobienne cinmatique


On peut obtenir la matrice jacobienne par une mthode de calcul direct, fonde sur la relation entre les
.
vecteurs des vitesses de translation et de rotation Vn et n du repre Rn, et les vitesses articulaires q :

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

Vn
.
= Jn q

11

[22]

y0

Py
3

L3
x3

x2
x1

L2

L1
1

x0
Px

Figure 6. Exemple d'un robot plan trois degrs de libert

On note que Vn est la drive par rapport au temps du vecteur Pn. En revanche, n n'est pas la drive d'une
reprsentation quelconque de l'orientation.
L'expression du jacobien est identique si l'on considre la relation entre les vecteurs de translation et de
rotation diffrentielles (dPn, n) du repre Rn et les diffrentielles des coordonnes articulaires dq :

dPn

= Jn dq
n

[23]

i) Calcul du jacobien cinmatique


.
Considrons la kme articulation d'une chane articule. La vitesse qk induit sur le repre terminal Rn la vitesse
de translation Vk,n et la vitesse de rotation k,n. On rappelle que ak est le vecteur unitaire port par l'axe zk de
l'articulation k et on dsigne par Lk,n le vecteur d'origine Ok et d'extrmit On. En appliquant le thorme de
composition des vitesses, les vitesses de translation et de rotation du repre terminal s'crivent :
n

Vk,n = [k ak + k (ak xLk,n)] qk


Vn = k=1
k=1
n
n
.
n = k,n = k ak qk
k=1 k=1

[24]

En mettant ce systme sous forme matricielle et en l'identifiant la relation [22], on dduit que :

1a1 + 1(a1xL1,n) ... nan + n(anxLn,n)

Jn =

1a1

n an

[25]

En gnral, on exprime Vn et n soit dans le repre Rn soit dans le repre R0. La matrice jacobienne
correspondante est note nJn ou 0Jn respectivement. Ces matrices peuvent aussi tre calcules en utilisant une
matrice iJn, i = 0, ..., n, grce la relation de transformation de la matrice jacobienne entre repres suivante :
sJ

sAi 03 i
Jn
n=
03 sAi

[26]

12

Universit Numrique Ingnierie & Technologie Robotique

o sAi est la matrice d'orientation, de dimension (3x3), du repre Ri exprime dans le repre Rs.
La matrice sJn peut donc tre dcompose en deux matrices, la premire tant toujours de rang plein. Les
deux matrices iJn et sJn ayant les mmes positions singulires, on cherche pratiquement utiliser le repre de
projection Ri qui simplifie les lments de la matrice iJn. En gnral, on obtient la matrice iJn la plus simple
lorsque l'on prend i = [partie entire de n/2].
ii) Calcul de la matrice iJn
En remarquant que le produit vectoriel akxLk,n peut se transformer3 en ^
a k Lk,n, la kme colonne de iJn note
ij
n;k devient :

ij

k iak + k iAk k^ak kLk,n

n;k =

i
k ak

[27]

En dveloppant et en notant que kak = [0 0 1]T et que kLk,n = kPn, on obtient :

k iak + k ( kPny isk + kPnx ink)

ij
n;k =

k iak

[28]

o kPnx et kPny sont respectivement les composantes x et y du vecteur kPn.


De faon analogue, la kme colonne de iJn s'crit galement :

ij

k iak + k i^ak (iPniPk)

n;k =

i
k ak

[29]

Lorsque i = 0, les lments de la colonne k donns par lquation [29] s'obtiennent partir de ceux de la
matrice 0Tk et du vecteur 0Pn. On doit donc calculer les matrices 0Tk, k = 1, , n.
EXEMPLE 5. Calcul du jacobien 3J6 du robot Stubli RX-90. La colonne k de la matrice 3J6 d'un robot
manipulateur six degrs de libert de type 6R s'crit :

3j

kP6y 3sk + kP6x 3nk

3a

6;k =

On en dduit :
0

3J

0
S23 RL4 C2D3
=
S23
C23
0

RL4 +S3D3

RL4

C3D3

S4

C4

La matrice antisymtrique ^
a du prproduit vectoriel est dfinie par :
0 az ay
^
0 ax
a = az

ay

ax

S5C4

C5
S5S4
0

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

13

1.3.1.3. Dcomposition de la matrice jacobienne en trois matrices


Avec la relation [26], nous avons montr que la matrice sJn pouvait tre dcompose en deux matrices, la
premire tant toujours de rang plein et la deuxime contenant des lments simples. Renaud [Renaud 80b] a
montr que l'on peut aussi dcomposer la matrice jacobienne en trois matrices : les deux premires sont toujours
de rang plein et leur inversion est immdiate ; la troisime est du mme rang que sJn, mais contient des lments
beaucoup plus simples. On obtient [Khalil 02] :

sJ

sAi 03 I3 iL^j,n i

Jn,j
03 sAi 03 I3

n=

[30]

les lments de la kme colonne de iJn,j s'exprimant dans le repre Ri de la faon suivante :

ij

k iak + k ( kPjy isk + kPjx ink)

n,j;k =

i
k ak

[31]

1.3.1.4. Dimension de l'espace oprationnel d'un robot


Pour une configuration articulaire q donne, le rang r de la matrice jacobienne iJn, note J dans la suite pour
simplifier les notations, correspond au nombre de degrs de libert du repre associ l'organe terminal. Il dfinit
la dimension de l'espace oprationnel accessible dans cette configuration. On appelle nombre de degrs de libert
M de l'espace oprationnel d'un robot, le rang maximal rmax que prend la matrice jacobienne dans toutes les
configurations possibles. Deux cas sont examiner [Gorla 84] :
si M est gal au nombre de degrs de libert N du robot (gal n dans le cas des robots en chane simple ou
structure arborescente), le robot est non redondant : il possde juste le nombre d'articulations lui permettant de
donner le nombre M de degrs de libert son organe terminal ;
si N>M, le robot est redondant d'ordre (NM). Il dispose de plus d'articulations qu'il n'en faut pour donner le
nombre M de degrs de libert son organe terminal.
Que ce soit dans l'un ou dans l'autre cas, pour certaines configurations articulaires, il se peut que le rang r soit
infrieur M : on dit que le robot possde une singularit d'ordre (Mr). Il perd alors localement la possibilit
d'engendrer une vitesse le long ou autour de certaines directions. Lorsque la matrice J est carre, les singularits
d'ordre un sont solution de det(J)=0 o det(J) dsigne le dterminant de la matrice jacobienne du robot. Elles
sont donnes par det(JJT)=0 dans le cas redondant.
On vrifiera partir des rsultats obtenus dans l'exemple 5 que pour le robot manipulateur Stubli RX-90, le
dterminant de 3J6 s'crit :
det(3J6) = C3 D3 RL4 S5 (S23 RL4 C2 D3)
Le rang maximal est tel que rmax=6. Le robot est non redondant puisqu'il comporte six degrs de libert.
Cependant, ce rang est gal cinq dans les trois configurations singulires suivantes (voir figure 5) :

C3 = 0
S23 RL4 C2 D3 = 0
S5 = 0
1.3.2. Modle cinmatique inverse
L'objectif du modle cinmatique inverse est de calculer, partir d'une
. configuration q donne, les vitesses
.
articulaires q qui assurent au repre terminal une vitesse oprationnelle X impose. Cette dfinition est analogue
celle du modle diffrentiel inverse : ce dernier permet de dterminer la diffrentielle articulaire dq
correspondant une diffrentielle des coordonnes oprationnelles dX spcifie. Pour obtenir le modle

14

Universit Numrique Ingnierie & Technologie Robotique

cinmatique inverse, on inverse le modle cinmatique direct en rsolvant un systme d'quations linaires. La
mise en uvre peut tre faite de faon analytique ou numrique :
la solution analytique a pour avantage de diminuer considrablement le nombre d'oprations, mais on doit
traiter sparment tous les cas singuliers [Chevallereau 87] ;
les mthodes numriques sont plus gnrales, la plus rpandue tant fonde sur la notion de pseudo-inverse :
les algorithmes traitent de faon unifie les cas rguliers, singuliers et redondants. Elles ncessitent un temps de
calcul relativement important.
Nous prsentons dans ce paragraphe les techniques mettre en uvre pour tablir un modle cinmatique
inverse dans les cas rguliers, singuliers et redondants.
1.3.2.1. Forme gnrale du modle cinmatique
Soit X = [XpT XrT]T une reprsentation quelconque dans le repre R0 de la situation du repre Rn fix un
solide, les lments Xp et X
respectivement la position et l'orientation oprationnelles du solide. Les
. r dsignant
.
relations entre les vitesses Xp et Xr et les vecteurs vitesses 0Vn et 0n du repre Rn sont telles que :

X.
0V
0V
0
p = p 3 n = n
. 03 r 0
0
n
n
Xr

[32]

les matrices p et r dpendant de la reprsentation choisie respectivement pour la position et pour l'orientation
[Khalil 02].
Partant des quations [22], [30] et [32], le modle cinmatique direct a pour forme gnrale :
. p 03
X=
03 r

0
^
Ai 03 I3 iL
j,n i
.

Jn,j q

0
03 Ai 03 I3

[33]

ou, sous forme condense :


.
.
X=Jq

[34]

1.3.2.2. Modle cinmatique inverse dans le cas rgulier


Dans ce cas, la matrice jacobienne J est carre d'ordre n et son dterminant est non nul. La mthode la plus
.
gnrale consiste calculer J-1, la matrice inverse de J, qui permet de dterminer les vitesses articulaires q grce
la relation :
.
.
q = J-1 X

[35]

Lorsque la matrice J a la forme suivante :


J=

A 0
B C

[36]

les matrices A et C tant carres inversibles, il est facile de montrer que l'inverse de cette matrice s'crit :
0
A-1

-1
-1
C BA C-1

J-1 =

[37]

La rsolution du problme se ramne donc l'inversion, beaucoup plus simple, de deux matrices de
dimension moindre. Lorsque le robot manipulateur possde six degrs de libert et un poignet de type rotule, la
forme gnrale de J est celle de la relation [36], A et C tant de dimension (3x3) [Gorla 84].

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

15

EXEMPLE 6. Calcul de la matrice jacobienne inverse du robot manipulateur Stubli RX-90. Le jacobien 3J6 a
t calcul dans l'exemple 5. Le calcul des inverses de A et de C donne respectivement :

A-1

0
V1
0
V4 1 V5

-1
0
V3
0 , C = S4
0 C4
=

1/RL4 V2V3/RL4 0
C4/S5 0 S4/S5

avec :
1
V1 = S23RL4 C2D3
V2 = RL4 + S3D3
1
V3 = C3D3
V4 = C4 cotg5
V5 = S4 cotg5
En utilisant la formule [37], on obtient :
0

3J -1
6

V1

0
V3
0
0
0
0
0
0
0
1/RL4 V2V3/RL4 0
=
S4C5V7
V5V6
V8
V4
1 V5
C4/RL4

C4V6
S23S4V1
S4
0 C4
S4V7 S4V6/S5 S23C4V1/S5 C4/S5 0 S4/S5

avec :
S3
V6 = C3RL4
1
V7 = S5RL4
V8 = ( S23V4 C23)V1
1.3.2.3. Solution au voisinage des positions singulires
On a vu que lorsque le robot est non redondant, les singularits d'ordre un sont solution de det(J)=0. Dans le
cas redondant, elles sont donnes par det(JJT)=0. Les singularits d'ordre suprieur sont dtermines partir des
configurations singulires d'ordre un. Le passage au voisinage d'une position singulire est cependant dtermin
de faon plus prcise en considrant les valeurs singulires : la dcroissance d'une ou plusieurs valeurs
singulires est gnralement plus significative que celle du dterminant.
.
En une configuration singulire donne, le vecteur vitesse X est constitu en gnral d'un ensemble de
composantes formant un vecteur de l'espace image I(J) de J, et d'un vecteur orthogonal de composantes
dgnres appartenant I(J) ; il n'existe pas de vitesse articulaire qui puisse engendrer une vitesse
oprationnelle suivant cette dernire direction avec le modle cinmatique inverse. Au voisinage des positions
singulires, l'utilisation du modle cinmatique inverse classique peut donner des vitesses articulaires
importantes, incompatibles avec les caractristiques des actionneurs.
Pour viter les singularits, une solution consiste augmenter le nombre de degrs de libert du mcanisme
[Hollerbach 84b], [Luh 85]. Le robot devient redondant et avec un critre appropri, il est possible de dterminer
un mouvement hors singularit. Il existe cependant des singularits invitables [Baillieul 84] qui doivent tre
prises en compte par le concepteur de la commande.
Il est courant d'utiliser la pseudo-inverse J+ de la matrice J :

16

Universit Numrique Ingnierie & Technologie Robotique


.
.
q = J+ X

[38]

.
Cette solution, propose
par Whitney [Whitney 69], [Whitney 72], minimise la norme euclidienne || q ||2 et la
.
. 2
norme de l'erreur ||X J q|| . Dans une configuration singulire, on distingue les deux cas particuliers suivants :
.
X appartient uniquement I(J). Alors, la solution [38] est exacte et l'erreur est nulle bien que l'inverse J-1 ne
soit pas dfinie ;
.
.
X appartient uniquement I(J). Alors, la solution [38] donne q = 0.
1.3.2.4. Modle cinmatique inverse des robots redondants
Un robot manipulateur est redondant lorsqu'il possde plus de degrs de libert N que la dimension de
l'espace oprationnel de l'organe terminal M. Il existe donc une infinit de solutions articulaires pour raliser une
tche donne. Les modles gomtrique et cinmatique inverses ont dans ce cas une infinit de solutions, d'o la
possibilit de choisir la solution qui satisfait des contraintes d'optimisation supplmentaires telles que :
contournement d'obstacles [Maciejewski 85], [Baillieul 86] ;
vitement des configurations singulires [Yoshikawa 84] ;
loignement des butes articulaires [Fournier 80], [Klein 84] ;
rpartition des efforts aux articulations [Baillieul 84], [Hollerbach 85].
Pour un tel mcanisme, la matrice J est de dimension (mxn) avec n>m, en supposant que les coordonnes
articulaires et oprationnelles utilises soient indpendantes (n=N, m=M). Plusieurs mthodes de rsolution du
systme [34] sont envisageables. Une solution classique consiste utiliser une pseudo-inverse avec un terme
d'optimisation. La solution gnrale du systme d'quations linaires [34] s'crit :
.
.
q = J+ X + (In J+ J) Z

[39]

o J+ dsigne la pseudo-inverse de J et o Z reprsente un vecteur arbitraire de dimension (nx1).


Le second terme du membre de droite,. appel solution homogne ou terme d'optimisation, appartient au
noyau de J et n'affecte pas la valeur de X. Il peut tre utilis pour satisfaire des contraintes d'optimisation
supplmentaires. Soit (q) une fonction scalaire dfinie positive de l'tat q du mcanisme et soit le gradient
de cette fonction en q. On montre que le choix de Z=
entrane la dcroissance de la fonction (q) pour <0
et provoque la croissance de cette fonction pour >0. La solution s'crit alors :
.
.
q = J+ X + (In J+ J)

[40]

= [q

[41]

avec :

T
qn ]

.
Le coefficient permet de trouver un compromis entre les objectifs de minimisation de || q ||2 et
d'optimisation de (q). Plusieurs choix sont possibles pour le critre d'optimisation comme l'loignement des
butes ou l'augmentation de la manipulabilit.
Une autre approche consiste ajouter au vecteur de coordonnes oprationnelles X un vecteur de (nm)
coordonnes supplmentaires linairement indpendantes entre elles [Baillieul 85], [Chang 86], [Nenchev 92].
Ces relations peuvent traduire soit des contraintes physiques sur le robot, soit des contraintes lies son
environnement ou tout simplement des relations entre diffrentes positions articulaires du robot.

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

17

1.4. Modlisation dynamique


Le modle dynamique est la relation entre les couples (et/ou forces) appliqus aux actionneurs et les
positions, vitesses et acclrations articulaires. On reprsente le modle dynamique par une relation de la forme :
. ..
= f(q, q, q, fe)

[42]

avec :
: vecteur des couples/forces des actionneurs, selon que l'articulation est rotode ou prismatique. Dans la suite,
on crira tout simplement couples ;
q : vecteur des positions articulaires ;
.
q : vecteur des vitesses articulaires ;
..
q : vecteur des acclrations articulaires ;
fe : vecteur reprsentant l'effort extrieur (forces et moments) qu'exerce le robot sur l'environnement.
On convient d'appeler modle dynamique inverse, ou tout simplement modle dynamique, la relation de la
forme [42].
Le modle dynamique direct est celui qui exprime les acclrations articulaires en fonction des positions,
vitesses et couples des articulations. Il est alors reprsent par la relation :
..
.
q = g(q, q, , fe)

[43]

Parmi les applications du modle dynamique, on peut citer :


la simulation, qui utilise le modle dynamique direct ;
le dimensionnement des actionneurs [Chedmail 90], [Potkonjak 86] ;
l'identification des paramtres inertiels et des paramtres de frottement du robot [Khalil 02] ;
la commande, qui utilise le modle dynamique inverse [Khalil 02].
Plusieurs formalismes ont t utiliss pour obtenir le modle dynamique des robots [Renaud 75], [Coiffet 81],
[Vukobratovic 82]. Les formalismes les plus souvent utiliss sont :
a) le formalisme de Lagrange [Uicker 69], [Khalil 76], [Renaud 80a], [Hollerbach 80], [Paul 81], [Megahed 84],
[Renaud 85] ;
b) le formalisme de Newton-Euler [Hooker 65], [Armstrong 79], [Luh 80], [Orin 79], [Khalil 85], [Khosla 86],
[Khalil 87], [Renaud 87].
On prsente dans ce paragraphe ces deux formalismes pour les robots chane ouverte simple (pour les
robots chane complexe, voir [Khalil 02]). On y aborde galement le problme de la dtermination des
paramtres inertiels minimaux.
Les principales notations utilises sont les suivantes :
aj

vecteur unitaire suivant l'axe zj ;

Fj

rsultante des forces extrieures sur le corps Cj ;

fj

rsultante du torseur dynamique exerc sur le corps Cj par le corps Cj-1 ;

fej

rsultante du torseur dynamique exerc par le corps Cj sur l'environnement ;

Fsj

paramtre de frottement sec de l'articulation j ;

Fvj

paramtre de frottement visqueux de l'articulation j ;

acclration de la pesanteur ;

Gj

centre de gravit du corps Cj ;

IGj

matrice d'inertie du corps Cj par rapport un repre parallle Rj et d'origine Gj ;

18

Universit Numrique Ingnierie & Technologie Robotique

Iaj

moment d'inertie du rotor de l'actionneur j et de son rducteur ressenti par l'articulation ;

jJ

matrice d'inertie du corps Cj par rapport au repre Rj, qui s'exprime par :

XXj XYj XZj


xzdm
(y2+z2)dm xydm

jJ =
xydm (x2+z2)dm yzdm
= XYj YYj YZj
j

xzdm
yzdm (x2+y2)dm XZj YZj ZZj

[44]

Lj

vecteur liant l'origine du repre Rj-1, antcdent du repre Rj, et l'origine du repre Rj, gal Oj-1Oj ;

Mj

masse du corps Cj ;

MSj

premier moment d'inertie du corps Cj autour de l'origine du repre Rj, gal Mj Sj. Soit :
[ MXj MYj

MZj ]T les composantes de jMSj ;

MGj

moment des efforts extrieurs exercs sur le corps Cj autour de Gj ;

Mj

moment des efforts extrieurs exercs sur le corps Cj autour de Oj ;

mj

moment du torseur dynamique autour de Oj exerc sur le corps Cj par le corps Cj-1;

mej

moment du torseur dynamique exerc par le corps Cj sur l'environnement autour de Oj ;

Sj

vecteur ayant pour origine Oj et pour extrmit le centre de masse du corps Cj. Il est gal OjGj ;

Vj
.
Vj

vitesse du point Oj ;

VGj
.
VGj

vitesse du centre de gravit du corps Cj ;

j
.
j

vitesse de rotation du corps Cj ;

acclration du point Oj ;
acclration du centre de gravit du corps Cj ;
acclration de rotation du corps Cj.

1.4.1. Formalisme de Lagrange


Le but de ce paragraphe est d'tudier la forme gnrale du modle dynamique, de mettre en vidence les
diffrents termes qui y interviennent et de dduire leurs proprits caractristiques. La mthode prsente n'est
pas celle qui donne le modle le plus performant du point de vue du nombre d'oprations, mais c'est la mthode
la plus simple compte tenu de ces objectifs. Nous considrerons un robot idal sans frottement, sans lasticit et
ne subissant ou n'exerant aucun effort extrieur.
Le formalisme de Lagrange dcrit les quations du mouvement, lorsque l'effort extrieur sur l'organe terminal
est suppos nul, par l'quation suivante :
d L
L
i = d t . q
i
q i

i = 1, , n

[45]

avec :
L : lagrangien du systme gal E U ;
E : nergie cintique totale du systme ;
U : nergie potentielle totale du systme.
1.4.1.1. Forme gnrale des quations dynamiques
L'nergie cintique du systme est une fonction quadratique des vitesses articulaires :
1 .
.
E = 2 qT A q

[46]

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

19

o A est la matrice (nxn) de l'nergie cintique, d'lment gnrique Aij, appele aussi matrice d'inertie du robot,
qui est symtrique et dfinie positive. Ses lments sont fonction des variables articulaires q.
L'nergie potentielle tant fonction des variables articulaires q, le couple peut se mettre, partir des
quations [45] et [46], sous la forme :
..
. .
= A(q) q + C(q, q) q + Q(q)

[47]

avec :
. .
C(q, q) q : vecteur de dimension (nx1) reprsentant les couples/forces de Coriolis et des forces centrifuges :
. . . E
C q = A q q

[48]

Q = [Q1 Qn]T : vecteur des couples/forces de gravit.


Plusieurs formes sont possibles pour la matrice C. On peut par exemple calculer ses lments partir du
symbole de Christophell ci,jk tel que :
n

Cij = ci,jk q. k
k=11 Aij Aik Ajk
ci,jk = 2 [ qk + qj qi ]

[49]

Les lments du vecteur Q se calculent en crivant que :


U
Qi = q

[50]

Les lments de A, C et Q sont fonction des paramtres gomtriques et inertiels du mcanisme. Les
quations dynamiques d'un systme mcanique articul forment donc un systme de n quations diffrentielles du
second ordre, couples et non linaires.
1.4.1.2. Calcul de l'nergie
L'nergie cintique du systme est donne par la relation :
n

E = Ej

[51]

j=1

o Ej dsigne l'nergie cintique du corps Cj, qui s'exprime par :


1 T
Ej = 2 (
j IGj j + Mj VGjT VGj)

[52]

Etant donn que (figure 7) :


VGj = Vj + j x Sj

[53]

et sachant que :
^ ^
Jj = IGj Mj Sj Sj
la relation [52] devient :

[54]

20

Universit Numrique Ingnierie & Technologie Robotique


1
Ej = 2 [(
jT Jj j + Mj VjT Vj + 2 MSjT (Vj x j)]

[55]

La relation [52] n'est pas linaire par rapport aux paramtres du vecteur Sj, contrairement la relation [55]
qui est linaire vis--vis des lments de Mj, MSj et Jj, appels paramtres inertiels standard. Le calcul de Vj et
de j se fait par les quations de composition des vitesses (figure 7) :
.
j = j-1 + j qj aj

[56]

.
Vj = Vj-1 + j-1 x Lj + j qj aj

[57]

Pour un robot dont la base est fixe, les conditions initiales sont telles que V0 = 0 et 0 = 0.
zj-1
z0

yj-1
Oj-1
xj-1

O0

zj

Lj

y0
yj
Oj

x0

Sj
Gj
xj

Cj

Figure 7. Composition des vitesses

Dans l'quation [55], tous les lments doivent tre exprims dans le mme repre. La faon la plus simple est
de les exprimer dans le repre Rj. On rcrit donc les quations [55], [56] et [57] donnant Ej, jj et jVj comme
suit :
1
Ej = 2 [jjT jJj jj + Mj jVjT jVj + 2 jMSjT (jVj x jj)]
.
.
+ j qj jaj = jj-1 + j qj jaj
jV = jA (j-1V + j-1 x j-1P ) + q. ja
j
j-1
j-1
j-1
j
j j j
j = jA j-1
j
j-1
j-1

[58]
[59]
[60]

Les termes jJj et jMSj sont constants. Ils seront nots Jj et MSj pour allger l'criture.
L'nergie potentielle s'crit :
U=

j=1

j=1

Uj = Mj gT (L0, j + Sj)

[61]

L0, j dsignant le vecteur d'origine 00 et d'extrmit Oj. En projetant les vecteurs de cette relation dans R0, on
obtient :
Uj = Mj 0gT (0Pj + 0Aj jSj)
Cette expression peut se mettre sous une forme linaire en Mj et vis--vis des lments de jMSj :

[62a]

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

Uj = 0gT (Mj 0Pj + 0Aj jMSj) = [ 0gT

0T
j

jMSj
M
j

21

[62b]

Les nergies cintiques et potentielles tant linaires par rapport aux paramtres inertiels, le modle
dynamique l'est galement.
1.4.1.3. Proprits du modle dynamique
a) la matrice A est symtrique et dfinie positive, donc Aij = Aji ;
.
.
b) les nergies du corps Cj sont fonction de (q1, , qj) et de (q1, , qj) ;
c) partir de la proprit b et de la relation [45], on peut prouver que i est fonction des paramtres inertiels des
corps Ci et des corps aval Ci+1, ..., Cn ;
d
.
d) on montre que, C tant dfini selon la relation [49], la matrice [dt A 2 C(q, q)] est antisymtrique
[Koditschek 84], [Arimoto 84], ce qui est une proprit intressante pour la commande ;
e) le modle dynamique est linaire vis--vis des lments des paramtres inertiels Mj, jMSj et jJj, appels
paramtres inertiels standard [Ferreira 84]. Cette proprit sera mise profit pour identifier les paramtres
inertiels et diminuer le nombre d'oprations du modle dynamique.
1.4.1.4. Prise en compte des frottements
De nombreuses tudes ont t ralises afin de mieux analyser les frottements au niveau des articulations, des
rducteurs et des transmissions. Les frottements non compenss provoquent en effet des erreurs statiques, des
retards et des cycles limites [Canudas 90]. Diffrents modles de frottement ont t proposs dans la littrature.
Citons par exemple les travaux de [Dahl 77], [Canudas 89], [Armstrong 88], [Armstrong 91], [Armstrong 94].
Dans bon nombre d'applications, le modle du frottement se ramne un terme constant pour le frottement
sec (ou de Coulomb) et un terme fonction de la vitesse pour le frottement visqueux (figure 8). L'expression du
couple de frottement fi de l'articulation i s'crit alors :
.
.
fi = Fsi sign(qi) + Fvi qi

[63]

Fsi et Fvi dsignant respectivement les paramtres de frottement sec et visqueux et sign(.) reprsentant la fonction
signe.
fi

qi

Figure 8. Modle des frottements

On peut donc tenir compte des forces et couples de frottements en ajoutant au deuxime membre de
l'expression [47] le vecteur f tel que :
.
.
f = diag(q)Fs + diag(sign(q))Fv
avec :
Fs = [ Fs1 ... Fsn ]T
Fv = [ Fv1 ... Fvn ]T

[64]

22

Universit Numrique Ingnierie & Technologie Robotique

diag(.) : matrice diagonale de dimension (nxn)


La non-linarit de ce modle peut aussi tre approche par un modle linaire par morceaux.
1.4.1.5. Prise en compte des inerties des actionneurs
1
.
On reprsente l'nergie cintique du rotor de l'actionneur j par 2 Iaj qj2. Le paramtre inertiel Iaj peut
s'crire :
Iaj = Nj2 Jmj

[65]

.
.
.
o Jmj est le moment d'inertie du rotor de l'actionneur j, Nj est le rapport de rduction de l'axe j gal qmj / qj et q
mj dsigne la vitesse du rotor de l'actionneur j.
On en dduit que l'lment Ajj de la matrice A doit tre augment de Iaj. Cette modlisation des inerties des
actionneurs suppose ngligeable l'effet gyroscopique de ceux-ci. On trouve des modlisations plus compltes des
actionneurs et des transmissions dans [Llibre 83], [Chedmail 86], [Sciavicco 94].
1.4.1.6. Prise en compte des efforts exercs par l'organe terminal sur son environnement
Les couples que doivent fournir les actionneurs d'un robot pour que son organe terminal puisse exercer un
effort statique fen sur l'environnement s'crivent :
e = JnT fen

[66]

On en tient donc compte en ajoutant le terme e au deuxime membre de l'expression [47].


EXEMPLE 7. Trouver les lments des matrices A et Q d'un robot trois degrs de libert, ayant la mme
structure que le porteur du robot Stubli RX-90 dcrit dans l'exemple 1. On suppose que :
jMS
j

= [MXj

MYj

MZj]T

XX XY XZ

j
j
j


jJ = XYj YYj YZj , I =
j
a
XZj YZj ZZj

Ia1 0

Ia3

0 Ia2 0
0

Tous calculs faits, on obtient :


A11 = Ia1 + ZZ1 + SS2 XX2 + 2CS2 XY2 + CC2 YY2 + SS23 XX3 + 2CS23 XY3 + CC23 YY3 + 2C2
C23 D3 MX3 2C2 S23 D3 MY3 + CC2 D32 M3
A12 = S2 XZ2 + C2 YZ2 + S23 XZ3 + C23 YZ3 S2 D3 MZ3
A13 = S23 XZ3 + C23 YZ3
A22 = Ia2 + ZZ2 + ZZ3 + 2C3 D3 MX3 2S3 D3 MY3 + D32 M3
A23 = ZZ3 + C3 D3 MX3 S3 D3 MY3
A33 = Ia3 + ZZ3
avec SSj = (sin j)2, CCj = (cos j)2 et CSj = cos j sin j. Les lments de C se dduisent de ces expressions
grce la relation [49].
Pour le calcul des forces de gravit, on suppose que :
0g

= [0

G3]T

L'nergie potentielle est obtenue en utilisant la relation [62] :


U = G3 (MZ1 + S2MX2 + C2MY2 + S23MX3 + C23MY3 + D3S2M3)

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

23

On en dduit que :
Q1 = 0
Q2 = G3 (C2 MX2 S2 MY2 + C23 MX3 S23 MY3 + D3 C2 M3)
Q3 = G3 (C23 MX3 S23 MY3)

1.4.2. Formalisme de Newton-Euler


Les quations de Newton-Euler expriment le torseur dynamique en Gj des efforts extrieurs sur un corps j par
les quations :
.
Fj = Mj VGj
.
MGj = IGj j + j x (IGj j)

[67]
[68]

La mthode de Luh, Walker et Paul [Luh 80], considre comme une avance importante vers la possibilit
de calculer en ligne le modle dynamique des robots, utilise ces quations et est fonde sur une double
rcurrence. La rcurrence avant, de la base du robot vers l'effecteur, calcule successivement les vitesses et
acclrations des corps, puis leur torseur dynamique. Une rcurrence arrire, de l'effecteur vers la base, permet le
calcul des couples des actionneurs en exprimant pour chaque corps le bilan des efforts.
Cette mthode permet d'obtenir directement le modle dynamique inverse [45] sans avoir calculer
explicitement les matrices A, C et Q. Les paramtres inertiels utiliss sont Mj, Sj et IGj. Le modle ainsi obtenu
n'est pas linaire par rapport aux paramtres inertiels.
1.4.2.1. Equations de Newton-Euler linaires par rapport aux paramtres inertiels
Dans ce paragraphe, nous prsentons un algorithme de Newton-Euler fond sur la double rcurrence de la
mthode de Luh et al. [Luh 80], mais exprimant le torseur dynamique des efforts extrieurs en Oj plutt qu'en Gj,
en utilisant les paramtres inertiels Mj, MSj et Jj [Khalil 87], [Khosla 86]. Le modle ainsi engendr est linaire
par rapport aux paramtres inertiels. Il peut tre calcul en utilisant les paramtres inertiels de base en application
de la proprit de linarit.
Les quations de Newton Euler ainsi modifies s'crivent :
.
.
Fj = Mj Vj + j x MSj + j x (
j x MSj)
.
.
Mj = Jj j + j x (Jj j) + MSj x Vj

[69]
[70]

i) rcurrence avant
. : elle permet de calculer Fj et Mj partir des relations [69] et [70]. Pour ce faire, il faut
.
calculer j, j et Vj. Les formules de composition des vitesses sont donnes par les quations [56] et [57]. Leurs
drives par rapport au temps s'crit :
.
.
.
..
j = j-1 + j (qj aj + j-1 x qj aj)
.
.
.
..
.
Vj = Vj-1 + j-1x Lj + j-1 x (
j-1xLj) + j (qj aj + 2 j-1x qj aj)

[71]
[72]

On peut
. finalement calculer Fj et Mj grce aux relations [69] et [70]. On initialise cette rcurrence par 0 = 0,
.
0 = 0 et V0 = 0.
ii) rcurrence arrire. Les quations composant la rcurrence arrire sont obtenues partir du bilan des efforts
sur chaque corps, crit l'origine Oj. On obtient (figure 9) :
Fj = fj fj+1 + Mj g fej

[73]

Mj = mj mj+1 Lj+1 x fj+1 + Sj x Mj g mej

[74]

24

Universit Numrique Ingnierie & Technologie Robotique

On peut faire intervenir l'effet de la gravit sans avoir la prendre en compte dans le bilan des efforts. Pour
cela, on prend :
.
V0 = g
[75]
d'o l'on tire les quations suivantes :
fj = Fj + fj+1+ fej

[76]

mj = Mj + mj+1 + Lj+1 x fj+1+ mej

[77]

rcurrence initialise par les efforts fn+1 = 0 et mn+1 = 0.


On obtient alors les couples aux actionneurs j en projetant, suivant la nature de l'articulation j, les vecteurs fj
ou mj sur l'axe du mouvement. On ajoute les termes correctifs reprsentant l'effet des frottements et des inerties
des actionneurs, ce qui donne :
.
.
..

j = (j fj + j mj)T aj + Fsj sign (qj) + Fvj qj + Iaj qj

[78]

On dduit directement des quations [76] et [77] que les termes fj et mj ne dpendent que des paramtres
inertiels du corps j et de ceux des corps situs en aval qui sont introduits par les termes fj+1 et mj+1 de la
rcurrence. On retrouve ainsi la proprit (c) nonce au 1.4.1.3.
fjfej
Sj
Cj-1

Oj

Gj

fj+1
Cj
Oj+1

Lj+1

Cj+1
mjmej
mj+1
Figure 9. Bilan des efforts au corps j

1.4.2.2. Forme pratique des quations de Newton-Euler


Pour utiliser pratiquement l'algorithme de Newton-Euler expos ci-dessus, il faut projeter dans un mme
repre les vecteurs et tenseurs qui apparaissent dans une mme quation. Nous reprenons ici le choix de Luh et
al. [Luh 80] qui consiste projeter les grandeurs relatives un corps dans le repre qui lui est li. Les quations
de la rcurrence avant deviennent, pour j =1, ..., n :
j = jA j-1
j-1
j-1
j-1
.

j = j + q ja
j
j-1
j j j
.
.
. j
.. j
j = jA j-1 +
j
j
j-1
j-1
j (qj aj + j-1 x qj aj)
^.
jU = j
j^ j^
j
j + j j
.
.
. j
jV = jA (j-1V + j-1U j-1P ) + (..
j
j
j
j-1
j-1
j-1
j
j qj aj + 2 j-1 x qj aj)
.
jF = M jV + jU jMS
j
j j
j
j
.
. j
jM = jJ j
j j
j
j
j
j j + j x ( Jj j) + MSj x Vj
.
.
avec 0 = 0, 0 = 0, V0 = g.
Pour la rcurrence arrire, lorsque j = n, ..., 1 :

[79]
[80]
[81]
[82]
[83]
[84]
[85]

Bases de la modlisation et de la commande des robots-manipulateurs de type srie


jf

j
j
j
j = Fj + fj+1+ fej
j-1f = j-1A jf
j
j j
jm = jM + jA
j+1m
j
j
j
j+1
j+1 + Pj+1

x jfj+1 + jmej
.
.
..

j = (j jfj + j jmj)T jaj + Fsj sign (qj) + Fvj qj + Iaj qj

25

[86]
[87]
[88]
[89]

L'algorithme prcdent peut tre calcul numriquement. Cependant, pour diminuer de faon sensible le
nombre d'oprations, il est prfrable de mettre en uvre une technique de calcul symbolique itratif et d'utiliser
les paramtres inertiels de base.

1.5. Conclusion
Le calcul symbolique de ces modles par ordinateur a fait l'objet d'un grand nombre de travaux [Dillon 73],
[Khalil 76], [Zabala 78], [Kreuzer 79], [Aldon 82], [Cesareo 84], [Megahed 84], [Murray 84], [Kircnski 85],
[Burdick 86], [Izaguirre 86], [Khalil 89]. On retrouve implants dans le logiciel SYMORO+ [Khalil 97] tous les
algorithmes prsents dans ce chapitre.

2. Gnration de mouvement
2.1. Introduction
La gnration de mouvements pour un robot dsigne la fonction de calcul des consignes dsires (articulaires
ou cartsiennes) en fonction du temps afin de raliser une tche dcrite par une trajectoire compose de positions
successives de loutil du robot (abusivement appeles points) et de contraintes cinmatiques ou dynamiques. On
peut distinguer les classes de mouvements suivants :
le mouvement entre deux points avec trajectoire libre entre les points ;
le mouvement entre deux points via des points intermdiaires, spcifis notamment pour viter les obstacles,
avec trajectoire libre entre les points intermdiaires ;
le mouvement entre deux points avec trajectoire contrainte entre les points (trajectoire rectiligne par exemple) ;
le mouvement entre deux points via des points intermdiaires avec trajectoire contrainte entre les points
intermdiaires.
Dans les deux premiers cas, la gnration de mouvement peut se faire directement dans l'espace articulaire
(figure 10), dans les deux suivants, elle est dcrite dans l'espace oprationnel (figure 11). Le fondement
mathmatique de la gnration de mouvements est le calcul dune ou plusieurs fonctions dinterpolation qui
construisent l'quation du mouvement partir de contraintes spatiales et temporelles.
La gnration de mouvement dans l'espace articulaire prsente plusieurs avantages :
elle ncessite moins de calculs en ligne, puisqu'il n'y a pas d'appel au modle gomtrique ou cinmatique
inverse ;
le mouvement n'est pas affect par le passage sur les configurations singulires ;
les contraintes de vitesses et de couples maximaux sont directement dduites des limites physiques des
actionneurs.
En contrepartie, la gomtrie de la trajectoire de l'outil dans l'espace oprationnel est imprvisible. Ce type de
mouvement est par consquent appropri pour raliser des dplacements rapides dans un espace dgag. La
gnration de mouvement dans l'espace oprationnel permet de contrler la gomtrie de la trajectoire. En
revanche :
elle implique la transformation en coordonnes articulaires de chaque point de la trajectoire ;
elle peut tre mise en chec lorsque la trajectoire calcule passe par une position singulire, ou lorsque la
trajectoire impose une reconfiguration du robot ;

26

Universit Numrique Ingnierie & Technologie Robotique

les limites en vitesse et en couple dans l'espace oprationnel varient selon la configuration du robot. On doit
alors exprimer ces limites par des valeurs traduisant des performances moyennes, satisfaites quelle que soit la
configuration du robot. On impose donc au robot de travailler en de de ses capacits relles.
Le choix d'une mthode de gnration de mouvement dpend de l'application considre. Nous traitons dans
la suite de ce chapitre le problme de la gnration de mouvement entre deux points spcifis dans l'un et l'autre
espace. On trouvera dans [Khalil 02] comment traiter le problme lorsque des points supplmentaires sont insrs
entre ces deux points.
qf

Gnration de
mouvement
en q

qd (t)

Asservissement

qi

Figure 10. Gnration de mouvement dans l'espace articulaire


(les exposants i, f et d dsignent respectivement les positions initiales, finales et dsires)

Xf

Gnration de X d (t)
mouvement
en X

MGI

qd (t)

+
Asservissement
_

Xi

qi
MGD

Figure 11. Gnration de mouvement dans l'espace oprationnel

2.2. Gnration de mouvement entre deux points dans l'espace articulaire


On considre un robot n degrs de libert. Soit qi et qf les vecteurs des coordonnes articulaires
correspondant aux configurations initiale et finale. On dsigne respectivement par kv et ka les vecteurs des
vitesses et acclrations articulaires maximales. Les paramtres kvj sont gnralement calculs de faon exacte
partir des caractristiques des actionneurs et des rapports de rduction des organes de transmission, tandis que les
paramtres kaj sont approchs par le rapport des couples moteurs maximaux aux inerties maximales vues par les
articulations (borne suprieure des termes Ajj dfinis dans le modle dynamique). Une fois calcul le mouvement
avec ces contraintes cinmatiques, on peut procder un changement d'chelle pour satisfaire les contraintes de
couple maximum obtenues avec le modle dynamique [Hollerbach 84a].
Le mouvement entre qi et qf en fonction du temps t est dcrit par l'quation gnrale suivante :
q(t) = qi + r(t) D
.
.
q(t) = r(t) D

pour 0 t tf

[90]
[91]

avec D = qf qi ; les valeurs aux limites de la fonction d'interpolation r(t) sont telles que r(0) = 0 et r(tf) = 1.
Plusieurs fonctions permettent de satisfaire le passage par qi t = 0 et par qf t = tf. Nous tudierons
successivement l'interpolation polynomiale de degr cinq, la loi Bang-Bang et la loi trapzodale en vitesse.

2.2.1 Interpolation polynomiale de degr cinq


Le recours au calcul polynomial constitue un outil trs pratique pour le calcul du mouvement. Les mthodes
d'interpolation polynomiale les plus frquemment rencontres sont l'interpolation par des polynmes de degr
trois et cinq. Nous prsentons linterpolation polynomiale de degr cinq qui assure la continuit du mouvement

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

27

en position, vitesse et acclration. On dit alors que le mouvement est de classe C2. Les conditions aux limites
sont les suivantes :
.
.
..
..
q(0) = qi , q(tf) = qf , q(0) = 0, q(tf) = 0 , q(0) = 0, q(tf) = 0
et, en utilisant la forme polynomiale suivante :
q(t) = a0 + a1t + a2t2 + a3t3 + a4t4 + a5t5
on montre que la fonction de position du degr cinq peut se mettre sous la forme [90] ou [91] avec :
t 3
t 4
t 5
r(t) = 10 (t ) 15 (t ) + 6 (t )
f
f
f

[92]

Les volutions des position, vitesse et acclration pour l'articulation j sont prsentes la figure 12. Les
vitesse et acclration maximales ont pour expression :
15 |Dj|
.
|q jmax| = 8 t
f

[93]

10 |Dj|
..
|q jmax| =
3 tf2

[94]

Figure 12. Loi polynomiale de degr cinq

Si la dure tf du mouvement n'est pas spcifie, ce qui est gnralement le cas, et que l'on recherche le temps
minimum pour passer de la configuration qi la configuration qf tout en respectant les contraintes de vitesse et
d'acclration, on calcule le temps minimum pour chaque articulation sparment puis on effectue la coordination
des articulations sur l'articulation contraignante pour laquelle le temps minimum est le plus grand. Le temps
minimum pour une articulation j doit saturer la vitesse et/ou l'acclration. A partir des expressions des vitesse et
acclration maximales [93] et [94], on dduit que le temps minimum tfj de larticulation j est donn par :

28

Universit Numrique Ingnierie & Technologie Robotique

15 |Dj|
tfj = max 8 k ,
vj

10 |Dj|

[95]

3 kaj

Le temps global minimum tf est :


tf = max (tf1, , tfn)

[96]

2.2.2. Loi Bang-Bang


Le mouvement est reprsent dans ce cas par une phase d'acclration constante jusqu' tf/2 puis par une
phase de freinage constante (figure 13). Les vitesses de dpart et d'arrive sont nulles. Le mouvement est donc
continu en position et en vitesse, mais discontinu en acclration.
La position est donne par :

q(t) = qi + 2(ttf)2 D

t
t 2
q(t) = qi + [1 + 4(tf) 2 (tf) ] D

tf
pour 0 t 2
[97]

tf
pour 2 t tf

qj
qjf

qji

tf

.
qj

2 |Dj|
tf

..
qj
4 |Dj|
tf2
tf / 2

Figure 13. Loi Bang-Bang

Pour une articulation j donne, les vitesse et acclration maximales ont pour expression :
2 |Dj|
.
|q jmax| = t
f

[98]

4 |Dj|
..
|q jmax| =
tf2

[99]
i

relations partir desquelles on dduit le temps minimum pour passer de la configuration qj la configuration qj :

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

2 |Dj|
tfj = max k , 2
vj

|Dj|
kaj

29

[100]

2.2.3. Loi trapezodale en vitesse


La loi trapzodale en vitesse permet d'engendrer un mouvement continu en vitesse qui assure un temps
minimum en saturant la fois la vitesse et lacclration (figure 14). La condition d'existence dun palier de
vitesse kvj sur l'articulation j est donne par:
kvj2
|Dj| > k
aj

[101]

.
qj
Vitesse et acclration
satures

k vj

Acclration
non sature
k aj
..
qj

t fj

k aj

Figure 14. Comparaison de la loi trapze (en vitesse) avec la loi Bang-Bang

Lorsque la condition [101] nest pas vrifie, la vitesse maximale que peut atteindre l'articulation avec une
telle loi devient :
kvj =

|Dj| kaj

[102]

Par consquent pour larticulation qui ne satisfait pas la condition [101], la vitesse maximale sera calcule par
la formule [102].
Le mouvement de l'articulation j (figure 15) est reprsent par les relations suivantes :
i 1
qj(t) = qj + 2 t2 kaj sign (Dj)

q (t) = q + (t 2 ) k sign (D )
q (t) = q 12 (t t) k sign (D )
j

i
j

f
j

vj

fj

aj

pour 0 t j
pour j t tfjj

[103]

pour tfjj t tfj

avec :
kvj
j = k
aj

[104]

30

Universit Numrique Ingnierie & Technologie Robotique

qj
q fj

q ij
.
qj

t fj

k vj

k aj
..
q

t
j

k aj

Figure 15. Evolution des position, vitesse et acclration sur l'articulation j avec une loi trapze

Calcul du temps minimum avec contraintes cinmatiques


L'aire du trapze reprsentant l'volution des vitesses est gale la distance parcourue dans l'intervalle [0, tfj].
On peut donc crire que :
kvj2
f
i
|Dj| = |qj qj | = kvj tfj k
aj

[105]

On en dduit le temps de parcours minimal pour l'articulation j :


kvj |Dj|
|Dj|
tfj = k + k = j + k
aj
vj
vj

[106]

Afin de synchroniser le mouvement des articulations, nous prsentons ici une mthode de coordination qui
assure des dures d'acclration et de freinage gales sur toutes les articulations. Les lois synchronises sont donc
homothtiques. C'est ce type de loi qui est le plus souvent implant sur les contrleurs de robots industriels. Si
l'on dsigne par j le rapport d'homothtie entre la loi de l'articulation j et celle d'une articulation k quelconque,
on a la relation (figure 16) :
.
.
qj(t) = j qk(t)

pour j =1, , n

[107]

Dans ce cas, la dure de la phase d'acclration des lois synchronises n'est a priori gale aucun des j
optimaux des lois propres articulaires. Soit j kvj la vitesse de la loi synchronise pour l'articulation j et soit j kaj
l'acclration correspondante qui produit le mouvement. On dsire calculer la valeur de qui assure un temps tf
minimum. Etudions d'abord le problme sur deux articulations. D'aprs la relation [106], les temps de parcours
minimaux des articulations calculs sparment s'crivent :

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

.
q

31

.
qk

.
.
q = j q
j
k

.
q1
.
qn

Figure 16. Homothtie des lois de vitesses

tf

|D |

tf1 = 1 + kv11

|D2|
tf2 = 2 + k

v2

[108]

La loi synchronise est telle que :

tf =

1kv1
|D1|
2kv2
|D2|
+
=
+
1ka1 1kv1
2ka2 2kv2

[109]

avec tf max (tf1, tf2). De l'expression [108], on dduit que :


=

1kv1
2kv2
=
1 ka1
2ka2

[110]

kv1|D2|
2 = 1 k |D |
v2 1

[111]

ka1|D2|
2 = 1 k |D |
a2 1

[112]

Pour satisfaire les contraintes de vitesse, il faut que :


0 1 1

0 2 1

[113]

En utilisant la relation [111], la dernire ingalit devient :


kv2|D1|
0 1 k |D |
v1 2

[114]

Un raisonnement analogue sur les contraintes d'acclration conduit :

0 1 1
ka2|D1|

0 1 ka1|D2|

[115]

Le temps tf minimum est obtenu lorsque les paramtres 1 et 1 sont les plus grands et satisfont
simultanment les contraintes ci-dessus, ce qui se traduit par :

32

Universit Numrique Ingnierie & Technologie Robotique

1 = min 1, kv2v1|D12|

ka2|D1|
1 = min 1, ka1|D2|
k |D |

[116]

et la dure correspondante de la phase d'acclration vaut :


=

1 kv1
1 ka1

[117]

Ces relations sont facilement gnralisables n articulations :

1 = min 1, kvjv1|D1j|

kaj|D1|
1 = min 1, ka1|Dj|
k |D |

pour j = 2, ,n

[118]

La relation [118] est valable pour D1 0 et Dj 0. A noter que lorsque Dj = 0, larticulation j ne bouge pas et
.
..
son mouvement est donn par qj(t) = 0, qj(t) = 0.
On remarque que ce mouvement (quations [103]) est reprsent par deux polynmes F1et F3 du second
degr et un polynme F2 du premier degr. Le nombre de paramtres inconnus de ces polynmes est de 8 : 3
pour F1, 2 pour
les 8 conditions
suivantes :
. F2 et 3 pour F3. Ces paramtres
.
. peuvent tre calculs en utilisant
.
.
F1(0)
= qi, F1(0) = 0, F1() = F2(), F1() = F2(), F2(tf - ) = F3(tf -), F2(tf -) = F3(tf -), F3(tf) = qf,
.
F3(tf) = 0. Pour chaque couple de valeurs tf et on peut trouver un jeu de paramtres diffrents. Les formules cidessus donnent le temps minimum en respectant les contraintes cinmatiques. La relation [102] peut scrire en
fonction de et tf sous la mme forme vectorielle que l'quation gnrale du mouvement [90] :
t2
2 (tf )

(2t )
q(t) = q + D 2(t )

q + D [1 2(t (t ) t)]
qi + D
i

pour 0 t
pour t tf

[119]

pour tf t tf

2.2.4. Lissage du mouvement trapzodal en vitesse


On peut modifier la mthode prcdente pour avoir un mouvement continu en acclration en remplaant les
phases d'acclration et de freinage soit par une loi du deuxime degr (figure 17a), soit par une loi trapze en
acclration (figure 17b) [Castain 84]. Pour la premire solution, qui est la plus simple programmer, la loi en
position est du quatrime degr. En notant la nouvelle dure de l'acclration et en prenant pour la vitesse
maximale la valeur j kvj, on peut crire les conditions aux limites sur l'articulation j :
i .
..
.
..
q j (0 ) = qj , qj(0 ) = 0, qj(0 ) = 0, q () = j kvj sign(Dj), q j() = 0

o les valeurs de et sont en gnral diffrentes de celles du mouvement sans lissage.

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

33

.
qj
j kvj

..
q

tf

tf

j ka j
+h

+h

a)

b)

a)

b)
Figure 17. Modification de l'acclration de la loi trapze pour avoir
une acclration continue

On en dduit l'volution de position, vitesse et acclration de l'articulation j pour 1 j n lorsque 0 t :


1
1
i
qj(t) = qj 3 j kvj sign(Dj) (2 t ) t3

1
.
q (t) = k
q.. (t) = 6 k
j

j vj

sign(Dj) (2t 3) t2

j vj

sign(Dj) (t ) t

[120]

Pour le palier de vitesse de dure h, l'quation du mouvement s'crit :


qj(t) = qj() + (t ) j kvj sign(Dj)

pour t + h

[121]

En supposant que les phases d'acclration et de freinage sont symtriques (tf = 2 + h), on obtient pour la
phase de freinage lorsque + h t tf :
f 1 1
qj(t) = qj + 2 [t3(t3th)(tth)3+(2t+t2tf)] j kvj sign(Dj)

1
q. (t) = [t3 (2tt 2tf)(t+t tf)2+1] k
q.. (t) = t36 (ttf)(t+ttf) k sign(Dj)
j

j vj

sign(Dj)

[122]

j vj

L'acclration maximale a lieu lorsque t = /2 et sa valeur peut tre obtenue partir de lquation [120] par :
3 j kvj
..
|q j max | = 2

[123]

..
Si l'on prend pour |q j max| la valeur j kaj et en supposant que toutes les articulations ont une dure
d'acclration synchronise telle que :

34

Universit Numrique Ingnierie & Technologie Robotique


3 j kvj
= 2
j kaj

[124]

D'aprs les quations [120] et [124], on remarque que la distance parcourue lors de la phase d'acclration est
gale :
3 (j kvj)2
i
|qj qj()|= 4
j kaj

[125]

En calculant l'intgral sous la courbe de vitesse, on vrifie que :


tf = +

|Dj|
j kvj

[126]

Cette expression est analogue l'quation [106] donnant la dure du mouvement dans le cas de la loi trapze,
ce qui suggre que le calcul de j et de j peut s'effectuer selon les relations [118]. A partir de la relation [125]
on remarque aussi que pour saturer la vitesse et l'acclration de la loi propre de larticulation sans
synchronisation, la distance parcourir doit vrifier la condition suivante :
3 kvj2
|Dj| > 2 k
aj

[127]

Si cette condition n'est pas vrifie, on remplace kvj dans les relations prcdentes par la vitesse maximale
accessible :
kvj =

2
3 |Dj| kaj

[128]

On remarque que pour une distance permettant la mme valeur kvj, la dure du temps de l'acclration est 1,5
fois plus grande que dans le cas o l'acclration est constante (loi trapzodale non lisse).
De faon similaire lquation [119], on peut montrer que le nombre de paramtres pour les trois polynmes
reprsentant ce mouvement est gal 12. Le nombre d'quations
exprimant
les conditions aux .limites .et les
.
..
i
conditions
de
continuit
est
galement
gal

12
:
F1(0)
=
q
,
F1(0)
=
0,
F1(0)
=
0, F1()
= F2(),
..
..
.
.
..
..
.
.. F1() = F2(),
F1() = F2(), F2(tf-) = F3(tf-), F2(tf -) = F3(tf -), F2(tf -) = F3(tf -), F3(tf)= qf, F3(tf) = 0, F3(tf) = 0.
Une fois et tf calculs, le mouvement est donn par le systme d'quations vectorielles suivant qui a la
mme forme que la relation gnrale [90] :
1
2t3 t4
[
]
2(tf ) 2 3

(2t )
q(t) = q + D 2(t )

q + D [1 (t2(t )t) (2 t + t) ]
qi + D
i

pour 0 t
pour t tf

[129]

pour tf t tfj

2.3. Gnration de mouvement entre deux points dans l'espace oprationnel


Soit 0TEi et 0TEf les matrices homognes dcrivant respectivement les situations initiale et finale dsires.
Pour allger les notations, on note :

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

0T i
E

35

Pi
Pf
Ai
Af
0
f
=
et TE =

0 0 0 1
0 0 0 1

On recherche une trajectoire rectiligne du point outil. On dcompose le mouvement en un mouvement de


translation en ligne droite entre les origines de 0TEi et 0TEf et en un mouvement de rotation autour d'un axe Eu
de l'organe terminal permettant d'aligner Ai et Af. Les deux mouvements se terminent en mme temps. La
distance parcourir pour le mouvement de translation est telle que :
f

D = ||Pf Pi|| =

(Px Px)2 + (Py Py)2 + (Pz Pz)2

[130]

Le calcul de u et de se fait partir de la relation :


Ai rot(u, ) = Af

[131]

o, rappelons-le, rot(u, ) dsigne la matrice (3x3) de rotation correspondant une rotation d'un angle autour
d'un vecteur u. On en tire que :

rot(u, ) =

[Ai]T Af

sx nx ax
siT

T
f
f
f
i
= n [ s n a ] = sy ny ay

iT
a
sz nz az

[132]

En utilisant la relation gnrale de loprateur rot(u, ), on dduit que :


1
C = 2 [sx+ ny+ az 1]

1
S = 2 (n a ) + (a s ) + (s n )
= atan2(S, C)
u = 2S1 na as
s n
z

[133]

Lorsque S est petit, on approxime u par :


sx C
, uy =
1 C

ux =

ny C
, uz =
1 C

az C
1 C

[134]

Les signes peuvent tre dtermins partir de lexpression de rot(u, ) sachant que S est toujours positif.
Soit kv1 et ka1 les vitesse et acclration maximales pour les mouvements en translation et soit kv2 et ka2 les
vitesse et acclration maximales pour ceux en rotation. Les mthodes utilises dans lespace articulaire peuvent
tre mises en uvre pour engendrer le mouvement synchronis pour les deux variables D et en temps minimum
tf tout en respectant les contraintes de vitesse et d'acclration. L'volution de la situation dsire s'crit :
0T (t)
E

P(t)
A(t)

0 0 0 1

[135]

avec :
s(t)
P(t) = Pi + r(t) (Pf Pi) = Pi + D (Pf Pi)
A(t) = Ai rot(u, r(t) )
o r(t) reprsente la fonction d'interpolation et s(t) = D r(t) est la distance parcourue linstant t.

[136]
[137]

36

Universit Numrique Ingnierie & Technologie Robotique

3. Commande
3.1. Introduction
La commande des robots-manipulateurs a fait l'objet de nombreux travaux. Les principales approches
utilises sont :
la commande classique de type PID ;
la commande par dcouplage non linaire ;
la commande passive ;
la commande fonde sur une fonction de Lyapunov ;
la commande adaptative ;
la commande robuste structure variable (modes glissants).
Il n'est pas possible, dans le cadre de ce cours, de traiter en dtail l'ensemble de ces approches. Aussi, aprs
avoir rappel le principe d'une commande classique de type PID (commande proportionnelle, intgrale et
drive), on insistera sur la commande par dcouplage non linaire, mthode qui est considre comme la
solution thorique idale pour la commande des robots manipulateurs. Pour une tude plus dtaille de la
commande des robots, le lecteur pourra consulter [Spong 89], [Samson 91], [Lewis 93], [Zodiac 96], [Khalil 02].

3.2. Equations du mouvement


Pour allger les notations, on se limite aux robots chane ouverte simple. Afin de bien apprhender la
problmatique de la commande des robots-manipulateurs, il est utile de rappeler les quations du modle
dynamique du robot dont la forme gnrale, pour un robot n degrs de libert, est la suivante ( 1.4.) :
..
. .
.
.
= A(q) q + C(q, q ) q + Q(q) + diag(q ) Fv+ diag(sign(q )) Fs

[138]

ou, sous une forme plus compacte :


..
.
= A(q) q + H(q, q)

[139]

ou encore, le modle ayant une forme linaire par rapport aux paramtres dynamiques :
. ..
= (q, q , q )

[140]

On rappelle que est le vecteur (nx1) des couples/forces articulaires, A(q) est la matrice (nxn) d'inertie du
. .
robot, C(q, q) q est le vecteur (nx1) reprsentant les forces centrifuges et les forces de Coriolis, Q(q) est le
vecteur des forces de gravit, Fv et Fs sont les vecteurs des paramtres de frottement respectivement visqueux et
sec, reprsente le vecteur des paramtres dynamiques (paramtres inertiels et paramtres de frottement).
En supposant que les organes de transmission ne comportent ni jeux ni lasticit, le couple transmis
l'articulation j par un moteur lectrique courant continu ou synchrone command en courant s'exprime par :
j = Nj Kaj KTj uj

[141]

o Nj est le rapport de rduction, Kaj est le gain de l'amplificateur, KTj est la constante de couple du moteur et uj
est le signal d'entre de l'amplificateur.
La synthse de la commande consiste calculer j, puis calculer le signal uj permettant de suivre la
consigne dsire.

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

37

3.3. Commande classique


3.3.1. Commande PID dans l'espace articulaire
Le modle dynamique dcrit un systme de n quations diffrentielles du second ordre non linaires et
couples, n tant le nombre d'articulations. Pourtant, dans une commande classique, qui est celle de la plupart des
robots industriels actuels, le mcanisme est considr comme un systme linaire et chacune de ses articulations
est asservie par une commande dcentralise de type PID gains constants. Ses avantages sont la facilit
d'implantation et le faible cot en calcul. En contrepartie, la rponse temporelle du robot variant selon sa
configuration, on constate des dpassements de consigne et une mauvaise prcision de suivi dans les mouvements
rapides. Dans beaucoup d'applications, ces inconvnients ne reprsentent pas un gros handicap. En pratique, une
telle commande est ralise selon le schma de la figure 18.

_
qd +

Kp
KI

q
Robot

qd +

Kd

Figure 18. Schma classique d'une commande PID

La loi de commande est donne par :


t

.
.
d
= Kp (qd q) + Kd ( qd q) + KI
(q q) d

[142]

t0

.
o q d(t) et qd(t) dsignent les vitesse et position dsires dans l'espace articulaire et o Kp, Kd et KI sont des
matrices diagonales dfinies positives, de dimension (n x n), dont les lments gnriques sont respectivement les
gains proportionnels Kpj, drivs Kdj et intgraux KIj.
Le calcul des gains Kpj, Kdj et KIj est effectu en considrant le modle de l'articulation j reprsent par le
systme linaire du deuxime ordre coefficients constants suivant :
..
.
j = aj q j + Fvj q j + j

[143]

quation dans laquelle aj = Ajjmax dsigne la valeur maximale de l'lment Ajj de la matrice d'inertie du robot et j
reprsente un couple perturbateur.
La fonction de transfert en boucle ferme pour = 0 est alors donne par :
qj(s)
d
q j(s)

aj s3+

Kdj s2 + Kpj s+ KIj


(Kdj + Fvj)s2 + Kpjs + KIj

[144]

et l'quation caractristique s'crit :


(s) = aj s3+ (Kdj + Fvj)s2 + Kpjs + KIj

[145]

38

Universit Numrique Ingnierie & Technologie Robotique

La solution la plus courante en robotique consiste choisir les gains de manire obtenir un ple triple rel
ngatif, ce qui donne une rponse rapide sans oscillations. Par consquent, l'quation caractristique se factorise
de la faon suivante :
(s) = aj (s + j)3

[146]

avec j > 0.
On en dduit pour les gains :

Kpj = 3 aj j2
Kdj + Fvj = 3 aj j
KIj = aj j3

[147]

REMARQUES.
j est choisi le plus grand possible ; toutefois, cette pulsation ne devra pas tre suprieure la pulsation de
rsonance rj correspondant aux modes de vibration mcanique afin de ne pas dstabiliser le systme. Une
valeur j = rj / 2 reprsente un bon compromis ;
en l'absence de terme intgral, une erreur statique due la force de gravit et aux frottements peut subsister
autour de la position finale. En pratique, on dsactive la composante intgrale lorsque l'erreur en position est
trs grande, le terme proportionnel tant suffisant ; on la dsactive aussi lorsque l'erreur devient trs petite pour
viter les oscillations que pourraient induire les frottements secs ;
.
le terme d'anticipation Kd qd de l'quation [142] permet de rduire les erreurs de suivi du mouvement dsir.
En automatique classique, ce terme n'est pas couramment utilis ;
les performances d'une telle mthode sont d'autant plus acceptables que le rapport de rduction est important
(augmentant ainsi la partie invariante de Ajj), que les vitesses sont faibles et que les gains proportionnels et
drivs sont grands [Samson 83].
Lorsque les effets de la gravit sont compenss, par construction mcanique comme pour le robot SCARA par
exemple ou grce la commande, on montre qu'une loi de type PD est asymptotiquement stable pour une
position dsire qd fixe [Arimoto 84]. La dmonstration s'appuie sur la dfinition d'une fonction de Lyapunov
ayant la forme suivante :
1 .
. 1
V = 2 q T A(q) q + 2 eT Kp e

[148]

o e dsigne l'erreur de consigne :


e = qd q

[149]

Puisque qd est constant, alors la loi de commande PD est gale :


.
= Kp e Kd q + Q(q)

[150]

A partir des quations [138] et [150], on obtient en ngligeant les frottements :


.
..
.
Kp e Kd q = A q + C q

[151]

En drivant la fonction V [148], on trouve :


.
1 . . .
.
..
.
V = 2 q T A q + q T A q eT K p q
..
et, aprs substitution de A q par sa valeur partir de l'quation [151], on obtient :

[152]

Bases de la modlisation et de la commande des robots-manipulateurs de type srie


.
.
1 .
.
.
.
V = 2 q T (A 2 C) q q T Kd q

39

[153]

.
.
.
.
La matrice (A 2C) tant antisymtrique [Koditschek 84], [Arimoto 83], le terme q T (A 2C) q est nul. On
en conclut que :
.
.
.
V = q T Kd q 0
.
Cette expression montre que V diminue tant que q 0, ce qui n'est pas suffisant pour dmontrer la stabilit
.
asymptotique. En effet, on doit s'assurer que lorsque q = 0 le robot n'atteint pas une configuration dans laquelle q
qd. Pour .montrer que ce n'est pas le cas, on utilise le principe d'invariance de La Salle [Hahn 67] (Annexe 9).
.
..
Pour que V = 0, il faut ncessairement que q = 0 et par consquent que q = 0. A partir de l'quation du
.
mouvement .[151] on obtient alors que e = 0. L'quilibre (e = 0, q = 0) est donc l'ensemble invariant le plus grand
inclus dans V et on en dduit que la stabilit est asymptotique au point d'quilibre.
Il a t dmontr que la stabilit du systme est assure si l'on utilise dans l'quation [150] le terme Q(qd),
constant pour qd donn, qui correspond aux couples de gravit sur la position finale, plutt que le terme Q(q). La
stabilit est aussi assure si l'on prend Kpj > || Q(q)/q ||, terme qui reprsente la norme 2 de la matrice
jacobienne des couples de gravit par rapport au vecteur des variables articulaires q [Korrami 88], [Tomei 91].
L'utilisation de grands gains pour Kp et Kd diminue l'erreur de suivi mais amne le systme au voisinage du
domaine d'instabilit. Pour un rglage des gains qui tienne compte du modle dynamique, le lecteur pourra
consulter [Qu 91], [Kelly 95], [Rocco 96], [Freidovich 97].

3.3.2. Commande PID dans l'espace oprationnel


Lorsque le mouvement est dfini dans l'espace oprationnel, une des deux solutions suivantes peut tre
choisie pour raliser la commande du systme :
on transforme le mouvement dfini dans l'espace oprationnel en un mouvement dans l'espace articulaire, puis
on met en uvre la commande dans l'espace articulaire. Le signal d'erreur minimis est alors exprim dans
l'espace articulaire ;
on spcifie directement la commande dans l'espace oprationnel.
Pour une commande PID dans lespace oprationnel, la loi de commande est obtenue en remplaant q par X
dans lquation [142] et en multipliant lerreur dans lespace oprationnel par JT pour l'exprimer dans lespace
articulaire (Figure 19) :
t
.
.
= JT [Kp (Xd X) + Kd (Xd X) + KI(Xd X) d]

[154]

t0

Pour dcrire le mouvement dsir dans l'espace articulaire lorsque celui-ci est spcifi dans l'espace
oprationnel, deux solutions sont possibles : soit seul le modle gomtrique inverse est utilis, puis avec une
procdure numrique, on drive la position dsire pour obtenir la vitesse et l'acclration dsires ; soit on
calcule les positions, vitesses et acclrations articulaires :
i) partir du modle gomtrique inverse (MGI) pour les positions articulaires :
qd = MGI(Xd)
ii) partir du modle cinmatique inverse dans les positions rgulires :
.
.
qd = J(qd)-1 Xd

[155]

[156]

40

Universit Numrique Ingnierie & Technologie Robotique

Dans les positions singulires ou pour les robots redondants, on remplace J-1 par une inverse gnralise telle
que la pseudo inverse ;
iii) partir du modle cinmatique inverse du deuxime ordre :
..
. .
..
qd = J-1 (Xd J qd)

[157]

avec :
.
d
.
J(qd, qd) = d t J(qd)

[158]

X = f(q)
X
Xd +

_
e

Kp
KI

+
JT

Xd +

q
Robot
q

Kd

X=Jq
Figure 19. Schma dune commande PID dans lespace oprationnel

3.4. Commande par dcouplage non linaire


3.4.1. Introduction
Lorsque l'application exige des volutions rapides du robot et une grande prcision dynamique, il est
ncessaire de concevoir un systme de commande plus sophistiqu qui prenne en compte tout ou partie des forces
d'interaction dynamiques. L'utilisation de la commande par dcouplage non linaire constitue une bonne
approche en ce sens [Khalil 78], [Zabala 78], [Raibert 78], [Khatib 80], [Luh 80], [Freund 82], [Bejczy 85]... Ce
type de commande est aussi connu sous le nom de commande dynamique (ou "couple calcul", computed torque
dans la littrature anglo-saxonne) parce qu'il est fond sur l'utilisation du modle dynamique. Thoriquement, il
assure le dcouplage et la linarisation des quations du modle, ayant pour effet une rponse uniforme quelle
que soit la configuration du robot.
La mise en uvre de cette mthode exige le calcul du modle dynamique en ligne et la connaissance des
valeurs numriques des paramtres inertiels et de frottements, ce qui ne constitue plus maintenant une limite
rdhibitoire. Le problme du calcul en ligne est en effet rsolu pratiquement grce aux mthodes de modlisation
et grce aux volutions technologiques en micro-informatique. Le dveloppement des techniques d'identification
permet une bonne valuation des paramtres dynamiques.
La commande par dcouplage non linaire consiste transformer par retour d'tat le problme de commande
d'un systme non linaire en un problme de commande d'un systme linaire. Dans le cas gnral, le problme
de linarisation par retour d'tat d'un systme non linaire n'est pas facile rsoudre. Cependant, dans le cas des
robots-manipulateurs rigides, l'laboration d'une loi de commande qui linarise et dcouple les quations est
simplifie par le fait que le nombre d'actionneurs est gal au nombre de variables articulaires et que le modle
.
dont on dispose est un modle inverse qui exprime l'entre du systme en fonction du vecteur d'tat (q, q) et de
..
q . Ces proprits font que les quations du robot dfinissent un systme plat dont les sorties plates sont les
variables articulaires q [Fliess 95]. Etant donn que la loi de commande utilise seulement les variables d'tat q et
.
q , on qualifie cette loi, qui est quivalente une commande plate, de commande par dcouplage statique. Dans
ce qui suit, on dveloppe cette mthode, tout d'abord dans l'espace articulaire, puis dans l'espace oprationnel.

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

41

3.4.2. Commande dans l'espace articulaire


3.4.2.1. Principe de la commande
^ et H
^ les estimations respectives de A et H. On suppose que les positions et vitesses articulaires sont
Soit A
mesurables et que les mesures ne sont pas bruites. Partant de l'quation [139], si l'on choisit une commande
telle que [Khalil 79] :
.
^
^
= A(q)
w(t) + H(q,
q)

[159]

alors, dans le cas idal o le modle est suppos parfait, le systme est rgi par l'quation :
..
q = w(t)

[160]

w(t) peut tre considr comme un nouveau vecteur de commande. On se ramne donc un problme de
commande de n systmes linaires, invariants, dcoupls et du second ordre (doubles intgrateurs). Plusieurs
choix peuvent tre envisags pour w(t). Nous tudierons notamment, le cas o le mouvement dsir est
compltement spcifi et le cas o seulement la position finale est donne.
3.4.2.2. Cas o le mouvement est compltement spcifi
..
.
On dsigne respectivement par q d(t), q d(t) et qd(t) l'acclration, la vitesse et la position dsires dans
l'espace articulaire. Si l'on calcule w(t) selon la relation suivante4 :
..
.
.
w(t) = q d + Kd ( q d q ) + Kp (qd q)

[161]

o Kp et Kd sont des matrices diagonales dfinies positives de dimension (nxn) alors, d'aprs l'quation [160], la
rponse du systme en boucle ferme est dcrite par l'quation linaire dcouple suivante :
.
..
e + Kd e + Kp e = 0

[162]

o e = qd q.
La solution de l'quation de l'erreur e(t) est globalement exponentiellement stable. Les gains Kpj et Kdj sont
choisis pour imposer l'erreur de l'axe j la dynamique dsire d'amortissement j et de pulsation j quelle que
soit la configuration du robot :
2
Kpj = j

Kdj = 2 j j

[163]

En gnral, on choisit un amortissement gal 1 pour avoir une rponse sans dpassement. Le schma-bloc
de cette loi de commande est reprsent sur la figure 20. Le signal de commande aux actionneurs comporte trois
parties : la premire compense les couples et forces de Coriolis, centrifuges, de gravit et de frottement, la
^ K et A
^
deuxime est une correction de position et de vitesse gains variables reprsente respectivement par A
p
.. d
^
Kd tandis que la troisime constitue une anticipation des forces d'acclration dsires A q .
Lorsqu'il y a des erreurs de modlisation, l'quation de la boucle ferme correspondant la commande de la
figure 20 est obtenue en utilisant les relations [159] et [139] :
..d
.
..
^ (q
^ = Aq
A
+ Kd e + Kp e) + H
+H
et on en dduit que :

On peut envisager galement l'ajout d'un terme intgral sur w(t).

[164]

42

Universit Numrique Ingnierie & Technologie Robotique


..
.
..
^ -1 [(A A
^ )q
^
e + Kd e+ Kpe = A
+ H H]

[165]

On remarque avec la relation [165] que les erreurs de modlisation constituent une excitation pour l'quation
de l'erreur. Il en rsulte que lorsque ces erreurs sont importantes, il faut augmenter d'autant les gains de position
et de vitesse, mais ces valeurs sont limites par la stabilit du systme. Pour une tude dtaille de la robustesse
et de la stabilit de cette loi de commande, le lecteur pourra consulter l'ouvrage de Samson et al. [Samson 87].
^ doit tre dfinie positive. On montre
Pour que le systme soit stable, on montre en particulier que la matrice A
.
aussi que les erreurs e et e diminuent lorsque les gains augmentent.

_
qd +

Kp
+

qd +

Kd

^
A(q)

.. d

Robot

q .
q

^ q)
H(q,

Algorithme de
Newton-Euler

Figure 20. Loi de commande pour un mouvement compltement spcifi

3.4.2.3. Cas o seule la position finale est spcifie


Dans ce cas, le but atteindre est la position qd. Un choix possible pour w(t) est de prendre (figure 21) :
.
w(t) = Kp (qd q) Kd q

[166]

_
qd

Kp
_
Kd

+
w

^
A(q)

Robot

q .
q

+
q

Algorithme de
Newton-Euler

^ q)
H(q,

Figure 21. Dcouplage non linaire o seule la position finale est spcifie

A partir des quations [159] et [164], si la modlisation est parfaite et pour des erreurs initiales nulles, on
dduit l'quation de la boucle ferme du systme :
..
.
q + Kd q + Kp q = Kp qd

[167]

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

43

qui est une quation linaire dcouple du deuxime ordre dont la solution q(t) est globalement
exponentiellement stable. Les gains Kp et Kd sont choisis pour imposer la dynamique dsire q(t).
3.4.2.4. Commande dynamique prdictive
Un autre schma de commande peut tre tabli en utilisant une commande dynamique prdictive dans laquelle
^ et de H
^ se fait, non pas en fonction des valeurs courantes de q et de q. , mais plutt en fonction
le calcul de A
.
des variables du mouvement dsir qd et q d [Khalil 78]. Dans ce cas, la loi de commande a pour expression :
^ (qd) w(t) + H
^ (qd, q. d)
= A

[168]

le vecteur de commande w(t) tant donn par l'quation [161].


.
^
^ d, q. d) . En l'absence
^
^ d) et que H(q,
q) = H(q
Si le suivi est correct, on peut supposer que A(q)
= A(q
d'erreurs de modlisation et pour des erreurs initiales nulles, la loi de commande [168] linarise et dcouple les
^ d) et
quations du systme comme dans le cas prcdent. L'avantage essentiel de cette loi est que le calcul de A(q
.d
^
d
H(q , q ) n'est pas contamin par les bruits de mesure.
3.4.2.5. Calcul pratique des lois de commande par dcouplage non linaire
Les lois de commande reprsentes par les relations [159] et [168] peuvent tre calcules par l'algorithme de
calcul du modle dynamique inverse de Newton-Euler ( 1.4.2.) sans ncessiter la connaissance explicite des
matrices A et H. On rappelle que cet algorithme fournit les valeurs des couples moteurs en fonction des
positions, vitesses et acclrations articulaires. En comparant les relations [139] et [159], on conclut que :
le calcul des lois de commande qui correspondent l'quation [159] (figures 20 et 21) peut tre ralis par
l'algorithme de Newton-Euler en utilisant comme arguments d'entre :
- la position articulaire gale la position articulaire courante q ;
.
- la vitesse articulaire gale la vitesse articulaire courante q ;
- l'acclration articulaire gale w(t) ;
le calcul de la loi de commande prdictive de l'quation [168] peut tre ralis en choisissant comme
arguments :
- la position articulaire gale la position articulaire dsire qd ;
.
- la vitesse articulaire gale la vitesse articulaire dsire qd ;
- l'acclration articulaire gale w(t).
Le cot en calcul de la commande par dcouplage non linaire dans l'espace articulaire est donc quasiment
gal au nombre d'oprations ncessaires pour tablir le modle dynamique. Ainsi, pour raliser cette commande,
on doit essentiellement disposer d'un algorithme de calcul du modle dynamique performant, problme considr
comme rsolu. On commence trouver sur certaines baies de commande de robots industriels une
implmentation partielle de la commande par dcouplage non linaire.
3.4.3. Commande par dcouplage non linaire dans l'espace oprationnel
Le comportement dynamique du robot dans l'espace
oprationnel est dcrit par l'quation suivante, obtenue en
..
..
exprimant dans la relation [139] q en fonction de X en utilisant le modle cinmatique du deuxime ordre :
.. . .
= A J-1( X J q ) + H
[169]
Comme il a t fait dans l'espace articulaire, une loi de commande qui linarise et dcouple les quations dans
l'espace oprationnel est donne par :
^ J-1(w(t) J. q. ) + H
^
= A
[170]
Avec cette loi et en supposant un modle parfait, le systme est rgi par l'quation du double intgrateur dans
l'espace oprationnel :
..
X = w(t)
[171]

44

Universit Numrique Ingnierie & Technologie Robotique

Comme pour la commande dans l'espace articulaire, on peut proposer plusieurs schmas [Chevallereau 88b].
On dtaille ici le cas d'une correction PD lorsque le mouvement est compltement spcifi. On pose alors :
..
.
.
w(t) = X d + Kd (X d X ) + Kp (Xd X)
[172]
Avec cette loi, dans l'hypothse d'une modlisation parfaite et d'erreurs initiales nulles, le comportement du
robot est dcrit par l'quation :
..
.
e x + K d e x + K p ex = 0
[173]
avec :
e x = Xd X

[174]

Le schma-bloc correspondant est reprsent sur la figure 22. La valeur de est calcule par l'algorithme de
Newton-Euler en choisissant comme arguments d'entre :
la position articulaire gale la position articulaire courante q ;
.
la vitesse articulaire gale la vitesse articulaire courante q ;
.
.
l'acclration articulaire gale J-1(w(t) J q ).
.

X=Jq
X = f(q)
_

Xd

Xd

..

Kp

+
+

Kd

+
+
+

+
^
A(q)

J-1

Robot

q .
q

Xd
Algorithm
e
Newton-Euler

^ q)
H(q,

. .
Jq
Figure 22. Commande par dcouplage non linaire dans l'espace oprationnel

REMARQUE. Lorsque le robot est redondant, on remplace dans la relation [170] la matrice J-1 par une inverse
gnralise. On montre que, dans les configurations rgulires, le robot est aussi rgi par l'quation [173]. Le
terme d'optimisation associ l'inverse gnralise doit tre convenablement choisi afin d'viter les mouvements
articulaires dans le noyau de J [Hsu 88], [Ait Mohamed 95], [de Luca 91].

4. Conclusion
Comme indiqu en introduction, les outils mthodologiques prsents dans ce document constituent les bases
pour la modlisation, la gnration de mouvement et la commande des robots-manipulateurs de type srie, bases
ncessaires avant d'aborder l'tude des cinmatiques plus complexes, notamment chanes fermes ou parallles.
Les nombreuses rfrences qui accompagnent le texte permettront l'tudiant d'approfondir ses connaissances
sur ces sujets. Elles refltent le foisonnement des travaux et des approches depuis presque 40 ans qui ont permis
la Robotique de devenir une discipline part entire avec de nombreuses applications qui, mme si elles n'ont
pas encore atteint le dploiement que l'on attendait l'poque, sont trs prometteuses dans de nombreux
domaines.

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

45

Bibliographie
[Ait Mohamed 95] Ait Mohamed A., "Commande dynamique de robots redondants dans l'espace oprationnel", Thse de
Doctorat, Universit de Nantes et Ecole Centrale de Nantes, France, February 1995.
[Aldon 82] Aldon M.J., "Elaboration automatique de modles dynamiques de robots en vue de leur conception et de leur
commande", Thse d'Etat, USTL, Montpellier, oct. 1982.
[Arimoto 84] Arimoto S., Miyazaki F., "Stability and robustness of PID feedback control for robots manipulators of sensory
capability", The 1st Int. Symp. of Robotics Research, MIT Press, Cambridge, 1984.
[Armstrong 79] Armstrong W.W., "Recursive solution to the equation of motion of an N-links manipulator", Proc. 5th
World Congress on Theory of Machines and Mechanisms, Montral, 1979, p. 1343-1346.
[Armstrong 88] Armstrong B., "Dynamics for robot control: friction modeling and ensuring excitation during parameter
identification", Ph. D Thesis, Dept. of Electrical Engineering, Stanford University, May 1988.
[Armstrong 91] Armstrong B., Control of Machines with frictions, Kluwer Academic Publishers, 1991.
[Armstrong 94] Armstrong-Hlouvry B., Dupont P., Canudas de Wit C., "A survey of analysis tools and compensation
methods for the control of machines with friction", Automatica, Vol. 30(10), 1994, p. 1083-1138.
[Baillieul 84] Baillieul J., Hollerbach J.M., Brockett R., "Programming and control of kinematically redundant
manipulators", Proc. 23rd IEEE Conf. on Decision and Control, Las Vegas, dc.1984, p. 768-774.
[Baillieul 85] Baillieul J., "Kinematic programming alternatives for redundant manipulators", Proc. IEEE Int. Conf. on
Robotics and Automation, St Louis, mars 1985, p. 722-728.
[Baillieul 86] Baillieul J., "Avoiding obstacles and resolving kinematic redundancy", Proc. IEEE Int. Conf. on Robotics and
Automation, San Francisco, avril 1986, p. 1698-1704.
[Bejczy 85] Bejczy A.K., Tarn T.J., Yun X., Hans S., "Non linear feedback control of Puma 560 robot arm by computer",
Proc. 24th IEEE Conf. on Decision and Control, Fort Lauderdale, USA, December 1985, p. 1680-1688.
[Borrel 79] Borrel P., "Modle de comportement de manipulateurs ; application l'analyse de leurs performances et leur
commande automatique", Thse de Troisime Cycle, USTL, Montpellier, dc. 1979.
[Borrel 86] Borrel P., "Contribution la modlisation gomtrique des robots-manipulateurs ; application la conception
assiste par ordinateur", Thse d'Etat, USTL, Montpellier, juillet 1986.
[Burdick 86] Burdick J.W., "An algorithm for generation of efficient manipulator dynamic equations", Proc. IEEE Int. Conf.
on Robotics and Automation, San Francisco, avril 1986, p. 212-218.
[Canudas 89] Canudas de Wit C., Nol P., Aubin A., Brogliato B., Drevet P., "Adaptive Friction compensation in robot
manipulators: low-velocities", Proc. Int. Conf. on Robotics and Automation, Scottsdale, mai 1989, p. 1352-1357.
[Canudas 90] Canudas de Wit C., Seront V., "Robust adaptive friction compensation", Proc. IEEE Int. Conf. on Robotics
and Automation, Cincinnati, mai 1990, p. 1383-1389.
[Castain 84] Castain R.H., Paul R.P., "An on-line dynamic trajectory generator", The Int. J. of Robotics Research, Vol. 3(1),
1984, p. 68-72.
[Cesareo 84] Cesareo G., Nicolo F., Nicosia S., "DYMIR: a code for generating dynamic model of robots", Proc. IEEE Int.
Conf. on Robotics, Atlanta, mars 1984, p. 115-120.
[Chang 86] Chang P.H., "A closed form solution for the control of manipulators with kinematic redundancy", Proc. IEEE
Int. Conf. on Robotics and Automation, San Francisco, avril 1986, p. 9-14.
[Chedmail 86] Chedmail P., Gautier M., Khalil W., "Automatic modelling of robots including parameters of links and
actuators", Proc. IFAC Symp. on Theory of Robots, Vienne, Autriche, dc.1986, p. 295-299.
[Chedmail 90] Chedmail P., Gautier M., "Optimum choice of robot actuators", Trans. of ASME, J. of Engineering for
Industry, Vol. 112(4), 1990, p. 361-367.
[Chevallereau 87] Chevallereau C., Khalil W., "Efficient method for the calculation of the pseudo inverse kinematic
problem", Proc. IEEE Int. Conf. on Robotics and Automation, Raleigh, mars-avril 1987, p. 1842-1848.
[Chevallereau 88a] Chevallereau C., Khalil W., "A new method for the solution of the inverse kinematics of redundant
robots", Proc. IEEE Int. Conf. on Robotics and Automation, Philadelphia, avril 1988, p. 37-42.
[Chevallereau 88b] Chevallereau C., "Contribution la commande des robots-manipulateurs dans l'espace oprationnel",
Thse de Doctorat, ENSM, Nantes, mai 1988.
[Coiffet 81] Coiffet P., Les Robots ; Tome 1 : Modlisation et commande, Herms, Paris, 1981.
[Craig 86] Craig J.J., Introduction to robotics: mechanics and control, Addison Wesley Publishing Company, Reading,
1986.

46

Universit Numrique Ingnierie & Technologie Robotique

[Dahl 77] Dahl P.R.,"Measurements of solid friction parameters of ball bearings", Proc. of the 6th Annual Symp. on
Incremental Motion Control Systems and Devices, University of Illinois, 1977.
[Denavit 55] Denavit J., Hartenberg R.S., "A kinematic notation for lower pair mechanism based on matrices", Trans. of
ASME, J. of Applied Mechanics, Vol. 22, juin 1955, p. 215-221.
[de Luca 91] de Luca A., Oriolo G., "Issues in acceleration resolution of robot redundancy", Proc. IFAC Symp. on Robot
Control, SYROCO'91, Vienna, Austria, 1991, p. 665-670.
[Dillon 73] Dillon S.R., "Computer assisted equation generation in linkage dynamics", Ph. D. Thesis, Ohio State University,
aot 1973.
[Featherstone 83] Featherstone R., "Position and velocity transformations between robot end-effector coordinates and joint
angles", The Int. J. of Robotics Research, Vol. 2(2), 1983, p. 35-45.
[Ferreira 84] Ferreira E.P., "Contribution l'identification de paramtres et la commande des robots manipulateurs", Thse
de Docteur-Ingnieur, UPS, Toulouse, juillet 1984.
[Fliess 95] Fliess M., Lvine J., Martin P., Rouchon P., "Flatness and defect of nonlinear systems: introductory theory and
examples", Int. J. Control, Vol. 61, 1995, p. 1327-1361.
[Fournier 80] Fournier A., "Gnration de mouvements en robotique ; application des inverses gnralises et des pseudoinverses", Thse d'Etat, USTL, Montpellier, avril 1980.
[Freidovich 97] Freidovich L.B., Pervozvanski A.A., "Some estimates of performance for PID-like control of robotic
manipulators", Proc. IFAC Symp. on Robot Control, SYROCO'97, Nantes, France, September 1997, p. 85-90.
[Freund 82] Freund E., "Fast nonlinear control with arbitrary pole placement for industrial robots and manipulators", The
Int. J. of Robotics Research, Vol. 1(1), 1982, p. 65-78.
[Goldenberg 85] Goldenberg A.A., Benhabib B., Fenton R.G., "A complete generalized solution to inverse kinematics of
robots", IEEE J. of Robotics and Automation, Vol. RA-1(1), 1985, p. 14-20.
[Gorla 84] Gorla B., Renaud M., Modles des robots-manipulateurs ; application leur commande, Cepadues Editions,
Toulouse, 1984.
[Hahn 67] Hahn W., Stability of Motion, Springer-Verlag, New York, USA, 1967.
[Hollerbach 80] Hollerbach J.M., "An iterative lagrangian formulation of manipulators dynamics and a comparative study of
dynamics formulation complexity", IEEE Trans. on Systems, Man, and Cybernetics, Vol. SMC-10(11), 1980, p. 730-736.
[Hollerbach 84a] Hollerbach J.M., "Dynamic scaling of manipulator trajectories", Trans. of ASME, J. of Dynamic Systems,
Measurement, and Control, Vol. 106(1), March 1984, p. 102-106.
[Hollerbach 84b] Hollerbach J.M., "Optimum kinematic design for a seven degree of freedom manipulator", Proc. 2nd Int.
Symp. of Robotics Research, Kyoto, aot 1984, p. 349-356.
[Hollerbach 85] Hollerbach J.M., Suh K.C., "Redundancy resolution of manipulators through torque optimization", Proc.
IEEE Int. Conf. on Robotics and Automation, St Louis, mars 1985, p. 1016-1021.
[Hooker 65] Hooker W.W., Margulies G., "The dynamical attitude equations for a n-body satellite", The Journal of the
Astronautical Sciences, Vol. 12(4), 1965, p. 123-128.
[Hsu 88] Hsu P., Hauser J., Sastry S., "Dynamic control of redundant manipulators", Proc. IEEE Int. Conf. on Robotics and
Automation, Philadelphia, USA, April 1988, p. 183-187.
[Izaguirre 86] Izaguirre A., Paul R.C.P., "Automatic generation of the dynamic equations of the robot manipulators using a
LISP program", Proc. IEEE Int. Conf. on Robotics and Automation, San Francisco, avril 1986, p. 220-226.
[Kelly 95] Kelly R., "A tuning procedure for stable PID control of robot manipulators", Robotica, Vol. 13, 1995, p. 141-148.
[Khalil 76] Khalil W., "Modlisation et commande par calculateur du manipulateur MA-23 ; extension la conception par
ordinateur des manipulateurs", Thse de Docteur-Ingnieur, USTL, Montpellier, sept. 1976.
[Khalil 78] Khalil W., "Contribution la commande automatique des manipulateurs avec l'aide d'un modle mathmatique
des mcanismes", Thse d'Etat, USTL, Montpellier, France, October 1978.
[Khalil 79] Khalil W., Liegeois A., Fournier A., "Commande dynamique des robots", Revue RAIRO Automatique / Systems
Analysis and Control, Vol. 13(2), 1979, p. 189-201.
[Khalil 85] Khalil W., Kleinfinger J.-F., "Une modlisation performante pour la commande dynamique de robots", Revue
RAIRO, APII, Vol. 6, 1985, p. 561-574.
[Khalil 86] Khalil W., Kleinfinger J.-F., "A new geometric notation for open and closed-loop robots", Proc. IEEE Int. Conf.
on Robotics and Automation, San Francisco, avril 1986, p. 1174-1180.
[Khalil 87] Khalil W., Kleinfinger J.-F., "Minimum operations and minimum parameters of the dynamic model of tree
structure robots", IEEE J. of Robotics and Automation, Vol. RA-3(6), dc. 1987, p. 517-526.
[Khalil 89] Khalil W., Bennis F., Chevallereau C., Kleinfinger J.-F., "SYMORO: a software package for the symbolic
modelling of robots", Proc. 20th Int. Symp. on Industrial Robots, Tokyo, oct. 1989, p. 1023-1030.

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

47

[Khalil 97] Khalil W., Creusot D., "SYMORO+: a system for the symbolic modelling of robots", Robotica, Vol. 15, 1997, p.
153-161.
[Khalil 02] Khalil W., Dombre E., Modelisation, identification and control of robots, Hermes Penton Science, London,
ISBN 1-90399-613-9, 2002, 480 p.
[Khatib 80] Khatib O., "Commande dynamique dans l'espace oprationnel des robots-manipulateurs en prsence
d'obstacles", Thse de Docteur-Ingnieur, Ecole Nationale Suprieure de l'Aronautique et de l'Espace, Toulouse, France,
December 1980.
[Khosla 86] Khosla P.K., "Real-time control and identification of direct drive manipulators", Ph. D. Thesis, Carnegie Mellon
University, Pittsburgh, 1986.
[Kircnski 85] Kircnski M., Vukobratovic M., "Computer-aided generation of manipulator kinematic models in symbolic
form", Proc. 15th Int. Symp. on Industrial Robots, Tokyo, sept. 1985, p. 1043-1049.
[Klein 84] Klein C.A., "Use of redundancy in the design of robotic systems", Proc. 2nd Int. Symp. of Robotic Research,
Kyoto, aot 1984, p. 58-65.
[Koditschek 84] Koditschek D.E., "Natural motion for robot arms", Proc. 23rd IEEE Conf. on Decision and Control, Las
Vegas, dc. 1984, p. 737-735.
[Korrami 88] Korrami F., zgnner U., "Decentralized control of robot manipulators via state and proportional-integral
feedback", Proc. IEEE Int. Conf. on Robotics and Automation, Philadelphia, USA, April 1988, p. 1198-1203.
[Kreuzer 79] Kreuzer E.J., "Dynamical analysis of mechanisms using symbolical equation manipulation", Proc. 5th World
Congress on Theory of Machines and Mechanisms, Montral, 1979, p. 599-602.
[Lee 88] Lee H.Y, Liang C.G.,"Displacement analysis of the general 7-link 7R mechanism", J. of Mechanism and Machine
Theory, Vol. 23(3), 1988, p. 219-226.
[Lewis 93] Lewis F.L., Abdallah C.T., Dawson D.M., Control of robot manipulators, Macmillan, New York, USA, 1993.
[Llibre 83] Llibre M., Mampey R., Chrtien J.P., "Simulation de la dynamique des robots manipulateurs motoriss",
Congrs AFCET : Productique et Robotique Intelligente, Besanon, nov. 1983, p. 197-207.
[Luh 80] Luh J.Y.S., Walker M.W., Paul R.C.P., "On-line computational scheme for mechanical manipulators", Trans. of
ASME, J. of Dynamic Systems, Measurement, and Control, Vol. 102(2), 1980, p. 69-76.
[Luh 85] Luh J.Y.S., Gu Y.L., "Industrial robots with seven joints", Proc. IEEE Int. Conf. on Robotics and Automation, St
Louis, mars 1985, p. 1010-1015.
[Maciejewski 85] Maciejewski A.A., Klein C.A., "Obstacle avoidance for kinematically redundant manipulators in
dynamically varying environments", The Int. J. of Robotics Research, Vol. 4(3), Fall 1985, p. 109-117.
[Megahed 84] Megahed S., "Contribution la modlisation gomtrique et dynamique des robots manipulateurs ayant une
structure de chane cinmatique simple ou complexe ; application leur commande", Thse d'Etat, UPS, Toulouse, juillet
1984.
[Murray 84] Murray J.J., Newman C.P., "ARM: an algebraic robot dynamic modeling program", Proc. IEEE Int. Conf. on
Robotics and Automation, Atlanta, mars 1984, p. 103-104.
[Nenchev 92] Nenchev D.N., "Restricted jacobian matrices of redundant manipulators in constrained motion tasks", The Int.
J. of Robotics Research, Vol. 11(6), 1992, p. 584-597.
[Orin 79] Orin D.E., McGhee R.B., Vukobratovic M., Hartoch G., "Kinematic and kinetic analysis of open-chain linkages
utilizing Newton-Euler methods", Mathematical Biosciences, Vol. 43, 1979, p. 107-130.
[Paul 81] Paul R.C.P., Robot manipulators: mathematics, programming and control, MIT Press, Cambridge, 1981.
[Pieper 68] Pieper D.L., "The kinematics of manipulators under computer control", Ph. D. Thesis, Stanford University, 1968.
[Potkonjak 86] Potkonjak V., "Thermal criterion for the selection of DC drives for industrial robots", Proc. 16th Int. Symp.
on Industrial Robots, Bruxelles, sept.-oct. 1986, p. 129-140.
[Qu 91] Qu Z., Dorsey J., "Robust PID control of robots", Int. J. Robotics and Automation, Vol. 6(4), 1991, p. 228-235.
[Raghavan 90] Raghavan M., Roth B., "Inverse kinematics of thegeneral 6R manipulator and related linkages", Trans. of the
ASME, J. of Mechanical Design, Vol. 115, 1990, p. 502-508.
[Raibert 78] Raibert M.H., Horn B.K.P., "Manipulator control using the configuration space method", The Industrial Robot,
Vol. 5( 2), 1978, p. 69-73.
[Renaud 75] Renaud M., "Contribution l'tude de la modlisation et de la commande des systmes mcaniques articuls",
Thse de Docteur-Ingnieur, UPS, Toulouse, dc. 1975.
[Renaud 80a] Renaud M., "Contribution la modlisation et la commande dynamique des robots manipulateurs", Thse
d'Etat, UPS, Toulouse, sept. 1980.

48

Universit Numrique Ingnierie & Technologie Robotique

[Renaud 80b] Renaud M., "Calcul de la matrice jacobienne ncessaire la commande coordonne d'un manipulateur", J. of
Mechanism and Machine Theory, Vol. 15(1), 1980, p. 81-91.
[Renaud 85] Renaud M., "A near minimum iterative analytical procedure for obtaining a robot-manipulator dynamic model",
IUTAM/IFToMM Symp. on Dynamics of Multi-body Systems, Udine, 1985.
[Renaud 87] Renaud M., "Quasi-minimal computation of the dynamic model of a robot manipulator utilizing the NewtonEuler formalism and the notion of augmented body", Proc. IEEE Int. Conf. on Robotics and Automation, Raleigh, mars-avril
1987, p. 1677-1682.
[Rocco 96] Rocco P., "Stability of PID control for industrial robot arms", IEEE Trans. on Robotics and Automation, Vol.
RA-12(4), 1996, p. 607-614.
[Roth 76] Roth B., "Performance evaluation of manipulators from a kinematic viewpoint", Cours de Robotique, IRIA,
Toulouse, 1976, p. 233-263.
[Samson 83] Samson C., "Problmes en identification et commande de systmes dynamiques", Thse d'Etat, Rennes, France,
1983.
[Samson 87] Samson C., "Robust control of a class of non-linear systems and applications to robotics", Int. J. of Adaptive
Control and Signal Processing, Vol. 1, 1987, p. 49-68.
[Samson 91] Samson C., Le Borgne M., Espiau B., Robot Control, Oxford University Press, Oxford, UK, 1991.
[Sciavicco 86] Sciavicco L., Siciliano B., "Coordinate transformation; a solution algorithm for one class of robots", IEEE
Trans. on Systems, Man, and Cybernetics, Vol. SMC-16(4), 1986, p. 550-559.
[Sciavicco 94] Sciavicco L., Siciliano B., Villani L., "On dynamic modelling of gear-driven rigid robot manipulators", Proc.
4th IFAC Symp. on Robot Control, SYROCO'94, Capri, sept. 1994, p. 543-549.
[Sheth 71] Sheth P.N., Uicker J.J., "A generalized symbolic notation for mechanism", Trans. of ASME, J. of Engineering for
Industry, Vol. 93, 1971, p. 102-112.
[Spong 89] Spong M.W., Vidyasagar M., Robot dynamics and control, John Wiley & Sons, New York, USA, 1989.
[Tomei 91] Tomei P., "Adaptive PD controller for robot manipulators", IEEE Trans. on Robotics and Automation, Vol. RA7(4), 1991, p. 565-570.
[Uicker 69] Uicker J.J., "Dynamic behavior of spatial linkages", Trans. of ASME, J. of Engineering for Industry, Vol. 91,
1969, p. 251-258.
[Vukobratovic 82] Vukobratovic M., Potkonjak V., Dynamics of manipulation robots; Vol. 1: Theory and applications,
Springer-Verlag, New York, 1982.
[Wenger 89] Wenger P., "Aptitude d'un robot manipulateur parcourir son espace de travail en prsence d'obstacles", Thse
de Doctorat, ENSM, Nantes, sept. 1989.
[Whitney 69] Whitney D.E., "Resolved motion rate control of manipulators and human prostheses", IEEE Trans. on Man
Machine Systems, Vol. MMS-10(2), juin 1969, p. 47-53.
[Whitney 72] Whitney D.E., "The mathematics of coordinated control of prosthetic arms and manipulators", Trans. of
ASME, J. of Dynamic Systems, Measurement, and Control, Vol. 94, dc. 1972, p. 303-309.
[Wolovich 84] Wolovich W.A., Elliott H., "A computational technique for inverse kinematics", Proc. 23rd IEEE Conf. on
Decision and Control, Las Vegas, dc. 1984, p. 1359-1363.
[Yoshikawa 84] Yoshikawa T., "Analysis and control of robot manipulators with redundancy", The 1st Int. Symp. of
Robotics Research, MIT Press, Cambridge, 1984, p. 735-748.
[Zabala 78] Zabala Iturralde J., "Commande des robots-manipulateurs partir de la modlisation de leur dynamique", Thse
de Troisime Cycle, UPS, Toulouse, juillet 1978.
[Zodiac 96] The Zodiac, Theory of robot control, C. Canudas de Wit, B. Siciliano, G. Bastin Eds., Springer-Verlag, Berlin,
Germany, 1996.

Bases de la modlisation et de la commande des robots-manipulateurs de type srie

49

Table des matires


1. Modlisation.................................................................................................................................................... 1
1.1 Introduction ................................................................................................................................................... 1
1.2. Modlisation gomtrique ............................................................................................................................ 1
1.2.1. Description gomtrique ....................................................................................................................... 1
1.2.2. Modle gomtrique direct.................................................................................................................... 4
1.2.3. Modle gomtrique inverse ................................................................................................................. 5
1.2.3.1. Position du problme...................................................................................................................... 6
1.2.3.2. Principe de la mthode de Paul ...................................................................................................... 7
1.3. Modlisation cinmatique .......................................................................................................................... 10
1.3.1. Modle cinmatique direct .................................................................................................................. 10
1.3.1.1. Calcul de la matrice jacobienne par drivation du MGD ............................................................. 10
1.3.1.2. Matrice jacobienne cinmatique ................................................................................................... 10
1.3.1.3. Dcomposition de la matrice jacobienne en trois matrices........................................................... 13
1.3.1.4. Dimension de l'espace oprationnel d'un robot ............................................................................ 13
1.3.2. Modle cinmatique inverse ................................................................................................................ 13
1.3.2.1. Forme gnrale du modle cinmatique ....................................................................................... 14
1.3.2.2. Modle cinmatique inverse dans le cas rgulier ......................................................................... 14
1.3.2.3. Solution au voisinage des positions singulires ............................................................................ 15
1.4. Modlisation dynamique ............................................................................................................................ 17
1.4.1. Formalisme de Lagrange ..................................................................................................................... 18
1.4.1.1. Forme gnrale des quations dynamiques .................................................................................. 18
1.4.1.2. Calcul de l'nergie ........................................................................................................................ 19
1.4.1.3. Proprits du modle dynamique ................................................................................................. 21
1.4.1.4. Prise en compte des frottements ................................................................................................... 21
1.4.1.5. Prise en compte des inerties des actionneurs ................................................................................ 22
1.4.1.6. Prise en compte des efforts exercs par l'organe terminal sur son environnement ....................... 22
1.4.2. Formalisme de Newton-Euler.............................................................................................................. 23
1.4.2.1. Equations de Newton-Euler linaires par rapport aux paramtres inertiels .................................. 23
1.4.2.2. Forme pratique des quations de Newton-Euler ........................................................................... 24
1.5. Conclusion ................................................................................................................................................. 25
2. Gnration de mouvement............................................................................................................................. 25
2.1. Introduction ............................................................................................................................................... 25
2.2. Gnration de mouvement entre deux points dans l'espace articulaire ...................................................... 26
2.2.1 Interpolation polynomiale de degr cinq ............................................................................................. 26
2.2.2. Loi Bang-Bang ................................................................................................................................... 28
2.2.3. Loi trapezodale en vitesse ................................................................................................................. 29
2.2.4. Lissage du mouvement trapzodal en vitesse .................................................................................... 32
2.3. Gnration de mouvement entre deux points dans l'espace oprationnel .................................................. 34
3. Commande .................................................................................................................................................... 36
3.1. Introduction ............................................................................................................................................... 36
3.2. Equations du mouvement .......................................................................................................................... 36
3.3. Commande classique ................................................................................................................................. 37
3.3.1. Commande PID dans l'espace articulaire ........................................................................................... 37
3.3.2. Commande PID dans l'espace oprationnel........................................................................................ 39
3.4. Commande par dcouplage non linaire ................................................................................................... 40
3.4.1. Introduction ........................................................................................................................................ 40
3.4.2. Commande dans l'espace articulaire ................................................................................................... 41
3.4.2.1. Principe de la commande ............................................................................................................ 41
3.4.2.2. Cas o le mouvement est compltement spcifi ........................................................................ 41
3.4.2.3. Cas o seule la position finale est spcifie................................................................................. 42
3.4.2.4. Commande dynamique prdictive ............................................................................................... 43
3.4.2.5. Calcul pratique des lois de commande par dcouplage non linaire ........................................... 43
3.4.3. Commande par dcouplage non linaire dans l'espace oprationnel .................................................. 43

50

Universit Numrique Ingnierie & Technologie Robotique

4. Conclusion .................................................................................................................................................... 44
Bibliographie..................................................................................................................................................... 45
Index ................................................................................................................................................................. 51

Index
angles d'Euler, 5
calcul symbolique, 25
Commande classique, 37
commande dynamique prdictive, 43
commande par dcouplage non
linaire, 40
Commande par dcouplage non
linaire, 43
composition des vitesses, 20
computed torque, 40
configurations singulires, 13
degrs de libert, 13
nergie cintique, 18, 19
nergie potentielle, 18
quations de Lagrange, 18
quations de Newton-Euler, 23
espace articulaire, 41
espace oprationnel, 13, 34, 43
fonction de Lyapunov, 38
forces centrifuges, 19
forces de Coriolis, 19
forces de gravit, 19
frottements, 21
Homothtie, 31
inerties des actionneurs, 22
interpolation polynomiale, 26
jacobien cinmatique, 10
La Salle, 39
lagrangien, 18

Loi Bang-Bang, 28
matrice de transformation, 3
matrice d'inertie, 19
matrice jacobienne, 10
mthode de Paul, 7
modle cinmatique direct, 10
modle cinmatique inverse, 13, 39
modle dynamique direct, 17
modle dynamique inverse, 17, 43
modle gomtrique direct, 4
modle gomtrique inverse, 5
Newton-Euler, 43, 44
offset, 3
paramtres gomtriques, 2
paramtres inertiels standard, 20, 21
PID, 37
positions singulires, 8, 15
principe d'invariance, 39
proprits du modle dynamique, 21
pseudo-inverse, 15
redondant, 13
SCARA, 38
singularit, 13
sorties plates, 40
Stubli RX-90, 3, 13, 15, 22
structure variable, 36
SYMORO+, 25
systme plat, 40

You might also like