Professional Documents
Culture Documents
des robots-manipulateurs
robots
de type srie
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
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
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 ;
C3
Cn
C2
C1
C0
xj
zj
zj-1
Oj
j
rj
xj-1
dj
Oj-1
Figure 2. Paramtres gomtriques dans le cas d'une structure ouverte simple
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
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.
z4, z6
x4, x5, x6
z5
RL4
z0, z1
x3
x0, x1, x2
D3
z2
z3
dj
/2
D3
/2
RL4
/2
/2
rj
[4]
Le modle gomtrique direct du robot peut aussi tre reprsent par la relation :
X = f(q)
[5]
q 2 q n ]T
[6]
x2 xm]T
[7]
Plusieurs possibilits existent pour la dfinition du vecteur X. Par exemple, avec les lments de la matrice
:
0T
n
Py Pz
sx
sy sz
nx
ny nz
ax
ay az]T
[8]
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).
Z 0Tn(q) E
[10]
[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
[12]
sx nx ax Px
y y y y
U0 =
sz nz az Pz
0 0 0 1
[13]
[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
[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 :
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
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)
O6
O2
z2
z3
z5
10
[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]
i = 1, , m ; j = 1, , n
[21]
1
1
1
Vn
.
= Jn q
11
[22]
y0
Py
3
L3
x3
x2
x1
L2
L1
1
x0
Px
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]
[24]
En mettant ce systme sous forme matricielle et en l'identifiant la relation [22], on dduit que :
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
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
n;k =
i
k ak
[27]
ij
n;k =
k iak
[28]
ij
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
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
13
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
n,j;k =
i
k ak
[31]
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
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]
[34]
[35]
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].
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
[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]
[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.
17
[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]
Fj
fj
fej
Fsj
Fvj
acclration de la pesanteur ;
Gj
IGj
18
Iaj
jJ
matrice d'inertie du corps Cj par rapport au repre Rj, qui s'exprime par :
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
MGj
Mj
mj
moment du torseur dynamique autour de Oj exerc sur le corps Cj par le corps Cj-1;
mej
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
j
.
j
acclration du point Oj ;
acclration du centre de gravit du corps Cj ;
acclration de rotation du corps Cj.
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]
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]
Cij = ci,jk q. k
k=11 Aij Aik Ajk
ci,jk = 2 [ qk + qj qi ]
[49]
[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
[52]
[53]
et sachant que :
^ ^
Jj = IGj Mj Sj Sj
la relation [52] devient :
[54]
20
[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
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]
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
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
[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]
= [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
= [0
G3]T
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)
[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]
[74]
24
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]
[77]
[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
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]
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
.
.
..
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
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
Xf
Gnration de X d (t)
mouvement
en X
MGI
qd (t)
+
Asservissement
_
Xi
qi
MGD
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.
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]
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
15 |Dj|
tfj = max 8 k ,
vj
10 |Dj|
[95]
3 kaj
[96]
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
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 :
2 |Dj|
tfj = max k , 2
vj
|Dj|
kaj
29
[100]
[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]
avec :
kvj
j = k
aj
[104]
30
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
[105]
[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 :
.
q
31
.
qk
.
.
q = j q
j
k
.
q1
.
qn
tf
|D |
tf1 = 1 + kv11
|D2|
tf2 = 2 + k
v2
[108]
tf =
1kv1
|D1|
2kv2
|D2|
+
=
+
1ka1 1kv1
2ka2 2kv2
[109]
1kv1
2kv2
=
1 ka1
2ka2
[110]
kv1|D2|
2 = 1 k |D |
v2 1
[111]
ka1|D2|
2 = 1 k |D |
a2 1
[112]
0 2 1
[113]
[114]
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
1 = min 1, kv2v1|D12|
ka2|D1|
1 = min 1, ka1|D2|
k |D |
[116]
1 kv1
1 ka1
[117]
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
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
1
.
q (t) = k
q.. (t) = 6 k
j
j vj
sign(Dj) (2t 3) t2
j vj
sign(Dj) (t ) t
[120]
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
[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]
|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
0T i
E
35
Pi
Pf
Ai
Af
0
f
=
et TE =
0 0 0 1
0 0 0 1
D = ||Pf Pi|| =
[130]
[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]
1
S = 2 (n a ) + (a s ) + (s n )
= atan2(S, C)
u = 2S1 na as
s n
z
[133]
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
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].
[138]
[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.
37
_
qd +
Kp
KI
q
Robot
qd +
Kd
.
.
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+
[144]
[145]
38
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]
[149]
[150]
[151]
[152]
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].
[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
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
41
[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 :
[164]
42
[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
[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]
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]
44
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.
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
[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.
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
[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.
49
50
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