dynamique et commande des robots rigides
TRANSCRIPT
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
FAÏÇAL MNIF
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
FAÏÇAL MNIF
INSAT, ICOS
© F. Mnif, Juin, 2004
A Mes parents
Pour leur engagement à l’excellence
Table des Matières
Avant Propos ………………………………………………………………………… 1
Chapitre 1 : Rappel des Notions de Cinématiques des Robots Rigides.
3
1.1 Configurations architecturales des robots rigides……………………..
3
1.2 Cinématique des robots manipulateurs………………………………… 5
1.3 La Jacobienne…………………………………………………………….. 20
Problèmes…………………………………………………………………. 33
Chapitre 2 : Introduction a la Théorie de Commande……………………..
37
2.1 Introduction……………………………………………………………….
37
2.2 Systèmes d’états linéaires………………………………………………... 37
2.3 Systèmes d’états nonlinéaires…………………………………………… 43
2.4 Points d’équilibre………………………………………………………… 47
2.5 Espaces vectoriels, normes et produits internes………………………. 48
2.6 Théorie de la stabilité…………………………………………………………. 57
2.7 Théorèmes de la stabilité de Lyapunov………………………………... 63
2.8 Stabilité entrée-sortie……………………………………………………. 70
2.9 Quelques résultats avancés de la stabilité 71
2.10 Quelques théorèmes et lemmes utiles………………………………….. 77
Problèmes………………………………………………………………… 82
Chapitre 3 : Dynamique des Robots Rigides…………………………………
89
3.1 Introduction ………………………………………………………………
89
3.2 Dynamique d’Euler-Lagrange…………………………………………… 89
3.3 Structure et propriétés des équations dynamiques du robot…………
106
3.4 Représentation d’état de la dynamique des manipulateurs robotiques et
linéarisation par retour d’état…………………………..
127
3.5 Dynamique dans l’espace cartésien…………………………………….. 134
Problèmes…………………………………………………………………. 140
Chapitre 4 : Commande par la Méthode du Couple Précalculé ……….. 143
4.1 Introduction……………………………………………………………….
137
4.2 Génération de trajectoires………………………………………………. 138
4.3 Simulation numérique……………………………………………………. 148
4.4 Commande par le couple précalculé……………………………………….. 152
4.5 Commande optimale pour la boucle externe………………………….. 167
Problèmes ………………………………………………………………… 172
Chapter 5 : Robust Control of Robot Manipulators………………………..
181
5.1 Introduction ………………………………………………………………
181
5.2 Feedback linearization controllers …………………………………….. 182
5.3 Nonlinear Controllers …………………………………………………… 203
5.4 Research study: A mixed optimal/robust control for robot
manipulators………………………………………………………………
219
Problems …………………………………………………………………. 242
Chapter 6 : Adaptive Control of Robot Manipulators…………………...
245
6.1 Introduction ……………………………………………………………...
245
6.2 Adaptive control by computed torque approach …………………….. 246
6.3 Adaptive control by an inertia-related approach …………………….. 257
6.4 Passivity-based adaptive approach ……………………………………. 263
6.5 Persistency of excitation………………………………………………… 272
6.6 Composite adaptive controller………………………………………….. 274
6.7 Robustness of adaptive controllers……………………………………... 285
6.8 An adaptive robust control scheme…………………………………….. 290
Problems………………………………………………………………….. 299
1
Avant Propos
La robotique est un domaine de technologie multidisciplinaire relativement nouveau dont
l’envergure industrielle ne cesse de croître d’un jour à l’autre. La compréhension de la robotique
et de sa complexité requiert des connaissances approfondies de génie électrique, de génie mécani-
que, de l’informatique et des mathématiques. La multidisciplinarité de la robotique et l’ampleur
fulminant qu’elle a gagné font qu’il ne sera pas attendu longtemps pour la voir constituer en elle-
même un domaine distinct de l’ingénierie.
La commande robotique constitue un ‘’mariage’’ idéal de l’automatique avec un exemple par ex-
cellence de systèmes complexes. En effet, un robot mal commandé perd totalement son utilité. D’autre part, les robots constituent une classe de systèmes fortement nonlinéaires et dont certai-
nes configurations présentent des complexités accrues défiant l’automaticien.
Ces notes ‘’Dynamique et Commande des Robots Rigides’’ est une tentative modeste d’un texte
traitant essentiellement des notions de la commande robotique avec une couverture préliminaire
de la modélisation dynamique des robots rigides. Il est destiné aux étudiants de Mastère ayant
complété au moins un premier cours de robotique ainsi qu’un cours de commande des systèmes
non-linéaires. Quoique nous ayons inclue un premier chapitre traitant de la cinématique des ro-
bots, ainsi qu’un second chapitre introduisant les notions de commande, il reste que l’information
contenue dans ces chapitres est assez générale.
L’organisation de ce manuscrit est comme suit : Le chapitre 1 est un rappel des notions de ciné-matique robotique. Le chapitre 2 traite des notions fondamentales de commande nonlinéaire. Le
chapitre 3 est destiné à la modélisation dynamique des robots rigides. Le chapitre 4 traite de la
commande par le couple précalculé des robots rigides. Le chapitre 5 est consacré aux différents
algorithmes de la commande robuste des manipulateurs robotiques et le chapitre 6 est destiné à l’étude des leurs schémas de commandes adaptatives. Le cinquième et le sixième chapitre sont
volontairement rédigés en anglais, et ce pour aider les étudiants à assimiler les terminologies tech-
AVANT PROPOS
© F. Mnif.
2
niques en cette langue. Chaque chapitre est complété par une série de problèmes permettant à l’étudiant d’appliquer les notions théoriques abordées.
Puisque jamais un travail ne peut être complet, et par mon souci de minimiser les fautes de fond
ou de forme qui ont pues m’échapper, j’apprécierais que vous me reportiez ces fautes et me fai-
siez part de vos commentaires à l’adresse électronique : [email protected]
Faïçal Mnif
Sfax, juillet 2004
© F. Mnif, 2005 3
Chapitre 1
Rappel des Notions de Cinématique des
Robots Rigides
1.1 Configurations architecturales des robots rigides
Dans cette section, nous passons en revue les différentes configurations des robots rigides. Un
bras manipulateur est composé d’un ensemble de liens séparés par les articulations (joints). Les
articulations sont actionnées par des moteurs électriques dans le cas le plus commun. Cependant,
ces actionneurs peuvent être hydrauliques dans le cas des manipulateurs à très grande puissance,
et moins fréquemment pneumatiques. Un joint de rotation ou de révolution noté (R) qui permet
un mouvement de rotation autour d’un axe. Un joint prismatique (P) qui permet un mouvement
de translation le long d’un axe de translation. On appelle parfois ce type de mouvement, mouve-
ment télescopique. Les variables articulaires d’un manipulateur robotique sont les variables des
joints. Pour un joint de rotation, la variable est un angle, dénoté par θ . Pour un joint prismati-
que, la variable est une distance, noté d .
Certaines configurations de base sont montrées à la Figure 1.1.1. Le bras articulé RRR est mon-
tré à la Figure 1.1.1a, qui ressemble au bras humain. Le bras cartesian PPP est montré à la Fi-
gure 1.1.1e. La Figure 1.1.1c montre la configuration du robot SCARA (Selected Complied Arti-
culated Robot for Assembly). Cette configuration est souvent utilisée pour les tâches
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
4
d’assemblage. Cette structure est légèrement différente de la configuration RRP (Robot Sphéri-que) de la Figure A.1.1b.
Figure 1.1.1 Géométries de base des manipulateurs robotiques : (a) RRR ; (b) RRP ; (c) SCARA
(RRP) ; (d) RPP ; PPP.
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
5
Parmi les Robots industriels de type RRR on trouve : Le robot PUMA, le robot Cincinnati-
Milacron 7353T . Le manipulateur Stanford est un manipulateur RRP, le Robot AdeptOne est
un Robot SCARA de type RRP. Le robot GMF’M-100 est un exemple de la configuration RPP.
Le Robot Cincinnati-Milacron 3T est un robot porteur de type PPP.
Plusieurs robots sont de type sériels, qui consiste en une serie de liaisons. Dans cette configuration,
la base est appelée articulation 0, et la dernière articulation est terminée par l’outil ou l’organe
terminal, qui représente, dans certains cas, l’effecteur du manipulateur. Plusieurs robots possè-dent six articulations, correspondant aux six degrés de liberté (Degrees of Freedom, DOF) néces-saires pour obtenir une position arbitraire et une orientation arbitraire de l’organe terminal dans
l’espace tridimensionnel. Le robot PUMA 560 possède six degrés de liberté.
1.2 Cinématique de Robots manipulateurs
Matrices A
Pour des valeurs données des variables articulaires, il est important d’être capable de spécifier les positions des joints, l’une par rapport à l’autre. Cette tâche est accomplie en utilisant les équa-
tions cinématiques du manipulateur.
On peut associer à chaque lien i un repère de coordonnées ),,( iii zyx fixé au lien (voir Figure
1.2.1). Pour y arriver, on emploi un paradigme standard et consistant et qui consiste en l’emploi
de la convention de Denavitt-Hartenberg (D-H). Le repère attaché au premier lien 0 (la base du
manipulateur) est appelé le repère de base ou repère inertiel.
La relation entre le repère des coordonnées 1−i et le repère des coordonnées i est donné par la
matrice de transformation :
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡−
−
=
1000
cossin0
sincossincoscossin
cossinsinsincoscos
iii
iiiiiii
iiiiiii
id
a
a
Aαα
θθαθαθθθαθαθ
(1.2.1)
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
6
la plupart des paramètres dans cette matrice pour le lien i sont fixes. Les paramètres des liens
sont, la torsion du lien i iα , et la longueur du lien i ia . Pour chaque lien du bras manipulateur,
ces paramètres sont tabulés par le constructeur. Les paramètres articulaires sont l’angle articu-
laire iθ et l’offset articulaire id . Si le joint i est de révolution, la variable articulaire est iθ et id
est fixe. Si le joint i est prismatique, la variable articulaire est id et iθ est fixe. Le paramètre
ia pour un lien prismatique est nul puisque la longueur du lien est variable.
Par la convention de D-H, pour un lien de révolution, la rotation iθ se produit autour de l’axe
1−iz . Pour un lien prismatique, id se produit le long de l’axe 1−iz . Donc le repère de coordon-
nées du lien est considéré être attaché à l’extrémité de sortie du lien (Voir exemples).
Figure 1.2.1 Relations cinématiques dans un manipulateur.
La matrice iA est une fonction d’une seule variable, notamment la variable articulaire iθ ou id .
Si le manipulateur possède n liens, le vecteur des variables articulaires q est un vecteur de di-
mension n dont les éléments sont des fonctions des différentes variables articulaires du bras ma-
nipulateur. Le vecteur q est en général une combinaison d’angles iθ et de longueurs id . Par
exemple, pour un robot RRP
Tdq ][ 321 θθ=
Les composantes de q notées par iq sont soit des angles iθ ou des longueurs id .
Transformations Homogènes
La matrice A est une transformation homogène de la forme
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
7
⎥⎦
⎤⎢⎣
⎡=
10
iii
pRA (1.2.2)
où iR est une matrice de rotation et ip est un vecteur de translation. Donc si ir est un point dé-
crit dans le repère de coordonnées respectif au lien i , le même point possède les coordonnées 1−ir dans le repère respectif au lien 1−i donné par
i
ii rAr =−1 (1.2.3)
la matrice de transformation homogène est une matrice de dimension 44× , tel qu’elle décrit les rotations et les translations ; ainsi, les vecteurs décrivant la position dans un repère de coordon-
nées donné sont de la forme
[ ]Tiiii zyxr 1= (1.2.4)
où ),,( iii zyx sont les coordonnées du point dans le repère i . Donc, selon (1.2.3) et (1.2.2), on
aura
ip
z
y
x
R
z
y
x
i
i
i
ii
i
i
+⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−
−
−
1
1
1
(1.2.5)
qui est juste une composition d’une rotation de iR et une translation ip .
Une matrice de rotation est dotée de la propriété d’orthogonalité, i.e 1−=RRT . Cette matrice
possède une valeur propre à 1, dont le vecteur propre est l’axe de rotation. A titre d’exemple,
une rotation d’un angle θ selon l’axe des x , apparaît comme
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−=
θθθθθ
cossin0
sincos1
001
,xR (1.2.6)
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
8
Matrice T d’un Bras de Robot
Pour obtenir les coordonnées d’un point dans le repère de base (lien 0) on utilise les matrices T,
telle que
∏=i
ii AT1
(1.2.7)
Donc, étant données les coordonnées ir d’un point exprimé dans un repère attaché au lien i , les
coordonnées du même point dans le repère de base sont données par
i
irTr =0 (1.2.8)
On appelle iT une chaîne cinématique de transformations.
On définit la matrice T du bras manipulateur comme
∏=n
iAT1
: (1.2.9)
avec n le nombre de liens du manipulateur. Donc si nr sont les coordonnées d’un point dans le
dernier repère, les coordonnées de ce même point dans le repère de base sont :
nTrr =0 (1.2.10)
Cinématique Directe
La position et l’orientation de l’organe terminal par rapport au repère de la base du manipulateur
sont déterminées en évaluant la matrice T du manipulateur. Par convention on représente cette
transformation homogène comme
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
101000
pRpaonT (1.2.11)
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
9
Les orientations des axes du repère de l’organe terminal sont décrites par rapport aux coordon-
nées de base par la matrice de rotation ][ aonR = , et la position de l’origine du repère de
l’organe terminal par rapport au repère de base est donnée par p .
Les vecteurs aon ,, , et p sont définies comme montrée à la Figure 1.2.2 où l’on désigne par ""a
le vecteur ‘’d’approche’’ de l’organe terminal, par ""o son ‘’orientation’’ et par ""n le vecteur
normal choisi pour compléter la règle de la main droite, utilisant
pon ×=
Notons que ][ aonR = est une matrice de dimension 33× , possédant ainsi 9 coordonnées.
Cependant pour spécifier l’orientation d’un point quelconque dans l’espace tridimensionnel, seu-
lement 3 coordonnées sont nécessaires. De ce fait, et vu l’orthogonalité de la matrice , des
contraintes sur les éléments de cette matrice seront imposées. En effet, les éléments de ][ aon
ne seront pas indépendantes. Des approches plus efficaces pour spécifier l’orientation de l’organe
terminal résident en l’utilisation des coordonnées de base, RPY (Roll-Pich-Yaw), les angles
d’Euler, et les Quaternions.
Figure 1.2.2. Effecteur du robot, définition de ),,,( paon .
A ce stade d’analyse, nous désirons faire la distinction entre deux ensembles de coordonnées dé-crivant les variables articulaires décrivant l’organe terminal.
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
10
i) Les coordonnées de variables articulaires qui sont données par le vecteur de dimension
n
[ ]Tnqqqq …21=
où iq peut représenter une longueur ou un angle, dépendamment si les liens sont de ré-
volution ou prismatiques. En général 6=n , de façon que le bras manipulateur possède
6 DOF.
ii) Les coordonnées cartésiennes de l’organe terminal qui représente la description de
l’orientation de l’organe terminal et de sa position par rapport aux coordonnées de la
base du bras.
On dit que q est la description dans l’espace articulaire de la position et de l’orientation de
l’organe terminal, tandis que ),,,( paon est sa description cartésienne ou dans l’espace de la tâche.
Le problème de cinématique du bras est posée comme suit. Etant données les variables articulai-
res q , on se propose de trouver les positions cartésiennes et l’orientation de l’organe terminal du
manipulateur. Pour illustrer ce problème, nous allons considérer les exemples suivants :
Exemple 1.2.1 : Cinématique du Robot Cylindrique à 3 DOF
Un simple robot cylindrique RPP est montré à la figure 1.2.3a. Ce robot peut être considéré comme les trois premiers liens du Robot GMF-100. Les variables articulaires de ce robot sont
rh,,θ qui correspondent aux coordonnées du système de coordonnées cylindriques, de façon que le
vecteur des coordonnées articulaires est
[ ]Trhq θ= (1)
a- Matrices A
Les repères de coordonnées sont attachées aux liens 1, 2, et 3. Les repères de D-H sont montrés à la Figure 1.2.3b. Pour ce choix, les matrices A peuvent être déterminées comme suit :
Le repère 1 est lié au repère de la base par une simple rotation de θ autour de l’axe 0z . Une ro-
tation autour de l’axe z θ,zR , sans translation est donnée par
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
11
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
1000
0100
00
00
1
θθθθ
cs
sc
A (2)
Figure 1.2.3 : Le manipulateur Cylindrique à 3 liens : (a) schématisation du bras ; (b) repères des
coordonnées de D-H.
Puisque le lien 2 est prismatique, de variable h , la longueur 2a est nulle, 2θ est aussi nul.
L’angle de torsion 2α du lien 2 est l’angle de rotation autour de l’axe 2x , requis pour aligner
1z avec 2z , donc 902 −=α . L’on aura donc
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−=
1000
010
0100
0001
2h
A (3)
Il existe une autre alternative pour la détermination des matrices A pour des cas de configura-
tions simples. Rappelons que la première colonne de 2A est la représentation de 2x dans les coor-
données ),,( 111 zyx qui, selon la figure 1.2.3b, ce vecteur est juste [ ]T001 . La deuxième co-
lonne de 2A est la représentation de 2y dans les coordonnées ),,( 111 zyx , qui est simplement, se-
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
12
lon la figure 2.2.3b, [ ]T100 − . La troisième colonne de 2A est la représentation de 2z dans
),,( 111 zyx , qui est juste [ ]T010 , d’où la matrice 2A .
De la même façon on peut déterminer 3A comme
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
1000
100
0010
0001
3 rA (4)
b. Matrice T et cinématique du manipulateur
La matrice T peut être obtenue maintenant comme
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−−
==
1000
110
0
0
321 h
rccs
rssc
AAATθθθθθθ
(5)
Dans cette matrice T , la position de l’organe terminal par rapport au repère de la base est don-
née par
[ ]Thrcrsp θθ−= (6)
et l’orientation du repère 3 exprimée dans la forme ),,( aon est donnée par
[ ]To 100 −=
[ ]Tcsa 0θθ−= (7)
[ ]Tscn 0θθ=
Exemple 1.2.2 : Cinématique d’un robot planaire à 2-DOF
Le robot planaire RR à 2 DOF est montrée à la figure 1.2.4a, où 1a et 2a sont les longueurs des
bras. Les repères des coordonnées des liens sont montrés à la Figure 1.2.4b. Les matrices A peu-
vent être écrites par inspection comme
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
13
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
1000
0100
0
0
1111
1111
1
sacs
casc
A (1)
où 1c et 1s dénotant respectivement 1cosθ et 1sinθ
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
1000
0100
0
0
2222
2222
2
sacs
casc
A (2)
Finalement, la matrice T sera donnée par
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡++−
==
1000
0100
0
0
122111212
122111212
21
sasacs
cacasc
AAT (3)
où )cos(: 2112 θθ +=c )sin(: 2112 θθ +=s
les coordonnes de l’origine 2o du repère 2, par rapport au repère de la base, sont données par
[ ]Tsasacacap 01221112211 ++= (4)
Exemple 1.2.3 : Cinématique d’un Robot Polaire à 2-DOF
Le robot polaire à 2-DOF est montré à la Figure 1.2.5a, où l est la longueur du lien de la base,
dont l’axe des z est perpendiculaire à la page, comme le montre la Figure 1.2.5b.
Le vecteur des joints est
[ ]Trq θ= (1)
Qui correspond aux coordonnées polaires dans le plan.
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
14
Figure 1.2.4 : Robot Planaire RR ; (a) Schéma du bras ; (b) Repères de D-H
Par inspection, les matrices A sont trouvées comme
1
0 0
0
0 0 1 0
0 0 0 1
c s
s c lA
θ θθ θ
−⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦
(2)
2
1 0 0
0 1 0 0
0 0 1 0
0 0 0 1
r
A
⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦
(3)
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
15
et la matrice T devient
1 2
0
0
0 0 1 0
0 0 0 1
c s rc
s c l rsT A A
θ θ θθ θ θ
−⎡ ⎤⎢ ⎥+⎢ ⎥= =⎢ ⎥⎢ ⎥⎣ ⎦
(4)
les coordonnes de l’origine 2o du repère 2 par rapport au repère de la base sont données par
[ ]Trslrcp 0θθ += (5)
Exemple 1.2.4 : Cinématique du Poignet Sphérique
Le poignet sphérique est montré à la Figure 1.2.6. Ce type de poignet est présent dans plusieurs
manipulateurs à 6-DOF, tel que le manipulateur Stanford, pour cela et pour des raisons de
convenance, nous avons noté les variables articulaires par 654 θθθ ,, .
En exprimant les axes 444 zyx ,, dans le repère ( )3333 ,,, zyxo , nous pouvons déterminer 4A
comme
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−
=
1000
0010
00
00
44
44
4
cs
sc
A (1)
L’expression des axes 555 ,, zyx dans le repère ( )4444 ,,, zyxo nous permet de déterminer 5A ,
qui donne
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−
=
1000
0010
00
00
55
55
5
cs
sc
A (2)
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
16
Figure 1.2.5 : Robot Polaire RP ; (a) Schéma du bras ; (b) Repères de D-H
Enfin, l’expression des axes 666 ,, zyx dans le repère ( )5555 zyxo ,,, , nous permet de déterminer
5A , qui donne
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
1000
100
00
00
6
66
66
6d
cs
sc
A (3)
Figure 1.2.6 : Poignet Sphérique ; (a) Schéma du bras ; (b) Repères de D-H
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
17
La cinématique directe du coude est donc donnée par
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−+−+−−−
==
10006556565
654546465464654
654546465464654
654dccsscs
dssssccscsscccs
dscsccssccssccc
AAAT (4)
Il est intéressant de noter que la sous-matrice de rotation de T correspond à la transformation
d’Euler. Ainsi, 654 ,, θθθ peuvent être considères comme les angles d’Euler par rapport au repère
3.
Si l’on désire déterminer la matrice de transformation cinématique du robot cylindrique à 3-DOF
de l’exemple 1.2.1 terminé par un poignet sphérique. Il est seulement nécessaire de multiplier
dans l’ordre la matrice T de l’exemple 1.2.1 par la matrice T trouvée ci haut.
Cinématique Inverse Le problème de cinématique inverse est posé comme suit. Etant donnée ),,,( paon de l’organe
terminal dans le repère de la base, déterminer les variables articulaires iq dans la matrice T
⎥⎦
⎤⎢⎣
⎡=
1000
paonT (1.2.12)
Le problème de cinématique inverse est très important en commande robotique, pour l’orientation
cartésienne et l’orientation désirée de l’organe terminal spécifiées par la tâche.
Dû à la nature des fonctions impliquées dans la matrice T , les relations entre les iq et
),,,( paon sont fortement non-linéaires et les solutions pour iq sont en général non uniques.
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
18
Exemple 1.2.5 : Cinématique Inverse pour un bras à 2-DOF planaire
Pour le bras RR de l’exemple 1.2.2, le problème de cinématique inverse consiste à trouver les va-
riables articulaires 1θ et 2θ , étant donnée une configuration cartésienne de l’organe terminal
),( yx . Voir Figure 1.2.7
Du fait que 2222
21 : yxraa +=<+ , il existe deux solutions, dont la première est montrée à la
Figure 1.2.7. L’autre solution est celle du coude en haut.
Etant donnée la matrice T de l’exemple 1.2.2, on voit que 1θ et 2θ peuvent être obtenues par la
résolution des équations
xcaca =+ 12211 (1)
ysasa =+ 12211 (2)
Définissons
222 yxr += (3)
et utilisant la loi du cosinus
)cos(2 22122
21
2 θπ −−+= aaaar
22122
21 cos2 θaaaa ++= (4)
donc,
Caa
aar=
−−= :
2cos
21
22
21
2
2θ (5)
DC =−±=−±= :1cos1sin 2222 θθ (6)
),(2tan2 CDA=θ (7)
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
19
Figure 1.2.7 : Cinématique inverse d’un bras planaire a 2-DOF
Pour déterminer 1θ , on définit l’angle ϕ comme montrée à la figure 1.2.7. Par inspection du
triangle de droite, on peut écrire
221
22
cos
sintan
θθ
ϕaa
a
+= (8)
De plus, l’on a
x
y=+ )tan( 2θϕ (9)
donc,
)cos,sin(2tan),(2tan 221221 θθθ aaaAxyA +−= (10)
On note ici la dépendance de 1θ avec 2θ .
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
20
1.3 La Jacobienne Etant donnée une transformation nonlinéaire des variables articulaire ntq ℜ∈)( à pty ℜ∈)( ,
)(qhy = (1.3.1)
On définit la Jacobienne associée à )(qh comme
q
qhqJ
∂∂
=)(
:)( (1.3.2)
La Jacobienne est le moyen de transformer les vitesses, accélérations et forces entre différents re-
pères.
Transformation de Vitesses et Accélérations
Puisque
qJqq
qhy =
∂∂
=)(
(1.3.3)
la Jacobienne nous permet de transformer la vitesse de l’espace articulaire à l’espace-y .
Si )(ty est la vitesse cartésienne donc )(qJ est appelée Jacobienne du manipulateur.
Souvent on définit la vitesse cartésienne du manipulateur comme
⎥⎦
⎤⎢⎣
⎡=
ωv
y (1.3.4)
ou [ ]Tzyx vvvv = étant la vitesse linéaire et [ ]Tzyx ωωωω = la vitesse angulaire. Donc
y est un vecteur de 6 éléments et la Jacobienne du manipulateur nJ ×ℜ∈ 6
Soit [ ]Tndqdqdq …1= le vecteur de mouvement différentiel dans l’espace articulaire et soit
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
21
[ ]Tzyxdzdydxd δδδ=y (1.3.5)
décrivant le même mouvement dans les coordonnées cartésiennes où [ ]Tdzdydx décrivant le
mouvement différentiel linéaire et [ ]Tzyx δδδ décrivant le mouvement différentiel de rotation.
Par exemple, xδ désigne une petite rotation autour de l’axe x .
Selon (1.3.3), où dtd /yy = et dtdqq /= , on voit que
Jdqd =y (1.3.6)
Avec J est la matrice reliant l’espace articulaire à l’espace de la tâche.
La transformation des accélérations est obtenue en dérivant (1.3.3) par rapport au temps pour
valoir
qJqJ +=y (1.3.7)
Transformation de Force
Le travail virtuel résultant de l’application de force/couple généralisés dans l’espace de la tâche
résultant d’un mouvement différentiel dq est
dqW Tτδ = (1.3.8)
avec τ étant un vecteur de dimension n des forces/couples de commande du manipulateur, et
[ ]Tndqdqdq …1= est le vecteur des variations différentielles dans l’espace articulaire. Si F
est la description de la force dans un autre repère de coordonnées et la position est y , nous de-
vons avoir aussi
ydFW T=δ (1.3.9)
Considérons 1.3.6, l’on peut écrire
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
22
JdqFdqW TT == τδ
Donc la transformation de force au couple est donnée par
FqJT )(=τ (1.3.10)
Dans le cas où )(ty est la position cartésienne, on définit le vecteur des forces cartésiennes généra-
lisées comme le vecteur de dimension 6
⎥⎦
⎤⎢⎣
⎡=
c
cfF
τ (1.3.11)
avec [ ]Tzyxc ffff = est le vecteur des forces cartésiennes, et [ ]Tzyxc ττττ = est le vec-
teur de couples cartésiens. Par exemple, xτ est le couple applique autour de l’axe-x .
Si le manipulateur possède 6 liens et si la Jacobienne est non-singulière, la transformation des
couples généralisés aux forces généralisées est donnée par
τ)(qJF T−= (1.3.12)
Les singularités de la Jacobienne se produisent généralement aux extrémités de l’espace de la tâ-che.
Représentation de la Position Cartésienne
Il est maintenant nécessaire de confronter une issue représentant souvent une source de confusion
en robotique. Considérons l’équation 1.2.3. Malheureusement, lorsqu’on discute de la transfor-
mation )(qh de l’espace articulaire vers l’espace cartésien, cette équation peut être uniquement
interprétée comme une convenance de notation, mais non comme un formalisme mathématique
rigoureux. La raison de ceci, et que malgré que la vitesse et l’accélération généralisées cartésien-
nes, et la force cartésienne sont véritablement des vecteurs à 6 dimensions, il existe un problème
avec la commodité de la représentation de la position cartésienne )(ty . Nous discutons mainte-
nant plusieurs manières de spécifier la position cartésienne.
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
23
Représentation Généralisée de la Position comme (n,o,a,p)
Dans ce contexte, la position de l’origine ainsi que son orientation sont spécifiées par rapport au
repère de la base. Il est simple de spécifier la position de l’organe terminal utilisant le vecteur
tridimensionnel Tzyx ppptp ][)( = . Par contre la spécification de l’orientation n’est pas
facile à élaborer. Ceci, à cause que ça prend plus de 3 variables indépendantes pour spécifier, de
façon unique, l’orientation d’un repère par rapport a l’autre.
Dans la section 1.2 nous avons exprimé la position cartésienne de l’organe terminal )(ty dans le
repère de base utilisant l’approche ),,,( paon . Nous avions défini la position cartésienne généra-
lisée comme
( ) ( ) ( ) ( )( ) ( ) :
0 0 0 1
n t o t a t p ty t T t
⎡ ⎤= = ⎢ ⎥
⎣ ⎦ (1.3.13)
Il est clair que la transformation )(qh dépend de la façon de laquelle nous voulons décrire la posi-
tion )(ty . Si on emploi 1.3.13, donc )(qh est juste la transformation cinématique du bras discutée dans la section 1.2. Par contre, )(ty n’est pas un vecteur à six dimensions, mais une matrice car-
rée de dimension 44× . Par conséquent, la définition de la Jacobienne du bras
comme qqhqJ ∂∂= /)()( n’a plus de sens. On est ainsi amené à chercher une définition appro-
priée de )(qJ . Mais avant d’aborder ce problème, voyons quelques techniques alternatives pour
représenter la position cartésienne.
Représentation des Positions Cartésiennes Utilisant le Théorème
d’Euler
L’orientation d’un repère de coordonnées (repère 1) par rapport à un autre repère de coordonnées (repère 0) peut être spécifier d’un façon unique en utilisant un vecteur à 3-dimensions k repré-sentant l’axe de rotation du repère 1 par rapport au repère 0, et un angle ϕ spécifiant la valeur de
l’orientation autour de cet axe. La convention ),( ϕk implique 4 variables, qui peuvent être trou-
vées comme suit. Supposons une matrice de rotation
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
24
][ aonR = (1.3.14)
La matrice de rotation R étant orthogonale, donc elle possède une valeur propre à 1. L’axe de
rotation k est le vecteur propre associé. Par conséquent,
0=− kIR )( (1.3.15)
Ce résultat est connu comme le Théorème d’Euler, qui dit aussi que ‘axe de rotation n’est pas
tourné par la rotation R .
L’angle de rotation ϕ autour de l’axe k peut être trouvé sachant que la trace de la matrice de
rotation est égale a ϕcos21 + , donc
)(cos 121 −++= zyx aonϕ (1.3.16)
Où par exemple, la composante-x du vecteur normal n est dénoté par xn
En utilisant la rotation d’Euler, il est donc possible de spécifier la position cartésienne généralisée par un vecteur de dimension 7, les 3 premières éléments de ce vecteur donne la position décrite par la dernière colonne de T et les 4 autres composantes sont spécifiées utilisant k et ϕ .
Représentation de l’Orientation Cartésienne par les Quaternions
Les quaternions sont quatre paramètres représentées comme ),( qq 0 , avec [ ]Tqqqq 321= un
vecteur tridimensionnel. Ces paramètres sont donnés en terme des paramètres d’Euler k et ϕ
par
)2/cos(0 ϕ=q
)2/sin(ϕkq = (1.3.17)
L’utilisation des quaternions amène à la représentation de la position cartésienne généralisée par
un vecteur de dimension 7 comme
[ ]Tzyx qqqqppp 3210=y
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
25
L’avantage de cette représentation est qu’elle n’implique pas d’angles dans sa formulation.
Vecteur de Configuration de l’Outil
Soit p le vecteur de la position cartésienne obtenu de la matrice T et soit a le vecteur
d’approche. Puisque la matrice de rotation est orthogonale, ce vecteur est unitaire. Les deux
vecteurs p et a presque spécifient la position cartésienne. L’information manquante est l’angle
de roulis (Roll) de l’organe terminal. Par contre cet angle n’est que nnq θ= , la dernière variable
articulaire du manipulateur.
Pour avoir l’information sur nq , on propose un échelonnage de nq par la fonction π/nqe pour
définir le vecteur de configuration de l’organe terminal comme
⎥⎦
⎤⎢⎣
⎡= π/nqae
pw (1.3.18)
w est vecteur de dimension 6 spécifiant d’un façon unique la position cartésienne de l’organe
terminal dans le repère de base.
Noter qu’il existe une transformation unique entre w et ),,( nqap , puisque étant donnée w , et le
fait que 1=a , on peut calculer
212
625
24
/)ln( wwwqn ++=π (1.3.19)
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
++=
6
5
4
2126
25
24
1
w
w
w
wwwa /)(
(1.3.20)
iw est la ième composante de w .
Détermination de la Vitesse Cartésienne à Partir de la matrice T du
Manipulateur
Noter qu’en utilisant la définition 1.3.4, la vitesse cartésienne y est un vecteur de dimension 6 qui
n’est pas strictement la dérivée de )(ty . Pour calculer y , on peut trouver la Jacobienne )(qJ et
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
26
ensuite utiliser 1.3.3. Alternativement, la vitesse cartésienne peut être trouvée directement à par-
tir de la matrice T comme suit :
Posons TTTvy ][ ω= , avec v la vitesse linéaire et ω est la vitesse angulaire, il est clair que
pv = (1.3.21)
avec p est déterminé à partir de la dernière colonne de T .
Pour trouver ω , procédons de la façon suivante :
Puisque R dans (1.2.11) est orthogonale, l’on a ainsi
IRRT = (1.3.22)
qui devient par différentiation
0=+ TT RRRR
Donc, la matrice définie comme
TRR=Ω : (1.3.23)
satisfaisant 0=Ω+Ω T , est anti-symétrique. Elle peut être donc représentée comme
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−
−=Ω
0
0
0
xy
xz
yz
ωωωωωω
(1.3.24)
La relation entre la matrice de produit vectoriel Ω et la vitesse angulaire
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
z
y
x
ωωω
ω (1.3.25)
est donnée par
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
27
ww Ω=×ω (1.3.26)
pour tout vecteur à trois dimensions w . Par ailleurs, le produit vectoriel peut être remplacé par
une multiplication matricielle en terme de la matrice du produit vectoriel. On note par )(wΩ la
matrice du produit vectoriel associé au vecteur ω .
La procédure complète pour déterminer y à partir de la matrice T est comme suit. Première-ment, calculer v utilisant le vecteur p comme dans 1.3.21. Puis calculer )(wΩ à partir de la ma-
trice de rotation R utilisant A.3.23, et ensuite, trouver les trois derniers éléments ω de y à par-
tir de la définition de )(wΩ . Le calcul de y à partir de q requiert en fait une sous-routine dans
un programme informatique.
Utilisant (1.3.23), on peut écrire
RR Ω= (1.3.27)
Cette équation est fondamentalement importante dans les systèmes de navigation inertielle.
Calcul de Jacobienne
Si la position cartésienne est définie par 1.3.13, donc 1.3.2 ne fournit pas une définition appropriée. Ainsi, si on considère A.3.3 comme définition de )(qJ , soit
qqJ )(=y (1.3.28)
telle qu’elle transforme les vitesses articulaires q en vitesses cartésiennes y comme définie par
A.3.4. Donc )(qJ est une matrice de dimension n×6 .
Dans les exemples suivants nous donnons une technique méthodique pour la détermination de
)(qJ .
Exemple 1.3.1 : Jacobienne d’un Bras Cylindrique a 3 Liens
Utilisant la cinématique dérivée dans l’exemple 1.2.1. Appelons les variables du bras comme
),,( rzθ au lieu de ),,( rhθ pour éviter la confusion avec )(qh .
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
28
Puisqu’il n’y pas de poignet dans ce bras, l’orientation du dernier repère est fixe en termes de
),,( rzθ . Donc il n’est pas nécessaire de spécifier son orientation cartésienne.
Dénotons la vitesse cartésienne linéaire de l’organe terminal par rapport aux coordonnées de la
base (i.e. les trois premiers éléments de y comme py . Donc selon l’exemple 1.2.1,
)(:cos
sin
qh
z
r
r
y p =⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−= θ
θ (1)
Utilisant (1.3.2), la Jacobienne devient
[ ]⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−−
==∂
∂= ∂
∂∂∂
∂∂
010
cos0sin
sin0cos
)( θθθθ
θ r
r
q
hqJ
r
h
z
hhp ppp (2)
Ainsi, les vitesses des joints sont converties en des vitesses cartésiennes utilisant
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−−
=r
zr
r
dt
dyp
θθθθθ
010
cos0sin
sin0cos
(3)
Le déterminant de J étant rrr =+ )sincos( 22 θθ . Donc J est non-singulière aussi longtemps
que 0≠r .
Exemple 1.3.2 : Jacobienne du bras a 2-DOF planaire
Dans l’exemple 1.2.2 les variables articulaires étaient [ ]Tq 21 θθ= . Comme dans l’exemple
1.3.1, l’orientation du dernier repère de coordonnées est fixe pour un q donné. On n’est donc pas
concerné par la partie de l’orientation de y , mais seulement de sa position linéaire py .
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
29
La position cartésienne linéaire de l’organe terminal dans le plan ),( 21 xx est donnée par la der-
nière colonne de la matrice T comme cos
)(:)sin(sin
)cos(cos
21211
21211qh
aa
aay pp =⎥
⎦
⎤⎢⎣
⎡++++
=θθθθθθ
(1)
Puisque le mouvement est planaire, nous avons omit la composante 3x de py .
La Jacobienne est
⎥⎦
⎤⎢⎣
⎡++++−+−−
=∂
∂=
)cos()cos(cos
)sin()sin(sin
21221211
21221211
θθθθθθθθθθ
aaa
aaa
q
hJ
p (2)
Noter que la définition de )(qhp dans (1) signifie que la Jacobienne est égale à qhp ∂∂ / .
Le déterminant de J est égal a 221 sinθaa , donc J est non-singulière à moins que πθ ,02 = .
Exemple 1.3.3 : Jacobienne de la Transformation des Coordonnées d’une Caméra
Considérons le bras cylindrique a 3-DOF de l’exemple 1.2.1 et 1.3.1 avec une caméra montée ver-
ticalement sur le bras qui mesure uniquement la position ),( 21 xx de l’organe terminal dans le
plan horizontal (dans les coordonnées de la base). Appelons cette position y . Donc, selon les
deux exemples, la transformation des coordonnées articulaires ),,( rzθ aux coordonnées de la ca-
mera ),( 21 xx est
)(:cos
sin
2
1qh
r
r
x
xy =⎥
⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡=
θθ
(1)
et la Jacobienne associée est
⎥⎦
⎤⎢⎣
⎡−
−−=
θθθθ
cos0sin
sin0cos
r
rJ (2)
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
30
Le déterminant de J , en omettant la seconde colonne, est égale à r− , donc J est de plein rang
aussi longtemps que 0≠r . La pseudo-inverse de J est donnée par
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−
−−=+
θθ
θθ
cossin
00
/)(sin/)(cos rr
J (3)
Formalisme pour Calculer La Jacobienne du Bras
Etant donnée iq , Calculer les matrices iT définie dans la section 1.2 comme
⎥⎦
⎤⎢⎣
⎡==
10:21
iiii
pRAAAT … (1.3.29)
dont les rotations correspondantes seront notées
[ ]iiii zyxR = (1.3.30)
Définir IT =0 , IR =0 et la matrice T du bras
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡==
1000:
10
paonpRTT
nnn (1.3.31)
Le vecteur iz représente l’axe des z du repère i dans les coordonnées de base. Le vecteur p repré-
sente la position de l’origine du repère n (repère de l’organe terminal) en termes du repère de
base. La Jacobienne est calculée utilisant p et iz .
Le vecteur de vitesses cartésiennes généralisées est [ ]TTTvy ω= , donc, l’on peut partitionner
la matrice Jacobienne en une partie linéaire et une autre de rotation, en écrivant
⎥⎦
⎤⎢⎣
⎡==⎥
⎦
⎤⎢⎣
⎡)(
)()(
qJ
qJqqJ
v
o
p
ω . (1.3.32)
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
31
Considérons, en premier lieu, le calcul de )(qJ p . Etant donnée que la portion linéaire de la posi-
tion cartésienne généralisée y est simplement p , l’on peut écrire
[ ]qqq
pv
niq
p
q
p
q
pi
n
i i
… ∂∂
∂∂
∂∂
=
=∂∂
= ∑21
1
(1.3.33)
Donc )(qJp est donnée par
[ ]niq
p
q
p
q
pp qJ ∂
∂∂∂
∂∂= …
21)( (1.3.34)
Examinons maintenant la partie rotative )(qJo . Pour un joint de rotation, la rotation du joint
iiq θ= , se fait selon l’axe 1−iz (voir section 1.2, Figure 1.2.1). la vitesse angulaire pour la varia-
ble articulaire i est donc donnée par qzi 1− . Pour ajouter l’effet de tous les liens, il est nécessaire d’exprimer 1−iz dans un repère de référence, que nous choisissons le repère de la base. Par contre,
la dernière colonne de 1−iR est exactement 1−iz dans le repère de base. Donc, on peut écrire
[ ]qzkzkzkqzk nn
n
iiii … 11201
11 −
=− == ∑ω (1.3.35)
où Tz ]100[0 = et ik est égal à zéro (0) si iq est prismatique et il est égal à un (1) si iq re-
présente une rotation. Donc,
[ ]qzkzkzkqJ nn… 112010 )( −= (1.3.36)
Exemple 1.3.4 : Jacobienne du Poignet Sphérique
La cinématique de cette configuration a été traitée à l’exemple 1.2.4. Pour trouver sa Jacobienne,
on calcule les matrices
IT =3 (1)
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
32
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−
==
1000
0010
00
00
44
44
44
cs
sc
AT (2)
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
==
1000
00
0
0
55
54454
54454
545cs
ssccs
scscc
AAT (3)
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−+−+−−−
==
10006556565
654546465464654
654546465464654
6546dccsscs
dssssccscsscccs
dscsccssccssccc
AAAT (4)
Utilisant l’approche développée ci haut, on calcule directement
[ ]⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−
−== ∂
∂∂∂
∂∂
00
0
0
65
654654
654654
654
ds
dcsdsc
dccdss
J pppp θθθ (5)
et
[ ]⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −==
5
544
544
5430
01
0
0
c
ssc
scs
zzzJ (6)
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
33
Problèmes
1.1 Dériver la cinématique directe des robots montrés aux Figures 1.4.1-1.4.9.
1.2 Dériver la cinématique inverse des robots montrés aux Figures 1.4.4-1.4.9.
1.3 Dériver la Jacobienne des robots montrés aux Figures 1.4.4-1.4.9.
Figure 1.4.1. Poignet sphérique
Figure 1.4.2. Robot cylindrique avec poignet sphérique
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
34
Figure 1.4.3. Robot Stanford
Figure 1.4.4. Robot SCARA
DYNAMIQUE ET COMMANDES DES ROBOTS RIGIDES
35
Figure 1.4.5. Bras cartésien à 2-DOF
Figure 1.4.6. Bras à 2-DOF
Figure 1.4.7. Robot RPR
CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES
36
Figure 1.4.8: Robot articulé à 3-DOF
Figure 1.4.9. Robot cartésien à 3-DOF
37
Chapitre 2
Introduction à la Théorie de Commande 2.1 Introduction
Dans ce chapitre, nous rappelons quelques aspects de la théorie de commande utilisés dans la
commande robotique. Nous rappelons la formulation dans l’espace d’état des systèmes linéaires
et non-linéaires et nous présentons les concepts de stabilité nécessaire pour la suite. Le chapitre
est prévu pour introduire les concepts de la théorie de commande moderne, le lecteur familier
avec ces notions est appelé à passer à travers pour des fins de notations et de convenance.
2.2 Systèmes d’états linéaires Systèmes d’état continus Un système d’état continu est dit linéaire s’il obéit au principe de superposition; c’est-à-dire si la
sortie )(1 ty résulte d’une entrée )(1 tu , et que la sortie )(2 ty résulte d’une entrée )(2 tu , donc la
sortie résultante de l’entrée )()( 2211 tutuu αα += sera donnée par )()( 2211 tytyy αα += . Les sys-
tèmes linéaires mono-entrée/mono-sotie (Mono-Input/Mono-Output, MIMO), continus dans le
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 38
temps et invariants sont décrits par des équations différentielles linéaires à cœfficients constantes
tel que
∑∑==
−
=+n
iii
n
ii
i
in
n
dt
tdiyb
dt
tyda
dt
tyd
00
1 )()()( (2.2.1)
où les coefficients ia et 1b sont des constantes scalaires. )(ty est une sortie scalaire et )(tu est une
entrée scalaire. De plus, pour un certain temps 0t , nous avons les conditions initiales suivantes
.)(
,,)(
),(,)(
,,)(
),(1
01
001
01
00 −
−
−
−
n
n
n
n
dt
tud
dt
tudtu
dt
tyd
dt
tydty ……
Notons que l’entrée )(tu est dérivée à au plus le nombre de dérivation de )(ty . Sinon le système
est dit non-causal.
Réalisation d’état L’état du système est défini par un nombre suffisant de variables d’état, lesquels, lorsque spéci-fiées à un certain temps 0t avec l’entrée )(tu , 0tt > , sont suffisantes pour définir complètement
le comportement du système pour tout 0tt > . Le vecteur d’état contient donc toutes les varia-
bles nécessaires pour déterminer le comportement futur de tous les signaux du système. Par défi-nition, un tel vecteur d’état est non unique. En effet, si )(tx est un vecteur d’état il existe tou-
jours une matrice T non-singulière telle que )(tTxx = , )(tx définie un second vecteur d’état au
système. Pour le système décrit par (2.2.1), un choix possible des états du système peut être :
)()( 21 txtx = )()( 32 txtx =
)()(1 txtx nn =−
)()()(1
1 tutxatx i
n
iin +−= ∑
=− (2.2.2)
où nidt
dxx i
i ,,2,1, …== . La relation entrée-sortie est réduite donc à
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 39
)()()(1
1 tubtxbty n
n
iii += ∑
=− (2.2.3)
Une formulation plus compacte de 2.2.2 et 2.2.3 peut être donnée par
)()( tbutAxx += )()( tdutCxy +=
où
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−−
=
−− 12210
10000
01000
00000
00100
00010
nn aaaaa
A
…………………
[ ]Tb 100000=
[ ]12210 −−= nn bbbbbc (2.2.5)
nbd =
Cette représentation d’état particulière est appelée la représentation canonique contrôlable (com-
mandable). En général, les systèmes continus linéaires et invariants possèdent plus qu’une entrée et plus qu’une sortie. En effet, )(tu est en général un vecteur de dimension 1×m et )(ty est un
vecteur de dimension 1×p , Il s’agira ainsi d’un système multi-entrées/multi-sorties (Multi-
Input/Multi-Output, MIMO). Dans ce cas, la représentation d’état du système devient
)( )( tButAxx +=
)()( tDutCxy += (2.2.6)
où les dimensions respectives des matrices CBA ,, et D sont respectivement ,,, npmnnn ××× et
mp × .
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 40
Pour plus de détails théoriques à propos des expressions des matrices CBA ,, et D , le lecteur est
amené à consulter l’un des classiques des systèmes linéaires (e.g. Kailath (1980), Chen (1990),
Rugh (1994)). La représentation en diagramme block de l’équation (2.2.6) est représentée à la
figure 2.2.1.
Figure 2.2.1 (a) Diagramme Block de la représentation d’état 2.2.6. (b) Fonction de transfert de
(2.2.6)
Exemple 2.2.1 : Le Double Intégrateur
Considérons le système décrit par
)()( tuty =
Ce système est connu sous le nom de double intégrateur et représente une large variété de systè-mes physiques décrits par les lois de Newton. Pour obtenir la description dans l’espace d’état, on
définit
yx =1
yxx == 12
et l’on aura ainsi
uxx ⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡=
1
0
10
00
[ ]xy 01=
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 41
Exemple 2.2.2
Considérons le système MIMO représenté par la figure 2.2.2 qui représente un système à double
plateforme. Les équations différentielles décrivant ce système sont obtenues utilisant les lois de
Newton et sont données par :
1
1
2
1
11
1
12
1
11
1
11
1u
my
m
cy
m
cy
m
ky
m
ky ++−+−=
3
2
23
2
22
2
211
2
12
2
211
2
12 y
m
cy
m
ky
m
ccy
m
cy
m
kky
m
ky ++
+−+
−+−=
23 uy =
Une formulation d’état de ce système peut être obtenue en choisissant
231211 yxyxyx === ;;
363524 yxyxyx === ;;
pour donner
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
+
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
+−−−
−
=
10
00
00
00
01
00
000000
100000
001000
00
000010
1
2
2
2
2
2
21
2
21
2
1
2
1
1
1
1
1
1
1
1
1
m
x
m
c
m
k
m
cc
m
kk
m
c
m
k
m
c
m
k
m
c
m
k
x )(
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 42
Figure 2.2.2 Système à deux plateformes
Fonction de transfert
Une représentation alternative des systèmes linéaires invariants et continus est donnée par leur
fonction de transfert, qui lie l’entrée )(tu du système à sa sortie dans le domaine de Laplace ou
dans le domaine fréquentiel. Considérons le système 2.2.6 et prenons sa fonction de transfert
)()()()( sBUsAXxssX +=− 0
)()()( sDUsCXsY += (2.2.7)
Éliminant )(sX entre les deux équations, on trouve
[ ] )()()()()( 011 xAsICsUDBAsICsY −− −++−= (2.2.8)
La fonction de transfert est obtenue par la relation entre )(sY et )(sU quand 00 =)(x ;
[ ] )()()( sUDBAsICsY +−= −1 (2.2.9)
et la fonction de ce système particulier est donnée par
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 43
DBAsICsP +−= −1)()( (2.2.10)
tel que
)()()( sUsPsY = (2.2.11)
Exemple 2.2.3
Considérons le système de l’exemple 2.2.1, il est facile de voir que la fonction de transfert du sys-
tème est donnée par
2
1
ssU
sY=
)()(
2.3 Systèmes d’État Non linéaires
Plusieurs systèmes n’obéissent pas au principe de superposition, ils sont dits ainsi nonlinéaires.
Dans cette section, nous élaborons la variante nonlinéaire des concepts vus à la section précédente.
Nous invitons le lecteur à consulter l’un des classiques des systèmes nonlinéaires pour une présen-
tation plus exhaustives; [Khalil, 2002], [Vigyasagar, 1992].
Un système non-linéaire, scalaire, continu dans le temps et invariant est décrit par une équation
différentielle scalaire à cœfficients constantes de la forme
)](,),(),(),(,),(),([)( )()()()( tutututytytyhdt
tyd nn
n
n
…… 111 −= (2.3.1)
où )(ty est la sortie du système et )(tu est son entrée. Comme pour les systèmes linéaires, on dé-
finit le vecteur d’état x par ses composantes comme suit :
21 xx =
32 xx =
nn xx =−1
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 44
)](,),(),(),(,),(),([ )()( tutututxtxtxhx nnn …… 1
21= (2.3.2)
L’équation de sortie se réduit à
)()( txty 1= (2.3.3)
Une formulation plus compacte de (2.3.2) et (2.3.3) est donnée par
))(),(()( tUtxftx =
)()( tcxty = (2.3.4)
où
Tn tutututU )]()()([)( )( 11 −= …
et
][ 001 …=c (2.3.5)
Exemples 2.3.4
1. Pendule Amorti
Considérons l’équation d’un pendule amorti
0=++ yyky sin
une description d’état de ce système est obtenue en choisissant yxyx == 21 , et qui conduit à
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡
21
2
2
1
xx
x
x
x
sin
2. Oscillateur de Van der Pol
L’équation dynamique de l’oscillateur de Van der Pol est décrite par
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 45
012 =+−+ yyyy )(
pour lequel en définissant les variables d’état yx =1 et yx =2 donne
⎥⎦
⎤⎢⎣
⎡−−
=⎥⎦
⎤⎢⎣
⎡
1221
2
2
1
1 xxx
x
x
x
)(
l’évolution dans le temps de )(ty et le portrait du plan de phase ( 2x vs. 1x ) est représenté à la
Figure 2.3.1
Exemple 2.3.5: Dynamique d’un robot rigide La dynamique d’un robot rigide est décrite par les équations différentielles suivantes
τ=++ )(),()( qGqqVqqM
où )(qM est la matrice d’inertie de dimension nn × , q et ses dérivées successives sont les coordon-
nées généralisées du système de dimension 1×n , ),( qqV , )(qG et τ sont les vecteurs des couples
dépendant de la vitesse, les termes de gravité, et le vecteur des couples d’entrée respectivement
Définissons le vecteur d’état comme
⎥⎦
⎤⎢⎣
⎡=
q
qx
le vecteur d’entrée τ=u et le vecteur de sortie qy = . A cause de certaines propriétés de la dy-
namique des systèmes rigides que nous verrons plus loin, )(qM est connue comme être inversible
et l’on aura ainsi
τ⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡+−
=⎥⎦
⎤⎢⎣
⎡−− 11
0
)( MGVM
q
q
q
[ ] ⎥⎦
⎤⎢⎣
⎡=
q
qIy 0
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 46
où
),()()( uxfuxGxFx =+=
[ ]xIy 0=
où
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡+−
= −− 11
0)(,
)()(
MxG
GVM
qxF
Figure 2.3.2. Réponses temporelles de l’oscillateur de van de Pol (a) évolution de )(ty , (b) plan
de phase.
2.4 Points d’équilibre
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 47
Considérons le système nonlinéaire
))(,()( txtftx =
Définition 2.4.1
Le système (2.4.1) est dit autonome si ))(,( txtf ne dépend pas explicitement du temps, i.e.
))(()( txftx =
Exemple 2.4.1
Les système définis dans l’exemple 2.3.1 sont autonomes, par contre le système défini par
2txx =
ne l’est pas
Définition 2.4.2
Un vecteur n
ex ℜ∈ est un point fixe ou un point d’équilibre de (2.4.1) en un temps 0t si
00 ≥∀= txtf e ,),(
Exemple 2.4.2
Le système défini par
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡1)cos( 1
2
2
1
x
x
x
x
est autonome et possède son point d’équilibre à l’origine de 2ℜ .
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 48
Notons que : i) Si un système est autonome, donc le point d’équilibre au temps 0t est aussi un point
d’équilibre pour tout autre temps.
ii) Si ex est un point d’équilibre au temps 0t du système non autonome (2.4.1), donc
ex est un équilibre de (2.4.1) pour tout 01 ≥t .
Exemple 2.4.3
On considère le système non-autonome
12 −= txx
Ce système n’a pas de points d’équilibre. Il peut paraître que les points 11 −=ex et 11 =ex sont
des points d’équilibre au temps 10 =t . Mais, ces deux points ne sont pas des équilibres du sys-
tème puisque pour 1≥t les conditions d’équilibre ne tiennent pas.
Définition 2.4.3
Un point d’équilibre ex à 0t de (2.4.1) est dit isolé s’il existe un voisinage N de ex qui ne contient
aucun autre point d’équilibre à côté de ex .
2.5 Espaces Vectoriels, Normes, et Produits Internes
Espace Vectoriel Linéaire Définition 2.5.1
Un espace vectoriel linéaire réel (resp. un espace vectoriel linéaire complexe) est un ensemble V ,
muni de deux opérations binaires : l’addition et la multiplication par un scalaire tels que
1. Vyxxyyx ∈∀+=+ ,,
2. zyxzyx ++=++ )()(
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 49
3. Il existe un élément V0 dans V tel que Vxxxx VV ∈∀=+=+ ,00
4. Pour tout Vx ∈ , il existe un élément Vx ∈− tel que Vxxxx 0)()( =+−=−+
5. Pour tous scalaires ℜ∈21,rr (resp. Ccc ∈21, ), et chaque Vx ∈ , l’on a
xrrxrr ⋅=⋅⋅ )()( 2121 (resp. xccxcc ⋅=⋅⋅ )()( 2121 )
6. Pour tout ℜ∈r (resp. Cc∈ ), et chaque Vxx ∈21, , 2121 )( rxrxxxr +=+⋅
( =+⋅ )( 21 xxc 21 cxcx + )
7. Pour tous scalaires ℜ∈21,rr (resp. Ccc ∈21 , ), et chaque Vx ∈ , l’on a
xrxrxrr 2121 +⋅=⋅+ )( (resp. xcxcxcc 2121 )( +⋅=⋅+ )
8. Pour tout Vx ∈ , l’on a xx =⋅1 , ou 1 est l’élément unitaire dans ℜ (resp. dans C )
Exemple 2.5.1
ℜ×ℜn et CC n × sont des espaces vectoriels linéaires.
Définition 2.5.2
Un sous-ensemble M d’un espace vectoriel V est un sous-espace vectoriel s’il est en lui-même un
espace vectoriel linéaire. Normes des Signaux et Systèmes Norme d’un vecteur
Définition 2.5.3
Une norme ⋅ d’un vecteur x est une fonction réelle définie sur l’espace vectoriel X tels que
1. 0>x pour tout Xx ∈ avec 0=x , si et seulement si 0=x
2. xx αα = pour tout Xx ∈ et pour tout scalaire α .
3. yxyx +≤+ pour tout Xyx ∈, .
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 50
Exemple 2.5.2
Les normes suivantes sont des normes dans nX ℜ= où nℜ est l’ensemble de vecteurs de dimen-
sion 1×n avec composantes réelles.
1. norme-1 : ∑ == n
i ixx11
2. norme-2 : ∑ == n
i ixx1
22
3. norme-p : ( )pn
i
pip
xx
1
1∑ ==
4. norme-∞ : ixx max=∞ ni ,,…1=∀
Lemme 2.5.1
Soient
ax et
bx deux normes d’un vecteur nx ℜ∈ . Il existe donc deux constantes 1k et 2k posi-
tives finies tel que
abaxkxxk 21 ≤≤ nx ℜ∈∀
Les deux normes dans le lemme sont dites équivalentes, et cette propriété particulière tient pour
toutes les normes sur nℜ .
Norme d’une matrice
Définition 2.5.4
Soit x une norme donnée de nx ℜ∈ , donc toute matrice A de dimension nm × possède une
norme induite définie par
1
p=
=x
isuA Ax
La norme d’une matrice vérifie aussi la propriété
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 51
iiiBAAB ≤
pour toutes matrices A et B de dimensions respectives mn× et pm × .
Exemple 2.5.3: Normes matricielles induites
Les normes matricielles 1, 2 et ∞ peuvent être obtenues par
jiA max
1= ∑
jija
)(max2AAA T
iλ=
iiA max=∞ ∑
iija
Les fonctions Normes
Soit )[ ℜ→∞,0:(.)f une fonction uniformément continue. Une fonction f est uniformément
continue si pour tout 0>ε , il existe )(εδ tel que
εεδ <−⇒<− )()()( 00 tftftt
Donc, f est appelée appartenant à pL si pour [ )∞∈ ,1p ,
∫∞
∞<0
)( dttfp
f est dite appartenant à ∞L si elle est bornée, i.e. si [ ) ∞<≤∞∈ Btft )(sup ,0 .
Définition 2.5.6
Soit n
pL l’ensemble des vecteurs de dimensions 1×n des fonctions if , chacune d’elles appartenant
à pL . La norme p de (.)f de npLf ∈ est donnée par
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 52
∫ ∑∞
=
=0
1
1n
i
ppip
dttff ])([(.)
pour [ )∞∈ ,0p , la norme ∞ de (.)f est donnée par
∞∞ ≤≤= )(max(.) 1 tfnif i
Normes des signaux scalaires u(t) persistants (i.e. 0u(t)limt ≠∞→ )
1. 2/1
0
21 )(lim ⎥⎦⎤
⎢⎣⎡= ∫∞→ dttuu
T
TTrms
2. )(sup 0 tuu t≥∞ =
3. dttuuT
TTa)(lim
0
1 ∫∞→=
Normes des signaux vectoriels persistants
4. 21
0
1/
)()(lim ⎥⎦⎤
⎢⎣⎡= ∫∞→ dttutuu
T T
TTrms
5. ∞≤≤∞
= ini uu 1max
6. dttuuT n
iTTa ∫ ∑ =∞→=0 1
1 )(lim
Normes des signaux non persistants
1. dttuu ∫∞
=01
)(
2. 21
2
02
/
)( ⎥⎦⎤
⎢⎣⎡= ∫
∞dttuu
Exemple 2.5.4
1. La fonction tetf −=)( appartient à 1L . En effet 11=−te . La fonction
11)( +=
ttf ap-
partient à 2L . La fonction sinusoïdale ttf sin)( 2= appartient à ∞L puisque son ampli-
tude est bornée par 2 et 2sin2 =∞t .
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 53
2. Le vecteur Ttt teetf ])1([)( 2−−− +−−= appartient à 31L par contre le vecteur
Ttt teetf ])1([)( 1−−− +−−= appartient à 32L et à 3
∞L .
Norme d’un Système
Soit H un système à m entrées et l sorties, donc la relation entrée-sortie peut être définie par
))(()( tHuty =
On dit que H est pL stable si 1pLHu ∈ pour tout m
pLu∈ et il existe une constante finie 0>γ et
b tel que
buHupp+≤ γ
si ∞=p , le système est dit stable au sens entrée-bornée-sortie-bornée (Bounded-Input-Bounded-
Output, BIBO).
Définition 2.5.7
Le gain pL du système H est noté par )(Hpγ est le plus petit γ tel qu’il existe un b fini véri-
fiant
buHupp+≤ γ
Lemme 2.5.2
Etant donné le système linéaire H tel que la relation entrée-sortie est donnée par
∫ −==t
duthtHuty0
)()())(()( τττ
et supposons que H est BIBO stable, donc
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 54
1. 1
)( hHp ≤γ , [ )∞∈∀ ,1p
2. dtthH ∫∞
∞ =0
)()(γ
3. )()(max)(2 HjHH ∞ℜ∈ ≤= γωγ ω
Exemple 2.5.5
1. Le système
2
1)(
+=
ssH
tel que sa réponse impulsionnelle est
⎪⎩
⎪⎨⎧
=−
0)(
2teth
0si
0si
>>
t
t
Notons que le système est BIBO stable, donc
5.0)( =∞ Hγ
5.0)(2 =Hγ
2. Le système
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
++
++
pv
pv
ksks
s
kskssH
2
21
)(
avec vk et pk des constantes positives. Le système est BIBO stable, donc
vp kkH e41max /,/)( =∞γ
v
p
k
kH
+=
1)(2γ
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 55
Produits Internes
Définition 2.5.8
Un produit interne définie sur un espace vectoriel V est une fonction >< .,. définie de V sur
F où F est soit ℜ ou C tels que zyx ,,∀ V∈
1. *,, >>=<< xyyx
2. ><+>>=<+< zxyxzyx ,,,
3. ><>=< yxyx ,, αα F∈∀α
4. 0, >≥< xx , l’égalité se produit pour Vx 0=
Exemple 2.5.6
Le produit usuel dans nℜ est un produit interne.
Pour tout produit interne, l’on peut définir une norme comme
Vxxxx ∈∀><= ,, (2.5.1)
Propriétés des Matrices
Définition 2.5.9.
Toutes les matrices dans cette définition sont carrées et réelles
• Positivité : Une matrice A ( nn × ) est définie positive si 0>AxxT , nx ℜ∈∀ , 0≠x
• Semi Positivité : Une matrice A ( nn × ) est semi définie positive si 0≥AxxT , nx ℜ∈∀ .
• Négativité : Une matrice A ( nn × ) est définie négative si 0<AxxT , nx ℜ∈∀ , 0≠x ,
• Semi Négativité : Une matrice A ( nn × ) est semi définie négative si 0≤AxxT , nx ℜ∈∀ ,
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 56
• Non définition : Une matrice A ( nn × ) est non définie si 0>AxxT pour cer-
tains nx ℜ∈ et 0<AxxT pour d’autres nx ℜ∈ .
Notons que
xAxxAA
xAxx sT
TTT =
+=
2
)(
où sA est la partie symétrique de A . Ainsi le test de définition d’une matrice peut se faire en
considérant sa partie symétrique.
Théorème 2.5.1
Soit ][ , jiaA = une matrice symétrique réelle de dimension nn× . Il s’en suit que toutes les va-
leurs propres de A sont réelles. On aura ainsi
• Une matrice A ( nn× ) est définie positive si toutes ses valeurs propres sont positives
• Une matrice A ( nn× ) est semi définie positive si toutes ses valeurs propres ne sont
pas négatives • Une matrice A ( nn× ) est définie négative si toutes ses valeurs propres sont négatives • Une matrice A ( nn× ) est semi définie négative si toutes ses valeurs propres ne sont
pas positives
• Une matrice A ( nn× ) est non définie si elle possède certaines valeurs propres positives
et certaines autres négatives Théorème 2.5.2 (Théorème de Rayleigh-Ritz)
Soit A une matrice réelle symétrique positive définie de dimension nn× . Soit minλ la valeur pro-
pre minimale et maxλ la valeur propre maximale de A . Donc nx ℜ∈∀
22
xAAxxxA T ][][ maxmin λλ ≤≤
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 57
2.6 Théorie de la Stabilité Soit ex un état d’équilibre du système nonlinéaire libre, continu et possiblement variant dans le
temps
),()( txftx = (2.6.1)
i.e. 0),( =txf e où x et f sont des vecteurs de dimension 1×n
Définition 2.6.1
Dans toutes les parties de cette définition, ex représente un point d’équilibre au temps 0t , et
. définit toute fonction de norme préalablement définie.
1. Stabilité : ex est stable au sens de Lyapunov (SL) au temps 0t , si, commençant suffi-
samment proche de ex à 0t , l’état du système demeurera au voisinage de ex aux temps
futurs. Plus précisément, ex est SL au temps 0t , si pour un 0>ε donnée, il existe un
),( 0tεδ positif tel que si
),( 00 txx e εδ<−
donc
;)( ε<− extx pour tout 0tt >
ex est stable au sens de Lyapunov s’il est stable pour tout 0t donnée (Figure 2.6.1 a.)
2. Instabilité : ex est instable au sens de Lyapunov (UL), si peu importe de combien loin
ex commence, il ne demeurera pas au voisinage de ex dans un temps futur. En d’autres
termes, ex est instable s’il n’est pas stable (Voir Figure 2.6.1b).
3. Convergence : ex est convergeant à 0t , si les états partant proche de ex convergent
éventuellement a ex . En d’autres termes, ex est convergeant à 0t si 01 >∀ε , il existe un
),( 01 tεδ positif et un ),,( 001 txT ε positif tel que si
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 58
)( 010 txx e δ<−
Donc
;)( 1ε<− extx ),,( 0010 txTtt ε+≥∀
ex est convergeant s’il est convergeant pour tout 0t . Voir Figure 2.6.2.
Figure 2.6.1 : (a) Stabilité de ex à 0t ; (b) Stabilité de ex à 0t
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 59
Figure 2.6.2 : Convergence de ex à 0t
4. Stabilité asymptotique : ex est asymptotiquement stable (AS) au temps 0t si les états commençant suffisamment proche de ex y demeurent proches ou éventuellement conver-
gent à ex . En d’autres termes, ex est AS au temps 0t s’il est convergeant et stable à 0t .
ex est AS s’il est AS pour tout 0t . (Voir Figure 2.6.3).
Figure 2.6.3: Stabilité asymptotique de ex à 0t
5. Stabilité Asymptotique Globale : ex est globalement asymptotiquement stable
(GAS) au temps 0t si toute état initial demeure proche de ex et éventuellement converge-
ra à ex . En d’autres termes, ex est GAS s’il est stable au temps 0t , et si tout
)(tx converge à ex quand ∞→t . ex est GAS s’il est GAS pour tout 0t . (Voir Figure
2.6.4).
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 60
Figure 2.6.4 : Stabilité asymptotique globale de ex a 0t
Définition 2.6.2
On suppose dans toutes les parties de cette définition que ex est un point d’équilibre au temps 0t .
1. Stabilité Uniforme : ex est uniformément stable (US) sur [ )∞,0t si ),( 0tεδ dans la défi-nition 2.6.1 est indépendante de 0t .
2. Convergence Uniforme : ex est uniformément convergente (UC) sur [ )∞,0t si ),( 0tεδ
et ),,( 001 txT ε de la définition 2.6.1 peuvent être choisies indépendamment de 0t .
3. Stabilité Asymptotique Uniforme : ex est uniformément asymptotiquement stable
(UAS) sur [ )∞,0t s’il est US et UC.
4. Stabilité Asymptotique Uniforme et globale : ex est globalement uniformément
asymptotiquement stable (GUAS) s’il est US et UC.
5. Stabilité Exponentielle Globale : ex est globalement exponentiellement stable (GES)
s’il existe 0>α et 0>β telle que nx ℜ∈∀ 0
0)(
0 ;)( 0 ttexxtx tte >≤− −−βα
Noter que la GES implique la GUAS. Voir Figure 2.6.9 pour fins d’illustration.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 61
Définition 2.6.3
1. Bornage : ex est dit borné au temps 0t si les états commençant proche de ex ne partent
jamais trop loin. En d’autres termes, ex est borné au temps 0t si pour tout 0>δ ,tel
que
δ<− exx 0
Il existe ∞<< ),(0 0trε tel que 0tt >∀
),()( 0trxtx e ε<−
ex est bornée s’il est borné pour tout 0t
2. Bornage Uniforme : ex est dit uniformément borne (UB) sur [ )∞,0t , si ),( 0trε peut
être choisi indépendamment de 0t
Figure 2.6.9. (a) Stabilité uniforme de ex ; (b) convergence uniforme de ex ; (c) stabilité asymptotique uniforme de ex ; (d) Stabilité asymptotique uniforme et globale de ex .
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 62
3. Bornage Uniforme et Ultime : ex est dit ultimement uniformément bornée (UUB), si
les états commençant suffisamment proche de ex seront éventuellement bornées. En
d’autre termes, ex est UUB si 0,0 >>∀ εδ , il existe un temps fini ),( δεT , tel que si
ε≤− exx 0
l’on aura
ε≤− extx )( , ),( δεTt >∀
4. Bornage Uniforme, Ultime et Globale: ex est dit globalement ultimement uniformé-ment bornée (GUUB), si pour 0>ε , il existe un temps fini )(εT , tel que si
ε≤− extx )( , )(εTt >∀
Voir Figure 2.6.10 pour l’illustration de ces concepts
Figure 2.6.10 : (a) Bornage de ex a 0t ; (b) bornage uniforme de ex ; (c) bornage ultime-
ment uniforme de ex ; (d) Bornage uniformément globale de ex .
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 63
2.7 Théorèmes de la Stabilité de Lyapunov
La théorie de stabilité de Lyapunov concerne le comportement des systèmes libres décrits par le
équations différentielles de type
nxtttxftx ℜ∈≥= ,0),),(()( (2.7.1)
pour lesquels, sans perte de généralité, l’origine est supposée un point d’équilibre.
La théorie de stabilité de Lyapunov nous permettra de déterminer la stabilité d’un point particu-
lier sans pour autant être obligé de résoudre les équations différentielles. Le second exploit que la
théorie de Lyapunov nous permettra d’achever, est qu’elle répondra quantitativement aux ques-
tions de stabilité.
La solution unique correspondant à 00 )( xtx = est ),,( 00 xttx qui sera notée simplement par )(tx .
Rappelons quelques définitions utiles :
Fonctions de Classe K
Définition 2.7.1
α est dit appartenant à la classe de fonctions K , si
1. 00 =)(α
2. 00 >∀> xx ,)(α
3. α est croissante, i.e. 2121 xxxx >∀≥ ),()( αα
Exemple 2.7.1
La fonction 2xx =)(α est une fonction de classe K par contre la fonction 12 += xx)(α ne l’est
pas.
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 64
Définition 2.7.2
Dans +ℜ
1. Une fonction ℜ→ℜ×ℜ+ nV : est localement positive définie (l.p.d) s’il existe une fonc-
tion de classe K (.)α et un voisinage N de l’origine de nℜ tel que
( )xxtV α≥),( , Nxt ∈∀≥∀ ,0
2. La fonction V est dite définie positive (d.p) si nN ℜ=
3. V est dite (localement) définie négative (d.n) si V− est (localement) d.p
Définition 2.7.3
Dans +ℜ
1. Une fonction continue ℜ→ℜ×ℜ+ nV : est localement décroissante s’il existe une fonc-
tion de classe K (.)β et un voisinage N de l’origine de nℜ tel que
( )xxtV α≤),( , Nxt ∈∀≥∀ ,0
2. La fonction V est dite décroissante si nN ℜ=
Définition 2.7.4
Etant donnée une fonction continûment dérivable ℜ→ℜ×ℜ+ nV : , et étant donnée le système
d’équations différentielles (2.7.1), la dérivée de V le long des trajectoires de (2.7.1) est définie
comme étant une fonction ℜ→ℜ×ℜ+ nV : définie par
),(),(),(),(:),( xtfx
xtV
t
xtV
dt
xtdVxtV
T
⎥⎦⎤
⎢⎣⎡
∂∂
+∂
∂==
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 65
Théorèmes de Lyapunov Théorème 2.7.1: Lyapunov
Etant donné le système non linéaire
00 xxxtfx == )();,(
pour lequel l’origine est un état d’équilibre, i.e. 00 =),(tf , et soit N un voisinage de l’origine de
grandeur ε i.e.
ε≤= xxN :
Donc
1. Stabilité : L’origine est stable dans le sens de Lyapunov, si pour Nx ∈ , il existe une
fonction scalaire ),( xtV avec des dérivées partielles continues tels que : i. ),( xtV est définie positive
ii. V est négative semi-définie
2. Stabilité Uniforme : L’origine est uniformément stable si ),( xtV satisfait 1. et elle est
décroissante pour Nx ∈ .
3. Stabilité Asymptotique : L’origine est asymptotiquement stable si ),( xtV satisfait 1.a
et ),( xtV est définie négative pour Nx ∈
4. Stabilité Asymptotique Globale: L’origine est globalement asymptotiquement stable si
),( xtV satisfait 1.a et ),( xtV est définie négative pour tout Nx ∈ , i.e. si nN ℜ= .
5. Stabilité Asymptotique Uniforme: L’origine est uniformément asymptotiquement sta-
ble (UAS) si ),( xtV est décroissante et ),( xtV est définie négative pour Nx ∈ .
6. Stabilité Asymptotique Uniforme et Globale : L’origine est GUAS si nN ℜ= et si
),( xtV satisfait 1.a, ),( xtV est décroissante, ),( xtV est définie négative et ),( xtV est ra-
dialement non-bornée, i.e. si elle tend vers l’infini quand ∞→x .
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 66
7. Stabilité Exponentielle : L’origine est exponentiellement stable s’il existe des constan-
tes positives γβα ,, tels que
22
xxtVx βα ≤≤ ),(
et 2
xxtV γ−≤),( Nx ∈∀
8. Stabilité Exponentielle Globale : L’origine est globalement exponentiellement stable si elle est exponentiellement stable pour nx ℜ∈
La fonction ),( xtV dans ce théorème est appelée fonction de Lyapunov.
Cas de Systèmes Autonomes
Lemme 2.7.1.
Une fonction )(xV invariante dans le temps et continue est dite définie positive si 00 =)(V et
0>)(xV pour 0≠x . Elle est localement définie positive si cette condition tient pour tout x au
voisinage de l’origine. Théorème 2.7.2. LaSalle
Etant donné un système nonlinéaires autonome
);(xfx = 00 =)(x
et soit l’origine un point d’équilibre, donc
1. Stabilité Asymptotique : Supposons qu’une fonction de Lyapunov ),( xtV a été trouvée
tel que pour NNx ℜ⊂∈ , 0>)(xV et 0≤)(xV . Donc l’origine est asymptotiquement sta-
ble si et seulement si 0=)(xV seulement à 0=x .
2. Stabilité Asymptotique Globale : L’origine est GAS si nN ℜ= et )(xV est radiale-
ment non-bornée.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 67
Définition 2.5.7
Un ensemble G est dit un système invariant d’un système dynamique si toutes les trajectoires
qui partent de G y demeurent.
Cas de Systèmes Linéaires Invariants dans le Temps
Théorème 2.7.3. Etant donné un système linéaire invariant dans le temps
)()( tAxtx =
Le système est stable si est seulement s’il existe une solution définie positive P de l’équation
QPAPAT −=+
où Q est une matrice arbitraire définie positive.
Théorèmes de la Stabilité de Lyapunov
1. Systèmes Autonomes : )(xfx = tel que
• L’origine est un point d’équilibre
• L’ensemble rxxB nr <ℜ∈= :
• Il existe )(xV continu, continûment dérivable et tel que 0)0( =V
)(xV xxVxV )()( ∇= Stabilité de Lyapunov
rBx ∈∀> ,0 rBx ∈∀≤ ,0 Uniforme
rBx ∈∀> ,0 rBx ∈∀≤ ,0 Asymptotique Uniforme nx ℜ∈∀> ,0
∞→)(xV quand ∞→x
nx ℜ∈∀> ,0 Asymptotique Uniforme Globale
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 68
2. Systèmes Non autonomes : )(xfx = , tel que
• L’origine est un point d’équilibre à 0tt =
• L’ensemble rxxB nr <ℜ∈= :
• Il existe ),( xtV continu, continûment dérivable dans le temps et dans x et 0)0,( =tV
• ( ) ( )xx βα , et ( )xγ des fonctions de classe K
Taux de convergence
Malgré que la théorie de stabilité de Lyapunov ne donne pas une indication sur le comportement
transitoire du système, elle peut être utilisée pour estimer le temps de convergence pour les sys-
tèmes linéaires. En effet, considérons l’inégalité
xPxPxxxPx TTT )()( maxmin λλ ≤≤ (2.7.2)
Notons que
xxQQxxV TT )(minλ−≤−= (2.7.3)
)(
)()(
min
maxmin
P
PxxQ T
λλ
λ−≤
VVP
Qγ
λλ
−=−
≤)(
)(
max
min
On peut montrer par le principe séparation des variables et après intégration que
),( xtV ),()(),(
xtVxVt
xtV ∇+= ∂∂ Stabilité de Lyapunov
( )xα≥ , rBx ∈∀ 0< , rBx ∈∀ S à 0t
( ) ( )xxtVx βα ≤≤ ),( , rBx ∈∀ 0< , rBx ∈∀
US
( )xα≥ , rBx ∈∀ ( )xγ−< , rBx ∈∀ AS à 0t
( ) ( )xxtVx βα ≤≤ ),( , rBx ∈∀ ( )xγ−< , rBx ∈∀
UAS
( ) ( )xxtVx βα ≤≤ ),( , nx ℜ∈∀
∞→)(xV quand ∞→x
( )xγ−< , rBx ∈∀
GUAS
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 69
tT eVtVxPx γλ −≤≤ )0()()(min (2.7.4)
ou encore
teP
Vx γ
λ−≤
)(
)0(
min
2
2 (2.7.5)
Donc )(tx s’approche de l’origine avec un taux plus rapide que 2/γ . Il peut être montré que le
temps de convergence le plus rapide est obtenu pour IQ = .
Théorème de Krasovskii
Dans certains cas, la fonction de Lyapunov des fonctions linéaires peut être facilement obtenu par
le théorème de Krasovskii.
Théorème 2.7.4 (Krasovskii) On considère le système autonome nonlineaire )(xfx = avec l’origine étant un point d’équilibre. Soit xfxA ∂∂= /)( . Pour que l’origine soit asymptotiquement stable il suffit qu’il existe deux ma-
trice symétriques définies positives, P et Q tel que pour tout 0≠x , la matrice
QxPAPxAxF T ++= )()()(
est 0≥ dans une certaine boule B autour de l’origine. La fonction )()()( xPfxfxV T= est donc
une fonction de Lyapunov pour le système. Si nB ℜ= et si )(xV est radialement non-bornée,
donc le système est globalement asymptotiquement stable.
Théorème 2.5.7
Supposons )(sP une fonction de transfert stable, donc
1. Si ∞∈ Ltu )( , i.e. )(tu est bornée, il en sera de même pour )(ty et )(ty
2. Si 0)(lim =∞→ tut donc 0)(lim =∞→ tyt
3. Si 2)( Ltu ∈ , donc 0)(lim =∞→ tyt
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 70
2.8 Stabilité Entrée-Sortie
Pour les systèmes nonlinéaires, la stabilité au sens de Lyapunov n’implique pas nécessairement
qu’une entrée bornée résulte en une sortie bornée. Ceci peut être illustrée par l’exemple suivant.
Exemple 2.8.1 : Stabilité E/S vs. Stabilité de Lyapunov
On considère le système
)()(
)( tut
tyty =+
Le système est asymptotiquement stable avec un seul point d’équilibre défini à 0=ey . D’autre
part, une entrée en échelon unitaire, qui est définitivement bornée, donne la réponse
2)(
tty =
qui est non-bornée. Dans cette section nous discuterons les conditions de stabilité sous lesquels on obtient une sortie
bornée pour une entrée bornée pour un système nonlineaire.
Considérons le système
))(,),(()( tuttxftx = ; 00 )( xtx = (2.8.1)
))(,),(()( tuttxgty = (2.8.2)
Définition 2.8.1
Le système dynamique (2.8.1) est stable au sens Entrée-Bornée/Sortie-Bornée, (Bounded Input
Bounded Output, BIBO) si pour tout
∞<≤ Mtu )(
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 71
il existe un 0>γ fini et un b tel que
bMty +≤ γ)(
Notons que la stabilité au sens BIBO implique que tous les états d’équilibre du système soient
bornés.
Exemple 2.8.2 Stabilité BIBO
On considère le système
)()( 2 tuty =
Ce système est stable au sens BIBO puisque pour toute entrée )(tu tel que ∞<≤Mtu )( , la sortie
est bornée par 2M .
2.9 Quelques Résultas Avancés de la Stabilité
Systèmes Passifs Etant donnée le système de la Figure 2.9.1. On s’intéresse à l’étude la stabilité d’un tel système
se basant sur la mesure unique de l’entrée et de la sortie.
Se basant sur un concept énergétique, qui stipule que
dt
d[Energie Emmagasinée]=[Puissance d’Entrée]+[Puissance Intérieurement Générée]
En général, la puissance de l’entrée est le produit scalaire uyT
La dernière équation prend donc la forme
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 72
)(tguyV T −= (2.9.1)
dans plusieurs cas (cas des systèmes isolés) 0=)(tg , et on peut donc écrire l’expression de
l’énergie emmagasinée comme
drrurytV Tt)()()(
0∫= (2.9.2)
comme une fonction candidate de Lyapunov.
La passivité d’un système nonlinéaires est définie comme suit
Figure 2.9.1 : Description Entrée-Sortie d’un système nonlinéaires
Définition 2.9.1
Considérons le système de la Figure 2.9.1 pour lequel on suppose un même nombre de sorties que
le nombre d’entrées ; i.e. ))(dim())(dim( tytu =
1. Passivité : Le système est dit passif si
γ≥∫ dttutyTT)()(
0
pour tout 0>T et un certain −∞>γ
2. Passivité Stricte : Le système est dit strictement passif s’il existe un 0>δ et un
−∞>γ tel que
γδ +≥ ∫∫ dttutudttuty TTTT)()()()(
00
pour tout 0>T fini.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 73
Exemple 2.9.1: Passivité des Corps Rigides
Considérons l’équation dynamique d’un robot rigide
τ=++ )(),()( qGqqVqqM
Soit l’Hamiltonien H dénotant la somme de l’énergie cinétique et potentielle du robot.
Rappelons que
τTqdt
dH=
donc
)0()0()()()(0
HHtHdtttqT T −≥−=∫ τ
qui prouve que le robot rigide est un système passif de τ à q .
Systèmes Passifs Réels Si le système considéré est linéaire et invariant dans le temps, donc la passivité est équivalente à
la positivité et peut être analysée dans le domaine fréquentiel.
Considérons le système MIMO
BuAxx +=
DuCxy +=
tel que les dimensions respectives de yux ,, sont pmn ,, . Pour simplifier l’exposé on suppose
que le nombre de sorties est égale au nombre d’entrées, i.e. pm = .
La fonction de transfert du système est :
DBAsICsP +−= −1)()(
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 74
Soit le Hermitien d’un matrice de transfert )(sT ,
)]()([))(( *21 sTsTsTHe T+= ,
où *s dénote le complexe conjugué de s .
Définition 2.9.2
Une matrice de transfert )(sT de fonctions propres et réelles qui n’est pas identiquement nulle est
positive réelle PR si
1. Tous les éléments de )(sT possèdent leurs pôles dans la partie gauche du plan complexe ; 0)Re( >s .
2. Tous les pôles de )(sT sur l’axe ωj sont simples avec des résidus définis positifs
3. La matrice ))(( sTHe est positive semi-définie pour 0)Re( >s .
Définition 2.9.3
Une matrice )(sT de dimension mm × de fonctions rationnelles réelles et propres qui n’est pas
identiquement zéro est strictement positive et réel ou SPR si
1. Tous les éléments de )(sT n’ont pas de pôles dans la région 0≥)Re(s , et
2. La matrice ))(( sTHe est définie positive pour 0>)Re(s .
Problème de Lure On considère le système de commande suivant
)()()( tButAxtx +=
)()()( tDutCxty +=
))(,()( tuttu φ−= (2.9.3)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 75
où φ est continu en ses deux arguments. Lure posa le problème de la stabilité absolue suivant :
Considérons le système décrit par les équations (2.9.3) o ù
1. Toutes les valeurs propres de A possèdent des parties réelles négatives, A peut avoir aussi
un seul pôle à l’origine du plan complexe alors que tous les autres pôles appartiennent à
sa partie gauche ouverte, et
2. ),( bA contrôlable
3. ),( Ac observable
4. La fonction (.,.)φ satisfait
a. 0;0)0,( ≥∀= ttφ et
b. 0)](,[ ≥tytyφ ; ℜ∈∀y , 0>∀t
trouver les conditions sur ),,,( DCBA tel que 0=x est un point d’équilibre GAS du système en
boucle fermée. Noter que dans le cas où l’on connaît mieux la nonlinéarité φ , la dernière condition devient
2
22
1 ))(,( yktytyyk ≤≤ φ ; ℜ∈∀y , 0>∀t
où 021 ≥≥ kk étant des constantes. On dit ainsi que φ appartient au secteur ],[ 21 kk .
La réponse à ce problème a été apportée par Meyer-Kalman-Yakubovich et elle est donnée par le
lemme suivant
Lemme 2.9.1 Meyer-Kalman-Yakubovich (MKY)
Etant donné le système (2.9.3) supposé contrôlable et avec 0=D . Donc, la fonction de transfert
bAsIc 1)( −− est strictement positive réelle (SPR) si et seulement si
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 76
1. Pour toute matrice définie positive et symétrique Q , il existe une matrice symétrique dé-
finie positive P comme solution de l’équation de Lyapunov
QPAPAT −=+
2. Les matrices B et C satisfaisant
PBC T=
Le lemme MKY donne les conditions sous lesquelles une matrice de transfert possède un degré de
robustesse.
Une version modifiée du lemme MKY qui relaxe de la condition de contrôlabilité est donne par le
lemme suivant : Lemme 2.9.2 Meyer-kalman-Yakubovich
Etant donnée un vecteur b , une matrice asymptotiquement stable A , un vecteur réel v , des sca-
laires 0≥γ et 0>ε , et une matrice définie positive Q , donc il existe un vecteur q et une ma-
trice symétrique définie positive P tel que
1. QqqPAPA TT ε−−=+
2. TTT qvPb γ+=
Si et seulement si
1. ε est suffisamment petit
2. la fonction de transfert bAsIvT 1)(2/ −−+γ est SPR
Dans la plupart de nos applications, 0=q . Ces deux lemmes trouvent plusieurs applications
dans les systèmes nonlinéaires. Il est souvent possible de subdiviser un système non-linéaire en un
système linéaire à action directe de l’entrée (feed-forward) et une rétroaction nonlineaire passive.
Le défi sera de mettre le sous-système linéaire sous la forme d’un SPR, pour assurer la stabilité du
système combiné.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 77
2.10 Quelques Théorèmes et Lemmes Utiles On considère le diagramme bloc de la Figure 2.9.2. Les blocs nommés 1H et 2H sont deux systè-mes (linéaires ou nonlinéaires) qui opérant sur les entrées 1e et 2e comme suit
)( 211111 yuHeHy −==
)( 122222 yuHeHy +==
Soient 1H et 2H des matrices de dimensions respectives pm × et mp ×
Le théorème suivant donne les conditions suffisantes pour garantir que le systèmes en boucle fer-
mée de la figure 2.9.2 est stable au sens BIBO.
Théorème du Petit Gain Théorème 2.10.1 : Théorème du petit gain
Soient m
eppep LLH →:1 et p
epmep LLH →:2 . Donc 1H et 2H satisfont les inégalités
11111 )( βγ +≤ TT eeH ; 01 >γ , ℜ∈1β
22222 )( βγ +≤ TT eeH ; 02 >γ , ℜ∈2β
pour tout ),0[ ∞∈T , de plus on suppose que pLu ∞∈1 et mLu ∞∈2 . Si
121 <γγ
Donc pLye ∞∈21, et mLey ∞∈21,
Le théorème du petit gain indique que l’interconnexion de deux systèmes est BIBO stable si le
gain de la boucle est inférieur à l’unité.
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 78
Figure 2.9.2 : Interconnexion de deux systèmes nonlinéaires Théorème de la Stabilité Totale
Théorème 2.10.2 : Stabilité Totale
On considère le système d’état décrit par
);,(),()()( xtgxtftxtAx ++= 0)0( xx =
où
1. le système xtAx )(= est exponentiellement stable, i.e. il existe un 0>a et un 1>K , tel
que
0;)( ≥≤ − tKetx at
2. 0)0,( =tf ; i.e. l’origine est un point d’équilibre de ),( xtf
3. 21121 ),(),( xxxtfxtf −≤− β , pour 01 >β
4. rxtg 2),( β≤ , pour 02 >β
5. 21221 ),(),( xxxtgxtg −≤− β
6. Krx /0 < , 1)( 21 <+
a
Kββ
Donc, il existe une solution unique )(tx donnée par
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 79
rerxKetxtaK
Ka
KtaK ≤−+≤−
−− )1()(
)1(
1
210
)( β
βββ
Le théorème de stabilité totale sera utilisé pour la synthèse des commandes qui feront de la partie
linéaire du système exponentiellement stable.
Lemme 2 .10.1 Bellman-Gronwall
Soit (.),x (.)a , (.)b [ ) [ )∞→∞ ,0,0: , et 0≥T , on suppose que pour tout [ ]Tt ,0∈ , l’inégalité sui-
vante est satisfaite
∫ +≤t
tbdxatx0
)()()()( τττ
Donc pour tout [ ]Tt ,0∈
∫ +≤ ∫t datbdebatx
t
0
)()())()(()( τττ τ
σσ
Si de plus )(tb est une constante, l’inégalité suivante tient
∫≤t
dabetx τ
σσ )()(
Exemple 2.10.1
Considérons un système LTI donné par
BuAxx +=
On suppose que A est une matrice stable, donc la solution de l’équation d’état est donnée par
τττ dBuexetxt tAAt )()0()(0
)(∫ −+=
où
τττ dBuextxet AAt )()0()(0∫
−− +=
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 80
en prenant la norme des deux cotés, on aura
τττ duBextxet AAt )()0()(0∫
−− +=
on peut utiliser le lemme de Bellman-Gronwall en posant )()( ττ uBa = et )0()( xtb = , pour
obtenir
∫=−t
duBAt extxe 0)(
)0()(σσ
ou finalement
∫=t
duBAt exetx 0)(
)0()(σσ
Le lemme suivant peut être utilisée dans le cas des systèmes non autonomes et conduit a un résul-
tat similaire à celui obtenu par le théorème de LaSalle
Lemme 2.10.2 : Barbalat
Soit )(tf une fonction dérivable du temps
• Première Version : Si )(tf est uniformément continue et ∞<=∞→ ktft )(lim , donc
0)(lim =∞→ tft
• Si 0)( ≥tf , 0)( ≤tf , et )(tf est bornée, donc 0)(lim =∞→ tft
Théorème 2.10.3
Soit )(xV une fonction de Lyapunov d’un système continu satisfaisant les propriétés suivantes :
2
22
1 )( xxVx λλ <<
0)( <xV pour 21 xxx <<
0)0( =x
Donc )(tx est uniformément bornée
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 81
Théorème 2.10.4 Soit )(xV une fonction de Lyapunov d’un système continu satisfaisant les propriétés suivantes :
( ) ( )xxVx 21 γγ ≤≤ )(
( ) )()( 33 ηγγ +−≤ xxV
où η est une constante positive, 1γ et 2γ sont des fonctions continues strictement croissantes, et
3γ une fonction continue non-décroissante, donc si
0)( <xV , pour η>)(tx
)(tx est uniformément ultimement bornée. De plus, si 0)0( =x , donc )(tx est uniformément bor-
née.
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 82
Problèmes 2.1 Pour chacun des systèmes suivants, utiliser une fonction quadratique candidate de Lyapunov
pour montrer que l’origine est asymptotiquement stable
(1) 2111 xxxx +−= 22 xx −=
(2) )( 22
21121 1 xxxxx −−+−= )( 2
221212 1 xxxxx −−−=
(3) )( 2121 1 xxx −= ))(( 2
1212 1 xxxx −+−=
(4) 211 xxx −−= 3212 2 xxx −=
2.2 Les équations d’Euler d’un vaisseau spatial sont données par
1323211 uJJJ +−= ωωω )(
2131322 uJJJ +−= ωωω )(
3212133 uJJJ +−= ωωω )(
où les 321 ,,, =iiω sont les composantes du vecteur de vitesse angulaire ω selon les axes princi-
paux , 321 ,,, =iui sont les couples appliqués autour des axes principaux, et 321 ,,, =iJi sont les
moments d’inertie principaux.
a) Montrer qu’avec 0321 === uuu , l’origine 0=ω est stable. Est-il asymptotiquement
stable ? b) Supposons que les couples appliquées sont de la forme iii ku ω−= ou 321 ,,, =iki sont des
scalaires positifs. Montrer que l’origine du système en boucle fermée est globalement
asymptotiquement stable.
2.3 Soit )(xg une application de nℜ dans nℜ . Montrer que )(xg est le vecteur gradient d’une
fonction scalaire nnV ℜ→ℜ: si est seulement si
,i
j
j
i
x
g
x
g
∂
∂=
∂∂
nji ,,,, …21=∀
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 83
2.4 On considère le système
21 xx = )()( 21212 xxhxxx +−+−=
où h est une fonction continûment dérivable et ℜ∈∀> zzzh ,)( 0 , Trouver une fonction de Lya-
punov utilisant la méthode du gradient variable, pour montrer que l’origine est globalement
asymptotiquement stable.
2.5 On considère le système de second ordre
22
11 2
6x
u
xx +
−= ,
2
212
2
u
xxx
)( +−=
où 211 xu += .
Soit 22
21
21 1 xxxxV ++= )/()(
a) Montrer que 0>)(xV et 0<)(xV pour tout 02 −ℜ∈x .
b) Montrer que l’origine n’est pas globalement asymptotiquement stable.
2.6 Pour chacun des systèmes suivants, montrer que l’origine est instable
(1) 221
311 xxxx += 2
2213122 xxxxxx ++−−=
(2) 2311 xxx +−= 3
2612 xxx −=
2.7 Montrer que l’origine est globalement asymptotiquement stable pour le système
21 xx = 32
312 xxx −−=
2.8 La dynamique d’un système masse-ressort est donnée par
yycyckyMgyM 21 −−−=
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 84
Montrer que le système possède un point d’équilibre globalement asymptotiquement stable
2.9 On considère le système linéaire
xPBBRAx T )( 1−−= , 0>= TPP ,
satisfaisant l’équation de Ricatti
01 =−++ − PBPBRQPAPA TT
0>= TRR , and 0≥= TQQ . Utilisant la fonction candidate de Lyapunov PxxxV T=)( , mon-
trer que l’origine est globalement asymptotiquement stable quand
(i) 0>Q
(ii) CCQ T= , et ),( CA est observable.
2.10 On considère le système
1321 +−= xxx , 2312 xxxx −= , )( 3233 1 xxx −=
(a) Montrer que le système possède un point d’équilibre unique
(b) En utilisant la linéarisation, montrer que le point d’équilibre est asymptotiquement stable.
La stabilité est-t-elle globale ?
2.11 Pour chacun des systèmes linéaires suivants, employer une fonction quadratique de Lyapu-
nov pour montrer que l’origine est exponentiellement stable (dans tous les cas ( )tα est supposée
continue et bornée pour tout 0t ≥ )
(1) ( )
,( )1
1
tx x
t
αα−⎡ ⎤
= ⎢ ⎥−⎣ ⎦ ( ) 1tα ≤ (2)
( ),
( )1
2
tx x
t
αα−⎡ ⎤
= ⎢ ⎥− −⎣ ⎦
(2) ,( )
0 1
1x x
tα⎡ ⎤
= ⎢ ⎥− −⎣ ⎦ ( ) 2tα ≥ (4) ,
( )1 0
2x x
tα−⎡ ⎤
= ⎢ ⎥−⎣ ⎦
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 85
2.12 On considère le système
xxxxSIax Tn ])([ ++−=
où a est une constante positive, et )(xS est une matrice antisymétrique qui dépend de x . Mon-
trer que l’origine est globalement asymptotiquement stable pour ce système.
2.13 Montrer que le système
baxx +−= 11 )( 21122 xxxcxx βα −+−=
avec tous les coefficients sont positives, possède un point d’équilibre globalement exponentielle-
ment stable.
2.14 On Considère le système
)(xfx =
et on suppose qu’il existe une fonction ),( xtV satisfaisant
)(),()( xWxtVxW 22 ≤≤ , 0>≥∀ rx
0<∂∂
+∂∂ ),( xtf
x
V
t
V, rrx >≥∀ 1
où )(xW1 et )(xW2 , sont deux fonctions continues définies positives.
Montrer que les solutions du système sont uniformément bornées.
2.15 Pour chacun des systèmes suivants étudier la stabilité au sens de ∞L
(1) 31 xux )( +−= (2) 531 xxux −+−= )(
xy = uxy +=
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 86
(3) uxxx ++−= )/( 21 (4) uxxxx 23 +−−=
)/( 21 xxy += uxy sin=
(5) 22111 xxxx +−= uxxx +−−= 2
312 1xy =
(6) 211 xxx +−= uxxx +−−= 2312 2xy =
(7) 1211 uxxx +−−= 23212 uxxx +−= )( uxxy += 21
(8) 21 xx = uxxx +−−= 2312 2xy =
2.16 Soit )(sH une fonction de transfert strictement propre et stable, et soit )()( sHLth 1−= sa
réponse impulsionnelle, Montrer que
dtthjH ∫∞
ℜ∈
≤0
)()(supω
ω
2.17 On considère le système
211 xxx +−= uxxxx +−+= 2112 )(σ 2xy =
où σ est localement Lipschitz, 00 =)(σ , et 0≥)(zzσ , ℜ∈∀z
(a) Le système est-t-il stable au sens de ∞L ? (b) Le système est-t-il stable au sens de 2L ? Si oui, trouver une borne supérieure sur le gain
2L
2.18 Montrer que le système suivant est stable au sens de 2L et trouver une borne supérieure
sur le gain 2L
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 87
21 xx =
ukxxax +−−= 212 sin
2xy =
,0>a 0>k
2.19 On considère le système de la Figure 2.9.2, où 1H et 2H sont données par
⎪⎩
⎪⎨
⎧
=+−−=
+−=
21
12311
211
1
xy
exxx
xxx
H : ⎪⎩
⎪⎨⎧
=+−=332
12
2333
2xy
exxH :
Soit 02 =u , 1uu = l’entrée du système et 1yy = sa sortie
(a) En choisissant [ ]Txxxx 321= comme vecteur d’état du système, trouver le modèle
d’état du système
(b) Le système est-t-il stable au sens de 2L .
CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 88
89
Chapitre 3
Dynamique des Robots Rigides
3.1 Introduction Dans ce chapitre nous traitons les aspects fondamentaux de la dynamique des robots. Ce chapi-
tre fourni les éléments requis pour la commande des manipulateurs robotique. La dynamique des
robots se présente sous la forme d’équations différentielles nonlinéaires de second ordre. Nous
détaillerons aussi les propriétés fondamentales de la dynamique des robots, de tels propriétés sont
un élément clé pour la synthèse des lois de commande en robotique.
3.2 Dynamique d’Euler Lagrange
Dans cette section nous ignorons les dynamiques des actionneurs, de n’importe quelle nature
qu’ils soient, électriques, hydrauliques ou pneumatiques.
Force Inertie, et Energie
La force centripète d’une masse m orbitant un point à un rayon r et une vitesse angulaire ω est
donnée par
rmrmr
mvFcent
222
θω === (3.2.1)
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 90
Voir Figure 3.2.1. La vitesse linéaire v est donnée par
rv ×= ω (3.2.2)
qui dans ce cas, signifie simplement que rv ω=
Imaginons une sphère (e.g. la terre) tournant autour de son centre avec une vitesse angulaire
0ω (voir Figure 3.2.2), la force de Coriolis sur le corps d’une masse m se déplaçant avec une vi-
tesse v sur la surface de la sphère est donnée par
vmFcor ×−= 02 ω (3.2.3)
Figure 3.2.1 Force Centripète
Utilisant la règle de la main droite on voit donc d’après la Figure 3.2.2 que la force de Coriolis a
tendance à faire orienter la masse m vers la droite.
Dans un système climatique à faible pression, la masse de l’air se déplace vers le centre en bas.
La force de Coriolis est responsable à faire orienter la masse de l’air vers la droite et donc causer
une circulation de la masse de l’air dans un sens anti-horaire, ce phénomène est connu comme
l’écoulement cyclonique. Le résultat est un mouvement tourbillonnant dans un ouragan. Un
examen bref de la Figure 3.2.2 révèle que dans l’hémisphère sud, corF guide une masse mobile
vers la gauche, de sorte qu’un système à faible pression aurait un mouvement de vent dans le
sens des aiguilles d’une montre.
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 91
Puisque θω =0 et ϕRv = , on peut écrire
ϕϕθϕϕθ cos2)90sin(2 mRRmFcor −=+−= (3.2.4)
Noter que la force centripète fait intervenir le carrée d’un angle, alors que la force de Coriolis fait
intervenir le produit de deux vitesses angulaires.
L’énergie cinétique d’une masse se déplaçant avec une vitesse linéaire v est
2
21 mvK = (3.2.5)
L’énergie cinétique d’une masse m munie d’un mouvement de rotation (Figure 3.2.1) est donnée par
221 ωIKrot = (3.2.6)
où le moment d’inertie I est donnée par
∫=vol
drrrI 2)(ρ (3.2.7)
où )(rρ est la distribution massique de la masse m au rayon r dans un volume. Dans le cas sim-
ple où la masse m est une masse ponctuelle, cette relation se réduit à
2mrI = (3.2.8)
Donc, 22
21 θmrKrot = (3.2.9)
L’énergie potentielle d’une masse m à une hauteur h dans un champs gravitationnel de cons-
tante g est donnée par
mghP = (3.2.10)
L’origine correspondant à une énergie potentielle nulle peut être choisie arbitrairement puisque
seulement les différences qui prennent sens en termes de forces physiques.
Le moment d’une masse m de déplaçant avec une vitesse v est donnée par
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 92
mvp = (3.2.11)
Le moment angulaire d’une masse m par rapport à un point d’origine à partir duquel la masse
m est à une distance r est
prPang ×= (3.2.12)
Le couple ou le moment d’une force F par rapport au même origine est définie par
FrN ×= (3.2.13)
Figure 3.2.2 : Force de Coriolis
Equations de Mouvement de Lagrange
Les équations de mouvement de Lagrange d’un système conservatif sont données par
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 93
τ=∂∂
−∂∂
q
L
q
L
dt
d (3.2.14)
où q est un vecteur de dimension n des coordonnées généralisées iq du manipulateur, τ est un
vecteur de dimension n des forces généralisées iτ appliquées aux articulations, et le Lagrangien
est définie comme étant la différence entre l’énergie cinétique et l’énergie potentielle, tel que
PKL −= (3.2.15)
Dans notre usage, q sera le vecteur des variables articulaires dont les composantes sont des angles
iθ ou des offsets id selon la nature de l’articulation. Donc, τ est un vecteur dont les composan-
tes sont soit des couples in relatifs aux joints de rotation ou de forces if relatives aux joints
prismatiques.
Exemple 3.2.1 : Dynamique d’un Bras Polaire à 2 DOF
La cinématique d’un robot polaire à 2-DOF (RP) a été élaboré dans l’exemple 1.2.3. Pour dé-terminer sa dynamique, examinons la Figure 3.2.3 où les vecteurs des variables articulaires et le
vecteur des variables de vitesses articulaires sont
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
rq
rq
θθ;
Le vecteur des forces généralisées est
⎥⎦
⎤⎢⎣
⎡=
f
nτ
où n est un couple et f est une force.
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 94
Figure 3.2.3 : Bras RP planaire à 2-DOF
a. Energies Potentielle et Cinétique
L’énergie cinétique totale est due au mouvement angulaire caractérisé par la vitesse angulaire θ
et au mouvement linéaire caractérisé par la vitesse linéaire r . Elle est donnée par
2
2122
21 rmmrK += θ
et l’énergie potentielle est donnée par
θsinmgrP =
b. Equations de Lagrange
Le Lagrangien est définie par
θθ sin22122
21 mgrrmmrPKL −+=−=
Obtenons ensuite :
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
∂∂
∂∂∂∂
rm
mr
q
L
rL
L θ
θ
θ2
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 95
⎥⎦
⎤⎢⎣
⎡ +=
∂∂
rm
rmrmr
q
L
dt
d θθ 22
⎥⎦
⎤⎢⎣
⎡−
−=
∂∂
θθθ
sin
cos2 mgmr
mgr
q
L
D’après 3.2.14, la dynamique de ce bras s’écrira
nmgrrmrmr =++ θθθ cos22
fmgmrrm =+− θθ sin2
C’est un ensemble d’équations différentielles nonlinéaires et couplées qui décrivent la relation en-
tre le vecteur des composantes articulaire et ses dérivés premières et secondes avec les couples et
les forces d’entrée )(tn et )(tf . Les premiers termes de chacune des équations ci-haut sont les
termes d’accélérations impliquant les masses et les moments d’inertie. Le second terme de la
première équation est un terme de Coriolis, tandis que le second terme de la deuxième équation
est un terme de force centripète. Le troisième terme dans les deux équations est un terme de gra-
vité.
c- Dynamique du Manipulateur
Les deux équations dynamiques ci-haut, peuvent se présenter sous une forme plus adéquate utili-
sant la représentation matricielle, comme
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡
−+⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡f
n
mg
mgr
mr
rmr
rm
mr
θθ
θθθ
sin
cos2
0
02
2
On symbolise cette représentation comme
τ=++ )(),()( qGqqVqqM
)(qM est la matrice des masses généralisées, ),( qqV est le vecteur des termes des forces centripè-tes et de Coriolis, et )(qG est le vecteur des forces gravitationnelles.
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 96
Exemple 3.2.2 : Dynamique d’un Bras Planaire RR à 2-DOF
La cinématique d’un Bras polaire à 2-DOF (RR) a été élaborée dans l’exemple 1.2.2. Pour dé-terminer sa dynamique, examinons la Figure 3.2.4 où la masse de chaque lien est supposée être
concentrée à son extrémité.
Le vecteur des variables des joints est
⎥⎦
⎤⎢⎣
⎡=
2
1
θθ
q
et le vecteur des forces généralisées est
⎥⎦
⎤⎢⎣
⎡=
2
1
ττ
τ
où 1τ et 2τ sont les couples appliqués aux articulations
Figure 3.2.4 : Bras RR à 2 DOF
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 97
a- Energies Cinétique et Potentielle
Pour le lien 1 l’expression des énergies cinétique et potentielle sont :
21
2112
11 θamK =
1111 sinθgamP =
Pour le lien 2, nous avons
)cos(cos 212112 θθθ ++= aax
)sin(sin 212112 θθθ ++= aay
)sin()(sin 212121112 θθθθθθ ++−−= aax
)cos()(cos 212121112 θθθθθθ +++= aay
Le carrée de la vitesse est
22
22
22 yxv +=
2212121
221
22
11
21 cos)(2)( θθθθθθθ ++++= aaaa
Ainsi, l’énergie cinétique du second lien est
2222
12 vmK =
22121212
221
2222
111
2122
1 cos)()( θθθθθθθ ++++= aamamam
L’énergie potentielle du lien 2 est
)]sin(sin[ 212112222 θθθ ++== aagmgymP
b- Equations de Lagrange
Le Lagrangien du bras est
2121 PPKKPKL −−+=−=
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 98
22121212
221
2222
111
21212
1 cos)()()( θθθθθθθ +++++= aamamamm
)sin(sin)( 21221121 θθθ +−+− gamgamm
Les termes requis pour (3.2.14) sont
221212212221
2121
1
cos)2()()( θθθθθθθ
+++++=∂∂
aamamammL
2222121222121221
2221
2121
1
sin)2(cos)2()()( θθθθθθθθθθθ
+−+++++=∂∂
aamaamamammL
dt
d
)cos(cos)( 212211211
θθθθ
+−+−=∂∂
gamgammL
2121221222
2
cos)( θθθθθ
aamamL
++=∂∂
2212122121221222
2
sincos)( θθθθθθθθ
aamaamamL
dt
d−++=
∂∂
)cos(sin)( 212212121212
2
θθθθθθθ
+−+−=∂∂
gamaamL
Finalement, selon les équations de Lagrange, la dynamique du bras sera donnée par les équations
différentielles couplées de deuxième ordre
12212222
21211 ]cos2)[( θθτ aamamamm +++=
2222121222212
222 sin)2(]cos[ θθθθθθ +−++ aamaamam
)cos(cos)( 21221121 θθθ ++++ gamgamm
2212122
22212212
2222 sin]cos[ θθθθθτ aamamaamam +++=
)cos( 2122 θθ ++ gam
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 99
c- Dynamique du manipulateur
La dynamique du manipulateur sous sa forme vectorielle donne
τ=++ )(),()( qGqqVqqM
avec
⎥⎦
⎤⎢⎣
⎡
+++++
=2222212
222
22122222212
222
2121
cos
coscos2)()(
amaamam
aamamaamamammqM
θθθ
⎥⎦
⎤⎢⎣
⎡ +−=
221212
22221212
sin
sin)2(),(
θθθθθθ
aam
aamqqV
⎥⎦
⎤⎢⎣
⎡+
+++=
)cos(
)cos(cos)()(
2122
21221121
θθθθθ
gam
gamgammqG
⎥⎦
⎤⎢⎣
⎡=
2
1
ττ
τ
où )(qM est la matrice des masses généralisées, ),( qqV est le vecteur des termes des forces cen-
tripètes et de Coriolis, et )(qG est le vecteur des forces gravitationnelles. Noter que )(qM est
symétrique.
Exemple 3.2.3 : Dynamique du Bras Cylindrique à 3-DOF
La cinématique d’un Bras cylindrique à 3-DOF (RPP) a été élaborée dans l’exemple 1.2.1. Selon
la Figure 3.2.5, les variables des joints sont
Trhq ][θ=
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 100
Nous laissons le soin au lecteur de développer la dynamique de ce bras et de montrer que les
équations dynamiques peuvent être écrites comme :
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡++
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
++
3
2
1
21
22
2
2
21
22
0
)(
0
0
2
00
00
00
f
f
n
gmm
rm
rrm
r
h
m
mm
rmJ
θ
θθ
où J est le moment d’inertie du lien de la base et le vecteur des forces généralisées f
[ ]Tffnf 321=
Figure 3.2.5 : Bras Cylindrique à 3-DOF
Dérivation de la Dynamique du Manipulateur
Nous avons montré par plusieurs exemples comment appliquer les équations de Lagrange pour
déterminer les équations dynamiques d’un robot manipulateur donné. Dans tous les exemples,
cette dynamique est vue avoir la forme
τ=++ )(),()( qGqqVqqM (3.2.16)
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 101
avec q étant le vecteur des variables de joints et τ est le vecteur des forces généralisées (qui
peuvent être soit des forces ou des couples, selon la nature du joint). Dans cette sous-section
nous allons développer la dynamique d’un robot manipulateur général. Nous montrerons en par-
ticulier, que cette dynamique aura la même structure de (3.2.16).
Nous allons suivre la même procédure de dérivation utilisée dans les exemples précédents : i.e. déterminer l’expression des énergies cinétiques et potentielles, le Lagrangien, et enfin utiliser les
équations de Lagrange pour dériver les équations générales de la dynamique du bras manipula-
teur.
Energie Cinétique du Bras
Etant donnée un point sur un lien i de coordonnées ir par rapport au repère attaché au repère i attaché au lien, les coordonnées de ce point dans le repère de base est :
iirTr = (3.2.17)
rappelons que iT est la matrice de transformation homogène de dimension 44 × développé au
Chapitre 1. Rappelons aussi que iT est une fonction des variables des joints iqqq ,,, 21 … . Par
conséquent, la vitesse du point dans les coordonnées de base est
ii
jj
j
i rqq
T
dt
drv ∑
= ⎥⎥⎦
⎤
⎢⎢⎣
⎡
∂∂
==1
(3.2.18)
Puisque ijqT ji >=∂∂ ,0/ , on peut remplacer la limite de la sommation supérieure par n , le
nombre de liens du robot. La matrice ji qT ∂∂ / de dimension 44 × peut être calculée si les ma-
trices iT sont connues.
L’énergie cinétique d’un masse infinitésimale dm à ir qui possède une vitesse [ ]Tzyx vvvv =
est
dmvvdmvvvdK Tzyxi )trace()(
21222
21 =++=
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 102
dmqqq
Tdmrr
q
Tn
j
n
kkj
k
TiTii
j
i
⎥⎥⎦
⎤
⎢⎢⎣
⎡
∂∂
∂∂
= ∑∑= =1 1
21 )(trace (3.2.19)
L’énergie cinétique totale pour le lien i est donnée donc par
∫=i
ii dKK link
Pour la substitution de idK dans (3.2.19), on peut déplacer l’intégrale à l’intérieur de la somma-
tion. Ensuite, définissons la matrice de pseudo-inertie pour le lien i comme
∫=i
Tiii dmrrI
link: (3.2.20)
on peut écrire l’énergie cinétique comme
⎥⎥⎦
⎤
⎢⎢⎣
⎡
∂∂
∂∂
= ∑∑= =
n
j
n
kkj
k
Ti
ij
ii qq
q
TI
q
TK
1 121 trace (3.2.21)
Discutons brièvement de la matrice de pseudo-inertie avant d’aborder la dérivation l’énergie ciné-tique totale du bras. Soit
[ ]Ti zyxr 1=
les coordonnées de l’élément de masse infinitésimal dm dans le repère i . Donc, l’extension de
(3.2.20) donne
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
=
∫∫∫∫∫∫∫∫∫∫∫∫∫∫∫∫
dmzdmydmxdm
zdmdmzyzdmxzdm
ydmzydmdmyxydm
xdmzxdmyxdmdmx
I i 2
2
2
(3.2.22)
où les intégrales sont calculées sur le volume du lien i . iI est une matrice constante évaluée pour
chaque lien. Elle dépend de la géométrie et la distribution de masse du lien i . En effet, en ter-
mes des moments d’inertie du lien i , l’on a
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 103
dmzyI xx )( 22 += ∫
dmzxIyy )( 22 += ∫
dmyxI zz )( 22∫ += (3.2.23)
les produits mixtes des inerties sont
∫= xydmI xy
∫= xzdmI xz
∫= yzdmIyz (3.2.24)
et les premiers moments sont
∫= xdmxm
∫= ydmym
∫= zdmzm (3.2.25)
avec m est la masse totale du lien i , et
Ti zyxr ]1[= (3.2.26)
sont les coordonnées du centre de gravité du lien i dans le repère i , et on peut écrire
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
= −+
+−
++−
mzmymxm
ymIyzIxz
ymIyzIxy
xmIxzIxy
Izzyyxx
zzyyxx
zzyyxx
III
III
III
i
2
2
2
(3.2.27)
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 104
Revenons maintenant à notre développement, et écrivons l’énergie totale du bras comme
∑ ∑∑∑= = == ⎥
⎥⎦
⎤
⎢⎢⎣
⎡
∂∂
∂∂
==n
i
n
j
n
kkj
k
Ti
ij
in
ii qq
q
TI
q
TKK
1 1 121
1
trace (3.2.28)
Puisque la trace de la somme de matrices est la somme des traces individuelles, l’on peut inter-
changer les sommations et l’opérateur de la trace pour obtenir
∑∑= =
=n
j
n
kkjjk qqqmK
1 121 )(
ou
qqMqK T )(21= (3.2.29)
où les éléments de la matrice )(qM de dimension nn × sont définis par
∑= ⎥
⎥⎦
⎤
⎢⎢⎣
⎡
∂∂
∂∂
=n
i k
Ti
ij
ijk
q
TI
q
Tqm
1
trace)( (3.2.30)
Puisque ijqT ji >=∂∂ ,0/ , on peut écrire cette relation sous une expression plus élégante
comme
∑= ⎥
⎥⎦
⎤
⎢⎢⎣
⎡
∂∂
∂∂
=n
kji k
Ti
ij
ijk
q
TI
q
Tqm
),max(
trace)( (3.2.31)
L’équation (3.2.29) fournit une expression convenable de l’énergie cinétique du bras en fonction
de quantités connues et des variables des joints q . Puisque jkkj mm = , la masse d’inertie est
donc symétrique. Puisque l’énergie cinétique est une quantité positive, qui s’annule uniquement
lorsque q est nul, donc la matrice d’inertie est aussi définie positive.
Energie Potentielle du Bras
Si un lien i de masse im et un centre de masse ir exprimée dans son repère des coordonnées i ,
l’énergie potentielle du lien est donnée par
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 105
i
iT
ii rTgmP −= (3.2.32)
où le vecteur de la gravité est exprimé dans les coordonnées de base comme
[ ]Tzyx gggg 0= (3.2.33)
L’énergie potentielle totale est donc
∑=
−=n
i
ii
Ti rTgmP
1
(3.2.34)
Noter que P dépend uniquement des variables des joints q .
En notant que iirm est la dernière colonne de la matrice de pseudo-inertie du lien i , on peut
écrire
∑=
−=n
iii
T eIqTqqP1
4)()( (3.2.35)
où 4e est la dernière colonne de la matrice identité 4I , i.e. [ ]Te 10004 = .
Equations de Lagrange
Le Lagrangien est
)()()(),(),(21 qPqqMqqPqqKqqL T −=−= (3.2.36)
Remarquons la propriété fondamentale que l’énergie cinétique est une fonction quadratique du
vecteur de vitesses généralisées et que l’énergie potentielle est indépendante de q .
Les termes requis par l’équation (3.2.14) sont maintenant données par
qqMq
K
q
L)(=
∂∂
=∂∂
(3.2.37)
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 106
qqMqqMq
L
dt
d)()( +=
∂∂
(3.2.38)
( )q
qPqqMq
L T
∂∂
−∂∂
=∂∂ )(
)(2
1 (3.2.39)
Par conséquent, l’équation de la dynamique du bras est
( ) τ=∂
∂−
∂∂
−+q
qPqqMq
qqqMqqM T )(
)()()(21 (3.2.40)
Définissons le vecteur des forces centripètes et des termes de Coriolis comme
( )q
KqqqMqqMq
qqqMqqV T
∂∂
−=∂∂
−= ),()()()(21 (3.2.41)
et le vecteur des termes de gravité comme
,)(
)(q
qPqG
∂∂
= (3.2.42)
et l’on peut écrire finalement
τ=++ )(),()( qGqqVqqM (3.2.43)
qui est la forme définitive de l’équation de la dynamique du robot que nous tentions de chercher.
3.3 Structures et Propriétés des Equations Dynami-
ques du Robot
En réalité, un bras de robot est toujours affecté par les frottements et les perturbations. Ainsi,
on doit généraliser le modèle du bras en incluant l’effet de ces deux termes en l’on peut écrire
ττ =++++ dqGqFqqVqqM )()(),()( (3.3.1)
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 107
Dans cette équation nous avons ajouté, un terme de frottement
dv FqFqF +=)( (3.3.2)
où vF est une matrice des coefficients de frottement visqueux et dF est un terme de frottement
dynamique. Nous avons ajouté aussi un terme dτ correspondant à un vecteur de perturbations,
pouvant inclure par exemple l’imprécision des dynamiques modélisées ou aussi des effets externes
de nature inconnues.
Le terme de frottement n’est pas facile à modéliser, et peut être vu comme étant le terme le plus
compliquée à décrire dans la dynamique du robot.
On est amené parfois à écrire la dynamique du robot comme
ττ =++ dqqNqqM ),()( (3.3.3)
où
)()(),(),( qGqFqqVqqN ++= (3.3.4)
représentant le terme nonlinéaire.
Propriétés de la Matrice d’Inertie
Comme nous avons vu plut tôt, )(qM est matrice symétrique et définie positive. En effet,
l’énergie cinétique du bras est
qqMqK T )(21= (3.3.5)
Une autre propriété importante de )(qM est qu’elle est bornée, par des bornes supérieure et infé-
rieure, de façon que
IqMI 21 )( µµ ≤≤
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 108
où 1µ et 2µ sont des scalaires qui peuvent être calculés pour un bras donné. (Voir exemple
3.3.1). Le fait d’écrire, par exemple, )(1 qMI ≤µ , est équivalent à dire que ( )IqM 1)( µ− est
une matrice semi-positive. En d’autres termes,
( ) nT xxIqMx ℜ∈∀≥− ,0)( 1µ (3.3.6)
De même, l’inverse de la matrice d’inertie est aussi bornée, puisque
IqMI1
1
2
1)(
1
µµ≤≤ − (3.3.7)
Si les articulations du bras sont de rotation, les bornes 1µ et 2µ sont constantes, puisque q
apparaît dans )(qM à travers des termes de sin et de cos (Voir Exemples 3.2.2 et 3.3.1). D’autre
part, si le bras possède des joints prismatiques, donc 1µ et 2µ peuvent être des fonctions scalai-
res de q . (Voir Exemple 3.2.1, o ù la borne supérieure de )(qM est 22 mr=µ (si 1>r )).
La propriété de bornage de )(qM peut être exprimée comme
21 mqMm ≤≤ )( (3.3.8)
où toute norme induite de la matrice )(qM peut être utilisée pour définir les scalaires positifs 1m
et 2m .
Propriétés du terme Centripète/Coriolis
L’équation (3.2.41) révèle un problème qui, s’il n’est pas bien saisi, peut aboutir à une confusion.
La simplification du terme ),( qqV exigerait la dérivation de la matrice d’inertie )(qM par rap-
port au vecteur q . Par contre, ces dérivées ne sont pas des matrices, mais des tenseurs d’ordre 3,
en effet, ils doivent être représentés par 3 indices et non deux. Il y a plusieurs façons de contour-
ner ce problème, impliquant des définitions de nouvelles quantités.
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 109
Analyse du Produit de Kronecker de )qV(q,
Examinons le terme ),( qqV du point de vue du produit de Kronecker, lequel est définit pour deux
matrices mnA ×ℜ∈ et qpB ×ℜ∈ comme
mqnp
ijBaBA ×ℜ∈=⊗ ][ (3.3.9)
ou ija est le ijème élément de A et ][ Baij signifient le bloc matriciel mqnp × composé des qp ×
blocs Baij . Pour 33×ℜ∈A , nous avons
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=⊗
BaBaBa
BaBaBa
BaBaBa
BA
333231
232221
131211
Pour les matrices )(),( qBqA , nq ℜ∈ , définissons la dérivée de la matrice comme
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=∂∂
∂∂
∂∂
nqA
qA
q
A 1
, (3.3.10)
D’autre part, on peut prouver la loi du produit
Bq
A
q
BAIqBqA
qn ∂
∂+
∂∂
⊗=∂∂
)()]()([ (3.3.11)
Examinons maintenant le vecteur de termes de Coriolis et Centripètes ),( qqV . Utilisant (3.3.11)
deux fois sur (3.2.42), on peut obtenir
qqMqq
qqMqqV T⎥⎦
⎤⎢⎣
⎡∂∂
−= ))((2
1)(),( (3.3.12)
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 110
,)(2
1)(),( q
q
MqIqqMqqV T
n ∂∂
⊗−= (3.3.13)
ou
[ ]qqqUqMqqV ),()(),( 21−= (3.3.14)
où
q
MqIqqU T
n ∂∂
⊗= )(:),( (3.3.14)
qqqVqqV m ),(),( 1= (3.3.15)
avec la matrice des coefficients donnée par
UMqqVm 21
1 −=:),( (3.3.16)
Pour trouver une expression équivalente à 1mV , notons que
i
n
i i
MqM ∑
= ∂∂
=1
)( (3.3.17)
qui peut être écrite comme
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
∂∂
∂∂
nqM
qM
n
n
M …1
1
1
(3.3.18)
q
MIq n
T
∂∂
⊗= )(
ou comme
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 111
)(
1
1
1n
T
n
nn
Iqq
M
q
q
q
q
q
M
q
MM ⊗⎥
⎦
⎤⎢⎣
⎡∂∂
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎦
⎤⎢⎣
⎡∂∂
∂∂
= … (3.3.19)
Notons que iqM ∂∂ / est symétrique. Donc,
[ ] ,)()(),(21
1q
MqIIqqqV T
nnm ∂∂
⊗−⊗= (3.3.20)
d’où, en utilisant les définitions appropriées, on peut écrire
qqVqVqqV pv )()(),( = . (3.3.21)
Il est aussi possible d’écrire (Voir Problèmes)
qqVqVqqV vp )()(),( 11= . (3.3.22)
Puisque )(qVv est linéaire en q , il s’en suit que ),( qqV est quadratique en q . En effet il peut
être montrée que (voir problèmes) :
qqVqIq
qV
qV
qV
qI
qqVq
qqVq
qqVq
qqV Tn
n
Tn
nT
T
T
)()(
)(
)(
)(
)(
)(
)(
)(
),(2
1
2
1
⊗=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⊗=
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
= (3.3.23)
pour une définition appropriée de )(qVi . En effet, les )(qVi sont des matrices symétriques de di-
mension nn × .
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 112
Puisque ),( qqV est quadratique en q , elle peut être bornée supérieur par une fonction quadrati-
que en q tel que,
2
)(),( qqvqqV b≤ (3.3.24)
avec )(qvb est une fonction scalaire connue et . est une norme appropriée quelconque. Pour un
bras articulaire de révolution, bv est indépendante de q . Voir exemples 3.2.2 et 3.3.1, où les ter-
mes quadratiques sont multipliées par 2sinθ , dont l’amplitude est bornée par 1. D’autre part,
pour un bras prismatique, bv peut être une fonction de q . Voir exemples 3.2.1 et 3.2.3, où
),( qqV possède un terme r multipliant les termes quadratiques θr et 2θ .
Pour aider à la détermination de )(qvb pour un bras de robot donné, noter que qqI Tn =⊗ ,
de façon que
2
)(),( qqVqqV ≤
où )(qV est comme définie en (3.3.23). Donc pour un bras articulaire de rotation
)(sup qVvq
b = (3.3.25)
On peut noter que
>=<
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
qIqqqI
n
nn :)()( 2
1
(3.3.26)
C’est un vecteur de dimension 2n composées de tous les produits possibles des composantes de q .
Ce résultat avec la relation (3.3.19) nous permettent de montrer que
qUqM T= (3.3.27)
dans cette preuve nous avons aussi besoin de l’identité
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 113
TTT BABA ⊗=⊗ )( (3.3.28)
pour toute matrices A et B . Noter qu’il n’est pas vrai que TUM = .
Maintenant nous somme en mesure d’utiliser ces identités pour montrer que
MqIqIq
q
MqqV T
nn
T
∂∂
⊗−⊗⎥⎦
⎤⎢⎣
⎡∂∂
= )()(),(21
et que
[ ]qqqUqqUqqV T ),(),(),(21−= (3.3.29)
Donc,
qqqVqqV m ),(),( 2= (3.3.30)
avec
),(),(),(21
2 qqUqqUqqV Tm −= (3.3.31)
Noter qu’en général, 21 mm VV ≠
En termes de M et U , la dynamique du bras peut être écrite comme
[ ] τ=+−+ )(),(),()(21 qGqqqUqqUqqM T (3.3.32)
A ce stade d’analyse, on peut prouver une identité extrêmement importante dans la synthèse des
lois de commande avancées des manipulateurs. On appelle cette propriété, la propriété de l’anti-
symétrie ; elle montre que la dérivée de )(qM et le vecteur des termes de Coriolis sont liés d’une
manière très particulière. En effet,
qUUUqqVMq TTTm
T )2()2( 2 +−=−
0)( =−= qUUq TT (3.3.33)
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 114
puisque la différence entre une matrice et sa transposée est toujours anti-symétrique. Cette pro-
priété tient aussi si 1mV est utilisée au lieu de 2mV .
Il est important de noter que la première égalité dans (3.3.33) tient puisque )2( 2mVM − multiplie
q . Puisque TUM ≠ , donc il n’est pas nécessairement vrai que )2( 2mVM − est elle-même anti-
symétrique. Par contre, il est possible de définir une matrice ),( qqVm tel que
qqqVqqV m ),(),( = (3.3.34)
et
qqqVqMqqS m ),(2)(:),( −= (3.3.35)
est anti-symétrique, de sorte que nT xSxx ℜ∈∀= ,0 . En effet, selon (3.3.13) et (3.3.27) on peut
définir
)(),(21 UUMqqV T
m −+= (3.3.36)
pour exprimer la matrice anti-symétrique comme
),(),(),( qqUqqUqqS T−= (3.3.37)
mV est le terme standard utilisé dans plusieurs algorithmes de commandes adaptatives et robustes
des robots manipulateurs, et on doit se rappeler de sa définition, puisque c’est le terme qui sera
utilisé dans la suite de ce document. Ainsi, on doit écrire la dynamique du bras soit comme
τ=++ )(),()( qGqqVqqM (3.3.38)
ou
τ=++ )(),()( qGqqqVqqM m (3.3.39)
Noter qu’on peut décomposer ),( qqV en sa composante de Coriolis et centripète comme
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 115
><+><= 2)(’)(),( qqVqqqVqqV cencor (3.3.40)
où
][: 222
21
2nqqqq …=>< (3.3.41)
et ’>< qq est tout simplement la relation donnée par (3.3.36) avec l’omission de tous les termes
carrées 21q .
Analyse de )qV(q, en Termes de ses Composantes
Il existe une alternative à l’analyse par le produit de Kronecker du vecteur des termes centripètes et de Coriolis et qui consiste en une analyse en termes des composantes scalaires de ),( qqVm , ceci
donne à l’analyse une perspicacité additionnelle.
En termes des composantes )(qmkj de la matrice d’inertie )(qM on peut écrire (3.2.28) et
(3.2.40) en termes de leurs composantes comme
∑=∂∂
jjkj
k
qqmq
L)( (3.3.42)
[ ]( )∑ +=∂∂
jjkjdt
djkj
k
qqmqqmq
L
dt
d)()(
∑ ∑∂
∂+=
jj
iji
i
kjjkj qq
q
mqqm )( (3.3.43)
∑ ∂∂
−=∂∂
jj kjikj
k q
Pqqqm
q
L)(
2
1 (3.3.44)
où toutes les sommations sont faites sur le nombre des joints n . Maintenant, l’équation de La-
grange exprimées en termes de ses composantes peut s’écrire comme
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 116
kkj
jji
i
k
ij
i
kjjkj
q
Pqq
q
m
q
mqqm τ=
∂∂
+⎥⎥⎦
⎤
⎢⎢⎣
⎡
∂
∂−
∂
∂+∑ ∑
,21)( , .,,1 nk …= (3.3.45)
En interchangeant l’ordre de sommation et en profitant de la symétrie, l’on aura ainsi
2
1
,,∑∑ ⎥
⎥⎦
⎤
⎢⎢⎣
⎡
∂
∂+
∂
∂=
∂
∂
jiji
j
kj
i
kjji
ji i
kjqq
q
m
q
mqq
q
m (3.3.46)
On peut donc définir
⎥⎥⎦
⎤
⎢⎢⎣
⎡
∂
∂−
∂
∂+
∂
∂=
k
ij
j
ki
i
kjijk
q
m
q
m
q
mv
2
1: (3.3.47)
et écrire la dynamique du bras comme
kkj
jji
iijkjkjq
Pqqvqqm τ=
∂∂
++∑ ∑,
)( , .,,1 nk …= (3.3.48)
C’est la symétrie cyclique de ijkv qui nous permet de dériver la propriété importante du vecteur
),( qqV qui correspond au second terme de cette équation. Les quantités ijkv sont connues
comme les symboles de Christoffel (ou de première sorte) .
La matrice ),( qqVm définie dans (3.3.36) possède des composantes kjv donnée par
∑=i
iijkkj qqvv )(: (3.3.49)
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 117
Propriétés des Termes de Gravité, de Frottement et de Per-
turbations
Propriétés du Terme de Gravité G(q)
Selon (3.2.43) et (3.2.36),
),)(()( 41
eIqTgqq
PqG ii
Tn
i∑− ∂
∂−=
∂∂
=
d’où, utilisant doublement (3.3.11), on peut avoir
),)(()( 41
eIqTgq
qG iiT
n
i∑− ∂
∂−=
,)()( 41
eIq
TgI
qqG i
iTn
n
i ∂∂
⊗∂∂
−= ∑−
(3.3.50)
Pour le terme de gravité d’un robot donnée, on peut lui déterminer une borne tel que
)()( qgqG b≤ (3.3.51)
où . est une définition de norme donnée, et bg est une fonction scalaire qui peut être déterminée
pour un robot donné. Voir exemple (3.3.1). bg est constante pour un robot articulaire de révo-
lution, et elle peut être une fonction de q pour une configuration prismatique. (Voir exemple
3.3.1).
Propriétés du Terme de Frottement )qF(
L’effet de frottement dans le bras est de la forme
)()( qFqFqF dv += (3.3.52)
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 118
avec vF représentant la matrice de frottement visqueux, et dF est un terme de frottement dy-
namique. Les coefficients de frottement sont parmi les paramètres les plus difficiles à déterminer
pour un robot donné, et le modèle (3.3.52) ne représente qu’une approximation mathématique de
leurs effets.
Puisque le frottement est un effet local, on peut assumer que )(qF est un vecteur non-couplé
parmi le joints, de sorte que
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡==
)(
)(
:)(vec)(11
nn
ii
qf
qf
qfqF (3.3.53)
avec les )( ii qf sont des fonctions scalaires connues qui peuvent être éventuellement déterminées pour une configuration de bras donné. Nous avons introduit la notation .vec pour un usage ulté-
rieur.
Le frottement visqueux peut être souvent supposé avoir la forme
iiv qvqF vec= (3.3.54)
où iv sont des coefficients constants connues. Donc, iv vF diag= est une matrice diagonale
d’arguments iv . Le frottement dynamique peut être souvent supposé avoir la forme
)sgn(vec)( iid qkqF = (3.3.55)
avec ik sont des coefficients constants connues et la fonction signe est définie pour un scalaire
x par
⎪⎩
⎪⎨
⎧
−
+=
1
eendertermin
1
)sgn( Ix ,
0
0
0
<=>
x
x
x
(3.3.56)
Donc,
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 119
)sgn()( idd qKqF = (3.3.57)
où id kK diag= est la matrice des coefficients des frottement dynamiques et la fonction signe
est définie pour un vecteur x par
)sgn(vec)sgn( ixx = (3.3.58)
La borne de termes de frottement peut être supposée avoir la forme
kqvqFqF dv +≤+ )( (3.3.59)
où v et k sont supposés connus pour un bras donné et . étant une norme convenable.
Un autre terme de frottement peut être inclue dans )(qF , qui est le terme de frottement statique,
dont les composantes sont de la forme
)]/exp())[(sgn( εiisiisi qkkqF −−= (3.3.60)
où sik est le coefficient de frottement statique pour l’articulation i et ε est un petit paramètre
positif. En général, on ignore ce terme de frottement visqueux.
Propriétés des Termes de Perturbations
L’équation dynamique (3.3.1) du robot implique un terme de perturbations dτ qui peut représen-
ter des dynamiques non-modélisées, etc. En général, on suppose que ce terme est borné, de sorte
que
dd ≤τ (3.3.61)
où d est un scalaire constant qui peut être déterminé pour un bras donné, et . étant une
norme convenable.
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 120
Linéarité dans les Paramètres
L’équation dynamique du robot jouit d’une dernière propriété qui sera utilisée lors du développe-
ment des commandes adaptatives pour les systèmes robotiques. C’est la propriété de linéarité dans les paramètres.
Cette propriété peut être exprimée comme
ϕ),,(:),()()()(),()( qqqWqqNqqMqGqFqFqqVqqM dv =+=++++ (3.3.62)
où ϕ est le vecteur de paramètres et ),,( qqqW est une matrice de fonctions du robot qui dépend
du vecteur des variables des positions articulaires généralisées q et de ses dérivées premières et
secondes représentant les vecteurs des vitesses et accélérations généralisées. Noter que le terme
dτ n’est pas inclue dans cette équation.
Le Tableau 3.3.1 résume les résultats développés jusqu’à ce stade concernant le dynamique et les
différentes propriétés du robot
Tableau 3.3.1 Dynamique du Robot et ses Propriétés
Equations de la dynamique
ττ =++++ dqGqFqqVqqM )()(),()(
ou
ττ =++ dqqNqqM ),()(
où
)()(),(),( qGqFqqVqqN ++=
Matrice d’Inertie
)(qM est une matrice symétrique et définie positive
IqMI 21 )( µµ ≤≤
21 )( mqMm ≤≤
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 121
Vecteur des termes de Coriolis et Centripètes
),( qqV est quadratique en q
2
),( qvqqV b≤
qqqVqqV m ),(),( =
),(2)(:),( qqVqMqqS m−= est une matrice anti-symétrique
Termes de Frottement
iv vdiagF =
)sgn()( qKqF dd = avec id kK diag=
kqvqFqF dv +≤+ )(
Vecteur de la Gravité
)()( qgqG b≤
Termes de Perturbations
dd ≤τ
Linéarités dans les Paramètres
)()(),()( qGqFqFqqVqqM dv ++++
),()( qqNqqM +=
ϕ),,(: qqqW=
Exemple 3.3.1: Structure et Bornes de la Dynamique du Bras Planaire RR à 2-DOF
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 122
La dynamique du robot planaire RR a été développe dans l’exemple 3.2.2. Les différentes matri-
ces de cette dynamique étant déterminées et dont les expressions sont :
⎥⎦
⎤⎢⎣
⎡
+++++
=2222212
222
22122222212
222
2121
cos
coscos2)()(
amaamam
aamamaamamammqM
θθθ
⎥⎦
⎤⎢⎣
⎡ +−=
221212
22221212
sin
sin)2(),(
θθθθθθ
aam
aamqqV
⎥⎦
⎤⎢⎣
⎡+
+++=
)cos(
)cos(cos)()(
2122
21221121
θθθθθ
gam
gamgammqG
Dans cet exemple, nous choisirons la norme-1 comme définition de la norme pour déterminer les
bornes des différentes quantités. Ce choix n’est pas aléatoire. En effet, le choix de la norme-2
requiert l’évaluation de la valeur maximale singulière de )(qM , laquelle est une tâche difficile à
compléter. D’autres part, la sélection de la norme ∞− pour les vecteurs, requiert la détermination
à chaque temps d’échantillonnage, l’amplitude maximale de chaque élément (e.g. ),( qqV ). Ceci
requiert une logique de décision et la norme peut ne pas être continue.
a- Bornes de la Matrice d’Inertie
La norme-1 pour )(qM est le maximum des valeurs absolues des sommes de ses colonnes. Suppo-
sons que 1θ et 2θ sont limitées par 2/π± . Donc la norme-1 de la matrice est toujours donnée
par la première colonne comme
22122222212
222
21211
coscos2)()( θθ aamamaamamammqM +++++=
dont la borne supérieure, pour tout 2θ , est
212222
21212 32)( aamamammM +++=
et la borne inférieure est
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 123
222
21211 2)( amammM ++=
Il est à noter que 1M et 2M sont constantes et ce parce que les joints sont de rotation.
b- Bornes des Termes de Coriolis/Centripète
La borne bv des termes de Coriolis et centripètes est trouvée utilisant
2212122
22212121
sinsin)2(),( θθθθθθ aamaamqqV ++=
( ) 22
21212 : qvaam b=+≤ θθ
d’ou 212 aamvb =
De même, pour le terme de gravité
)cos()cos(cos)()( 2122212211211θθθθθ +++++= gamgamgammqG
bggamgamm =++≤ :2) 22121
Noter qui si le bras est de type RP, donc bv et bg sont des fonctions de q .
c- Matrices Structurelles des Termes de Coriolis/Centripète
Nos listons ci-après les différentes matrices structurelles discutées dans cette section. Leur calculs
est laissée comme exercice (Voir Problèmes)
q
MqIU T
n ∂∂
⊗= )(
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 124
⎥⎦
⎤⎢⎣
⎡−+−
=22121221221 sinsin)2(
00
θθθθθ aamaam
Les Matrices de Coriolis/Centripètes
UMVm 21
1 −=
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−−−
=221212
1221222
11
2212222122
sinsin)(
sinsin2
θθθθθθθθθ
aamaam
aamaam
UUV Tm 2
12 −=
⎥⎥⎦
⎤
⎢⎢⎣
⎡
++−
=221212
1221222
11
221221
sinsin)(
sin)2(0
θθθθθθθθ
aamaam
aam
)(21 UUMV T
m −+=
⎥⎦
⎤⎢⎣
⎡ +−−=
0sin
sin)(sin
22121
22122122122
θθθθθθθ
aam
aamaam
la matrice anti-symétrique ),( qqS
TUUqqS −=),(
⎥⎦
⎤⎢⎣
⎡
+−+
=0sin)2(
sin)2(0
221221
221221
θθθθθθ
aam
aam
Les matrices symétriques ),(),,( 21 qqVqqV
⎥⎦
⎤⎢⎣
⎡−−−
=22122212
22121
sinsin
sin0
θθθ
aamaam
aamV
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 125
⎥⎦
⎤⎢⎣
⎡=
00
0sin 22122
θaamV
La décomposition des matrices position/vitesse
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−−
=
0sin
sinsin2
00
00
)(
2212
22122212
θθθ
aam
aamaamqVp
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−−
=22
112
11
2221
121
0
0)(
θθθθθθ
qVv
d- La Matrice de Fonctions des Paramètres du Robot W
La dynamique du robot, incluant les frottements, peut être écrite comme
12212222
21211 ]cos2)[( θθτ aamamamm +++=
2222121222212
222 sin)2(]cos[ θθθθθθ +−++ aamaamam
)cos(cos)( 21221121 θθθ ++++ gamgamm
)sgn( 1111 θθ kv ++
2212122
22212212
2222 sin]cos[ θθθθθτ aamamaamam +++=
)cos( 2122 θθ ++ gam )sgn( 2222 θθ kv ++
La masse 2m peut inclure la masse de la charge utile du robot. Celle-ci avec les coefficients de
frottements sont souvent inconnus. Posons
[ ]Tvkvkmm 221121=ϕ
Donc, la matrice ),,( qqqW des fonctions connues du robot devient
⎥⎦
⎤⎢⎣
⎡=
262522
14131211
000
00
www
wwwwW
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 126
avec
1112111 cosθθ gaaw +=
2221221221
22
2112 ]cos[]cos2[ θθθθ aaaaaaaw ++++=
)cos(cossin)2( 212112222121 θθθθθθθ ++++− gagaaa
)sgn( 113 θ=w
114 θ=w
)cos(sin]cos[ 212221212
221221
2222 θθθθθθθ +++++= gaaaaaaaw
)sgn( 225 θ=w
226 θ=w
On peut aisément vérifier que ϕτ W= .
Passivité et Conservation d’Energie
Noter que la dynamique du robot, en ignorant les termes de frottement et dτ , peut être écrite en
termes de la matrice anti-symétrique ),( qqS comme
)()),()(()(21 qGqqqSqMqqM −=−+ τ (3.3.63)
La dérivée de K par rapport au temps est
qMqqqMqqqMqdt
d
dt
dK TTT 2/1)()(2
1+==
d’où (3.3.63) donne
)(2/1 GqqSqK TT −+= τ (3.3.64)
où
)( GqK T −= τ (3.3.65)
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 127
C’est un énoncée de la conservation d’énergie. Avec le membre de droite représentant la puis-
sance d’entrée issues des forces extérieures. L’antisymétrie de mVMS 2−= revient à dire que
le travail des les forces fictives qqqS ),( est nul. Le travail résultant des forces externes est donné
par
dtGqK T )( −= ∫ τ (3.3.66)
Rappelons à ce niveau la propriété de passivité du robot de )(tτ à )(tq , qui énonce simplement
que le bras ne peut pas créer de l’énergie. D’un point de vue de la commande, un système passif
ne peut pas partir à l’instabilité. Cette propriété est détruite par certains algorithmes de com-
mande. Les approches de commande basées sur la passivité, assure que le système en boucle fer-
mée demeure passif.
L’analyse ci-haut, n’incluent pas les termes de frottement. Il est toujours supposé que les termes
de frottement obéissent à la loi
0)( ≥qFqT (3.3.67)
Sous cette supposition, les frottements ne détruisent pas la passivité du manipulateur.
3.4 Représentation d’Etat de la Dynamique des Ma-
nipulateurs et Linéarisation par Retour d’Etat
La dynamique du robot étant
ττ =+++++ ddv qGqFqFqqVqqM )()(),()( (3.4.1)
avec ntq ℜ∈)( représentant le vecteur des positions articulaires généralisées du robot, nℜ∈τ
est le vecteur des forces généralisées aux articulations au robot, nnqM ×ℜ∈)( est la matrice
d’inertie généralisée, nqqV ℜ∈),( est le vecteur des forces centripètes et des termes de Coriolis,
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 128
nqG ℜ∈)( est le vecteur des termes de la gravité et nd ℜ∈τ est un vecteur représentant les
termes de perturbations au système.
Cette dynamique peut être aussi écrite comme
ττ =++ dqqNqqM ),()( (3.4.2)
avec
)()(),(),( qGqFqFqqVqqN dv +++= (3.4.3)
La représentation d’état d’un système nonlinéaire
),,( tuxfx = (3.4.4)
où )(tu est le vecteur de commande et )(tx est le vecteur d’état du système a été discuté au cha-
pitre 2, et elle possède plusieurs propriétés qui peuvent être utiles pour la synthèse des approches
de commande. Nous verrons aussi que par certaines transformations, on peut aboutir à une re-
présentation linéaire de la dynamique selon
BuAxx += (3.4.5)
Dans cette section nous verrons comment mettre (3.4.1) sous (3.4.4)
Formulation Hamiltonienne
Les équations dynamiques du robot on été dérivés utilisant la mécanique Lagrangienne. Dans
cette section, nous employons l’approche Hamiltonienne pour dériver une formulation d’etat de la
dynamique du manipulateur. Pour simplifier l’exposé, on néglige le terme )()( qFqFqF dv += et
le terme de perturbations dτ . Cependant, ces termes peuvent être incorporés à la fin du dévelop-
pement.
Dans la Section 3.2, le Lagrangien du manipulateur a été exprimé comme
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 129
)()()(),(),(21 qPqqMqqPqqKqqL T −=−= (3.4.6)
où K est l’énergie cinétique et est P l’énergie potentielle est du manipulateur.
Définissons le moment générale par
qqMq
Lp )(: =
∂∂
= (3.4.7)
donc, nous aurons
pqMq )(1−= (3.4.8)
et l’énergie cinétique définie en terme de )(tp est
pqMpK T )(121 −= (3.4.9)
il convient de noter que
qpK T21= (3.4.10)
Définissons l’Hamiltonien du manipulateur comme
LqpH T −= (3.4.11)
Les équations de mouvement d’Hamilton sont donc
p
Hq
∂∂
= (3.4.12)
τ−∂∂
=−q
Hp (3.4.13)
Noter que
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 130
PKqPpqMpH T +=+= − )()(121 (3.4.14)
L’évaluation de (3.4.13) donne
τ−−∂∂
−= − )())((2
1 1 qPpqMpq
p T
qui peut être exprimé comme (Voir Problèmes)
τ+−∂
∂⊗−=
−
)()(
)(2
1 1
qGpq
qMpIp T
n
(3.4.15)
où ⊗ est le produit de Kronecker (Voir Section 3.3)
Définissons le vecteur d’état nx 2ℜ∈ comme
[ ]TTT pqx = , (3.4.16)
on peut maintenant exprimer la dynamique du manipulateur comme
,0
)(
)()(
21
1
1 uIpI
pqM
q
p
dt
d
nq
pqMTn
⎥⎦
⎤⎢⎣
⎡+
⎥⎥⎦
⎤
⎢⎢⎣
⎡
⊗−=⎥
⎦
⎤⎢⎣
⎡
∂∂
−
− (3.4.17)
où l’entrée de commande est définie par
)()( qGtu −= τ (3.4.18)
Formulation Position/Vitesse La formulation d’état de la dynamique du robot manipulateur peut être obtenue en définissant le
vecteur d’état position/vitesse nx 2ℜ∈ comme
[ ]TTT qqx = (3.4.19)
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 131
Pour simplifier l’exposé, on néglige le terme )()( qFqFqF dv += et le terme de perturbations dτ .
Selon (3.4.2), l’on peut écrire
τ)(),()( 11 qMqqNqMqdt
d −− +=
(3.4.20)
maintenant, on peut écrire la représentation d’état position/vitesse comme
τ⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡= −− )(
0
),()( 11 qMqqNqM
qx (3.4.21)
Finalement, on peut représenter la dynamique (3.4.5) par une représentation d’état linéaire,
comme
,0
00
0u
Ix
Ix ⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡= (3.4.22)
tel que l’entrée de commande est donnée par
τ)(),()()( 11 qMqqNqMtu −− +−= (3.4.23)
Linéarisation par Retour d’Etat
Nous développons dans cette sous-section une approche générale pour la représentation d’état
linéaire de la dynamique des manipulateurs rigides. Cette approche implique une transformation
linéarisante qui permet d’enlever les nonlinéarités du robot.
La dynamique du robot est donnée par (3.4.2) avec nq ℜ∈ . Définissons une sortie généralisée
par
)()( tsqhy += (3.4.24)
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 132
où )(qh est une fonction générale prédéterminée du vecteur des variables articulaire nq ℜ∈ , et
)(ts est une fonction générale du temps prédéterminée. Le problème de commande sera de trou-
ver le vecteur )(tτ pour ramener la sortie )(ty a zéro.
Le choix de )(qh et de )(ts est basé sur l’objectif de la commande. Par exemple, si )()( tqqh −=
et )()( tqts d= définissant le vecteur des trajectoires désirées dans l’espace articulaire, si )(tτ a
été déterminé pour ramener la sortie )(ty à zéro, donc )(tq sera forcée à suivre )(tqd .
Transformation linéarisante par retour d’état
Pour déterminer un modèle d’état linéaire qui sera utilisé pour des fins de commande, dérivons
deux fois l’expression de )(ty pour obtenir
sqJtstqq
qhty +=+
∂∂
= :)()()(
)( (3.4.25)
sqJqJy ++= (3.4.26)
où nous avons définie la Jacobienne comme
q
qhqJ
∂∂
=)(
:)( (3.4.27)
Si py ℜ∈ , la Jacobienne est donc une matrice de dimension np × de la forme
⎥⎦
⎤⎢⎣
⎡∂∂
∂∂
∂∂
=∂∂
=nq
qh
q
qh
q
qh
q
qhqJ
)()()()(:)(
21
… (3.4.28)
Selon (3.4.2), nous avons
)(1 ττ +−−= −dNMq (3.4.29)
de sorte que (3.4.26) donne
)(1 ττ +−−++= −dNJMqJsy (3.4.30)
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 133
Définissons la fonction d’entrée de commande
)()( 1 τ+−++= − NJMqJstu (3.4.31)
et la fonction de perturbations
dJMtv τ1)( −−= (3.4.32)
On peut maintenant définir le vecteur d’état ptx 2)( ℜ∈ par
[ ]TTT yyx = (3.4.33)
et écrivons la dynamique du robot comme
vI
uIy
yI
y
y
dt
d
pp
p⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡ 00
00
0 (3.4.34)
qui est une représentation d’état linéaire de la forme
DvBuAxx ++= (3.4.35)
En raison de la forme spéciale de A et B , ce système est dit avoir la forme canonique de Bru-
novsky. On peut toujours vérifier que ce système est toujours contrôlable.
L’équation (3.4.31) est dite une transformation linéarisante pour les équations dynamiques du
robot. On peut inverser cette transformation pour obtenir
NqJsuMJ +−−= + ][τ , (3.4.36)
où +J est la pseudo-inverse de Moore de la Jacobienne )(qJ . Si )(qJ est non-singulière et elle
est carrée (i.e. np = ), donc )()( 1 qJqJ −+ = , et l’on peut écrire
NqJsuMJ +−−= − ][1τ (3.4.37)
Dans le cas où )()( tqty = donc IJ = , et donc (3.3.34) se réduira à (3.4.22)
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 134
3.5 Dynamique dans l’espace Cartésien
La dynamique du robot en fonction des variables articulaires étant déterminée et elle est donnée
par
ττ =+++++ ddv qGqFqFqqVqqM )()(),()( (3.5.1)
ou
ττ =++ dqqNqqM ),()( (3.5.2)
tels que les termes nonlinéaires sont donnés par
)()(),(),( qGqFqFqqVqqN dv +++= (3.5.3)
On appelle cette dynamique du bras manipulateur, dynamique dans l’espace des joints ou dans
l’espace des articulations ou simplement dynamique articulaire.
Dynamique Cartésienne du Bras
Il souvent utile de développer la dynamique du bras en termes des variables autres que les varia-
bles des joints )(tq . Par conséquent, définissons
)(qhy = (3.5.4)
où )(qh est une transformation nonlinéaire générale. Quoique, )(ty peut être une variable
d’intérêt quelconque, mais pensons au cas particulier où )(ty représente les coordonnées de posi-
tion de l’organe terminal (i.e. la position et l’orientation de l’organe terminal dans le repère de
base)
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 135
La dérivation de la dynamique en fonction des coordonnées cartésiennes est en quelque sorte simi-
laire à la linéarisation par retour d’état développée à la Section 3.4. Dérivons (3.5.4) deux fois
pour obtenir
qJy = (3.5.5)
qJqJy += (3.5.6)
où nous avons définie la Jacobienne comme
q
qhqJ
∂∂
=)(
:)( (3.5.7)
Le vecteur de vitesse cartésienne est [ ] 6ℜ∈=TTTvy ω , avec 3ℜ∈v étant le vecteur de vi-
tesse linéaire de l’organe terminal, et 3ℜ∈ω est son vecteur de vitesse angulaire. Supposons
que le nombre de liens du bras est 6=n , de sorte que J est une matrice carrée. Supposons aussi
que nous opérons loin des points singuliers de l’espace de la tâche, de façon que 0≠J . Selon
(3.5.6), l’on peut écrire
,11 qJJyJq −− −= (3.5.8)
qui est la transformation de l’accélération inverse. Substituons cette équation dans (3.5.2), pour
obtenir
ττ =+−+ −−dqJMJNyMJ )( 11
Rappelons maintenant la transformation de force FJT=τ , avec F est le vecteur des forces car-
tésiennes, nous aurons ainsi
FJqJMJNJyMJJ dTTT =+−+ −−−−− τ)( 11 (3.5.9)
qui peut être mise sous la forme
FfNyM d =++ (3.5.10)
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 136
où les définitions de la masse d’inertie cartésienne, les termes nonlinéaires, et les termes de per-
turbations sont comme suit
1: −−= MJJM T (3.5.11)
)()(: 111 yJJMJNJqJMJNJN TT −−−−− −=−= (3.5.12)
dT
d Jf τ−=: (3.5.13)
Les équations (3.5.9)-(3.5.10) représentent la dynamique du bras dans l’espace de la tâche ou
dans l’espace cartésien, qu’on appelle aussi tout simplement Dynamique Cartésienne.
Noter que NM , et df dépendent de q et q , donc la dynamique cartésienne n’est pas proprement
exprimée en fonction des variables cartésiennes, ,,yy et y . Par contre et puisque qJy = et
étant donné )(ty , l’on peut calculer )(tq par la cinématique inverse et enfin exprimer NM , et
df en fonction de ,y et y .
Structure et Propriétés de la Dynamique Cartésienne
Puisque J était supposée inversible et donc non-singulière, il est important de voir que toutes les
propriétés de la dynamique dans l’espace des articulations résumées dans le tableau 3.1.1. tien-
nent aussi pour la dynamique cartésienne. Noter en particulier que M est symétrique et définie
positive. Pour un joint de rotation, la matrice Jacobienne est une fonction des longueurs des bras
et elle est bornée. Dans ce cas, M aura des bornes supérieure et inférieure.
Définissons
)(: 11 yJJMJVJV T −−− −= (3.5.14)
Il s’en suit que
yVV m= (3.5.15)
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 137
avec
11 )(: −−− −= JJMJVJV T
m (3.5.16)
où mV est définie à la Section 3.3
Il est facile de montrer que la matrice
mVMS 2−= (3.5.17)
est anti-symétrique. En effet, utilisant l’identité
111)( −−− −= JJJJdt
d (3.5.18)
pour trouver que
mTTTT
m VJdt
dMJJMJMJJ
dt
dVM 2)()(2 11 −++=− −−−−−−
111111 )2(2 −−−−−−−−−−− −++−−= JVMJJJMJJJJMJJMJJJJ mTTTTTT
( )[ ]( ) 1112 −−−− −+−−= JJMJJMJVMJT
mT
qui est antisymétrique puisque mVM 2− l’est.
Les termes de frottement dans la dynamique cartésienne sont
)(: 1 qFJyJFJFyF dT
vT
sv−−− +=+ (3.5.19)
qui satisfont aussi des bornes comme celles définis dans le Tableau 3.3.1. Notons que dans la dy-
namique cartésienne les effets de frottement ne sont pas découplés. (e.g. 1−− JFJ vT n’est pas dia-
gonale).
Le vecteur des termes de gravité est
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 138
)(: qGJG T−= (3.5.20)
qui lui aussi est borné.
La propriété de linéarité dans les paramètres tient aussi et elle est exprimée par
ϕ),,( yyyWGFyFyVyMNyM svm =++++=+ (3.5.21)
où la fonction cartésienne connue des paramètres est
),,(),,( qqqWJyyyW T−= (3.5.22)
et ϕ est le vecteur des paramètres du bras.
Exemple 3.5.1 Dynamique Cartésienne du bras Cylindrique à 3-DOF
Dans cet exemple nous verrons comment convertir la dynamique articulaire du robot cylindrique
à 3-DOF de l’exemple 3.2.3 à une dynamique cartésienne.
De l’exemple 1.3.1, la Jacobienne du bras est donnée par
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−−
=010
cos0sin
sin0cos
θθθθ
r
r
J
Dont on peut calculer l’inverse comme
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−
−−=−
0cossin
100
0/sin/cos1
θθ
θθ rr
J
à partir de l’exemple 3.2.3 , la matrice d’inertie du bras est donnée par
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 139
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
++
=
2
21
22
00
00
00
m
mm
rmJ
M
Appliquons (3.5.11) pour avoir
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
++
== −−
2
22
22
1
00
0sincossin
0cossincos
m
JmJ
JJm
MJJM T θθθθθθ
où
2/: rJJ =
N peut être calculée de la même façon.
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 140
Problèmes 3.1 Dériver la dynamique du robot sphérique de l’exemple 1.2.4
3.2 Pour l’exemple 3.2.2
(a) Ecrire K sous la forme de (3.2.29) pour déterminer )(qM
(b) Utiliser (3.2.42) et (3.2.43) pour déterminer ),( qqV et )(qG
3.3 Répéter le Problème 3.2 considérant le robot de l’exemple 3.2.3
3.4 Prouver (3.3.22) par trouver )(qVp1 et )(qVv1 .
3.5 Prouver (3.3.23) par trouver )(qVi
3.7 Prouver (3.3.27)
3.8 Trouver )(qVcor et )(qVcen dans (3.3.40)
3.9 Montrer que les termes de Coriolis/centrifuges de la dynamique du robot peuvent être exprimés comme
∑=ji
jiijkk qqvqqV,
),(
avec
∑= ⎥
⎥⎦
⎤
⎢⎢⎣
⎡
∂∂
∂∂∂
=n
l k
Tl
iji
lijk
q
TI
Tv
1
22
trace
3.10 Dériver en détail les résultats de l’exemple 3.3.1
3.11 Dériver les bornes et matrices structurelles du robot polaire a 2-DOF de l’exemple 3.2.1.
Utiliser
(a) La norne-1
F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 141
(b) la norme-2
(c) La norme-∞
3.12 Répéter le Problème 3.3.7 pour le robot cylindrique à 3-DOF du Problème 3.3
3.13 Dériver les bornes pour le robot planaire a 2-DOF de l’Exemple 3.3.1 utilisant la
norme-2
3.14 Prouver (3.4.15)
3.15 Démontrer que (3.4.15) est équivalente à
GpMSMp −++= − τ121 )(/
où S est la matrice anti-symétrique définie dans la Section 3.3.
3.16 Utiliser (3.4.17) pour dériver la formulation Hamiltonienne dans l’espace d’état pour ro-
bot polaire à 2-DOF
3.17 Répéter le Problème 3.16 pour le robot planaire à 2-DOF
3.18 Compléter l’Exemple 3.5.1, calculer le terme nonlinéaires N dans les coordonnées carté-siennes.
3.19 Trouver la dynamique cartésienne du robot polaire à 2-DOF
3.20 Trouver la dynamique cartésienne du robot planaire à 2-DOF
CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 142
143
Chapitre 4
Commande par la Méthode du Couple
Précalculé
4.1 Introduction L’un des problèmes de la commande robotique est de faire suivre l’organe terminal du robot une
trajectoire désirée. Avant que le robot ne puisse exécuter aucune tâche, nous devons positionner
l’effecteur du robot à la bonne position et au bon moment. Dans ce chapitre, nous élaborons la
technique du couple précalculé. La méthode du couple précalculé est l’une des plus simples ap-
proches de commande qui fournie une famille de stratégies de commande faciles à comprendre, à
synthétiser et qui aboutissent souvent à des résultats satisfaisantes en pratique. Les stratégies de
commande basées sur la technique du couple précalculé impliquent la décomposition de la com-
mande en une boucle de commande interne et une autre externe.
On suppose que le mouvement du robot n’est pas contraint, i.e. que l’effecteur n’a aucun contact
avec son environnement de travail. Nous supposons aussi que les paramètres du robot sont bien
connus et ne présentent pas d’incertitudes. Enfin, il est aussi supposé que ni les liens ni les joints
ne présentent de flexibilité.
Avant de commander un bras de robot, il est nécessaire de connaître la trajectoire désirée que
l’organe terminal devra suivre pour accomplir sa tâche. Dans la prochaine section nous traiterons
le problème de génération de trajectoire.
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 144
4.2 Génération de Trajectoires
Le long de ce texte, nous supposons que la trajectoire désirée dans l’espace articulaire est donnée par le vecteur )(tqd . Notre objectif est de synthétiser des lois de commande pour forcer le vecteur
des positions articulaires )(tq du robot à suivre la trajectoire )(tqd . La planification de trajectoire
implique la recherche de la trajectoire prédécrites qui est considérée en général comme un pro-
blème à part impliquant, l’évitement d’obstacles, la saturation des actionneurs, etc.
Nous n’étudierons pas le problème de planification de trajectoires, par contre on s’intéressera à deux problèmes de génération de trajectoires : Nous montrerons comment convertir une trajec-
toire désirée dans l’espace de la tâche à l’espace articulaire. Ensuite, et étant donné un tableau
de points désirés à travers lesquels l’effecteur doit passer, nous verrons comment reconstruire à
partir de ces points une trajectoire désirée continue.
Conversion des Trajectoires Cartésiennes en Trajectoires
Articulaires
Dans les applications robotiques, une trajectoire désirée est toujours spécifiée dans l’espace de la
tâche ou l’espace cartésien. Par contre, la commande de poursuite de trajectoire est plus facile-
ment élaborée dans l’espace des joints, puisque la dynamique du robot est plus facile à formuler
en fonction des variables articulaires. Ainsi, il est important de savoir comment convertir une
trajectoire désirée dans l’espace cartésien en )(tqd . Ceci est obtenu par la cinématique inverse
comme il sera illustré dans l’exemple suivant.
Exemple 4.2.1. Transformation d’une trajectoire décrite dans l’espace cartésien à
l’espace articulaire.
Dans l’exemple 1.2.5 la cinématique inverse d’un bras à 2-DOF montrée dans la Figure 4.2.1 a
été dérivée. Nous allons utiliser les résultats de cet exemple pour convertir une trajectoire décrite dans l’espace de la tâche à l’espace articulaire.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
145
Supposons qu’on désire que le bras suive une trajectoire désirée définie dans l’espace de la tâche
par
))(),(()( tytxtp =
dans le plan ),( yx qui est une fonction du temps. Le problème à résoudre est de convertir
))(),(( tytx à ))(),(( 21 tt θθ .
Rappelons les résultas de la cinématique inverse obtenus dans l’exemple 1.2.5
222 yxr +=
Caa
aar=
−−= :
2cos
21
22
21
2
2θ
DC =−±=−±= :1cos1sin 2222 θθ
),(2tan2 CDA=θ
)cos,sin(2tan),(2tan 221221 θθθ aaaAxyA +−=
Figure 4.2.1 Bras articulaire 2-DOF
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 146
Figure 4.2.2 Trajectoire cartésienne désirée
Supposons que l’organe terminal du bras doit suivre un cercle, comme c’est montré dans la Fi-
gure 4.2.2, décrit par
ttx cos2/12)( +=
ttx sin2/11)( +=
En utilisant les expressions ci-haut, pour tout instant t dans les équations de la cinématique in-
verse, on devra être capable d’obtenir les trajectoires requises dans l’espace des joints
))(),(()( 21 tttq θθ=
Ces trajectoires sont montrées à La figure 4.2.3 obtenues pour 2,2 21 == aa
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
147
Figure 4.2.3 : Trajectoires articulaires requises : (a) )(1 tθ (deg) ; (b) )(2 tθ (deg)
Interpolation Polynomiale de trajectoire
Supposons q’une trajectoire désirée a été définie, soit dans l’espace de la tâche ou dans l’espace
des articulations. Prenons par convention les variables articulaires )(tqd . En général, il n’est
pas possible de stocker la trajectoire en entier dans une mémoire de d’ordinateur, et peu de tra-
jectoires désirées possèdent une expression fermée simple. Ainsi, il est d’usage de stocker dans la
mémoire de l’ordinateur une séquence de points )( ki tq pour chaque variable articulaire i qui
représente les valeurs désirées de la variable au temps discrets kt . Donc, )( ktq est un point dans
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 148
nℜ à travers lequel la variable articulaire doit passer au temps kt . On appelle ces points les via-
points.
La majorité de schémas de commande robotiques requièrent une trajectoire désirée continue. Le
problème posé ici est de convertir le tableau des via-points )( ki tq en une trajectoire désirée )(tqd .
Supposons que les via-points sont uniformément repartis dans le temps et définissons la période
d’échantillonnage comme
kk ttT −= +1 (4.2.1)
Pour un mouvement lisse, sur chaque intervalle ],[ 1+kk tt , il est requis d’avoir )(tqd et )(tqd pour
assortir les via-points tabulés. Ceci donne les conditions aux limites suivantes
)()( kikdi tqtq =
)()( kikdi tqtq =
)()( 11 ++ = kikdi tqtq
)()( 11 ++ = kikdi tqtq (4.2.2)
Pour obéir à ces conditions aux limites, il est nécessaire d’utiliser une interpolation polynomiale
cubique sur ],[ 1+kk tt , de sorte que
ikikikidi dttcttbttatq 32 )()()()( −+−+−+= (4.2.3)
Donc,
ikikidi dttcttbtq 2)(3)(2)( −+−+= (4.2.4)
et
ikidi dttctq )(62)( −+= (4.2.5)
de sorte que l’accélération est linéaire sur chaque échantillon.
Il est possible de résoudre ces équations pour les coefficients ),,,( iiii dcba . En fait, on peut voir
que
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
149
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
+
+
)(
)(
)(
)(
3210
1
0010
0001
1
1
2
32
ki
ki
ki
ki
i
i
i
i
tq
tq
tq
tq
d
c
b
a
TT
TTT
(4.2.6)
et dont la solution pour ),,,( iiii dcba est donnée par
)( kii tqa =
)( kii tqb =
2
11 )]()(2[)]()([3
T
tqtqTtqtqc kikikiki
i++ +−−
=
3
11 )]()([)]()([2
T
tqtqTtqtqc kikikiki
i++ +−−
= (4.2.7)
Notons que cette technique requiert le stockage, en forme tabulaire, des positions, vitesses et ac-
célérations désirées pour chaque période d’échantillonnage kt .
Mixage de Fonctions Linéaires et Paraboliques
L’utilisation de l’interpolation cubique suggère une accélération linéaire entre les périodes
d’échantillonnage. Par contre, dans plusieurs applications, il y a plusieurs bonnes raisons pour
requérir une accélération constante durant la période d’échantillonnage. En effet, une accéléra-
tion constante contribue moins à la saturation des actionneurs.
Dans l’approche de mixage de fonctions linéaires et paraboliques (Linear Function with Parabolic
Blends, LFPB) une profil d’accélération constante est imposée comme le montre la Figure 4.2.4
(a). La position et la vitesse correspondantes sont montrées aux Figures 4.2.4 (b) et 4.2.4 (c). Le
profil de la trajectoire de la position possède 3 portions : une portion initiale parabolique ou qua-
dratique, une portion linéaire intermédiaire, et une portion finale parabolique.
Le temps auquel la trajectoire de la position commute du comportement parabolique au compor-
tement linéaire est connue comme le temps de mixage (Blend Time, bt ). La trajectoire de la Fi-
gure 4.2.4 (c) peut être écrite pour l’articulation i comme
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 150
⎪⎩
⎪⎨
⎧
−+−++
−+−+=
++ ikiki
ii
ikiki
di
gttftte
tvd
cttbtta
tq2
11
2
)()(
)()(
)(
11
1
++
+
≤≤−−≤≤+
+≤≤
kbk
bkbk
bkk
tttt
ttttt
tttt
(4.2.8)
Le coefficient iv peut être interprété comme étant la vitesse maximale permise pour la variable
articulaire i . Les paramètres de design sont donc iv et bt .
La résolution pour ces coefficients sur chaque période ],[ 1+kk tt qui assure les conditions aux li-
mites (4.2.2) est directe, et la solution est :
)( kii tqa = , )( kii tqb = , b
kiii
t
tqvc
2
)(−=
2
)()( 11 ++ −+= kikiki
i
tvtqtqd
)( 1+= kii tqe , )( 1+= kii tqf
2
111
2
])([2)()(
b
ikibkikikii
t
vtqttqtqtvg
−+−+= +++ (4.2.9)
Trajectoires à Temps Minimal
Les trajectoires à temps minimal est une classe des trajectoires LFPB. Supposons que
l’accélération est limitée par un certain Ma et il qu’il est désiré que le robot transite d’une posi-
tion à une autre en un temps minimal. Pour des fins de simplicité, supposons que les vitesses
initiale et finale sont nulles. Voir Problèmes pour le cas général.
Une trajectoire à temps minimal est montrée à la Figure 4.2.5. Pour amener la position de la
variable i d’une position de repos )(: 00 tqq i= à une position désirée )(: fif tqq = en un temps
minimal, l’accélération maximale Ma devra être appliquée jusqu’au le temps de commutation st
après quoi, la décélération maximale doit être appliquée jusqu’au temps ft . Noter que st et ft
dépendent de 0q et fq . On peut écrire ainsi
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
151
Figure 4.2.4 : Trajectoire LFPB (a) Accélération ; (b) Vitesse ; (c) Position
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 152
2
00 )(2/1)( ttaqtq sMsi −+=
)()( 0ttatq sMsi −=
2)(2/1))(()()( sfMsfsisifi ttatttqtqtq −−−+=
)()()( sfMsifi ttatqtq −−=
Donc, les équations de vitesse donnent
0)()()( 0 =−−−= sfMsMfi ttattatq
où
2/)( 0ttt fs += (4.2.10)
qui montre que la commutation de l’accélération maximale à l’accélération minimale survient au
point de mi-temps. Des manipulations algébriques simples sur les équations de position donnent
fsfMsfsMsMfi qttattttattaqtq =−−−−+−+= 20
200 )(2/1))(()(2/1)(
20
20
0)(2/1))(()(2/1 sfsfss
M
ftttttttt
a
qq−−−−+−=
−
d’où (4.2.10) donne
Mfs aqqtt /)( 00 −+= (4.2.11)
Malheureusement, les trajectoires calculées pour un temps minimal ne sont pas relevantes en ro-
botique. Ceci est dû au fait qu’un bras manipulateur possède une limite de couple Mτ , et puis-
que la dynamique du robot est nonlinéaire, cette limite ne correspond pas a une limite constante
en accélération.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
153
Figure 5.2.5 : Trajectoire à Temps Minimal : (a) Accélération ; (b) Vitesse ; (c) Position.
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 154
4.3 Simulation Numérique des Systèmes Robotiques
En commande robotique, comme d’ailleurs pour la majorité des systèmes complexes, il est impé-ratif de simuler le comportement d’un système robotique soit en boucle ouverte ou en présence
d’une ou de l’autre des lois de commande et ce pour tester la validité de l’approche de commande
utilisée avant de l’implanter sur le processus physique réel.
Il existe une variétés de Logiciels informatiques pour la simulation des systèmes dynamiques non-
linéaires, incluant principalement mais non exclusivement, MATLAB® de Mathworks® et sa boite
d’outil SIMULINK® et aussi toutes ses boites d’outils spécialisées. MATLAB® est un outil de
simulation très performant et il fournie des options extrêmement importantes. Mathematica® et
Mapple® sont aussi des Logiciels qui sont assez employées dans le même contexte. Certaines uni-
versités ont développé dans le même cadre des logiciels spécifiques à la simulation des systèmes
nonlinéaires, entre autre SIMNON® développé à Lund University (Suède).
Simulation de la Dynamique du Robot
Peu importe le Logiciel employé, on est toujours amené à mettre la dynamique du robot comme
une sous-routine ou une fonction qui sera appelée à chaque instance. Etant donnée que cette dy-
namique est non-linéaire, on est souvent amené à utiliser une méthode d’intégration numérique
tel que la technique d’intégration de Runge-Kutta pour la simulation numérique de la fonction de
la dynamique du robot. Dans la Section 3.4, nous avons vue que la dynamique du robot est
donnée par
ττ =++ dqqNqqM ),()( (4.3.1)
qui peut être représentée sous la forme d’état non-linéaire comme
),,( tuxfx = (4.3.2)
avec )(tx est le vecteur d’état et )(tu est le vecteur de commande.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
155
Définissons l’état du système comme [ ]TTT qqx = , on peut décrire la dynamique du robot par
la forme implicite suivante
dIIqqN
q
q
q
qM
Iττ ⎥⎦
⎤⎢⎣
⎡−
+⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡ 00
),()(0
0 (4.3.3)
où τ est le vecteur de commande fournie par le contrôleur et dτ est le couple de perturbations.
Etant donnée )(tx , on doit donner une sous-routine du programme d’intégration pour calculer
)(tx . Pour ce faire, l’une des approches qui peut être utilisée consiste en l’inversion de la ma-
trice )(qM . Cependant, à cause de la possibilité de se trouver face à des problèmes numériques
potentiels, cette approche n’est pas en général recommandée.
Représentons (4.3.3) comme
),,()( tuxfxxE = (4.3.4)
Noter que dans ce cas )(tu est constituée de )(tτ et de )(tdτ
Etant donnés )(tx , )(tτ , et )(tdτ et du fait que
dqqNdt
dqqM ττ ++−= ),()( (4.3.5)
on peut calculer )(qM et ),( qqN , puis utiliser cette équation pour résoudre par intégration nu-
mérique pour dtdq / .
Méthode d’Intégration de Runge-Kutta
Nous allons présenter dans cette sous-section la méthode d’intégration de Runge-Kutta de 4ème
ordre. Cette méthode est la plus populaire dans la simulation des systèmes dynamiques. Elle est
précise à l’ordre 4 dans l’expansion en série de Taylor de la fonction nonlinéaire
),( txfy = (4.3.6)
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 156
Méthode Attribuée à Range
La procédure d’itération est donné par
)22(6
43211 kkkkh
yy ii ++++=+
avec
),(1 ii yxfk =
),( 121
21
2 hkyhxfk ii ++=
),( 221
21
3 hkyhxfk ii ++=
),( 34 hkyhxfk ii ++=
et h est la période d’itération.
Méthode attribue à Kutta
La méthode ci-dessous est la méthode attribuée à Kutta
)33(8
43211 kkkkh
yy ii ++++=+
avec
),(1 ii yxfk =
),( 131
31
2 hkyhxfk ii ++=
),( 2121
32
3 hkhkyhxfk ii +−+=
),( 3214 hkhkhkyhxfk ii +−++=
et h est la période d’itération.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
157
Programme Matlab pour la Procédure de Runge-Kutta
La procédure ci-après permet l’intégration par la Méthode de Runge-Kutta des équations diffé-rentielles de premier ordre utilisant un pas d’intégration fixe.
Function [tout, xout]=rk4(xdotfun, to, tfinal,x0,h,trace)
% Entrees:
% xdotfun Sequence contenant le nom du fichier.m qui definit les dervees
% variables du systeme xdot=f(t,x)
% tfinal Temps final
% t0 Temps initial
% X0 Vecteurs des valeurs initiales pour les variables
% dependantes x
% h Pas d’integration fixe
% trace 1 ou 0 si 1, les valeurs intermediares seront imprimees par rk4.m si 0
% ou non specifiess, ces valleurs ne sont pas imprimees.
% Sorties:
% tout Points du vecteur temps
% xout Rangee des valeurs calculees
% Initialisation des variables
t = t0;
x = x0;
tout = t;
xout = x0’;
if narging<6
trace = 0
end
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 158
% Stockage
A = zeros(1)*x;
B = zeros(1)*x;
C = zeros(1)*x;
D = zeros(1)*x;
h2 = h/2;
if trace
clc, t, x
end
% Boucle d’integration
while (t<tfinal)
if t+h>tfinal
h=tfinal - t
end
A=feval(xdotfun, t, x)’;
B=feval(xdotfun, t+h2, x+h2*A)’;
C=feval(xdotfun, t+h2, x+h2*B)’;
D=feval(xdotfun,t+h, x+h2*C)’;
t = t+h
x = x+h*(A+2*B+2*C+D)/6
tout = [tout;t];
xout = [xout,x’];
if trace
clc, t, x
end
end;
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
159
On peut par ailleurs, utiliser la fonction ode45 de Matlab laquelle utilise un pas d’intégration va-
riable.
4.4 Commande par le Couple Précalculé
Durant les dernières années plusieurs schémas de commande ont été proposés pour la commande
des systèmes robotiques. Il vient que la plupart de ces approches ne sont que des cas spéciaux de
la classe des commandes par le couple précalculé. La commande par couple précalculé est une ap-
plication spéciale de la linéarisation par retour d’état des systèmes nonlinéaires qui a gagné une
grande popularité dans la théorie des systèmes nonlinéaires. En effet, l’une des approches pour
classifier les robots manipulateurs est basée sur le couple précalculé, nous aurons ainsi les systè-mes à couples précalculés et les systèmes à couples non-précalculés. Les systèmes à couples pré-calculés apparaissent dans la commande robuste, la commande adaptative, les commande intelli-
gentes, etc.
Dérivation de Boucle de Commande à Action Directe (Feedforward
Loop)
La dynamique du robot étant donnée par le système d’équations différentielles de deuxième or-
dre :
ττ =+++++ ddv qGqFqFqqVqqM )()(),()( (4.4.1)
avec ntq ℜ∈)( représentant le vecteur des positions articulaires généralisées du robot, nℜ∈τ
est le vecteur des forces généralisées aux articulations du robot, nnqM ×ℜ∈)( est la matrice
d’inertie généralisée, nqqV ℜ∈),( est le vecteur des forces centripètes et des termes de Coriolis,
nqG ℜ∈)( est le vecteur des termes de la gravité et nd ℜ∈τ est un vecteur représentant les
termes de perturbations au système.
La dynamique (4.4.1) peut être aussi écrite comme
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 160
ττ =++ dqqNqqM ),()( (4.4.2)
avec
)()(),(),( qGqFqFqqVqqN dv +++=
Supposons qu’une trajectoire désirée )(tqd a été sélectionnée pour le mouvement du bras. Pour
assurer la poursuite de trajectoire par la variable articulaire, définissons l’erreur de poursuite
comme
)()()( tqtqte d −= (4.4.3)
Pour voir l’influence de l’entrée de commande )(tτ sur l’erreur de poursuite, dérivons deux fois
cette équation, pour obtenir
)()()( tqtqte d −=
)()()( tqtqte d −=
La résolution pour q dans (4.4.2) et la substitution dans la dernière équation donne
)(1 ττ −++= −dd NMqe (4.4.4)
Définissons la fonction de commande
)(1 τ−+= − NMqu d (4.4.5)
et la fonction de perturbations
dMw τ1−= (4.4.6)
Finalement, on peut définir un vecteur d’état
[ ]TTT eetx =)( (4.4.7)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
161
et écrire la dynamique de l’erreur de poursuite comme
wI
uIe
eI
e
e
dt
d⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡ 00
00
0
(4.4.8)
C’est un système linéaire de l’erreur sous la forme canonique de Brunovsky se composant de n
paires de double intégrateurs 2/1 s , dont chaque joint est lui associée une paire.
Noter que cette dérivation est un cas particulier de la procédure de linéarisation par retour d’état
développée à la section 3.4.
La transformation de linéarisation par retour d’état (4.4.5) peut être inversée pour donner
NuqM d +−= )(τ (4.4.9)
On appelle cette commande la commande par couple précalculé (Computed Torque Control Law).
L’importance de cette approche peut être vue comme suit. Il n’y a pas eu de transformation
d’état de (4.4.1) à (4.4.8). Donc, si on détermine )(tu qui stabilise (4.4.8) tel que )(te converge
à zéro, donc la loi de commande nonlinéaire )(tτ donnée par (4.4.9) assurera une poursuite de la
trajectoire pour le bras de robot (4.4.1). En effet, la substitution de (4.4.9) dans (4.4.2) donne
NuqMNqM dd +−=++ )(τ
ou
dMue τ1−+= (4.4.10)
qui n’est rien que (4.4.8)
la stabilisation de (4.4.8) n’est pas difficile. En effet, la transformation nonlinéaire (4.4.5) avait
converti un problème de commande d’un système nonlinéaire complexe en un problème de syn-
thèse d’une commande pour un système linéaire se composant de n sous-systèmes découplés.
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 162
La schéma de la commande développé est présenté à la Figure 4.4.1. Il est important de noter
que ce schéma est composé d’une boucle interne à action directe et d’une boucle de commande
externe )(tu . Plusieurs techniques peuvent être utilisées pour déterminer )(tu . Puisque )(tu
dépend de )(tq et )(tq , la boucle externe sera une boucle de rétroaction.
En général, on peut choisir un compensateur dynamique )(sH tel que
)()()( sEsHsU = (4.4.11)
)(sH peut être choisie pur assurer un comportement dynamique désiré. Selon (4.4.10), le sys-
tème en boucle fermée de l’erreur aura pour fonction de transfert
)()( 2 sHIssT −= (4.4.12)
Synthèse de la Boucle Externe par la Commande PD
La commande de type PD (Proportionnelle-Dérivée) est une des approches qui peut être employée pour la sélection de la commande externe )(tu . Soit
eKeKu pv −−=
(4.4.13)
Donc, l’entrée globale au robot sera
NeKeKqM pvd +++= )(τ (4.4.14)
et la dynamique de l’erreur en boucle fermée sera
wKeKe ev =++
(4.4.15)
et dont la représentation d’état est
wIe
e
KK
I
e
e
dt
d
vp⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−−
=⎥⎦
⎤⎢⎣
⎡ 00
(4.4.16)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
163
Pour lequel le polynôme caractéristique est
pvc KsKIss ++=∆ 2)( (4.4.17)
Choix des Gains du PD
Il est utile de choisir les matrices vK et pK des matrices diagonales, de sorte que
viv kdiagK = ,
pip kdiagK = (4.4.18)
Donc,
( )∏=
++=∆n
ipivic kskIss
1
2)(
(4.4.19)
et l’erreur est asymptotiquement stable tant que vik et pik sont toutes positives. De plus, tant
que w est bornée, e le sera aussi. Puisque 1−M possède une borne supérieure, le bornage de w
est conditionné par le bornage de dτ .
Il est à noter que malgré que le choix des matrices de gains de la commande PD comme (4.4.18)
et (4.4.19) résulte en un système de commande découplé au niveau de la boucle de commande de
la sortie, ceci ne résulte pas en une commande découplée dans la commande des joints. Ceci est
dû cause à la multiplication de matrice )(qM et l’addition du terme nonlinéaire ),( qqN dans la
boucle de commande interne.
La forme standard de l’équation caractéristique d’un système de second degré est
22 2)( nnsssp ωζω ++= (4.4.20)
où ζ est le coefficient d’amortissement et nω est la fréquence naturelle. Les performances dési-rées dans chaque composante du vecteur d’erreur )(te peuvent être choisies en sélectionnant les
gains du PD comme
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 164
2npik ω=
nvik ζω2= (4.4.21)
avec ζ et nω sont respectivement le coefficient d’amortissement et la pulsation naturelle dési-
rée pour l’articulation i . Il est recommandable de choisir les temps de réponse des joints proches
de l’organe terminal plus rapide que ceux proches de la base.
D’un autre coté, il n’est pas en général désirable que les mouvements articulaires produisent des
dépassements. Par conséquent, il est recommandé souvent de sélectionner le facteur de
d’amortissement critique 1=ζ pour tous les joints. Dans ce cas, l’on aura
pivi kk 2= (4.4.22)
Choix de la Pulsation Naturelle
La pulsation naturelle nω commande la vitesse de la réponse de chaque composante du manipu-
lateur. Elle doit être de grande valeur pour des réponses rapides et elle est sélectionnée selon les
performances désirées.
Il existe des limites supérieures sanctionnant le choix de nω . Malgré que dans majorité des ap-
plications industrielles, la nature des liens est massive, il peuvent présenter une certaine flexibilité ou un mode résonnant que l’on suppose donné, pour le lien i , par :
Jkrr /=ω (4.4.23)
où J et rk représentant respectivement l’inertie et la rigidité du lien. Pour éviter l’excitation de
ce mode, l’on devra avoir 2/rn ωω < . Evidement, l’inertie du lien change avec sa configura-
tion, et l’on doit considérer ainsi la configuration qui lui donne la valeur maximale.
Un seconde limite supérieure de nω est déterminée en considérant la saturation des actionneurs.
Si les gains du PD sont trop élevés, le couple )(tτ peut atteindre ses limites supérieures.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
165
Une autre analyse concernant les limites du gains du PD est fournie par des considération de bor-
nage de l’erreur. La fonction de transfert de l’erreur du système (4.4.15) est donnée par
)()()( 12 swKsKIsse pv−++= (4.4.24)
et si pK et vK sont diagonales, l’erreur élémentaire relative à chaque joint est donnée par
)()(:)()()( 12 swsHswksksse pivii =++= − (4.4.25)
)()(:)()(2
swssHswksks
sse
pivi
i =++
=
(4.4.26)
On suppose que les perturbations w ainsi que 1−M sont bornées, de sorte que
dmMw d ≤≤ − τ1
(4.4.27)
où m et d sont supposés connus pour un bras donné. Donc,
dmsHwsHtei )()()( ≤≤ (4.4.28)
dmssHwssHtei )()()( ≤≤ (4.4.29)
Si l’on considère la norme 2L , le gain 2
)(sH est la valeur maximal dans le diagramme de Bode
de )(sH . Pour un système à amortissement critique, l’on a
pikjH /1)(sup
2=ω
ω (4.4.30)
pii kdmte /)(2≤
(4.4.31)
De plus (voir problèmes),
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 166
vikjHj /1)(sup
2=ωω
ω (4.4.32)
de sorte que
vii kdmte /)(2≤
(4.4.33)
Synthèse de la Boucle de Commande Externe par PID
Si tous les paramètres du robot sont bien connus et si le vecteur de perturbations est nul, nous
avons vu que la commande PD est très performante. Par contre, il est bien connu que les per-
formances de ce type de commande dégradent en présence de perturbations constantes. Par
conséquent, on est amené à mettre le système de type 1 en incluant un élément intégrateur dans
la boucle d’action directe, et donc employer un PID à la place du PD.
Posons l’intégrale de l’erreur de poursuite
e=ε (4.4.34)
ainsi
εipv KeKeKu −−−= (4.4.35)
qui donne l’entrée de commande
NKeKeKqM ipvd ++++= )( ετ (4.4.36)
En choisissant le vecteur d’état comme [ ] nTTT eex 3ℜ∈= ε , l’on peut écrire la représenta-
tion d’état du système comme
w
I
u
Ie
eI
I
e
edt
d
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡0
0
0
0
000
00
00 εε
(4.4.37)
Le diagramme bloc da la commande du couple précalculé avec PID est représenté par la Figure
4.4.1.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
167
Figure 4.4.1 Commande par couple précalculé avec PID
Le système en boucle fermée est ainsi
w
Ie
e
KKK
I
I
e
edt
d
ppi ⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−−=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡0
0
00
00 εε
(4.4.38)
avec l’équation caractéristique
ipvc KsKsKIss +++=∆ 23)( (4.4.39)
Le choix les matrices de gains diagonales, tels que
viv kdiagK =
pip kdiagK =
iii kdiagK = (4.4.40)
donne
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 168
( )∏=
+++=∆n
iiipivic ksKskIss
1
2)(
(4.4.41)
Utilisant le critère de Routh pour la stabilité, la condition de stabilité du système en boucle fer-
mée requiert que
piviii kkk < (4.4.42)
Par conséquent, le gain de l’intégral ne doit pas être de grande valeur, le cas échéant, la stabilité du système sera affectée.
Il est important d’être au courant des problèmes qui peuvent être engendrée dans l’application
d’un PID sur un robot réel et ce concernant les limites de couples et tensions au niveaux de ses
actionneurs.
Classe de Commandes par Couples Précalculés
Une classe générale des commandes par couple précalculé peut être obtenue en modifiant la com-
mande du couple précalculé pour
NuqM dcˆ)(ˆ +−=τ (4.4.43)
M et N dénotant des estimées de M et N , si les paramètres de ces matrices sont bien connus,
l’on aura donc MM =ˆ , NN =ˆ . cτ est le couple appliqués aux joints.
Dynamique de l’Erreur avec une Commande Approximée
Dérivons maintenant la dynamique de l’erreur lorsque la commande approximée (4.4.43) est ap-
pliquée au robot. Si la commande approximée est appliquée au robot, la substitution de (4.4.43)
dans la dynamique (4.4.2) et la substitution de cτ pour τ donnent
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
169
NuqMNqM dd +−=++ )(τ
)( NNuMMqqM ddd −++=− τ
Figure 4.4.2 Système en boucle fermée avec la Commande PID
Additionnons dd qMqM − au membre gauche l’équation et MuMu − au membre de droite, pour
obtenir
)()()( NNqMMquMMMueM ddd −+−++−−= τ
ou
duue +∆−= (4.4.44)
avec
MMIMMM 11 −− −=−=∆ )( (4.4.45)
)(1 NNM −= −δ (4.4.46)
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 170
Et le terme des perturbations est donné par
)()()( 1 ttqMtd dd δτ +∆+= − (4.4.47)
Ceci réduit la dynamique de l’erreur à (4.4.10) si la commande exacte par le couple précalculé est employée, i.e. 0,0 ==∆ δ . Autrement, la dynamique de l’erreur est fonction de l’accélération
désirée et du terme )(tδ et ne pourra jamais atteindre zéro. De plus, la commande auxiliaire )(tu
est multipliée par )( ∆−I qui fait de la commande un problème très difficile à synthétiser.
L’emploi de la commande externe PD, de sorte que eKeKu pv −−= , donne la dynamique de
l’erreur
)()( tdeKeKeKeKe pvpv ++∆=++ (4.4.48)
Le comportement d’une telle dynamique n’est pas évident à analyser, même si vK et pK sont
sélectionnés pour avoir un bon comportement de stabilité. Il existe deux types de problèmes dans
une telle situation : l’existence du terme de perturbations )(td et celui de la fonction d’erreur et
de sa dérivée )( eKeK pv +∆ .
Commande PD avec Compensation de la Gravité
La commande par PD avec compensation de la gravité est considérée comme une classe impor-
tante des commandes par le couple précalculé. Cette commande résulte lorsque
IM =
dqqGN −= )(
avec )(qG est le terme de la gravite de la dynamique du manipulateur. Le choix de la commande
PD pour )(tu donne
)(qGeKeK pvc ++=τ (4.4.49)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
171
Théorème 4.4.1
Supposons une commande PD avec compensation de la gravité est utilisée dans la dynamique
(4.4.1), 0=dq et que 0=dτ , donc l’erreur de poursuite en régime permanent qqe d −= est
nul.
Preuve : En ignorant le terme des frottements, la dynamique du robot s’écrit
τ=++ )(),()( qGqqqVqqM m (1)
lorsque 0=dq , et considérons la loi de commande (4.4.49), la dynamique du robot en boucle
fermée devient
0),()( =−++ eKqKqqqVqqM pvm (2)
Choisissons la fonction candidate de Lyapunov comme
)(2/1 eKeqMqV p
TT += (3)
la dérivée de V par rapport au temps le long des trajectoires de (1) , donne
)2/1( eKqMqMqV p
T −+= (4)
et la substitution de (2) dans (4) donne
qKqqVMqV vT
mT −−= )2/1( (5)
Puisque mVM −2/1 est antisymétrique, donc V se réduit à
qKqV vT−= (6)
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 172
La fonction de LyapunovV est définie positive, tandis que V est seulement négative semi-finie.
Ceci prouve que le système est stable au sens de Lyapunov et que les erreurs de position et vitesse
sont bornées.
Pour prouver la stabilité asymptotique, on peut employer le Lemme de Barbalat et une extension
du théorème de LaSalle. Il est nécessaire de démontrer que le seul ensemble invariant contenu
dans l’ensemble 0=V est l’origine.
Puisque la borne inférieur de V est nulle, et V est non-positive, il s’en suit que V approche une
limite finie qui peut être définie par
constdtV =− ∫∞
0 (7)
Nous employons maintenant le lemme de Barbalat pour montrer que V tend vers zéro. Pour
cela il faut montrer la continuité uniforme de V . En effet, on voit que
qKqV vT2−= (8)
La preuve de la stabilité montre que q et q sont bornées, d’où, et puisque 1−M est bornée, q est
bornée aussi. Ainsi, V est bornée, d’où V est uniformément continue. Donc, et selon le lemme de
Barbalat, 0→V .
Il est clair maintenant que 0→q , il reste à montrer la convergence du vecteur d’erreur e . No-
tons que quand 0=q , (2) révèle que
eKMq p
1−= (9)
Donc, un )(te non nul résulte en un q non nul, et donc en un q non nul, qui est contradictoire.
Ainsi, l’ensemble unique invariant contenu dans 0:)( =Vtx est 0)( =tx , où
TTT qetx ][)( = .
Le Tableau 4.4.1 résume les différents résultats de cette section
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
173
Tableau 4.4.1 Commandes du Robot par Couple Précalculé Dynamique du Robot :
ττ =+++++ ddv qGqFqFqqVqqM )()(),()(
ou
ττ =++ dqqNqqM ),()(
avec
)()(),(),( qGqFqFqqVqqN dv +++=
Erreur de Poursuite:
)()()( tqtqte d −=
Couple Précalculée et PD
),())(( qqNeKeKqqM pvd +++=τ
Couple Précalculée et PD
e=ε
),())(( qqNKeKeKqqM ipvd ++++= ετ
Couple Précalculé Approximé
NuqM dc +−= )(τ
Dynamique de l’erreur
duue +∆−=
Avec : MMI 1−−=∆
)(1 NNM −= −δ
)()()( 1 ttqMtd dd δτ +∆+= −
Commande PD avec Compensation de la Gravité )(qGeKeK pvc ++=τ
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 174
4.5 Commande Optimale pour la Boucle Externe
Dans la section précédente, nous avons discuté des différentiels techniques pour la synthèse de la
boucle interne et externe dans la commande du couple précalculé. Ces méthodes utilisent des
techniques exactes impliquant l’inversion de la dynamique du manipulateur pour la synthèse de la
boucle interne. Pour la sélection de la boucle externe, certaines approches étaient présentées et résumées au tableau 4.4.1.
Dans cette section nous envisagerons la synthèse de la boucle externe dans la commande du cou-
ple précalculé utilisant une technique de commande moderne, celle de la commande optimale.
Commande Optimale Linéaire Quadratique (LQ)
Etant donnée la représentation d’état d’un système linéaire
BuAxx += (4.5.1)
avec ntx ℜ∈)( , mtu ℜ∈)( . On cherche à calculer la matrice du gain de retour d’état K dans
Kxu −= (4.5.2)
tel que le système en boucle fermée
xBKAx )( −= (4.5.3)
est asymptotiquement stable. D’autant plus, il n’est pas désirable d’utiliser ‘’trop’’ d’énergie
pour stabiliser le système. Pour résoudre ce problème, on fait appel à la technique de commande
optimale. Définissons l’index de performance quadratique
∫∞
+=02
1 )( dtRuuQxxJ TT (4.5.4)
où nnQ ×ℜ∈ et mmR ×ℜ∈ sont deux matrices symétriques définies positives. Q est appelée la
matrice de pondération de l’état, et R est la matrice de pondération de la commande.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
175
La matrice de retour K par la commande optimale LQ est celle qui minimise J , puisque le terme
RuuQxx TT + représente la fonction d’énergie généralisée.
La matrice optimale K qui stabilise )( BKA − et qui garantie que tous les signaux tendent vers
zéro dans le système en boucle fermée (4.5.3) est obtenue par la résolution des équations
PBRK T1−= (4.5.5)
Avec P est la solution de l’équation de Ricatti,
01 =−++ − PBPBRQPAPA TT (4.5.6)
où nnP ×ℜ∈ est une matrice auxiliaire symétrique.
Noter qu’il est facile de résoudre cette équation utilisant la commande Lyap de MATLAB®.
Théorème 4.5.1
Soit le couple observable ),( QA et le couple contrôlable ),( BA , donc :
i) Il existe une matrice définie positive P unique solution de l’équation de Ricatti.
ii) Le système en boucle fermée )( BKA − est asymptotiquement stable.
iii) Le système en boucle fermée possède une marge de gain infinie et une marge de
phase égale à 60 .
Commande par Couple Précalculée Linéaire Quadratique
Appliquons maintenant la commande optimale à la dynamique du robot
ττ =++ dqqNqqM ),()( (4.5.7)
D’après la section précédente, la commande par couple précalculé
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 176
NuqM d +−= )(τ (4.5.8)
donne la dynamique de l’erreur
uIe
eI
e
e
dt
d⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡ 0
00
0 (4.5.9)
qui peut être écrite comme
BuAxx += (4.5.10)
où le vecteur d’état est définie par
⎥⎦
⎤⎢⎣
⎡=
e
ex (4.5.11)
Choisissons la boucle de commande externe de type PD comme
[ ] eKeKxKKKxu vpvp −−=−=−= (4.5.12)
Pour trouver la matrice stabilisanteK , on choisit la matrice Q dans J comme
vp QQQ ,diag= , avec, nnvp QQ ×ℜ∈, (4.5.13)
de sorte que la position et la vitesse sont indépendamment pondérées. L’utilisation de cette solu-
tion dans (4.5.5), et suite à la résolution de l’équation de Ricatti pour ce cas particulier de A et
B (voir Problèmes), donne les matrices de gains stabilisantes suivantes
1−= RQK pp , 12 −+= RQKK vpv (4.5.14)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
177
4.6 Commande Cartésienne
Il existe plusieurs approches pour la commande cartésienne. Par exemple, l’on peut
1. Utiliser la dynamique cartésienne développée à la section 3.5
2. Convertir la trajectoire désirée )(tyd en une trajectoire )(tqd par l’emploi de la cinémati-
que inverse, puis utiliser l’une des approches de la commande par le couple précalculé ré-sumées au Tableau 4.4.1.
3. Utiliser une commande par le couple précalculé cartésienne
Commande Cartésienne par le Couple Précalculée
Cette approche commence par la dynamique articulaire
ττ =++ dqqNqqM ),()( (4.6.1)
et par définir le vecteur d’erreur cartésien
)()()( tytyte dy −= (4.6.2)
où )(tyd est une matrice 44 × donnée par
⎥⎦
⎤⎢⎣
⎡==
1000
)()()()()()(
tptatotntTty
dddddd (4.6.3)
Définissons le vecteur d’erreur cartésienne
⎥⎦
⎤⎢⎣
⎡=
o
py
e
ee (4.6.4)
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 178
où pe est l’erreur de position et oe est l’erreur d’orientation
Supposons que
)(qhy = (4.6.5)
et donc
qJqq
hy =
∂∂
= (4.6.6)
Maintenant utilisant l’approche de la section 3.4, et par une légère modification du développe-
ment de la section 4.4 on peut montrer que la commande par le couple précalculé cartésienne
relative à )(tey est donnée par
NuqJyMJ d +−−= − )(1τ (4.6.7)
qui donne la dynamique de l’erreur
wuey += (4.6.8)
avec le terme de perturbations
dJMw τ1−= (4.6.9)
(4.6.7) est appelée la commande précalculée cartésienne. La commande externe peut être synthé-tisée selon l’une des techniques développées à la section 4.4.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES
179
Problèmes 4.1 Démontrer (4.4.39).
4.2 Répéter l’exemple 4.4.1 utilisant différentes valeurs pour le PD. Essayer des cas
d’amortissement critique et de sous amortissement pour voir l’effet du dépassement sur
les trajectoires des joints.
4.3 Démontrer (4.4.55), (4.4.57) (4.4.60) et (4.4.62)
4.4 La commande CT est robuste en soi. Dans l’exemple 4.4.1, supposer que la masse 2m
change de 1 kg a 2 kg a sec5=t . Simuler le problème de l’exemple 4.4.1 considérant que
la masse 2m dans la loi de commande ait toujours la valeur de 1 kg.
4.5 Répéter le Problème 4.4 utilisant une commande PID. Est-ce que l’action intégrale aide
dans le rejet des perturbations.
4.6 Répéter le Problème 4.4 en supposant maintenant que 2m ait une valeur de 1 kg et de-
meure constante. Par contre, ajouter un terme de frottement )(),( qKqFqqF dv sgn+=
à la dynamique du robot. Simuler les performances du système pour 1010 .,. == ii kv .
4.7 Répéter le Problème 4.6 en employant la commande PID.
4.8 On considère le bras manipulateur de l’exemple 3.2.1 avec un terme de frottement de la
forme )(),( qKqFqqF dv sgn+= . Trouver la dynamique de l’erreur (4.4.44) pour les cas
(a) Le frottement n’est pas inclu dans la commande CT
(b) La masse 2m n’est pas exactement connue dans la commande CT
(c) L’utilisation de la commande PD+gravité (d) L’utilisation de la commande PD classique avec des termes nonlinéaires
4.9 Vérifier (4.6.15). Pour s’y faire, considérer la solution de l’équation de Ricatti comme
⎥⎦
⎤⎢⎣
⎡=
42
21
PP
PPP T
CHAPITRE 4: COMMANDE PAR LE COUPLE PRECALCULE 180
Avec niP ℜ∈ . Substituer P, A, B, Q, R dans l’équation de Ricatti (4.4.6). Vous ob-
tiendrez 3 matrices de dimension nn × qui peuvent être résolues pour iP . Utiliser en-
suite (4.5.6).
4.10 Refaire les simulations de l’exemple 4.4.3 avec la commande PD+Gravité avec les gains
trouvés par le design LQ. Tester la robustesse du système.
4.11 Recommencer avec la dynamique cartésienne dans la section 3.5 et faire le design d’une
commande par le couple précalculé.
4.12 Dériver la dynamique de l’erreur associée à la commande (4.7.11).
4.13 Répéter l’exemple 4.4.3 utilisant une commande cartésienne par le couple précalculé où
les trajectoires sont données dans l’espace de ta tache.
181
Chapter 5
Robust Control of Robot Manipulators In this chapter we discuss the control of robots when their dynamical model is uncertain. This
may arise because the robot is usually carrying an unknown load or because the exact evaluation
of the robot’s dynamics is too costly. The robust controllers in this chapter are obtained from
modifications to the controllers designed in Chapter 4.
5.1 Introduction
The control of uncertain system is usually accomplished using either an adaptive control or a ro-
bust control philosophy. In the adaptive approach, one designs a controller that attempts to
‘’learn’’ the uncertain parameters of the system and, if properly designed, will eventually be a
‘’best’’ controller for the system in question. In the robust approach, the controller has a fixed
structure that yields “acceptable” performance for a class of plants which include the plant in
question. In general, the adaptive approach is applicable to a wider range of uncertainties, but
robust controller are simpler to implement and no time is required to ‘’tune’’ the controller to the
particular plant. In this chapter we review different robust control designs used for robots’ mo-
tion control. The adaptive control will be discussed in Chapter 6. The robust control methods
presented in this chapter may be used to analyze the performance of the simple controllers used
by robot manufacturers which were discussed in Chapter 4, and to suggest improvements and
modifications. In fact, we are able to determine the range of applicability of the simple PID con-
trollers of Chapter 4, as a function of the inherent lack of knowledge of the robot’s dynamics.
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
182
The controllers designed in this chapter may be analyzed using input-output stability tools or
state-space tools. In the input-output approach, the stability of the controlled robot is shown
using the small-gain theorem or the passivity theorem. In the state space approach, most designs
are shown to be stable using Lyapunov-based arguments.
Consider the robot dynamics given in Chapter 3:
dm qqNqqMqGqFqqqVqqM ττ −=+=+++ ),()()()(),()( (5.1.1)
and assume that a desired trajectory in joint space is specified by the time function
[ ]TTd
Td
Td qqx = . Let ddd qqq ,, , and dτ be bounded functions of time. In a fashion similar to
Chapter 4, we assume the trajectory error e to have two components:
qqe d −= qqe d −= (5.1.2)
The controllers of this chapter assume that measurements of q and q are available. As de-
scribed in Section 3.5, variables other than q and q may be measured. The cartesian com-
puted-torque controllers of section 4.6 provide a setting where cartesian trajectory is to be fol-
lowed directly. We limit our discussion to the case of joint measurements with the understanding
that a desired trajectory in another coordinate system may be followed by first obtaining the cor-
responding joint trajectory then applying the methods of this chapter.
We may however, assume that measurements p and p of q and q are corrupted by a bounded
noise, that is
iwqp += ; 2++= wqp (5.1.3)
where ii cw ≤
5.2 Feedback Linearization Controllers
The controllers designed in this section may be obtained as modification of the feedback-
linearization (or computed-torque) controllers of Chapter 3. They are basically the computed-
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 183
torque-like controllers of Section 4.4. We study both static and dynamic feedback designs and
compare different controllers found in the literature. Note that such a study was started in sec-
tion 4.4 and some of the controllers introduced there will reappear in this chapter. The emphasis
will be here on relating many of the controllers scattered through the literature and to give them
common theoretical justification.
We assume for simplicity that 0=dτ in (5.1.1) and that 0=iw in (5.1.3) . although the effects
of bounded dτ and iw can be easily accounted for and will be considered in many examples. In a
way similar to Chapter 4, the dynamics of the robot are transformed into the linear system
uIe
eI
e
e
dt
d⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡ 0
00
0
and
dqqqNqMu +−= − ]),([)( 1 τ (5.2.1)
leading to the nonlinear computed-torque controller
[ ] ),()( qqNuqqM dd +−=τ (5.2.2)
which, due to the inevitability of )(qM , gives the following closed-loop system:
ue = (5.2.3)
described by the transfer function
)(1
)(2
sUs
sE = (5.2.4)
The problem is then reduced to find a linear control u that will achieve a desired closed-loop per-
formance, that is, find HGF ,, and J in
GeFzz +=
JeHzu +=
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
184
or
)()(:)(])([)( 1 tesCteJGFsIHtu =+−= − (5.2.5)
Note from (5.2.4) that the different joints of the robot are decoupled so that at this level, n SISO
separate controllers may be designed to control the n joints of the robot. Unfortunately, the
control law (5.2.2) cannot be usually be implemented due to its complexity or to uncertainties
present in )(qM and ),( qqN and to the presence of dτ and iw . Instead, one applies τ in (5.2.6)
where M and N are the estimates of M and N .
NuqM dˆ][ˆ +−=τ (5.2.6)
This in turn will reintroduce some coupling in the linear model and leads to (Figure 5.5.1)
)( η++= uBAe e
δη 1−+−∆= Mqu d(
IMM −=∆ − ˆ1
NN ˆ−=δ (5.2.7)
and ⎥⎦
⎤⎢⎣
⎡=
e
ee
Note that δ,∆ and therefore η are zero if MM =ˆ and NN =ˆ . In general, however, the vector
η is a nonlinear function of both u and e and cannot be treated as an external disturbance. It
represents an internal disturbance of the globally linearized error dynamics caused by modeling
uncertainties, parameter variations, external disturbances, friction terms, and may be even noise
measurements. Most commercial robots are in fact controlled with the controller given in (5.2.6)
with choices of IM =ˆ and 0=N (See Section 4.4).
The approaches of this section revolve around the design of linear controllers )(sC such that the
complete closed-loop system in Figure 5.5.1 is stable in some suitable sense (e.g. uniformly
bounded, globally asymptotically stable, pL stable, etc.) for a s given class of nonlinear perturba-
tion η . In other words choose )(sC in (5.2.5) such that the error )(te in (5.2.8) is stable in
some desired sense.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 185
Figure 5.2.1: Feedback-linearization; uncertain structure.
The reasonable assumptions (5.2.0)-(5.2.11) below are often made for revolute-joint robots when
using this approach. In the following, 1021 ββαµµ ,,,, and 2β are nonnegative finite constants
which depend on the size of the uncertainties
1
1
2
11
µµ≤≤ −M , 01 ≠µ (5.2.8)
1≤≤∆ α (5.2.9)
2
210 ee βββδ ++≤ (5.2.10)
cqd ≤ (5.2.11)
Recall that inequality (5.2.8) was introduced in Section 3.3 and note that the norms used in the
inequalities above can be, depending on the application, either ∞L or 2L norms. Also note that
the bounds iµ and iβ are scalar functions of q for robots with prismatic joints, and that (5.2.10)
is satisfied by IM )(.ˆ2150 µµ += , so that )/()( 1212 µµµµα +−= . Finally, (5.2.10) is a result
of the properties of Coriolis and centripetal terms discussed in Section 3.3.
Lyapunov Design
Consider the controller introduced in (4.4.13)
ee KsCu −== )( (5.2.12)
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
186
such that
ηηη BABBKAuBA c +=+−=++= eeee )()( (5.2.13)
Consider the following closed-loop linear system
uIKK
I
vp⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡−−
=00
ee
eKe
eKKy vp =⎥
⎦
⎤⎢⎣
⎡= ][ (5.2.14)
Then it may be shown using Theorem 2.11.5 that this system is SPR if
pv KK >2 (5.2.15)
with the choice of
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−=
pv
p
KK
KQ
220
022
2
(5.2.16)
such that
⎥⎦
⎤⎢⎣
⎡=
vp
pvp
KK
KKKP
2 (5.2.17)
is the positive-definite solution of the Lyapunov equation
QPAPA cTc −=+ (5.2.18)
and
[ ],/ vvT KaKPBK 2== 1>a (5.2.19)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 187
Theorem 5.2.1:
The closed loop system given by (5.2.13) will be uniformly bounded if
)()( 00 ee =
and
]))(([ 21
2120211
21
1 ca µµββββµ
++++>
where aIKv 2= and aIK p 4=
Proof:
Consider the closed-loop system given by (5.2.8), with the controller (5.2.12), and choose the fol-
lowing Lyapunov function candidate:
σσσ dyyPVt TT )()( ∆+= ∫02
1ee (1)
where ee PT21 is the Lyapunov function corresponding to the SPR system (5.2.14). Then if
0≥∆ , we have 0>V . This condition is satisfied for IM 2µ≥ˆ . Then differentiate to obtain
)( dT qMKPV ∆−+= − δ1
2
1eee (2)
To guarantee that 0<V , recall the bounds (5.2.8)-(5.2.11) and write
[ ]eeee ))(( ckq
V 210
2
1
3
21
21
2µµβββ
µ+++++
−≤ (3)
where ,)()(min kaQq 121 −== λ kIKIa p =<− )( 1 . Let 242 vpv KaIKaIK <=<= . Note that
e may be factored out of (3) without affecting the sign definiteness of the equation. This uni-
form boundedness of the error is then guaranteed using Lemma 2.10.3 and Theorem 2.10.3 if
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
188
[ ] 02
2101
11
3
2 <+++⎟⎠
⎞⎜⎝
⎛ −+ eee )( µµβµββ kq
kk (4)
which is guaranteed if
[ ]21212021
11 22 /))(( c
kq µµββββ
µ+++> (5)
or
[ ]21212021
1
21
1 /))(( ca µµββββµ
++++> (6)
The controller developed in this section is summarized in Table 5.2.1
Table 5.2.1: Static Controller: Lyapunov Design
Assumptions:
1
1
2
11
µµ≤≤ −M , 01 ≠µ
1≤≤∆ α
2
210 ee βββδ ++≤
cqd ≤
)()( 00 ee =
Controller:
NaeeaqM dˆ)(ˆ +++= 42τ
IM 2µ>ˆ
]))(([ 21
2120211
21
1 ca µµββββµ
++++>
Performances:
Guaranteed Lyapunov stability of e and e . The errors go to zero as a is increased.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 189
This analysis then allows ∆ to be arbitrary large as long as IM 22 µ≥ˆ . In fact, if N were
known,, global asymptotic stability is ensured from the passivity theorem since in this case 0=δ .
The following choices will help satisfy (6)
1. Large gains pK and vK will help large a
2. A good knowledge of N which translates into small 'iβ s.
3. A large 1µ or large inertia matrix )(qM
4. A trajectory with a small c , thus a small desired acceleration dq .
Example 5.2.1: Static Controller (Lyapunov Design)
In all our examples in this chapter we use the two-link revolute-joint robot first described in
Chapter 3, Example 3.2.2, whose dynamics are given by
12212222
21211 ]cos2)[( θθτ aamamamm +++=
2222121222212
222 sin)2(]cos[ θθθθθθ +−++ aamaamam
)cos(cos)( 21221121 θθθ ++++ gamgamm
2212122
22212212
2222 sin]cos[ θθθθθτ aamamaamam +++=
)cos( 2122 θθ ++ gam
The parameters kgm 11 = , kgm 12 = , ma 11 = , ma 12 = and 289 −= msg . are given. Let
⎥⎦
⎤⎢⎣
⎡=
t
tqd
sin
sin; ⎥
⎦
⎤⎢⎣
⎡=
t
tqd
cos
cos
Then radqd 1=∞ , 21 −
∞ = radsqd . It may then be shown that
101 .=µ , 602 .=µ
Let 0=N , then
10102102 ++≤ eeδ
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
190
or that
100 =β , 1021 =β , 102 =β
Then use IM 6=ˆ and 172=a to satisfy (6). In fact these values will lead to a larger controller
gains than are actually needed. Suppose instead that IM 6=ˆ , 0=N , and that
eeu6
25
6
50−−=
)( uqd −= 6τ
Note that this is basically a computed-torque-like PD controller.
Input-Output Designs
In this section we group designs that show the stability of the trajectory error using input-output
methods. In particular, we present controllers that show ∞L and 2L stability of the error.
Static Controllers
These controllers have the same structure as the ones described in Section 4.4 and in the preced-
ing section. The difference is that we show the stability using the error input-output concepts
rather than the state space methods implied by Lyapunov Theory.
The development of this controller starts with assumptions (5.2.8), (5.2.9), and a modification of
(5.2.10) to
2
210 ee βββδ ++≤ (5.2.20)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 191
This assumption is justified by the fact that N is composed of gravity and velocity-dependant
terms which may be bounded independent from the position error e (see 5.1.1). We shall also
assume that 000 == )()( ee . Let us then choose the state-feedback controller (5.2.12)
eKeKy vp −−= (5.2.21)
The corresponding input-output differential equation is
η=++ eKeKe pv (5.2.22)
A block diagram description of this equation is given in Figure 5.2.2
Figure 5.2.2: Block Diagram for second-order differential equation
Consider now the transfer function from η (taken as independent input) to e
⎥⎦
⎤⎢⎣
⎡=
⎥⎥⎦
⎤
⎢⎢⎣
⎡
++++
=⎥⎦
⎤⎢⎣
⎡−
−
)()(
)()()(
)()(
sP
sPs
KsKss
KsKs
ssE
sE
pv
pv
12
11
12
12
η (5.2.23)
or
)()()( ssPs η1=E (5.2.24)
It can be seen that vK and pK are both diagonal, with pv KK 42 = , a critically damped response
is achieved at every joint (see (4.4.22), (4.4.30), and (3.3.32)). The infinity operator gains of
)(sP11 and )(sP12 are (see Lemma 2.5.2 and Example 2.5.5)
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
192
pkP
11111 ==∞ γγ :)( ,
vkP
11212 ==∞ γγ :)( (5.2.25)
where
pip Kk max= , viv Kk max= , 718282.=e (5.2.26)
Consider the following inequalities
∞∞≤
TTe ηγ 11
∞∞≤
TTe ηγ 12
and using (5.2.8)-(5.2.11), we have that
∞∞∞∞∞+++++≤ T
TTvTpTeeeakeakac
2
1
2
1
1
1
0
µβ
µβ
µβ
η (5.2.27)
The following theorem presents sufficient conditions for the boundedness of the error that parallel
those of Theorem 5.2.1.
Theorem 5.2.2
Suppose that
000 == )()( ee
and
144
1
1
1
112 <+=⎟⎟
⎠
⎞⎜⎜⎝
⎛+
vv
kee
aak
µβ
µβ
γ
Then the ∞L stability of the error is guaranteed if
02121
1
2
1
012
1
11211 >
⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+−⎟⎟
⎠
⎞⎜⎜⎝
⎛+−−
µβ
µβ
γµβ
γγ dp qaakvak
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 193
Proof:
The condition above results from applying the small-gain theorem to the closed loop system, un-
der the assumption that 00 =)(e , so that the quadratic term 2
e is small.
Note that (2) reduces to
04
244
1121
1
2
1
0
1
1 >⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+−−⎟
⎠⎞
⎜⎝⎛ +−
µβ
µβ
µβ
dvvp
qaekeke
a
and further to
)]([])[(
e
vae
cak
41
2011
11
84 21
+−+−
=µ
ββµβ (5.2.28)
The following observations are made to help satisfy (5.2.28)
1. A large vk will help satisfy the stability condition
2. A good knowledge of N which translates into small 'iβ s.
3. A large 1µ or large inertia matrix )(qM
4. A trajectory desired acceleration dq .
5. Robot whose inertia matrix does not vary greatly throughout its workspace (i.e. 21 µµ ≈ ),
so that a is small. Note that a small a is needed to guarantee that at least 11 4 <+ )(e
a
The controller is summarized in Table 5.2.2
Example 5.2.2: Static Controller (Input-Output Design)
Consider the nonlinear system (5.2.60), where
4
)(ˆ qMM = , 0=N
Therefore
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
194
4
1=a
Condition (1) is the satisfied if 720>vk . This of course is a large bound that can be improved
by choosing a better N .
Table 5.2.2: Static Controller: Input-Output Design
Assumptions:
1
1
2
11
µµ≤≤ −M , 01 ≠µ
1≤≤∆ α
2
210 ee βββδ ++≤
cqd ≤
)()( 00 ee =
Controller:
Nek
ekekqM vpvd
ˆ)(ˆ ++++=4
2
τ
04
244
1121
1
2
1
0
1
1 >⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+−−⎟
⎠⎞
⎜⎝⎛ +−
µβ
µβ
µβ
dvvp
qaekeke
a
Performances:
Guaranteed boundedness of e and e . The errors go to zero as vk is increased.
Dynamic Controllers
The controllers discussed so far are static controllers in that they don’t have a mechanism of stor-
ing previous state information. In this section we present 3 approaches to show the robustness of
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 195
dynamic controllers based on feedback-linearization method. The first two approaches are 1 DOF
feedback compensators and the last one is a 2-DOF compensator.
One-Degree-of-Freedom Designs
This first class of controllers is called 1-DOF controllers because they can only operate on the
measured output of the robot. i.e. these are controllers that will take the measured signals and
filter them through a dynamical system before feeding the signal to the input.
We assume that the bound of δ is linear (i.e. 02 =β in 5.2.10) and for simplicity we assume a
noiseless measurement case. Let us first recall the system (5.2.16), while suppressing the s de-
pendence
ηη 11 PCGIGe =−− − :)( (5.2.30)
and define
ηη 21 PCGICGu =−= − :)( (5.2.31)
and let the operator gains of iP , 21,=i , be given by
iiP γγ =∞ )( , 21,=i (5.2.32)
Note that ), 12111 max( γγγ = . See Lemma 2.5.2 and example 2.5.5
Consider then:
∞∞≤
TTηγ 1e
∞∞
≤TT
u ηγ 2
∞∞∞∞+++≤
TTTdTuaqa e
1
1
1
0
µβ
µβ
η (5.2.33)
Theorem 5.2.3:
The BIBO stability of the closed-loop system (5.2.30) will be guaranteed if
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
196
01 21
11 >−− γµ
γβa
(1)
In fact, the trajectory error is bounded by
2111
1
1 γµγβγ
a
b
−−≤
∞ /e
1
0
µβ
+=∞Tdqab (2)
Proof:
By the small-gain theorem.
If we study (1) carefully we note that it will be satisfied if
1. 1µ is large or )(qM is large
2. Good knowledge of N , resulting in small 1β
3. Small 1γ due to a large gain of the compensator C .
4. 2γ close to 1, which may also be obtained with large-gain compensator C .
Note that in the limit and as the gain of )(sC becomes infinitely large, 1γ goes to zero. This
will then transform condition (1) to
2
1
γ<a (5.2.34)
It is also seen from (5.2.33)-(5.2.34) that increasing the gain k of )(sC will decrease 1γ , there-
fore decreasing ∞
e . A particular compensator may now be obtained by choosing the parameter
)(sQ to satisfy other design criteria, such as suppressing the effects of η . One can choose
eKu = (5.2.35)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 197
Table 5.2.3: Dynamic One-DOF Controller: Design 1
Assumptions:
1
1
2
11
µµ≤≤ −M , 01 ≠µ
1≤≤∆ α
2
210 ee βββδ ++≤
cqd ≤
)()( 00 ee =
Controller:
NsCqM dˆ))((ˆ ++= eτ
with
∞∞≤
TTηγ 1e
∞∞≤
TTu ηγ 2
∞∞∞∞+++≤
TTTdTuaqa e
1
1
1
0
µβ
µβ
η
01 21
11 >−− γµ
γβa
Performances:
2111
1
1 γµγβγ
a
b
−−≤
∞ /e ,
1
0
µβ
+=∞Tdqab
Then note that conditions (5.2.28) and (1) are identical if 02 =β and vp kk 12112 γγγ += . Also
note from (2) that a smaller dq results in a smaller tracking error. In fact, if 0=eq and 00 =β ,
the asymptotic stability can be shown. Finally, note that the presence of bounded disturbance
will make the bound on the error e larger but will not affect the stability condition (1).
This controller is summarized in table 5.2.3.
Example 5.2.3: Dynamic Controller (Input-Output Design)
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
198
Given the following liner controller
[ ])()()( sCsCsC 21=
Where
)(])()([)(
2
12422
23
1+
+++++−=
ss
kskskssC
)(])()[()(
2
251422
23
2+
+++++−=
ss
kkssksksC
Such that
esCesCu )()( 21 +=
As k increases the disturbance rejection property of the controller is enhanced at the expense of
higher gains. A simulation of this controller for 225=k is shown in Figure 2.2.6. One can see
that the trajectory errors are smaller than any of the previous controllers while the torque efforts
are comparable. The complexity of the controller is acceptable.
It can be shown that the 2L stability of the error cannot be guaranteed unless the problem is
reformulated and more assumptions are made. In fact, the error will be bounded, but it may or
may not have a finite energy. In particular, noisy measurements are no longer tolerated for 2L
stability to hold. We next present an extension of the ∞L stability result that applies to dy-
namical compensators similar to the one described in Theorem 5.2.3 but without the requirement
that 02 =β .
Theorem 5.2.4
The error system of (5.2.30) is ∞L bounded if
)()( 00 ee =
and
02121
1
2
1
01
1
112 >
⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+−−−
µβ
µβ
γµβ
γγ acak (1)
Proof:
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 199
An extension of the small gain theorem
A study of (1) reveals that the following desired characteristics will help satisfy the inequality:
1. A large 1µ due to a large )(qM
2. A Small 1γ and a 2γ close to 1, which will result from a large-gain compensator C .
3. Small iβ ’s, which will result from a good knowledge of N .
4. A small c due to a small dq .
Note that conditions in Theorem 5.2.2 are recovered if ),( 12111 max γγγ = and
vp kkk 12112 γγγ += .
On the other hand, assuming that 0=dq and 02 =β , the 2L stability of e can be shown if
011
112 >−−
µβ
γγ ak (5.2.36)
where )()( ωγγ ω jPP iii ℜ∈== max2 as given in Lemma 2.5.2.
This controller is summarized in Table 5.2.4
Example 5.2.4: Dynamic One-DOF Design
Use the same controller as that one of Example 5.2.3, but assume that the quadratic velocity
term in N are known, so that 02 =β ; that is
qqqVuqM md ),()( +−=τ
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
200
Table 5.2.4: Dynamic One-DOF Controller: Design 1
Assumptions:
1
1
2
11
µµ≤≤ −M , 01 ≠µ
1≤≤∆ α
2
210 ee βββδ ++≤
cqd ≤
)()( 00 ee =
Controller:
NsCqM dˆ))((ˆ ++= eτ
For ∞L stability
02121
1
2
1
01
1
112 >
⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+−−−
µβ
µβ
γµβ
γγ acak
For 2L stability
011
112 >−−
µβ
γγ ak
Performance:
Guaranteed boundedness of e and e . The errors go to zero as the gain k of )(sC is increased.
Two-degree-of-Freedom-Design
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 201
It is well known that the 2-DOF structure is the most general linear controller structure. The 2-
DOF design allows us simultaneously to specify the desired response to a control input and guar-
antee the robustness of the closed-loop system.
The following result presents a 2-DOF compensator which will robustly stabilize in the error sys-
tem in the ∞L sense.
Theorem 5.2.5
Consider a two DOF structure of Figure 5.2.3. Let )(sK1 be a stable system and )(sK 2 a com-
pensator to stabilize )(sG . Then the controller
)( qvKKvKsu −+= 1212
will lead to the closed-loop system
vKq 1=
and the closed-loop error system (5.2.13) will be ∞L stable.
Proof:
With simple block-diagram manipulations, it may be shown that the closed-loop system is
vKq 1=
The actual robustness analysis is involved and will be omitted, but a particular design and its
robustness are discussed in the next example.
Example 5.2.4
Consider the 2-DOF structure of Figure 5.2.3 where
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
202
Is
sG2
1=)(
dqv =
Then a 2-DOF regulator is described by
Iwswas
wsK
2111
2
21
1 ++=)(
Is
wswbswbsK ⎥
⎦
⎤⎢⎣
⎡++=
322
21222 )(
Figure 5.2.3: Two DOF controller structure
where 11
22
3 +++ sbsbs , is a stable polynomial, and 1121 baww ,,, and 2b are design parameters.
Note that )(sK 2 is a PID controller and that the closed-loop system given by )(sK1 is a second
order system with natural frequency 1w and a damping ration 21a=ζ . Note also that the input
to the robot becomes
dd qKsqqKK 12
12 )( −−=τ
or
dqKsKqK 12
22 )( ++=τ .
We can immediately see that the joint position vector q is filtered through the PID controller
)(sK 2 . Therefore the differentiation of q is required unless the measurement of q is available.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 203
We have presented in this section a large sample of controllers that are more or less computed-
torque based. We have shown using different stability arguments that the computed-torque
structure is inherently robust and that by increasing the gains on the outer-loop linear compensa-
tor, the position and velocity errors tend to decrease in the norm. This class of controllers consti-
tutes by far the most common structure used by robotics manufacturers and is the simplest to
implement and study. There are more compensators that would fit into this structure while ap-
pealing to some classical control applications. The PD and PID compensators may be replaced
by the lead-lag controllers. These are especially appealing when only position measurements are
available.
On the other hand, there exists other types of controllers, which although less prevalent, still con-
stitute a very important class of robot controllers. These are nonlinear controllers which do not
rely directly on the feedback linearizability of the robot. Instead, they may be obtained from the
passivity of its dynamics or may even bypass any special structural properties of the robot. These
controllers are discussed next.
5.3 Nonlinear Controllers
There is a class of robot controllers that are not computed-torque-like controllers. These control-
lers are obtained directly from the robot equations without using the feedback-linearization pro-
cedure. Instead, these controllers may rely on other properties of the robot (such as the passivity
of its Euler-Lagrange description) or may be obtained without even considering of the physics of
the robot. In general, these controllers may be written as a computed-torque controller with an
auxiliary, nonlinear controller added to it. The nonlinear control term introduces coupling be-
tween the different joints independently from the computed-torque term.
Direct Passive Controllers
First, we present controllers that rely directly on the passive structure of rigid robots as described
in equations (5.1.1), where ),(2)( qqVqM m− is skew symmetric by an appropriate choice of
),( qqVm as described in Section 3.3.
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
204
Based on the passivity property, if one can close the loop from q to τ with a passive system
(along with 2L bounded inputs) as in Figure 5.3.1, the closed loop system will be asymptotically
stable using the passivity theorem. Note that the input 2u gives an extra degree of freedom to
satisfy some performance criteria. In other words by choosing different 2L bounded 2u we may
be able to obtain better trajectory tracking or noise immunity. This structure will show the as-
ymptotic stability of e but only the Lyapunov stability of e . On the other hand, if one can
show the passivity of the system, which maps τ to a new vector r which is a filtered version of e ,
a controller that closes the loop between r− and r will guarantee the asymptotic stability of
both e and e .
Figure 5.3.1: Passive-control scheme
Let the controller be given by (5.3.1), where )(sF is a strictly proper, stable, rational function,
and rK is a positive-definite matrix,
rKqGrqqqVesCqqM rmd +++++= )())(,(])()[(τ
esFes
sCsIr )(
)( 1−=⎥⎦⎤
⎢⎣⎡ += (5.3.1)
Substituting (5.3.1) into (5.1.1) and assuming no friction (i.e. )0)( =qF we obtain
0),()( =++ rKrqqVrqM rm (5.3.2)
The it may be shown that both e and e are asymptotically stable. In fact, choose the following
Lyapunov function
/ ( )1 2 TV r M q r=
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 205
Then
rqMrrqMrV TT )(2
1)( +=
Substituting for rqM )( from (5.3.2), we obtain
0<−= rKrV rT . (5.3.3)
Therefore, r is asymptotically stable, which can be used to show that both e and e are asymp-
totically stable. This approach was used in the adaptive control literature to design passive con-
trollers, but its modification in the design of robust controllers when mVM , and G are not ex-
actly known is not immediately obvious. Such modifications will be given in the variable-structure
designs, but first we present a simple controller to illustrate the robustness of passive compensa-
tors.
Theorem 5.3.1
Consider the control law (1)
2)( ues +Λ=τ
where )(sΛ is an SPR transfer function, to be chosen by the designer, and the external input 2u is
bounded in the 2L norm. Then e is asymptotically stable, and e is Lyapunov stable.
Proof:
Using the control law above, one gets from Figure (5.3.1),
esr )(Λ=
By an appropriate choice of )(sΛ and 2u , one can apply the passivity theorem and deduce that
e is asymptotically stable because
rse 1)( −Λ=
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
206
This will imply that the position error e is bounded but not its asymptotic stability in the case of
time-varying trajectories [ ]TTd
Td qq . In the set-point tracking case, however (i.e., )0=dq , and
with gravity precompensation, the asymptotic stability of e may be deduced using LaSalle theo-
rem. The robustness of the closed-loop system is guaranteed as long as )(sΛ is SPR and that 2u
is 2L bounded, regardless of the exact values of the robot’s parameters.
The controller is summarized in Table 5.3.1
Example 5.3.1: Passive Controllers
We choose an SPR transfer function
⎥⎥⎦
⎤
⎢⎢⎣
⎡=Λ
++
++
103300
225450
0
0
ss
ss
s)(
And we let dqu =2 . Note that the desired trajectory used so far violates the assumption that 2u
should be 2L stable. Nevertheless this controller, when started at 000 == )()( ee , performs
rather well for the sinusoidal trajectory. Of course, since the passivity theorem provides
sufficient conditions for stability, this example is not contradicting the previous theorem
but merely pointing out its conservatism.
Table 5.3.1: passive Controller
Assumptions:
)(sΛ is an SPR transfer function. 2u is a finite energy signal.
Controller
2)( ues +Λ=τ
Performance:
Guaranteed Lyapunov stability of e and asymptotic stability of e . In the case where 0=dq ,
asymptotic stability of e is also guaranteed.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 207
Variable Structure Controllers
The Variable Structure System has been applied to control of many nonlinear processes. One of
the main features of this approach is that one needs to derive the error of a “switching surface”, after which the system is in “Sliding Mode” and will not be affected by any modeling uncertainties
and/or disturbances.
The first application of VSS theory to robot control is due to Young (1978), where the set-point
regulation problem ( 0=dq ) was solved using the following controller
⎪⎩
⎪⎨⎧
= +
+
i
ii τ
ττ 0),( if
0),( if
1
1
<>
iii
iii
qer
qer (5.3.4)
where ni ,,1…= for an n-link robot, and ir are the switching planes.
iiiii qeqer += λ),( 1 , 0>iλ . (5.3.5)
It is then shown, using the hierarchy of the sliding surfaces nrr ,,1 … and given bounds on the
uncertainties in the manipulator model, that one can find +τ and −τ in order to drive the error
signal to the intersection of the sliding surfaces, after which the error will “slide” to zero. This
controller estimates the nonlinear coupling of the joints by forcing the system into the sliding
mode. Other VSS robot controllers have since been designed. Unfortunately, for most of them,
the control effort as seen from (5.3.4) is discontinuous along 0=ir and will then create chatter-
ing, which may excite unmodelled high frequency dynamics. In addition, these controllers do not
exploit the physics of the robot and are therefore less effective than controllers that do.
To address this problem, the original VSS controllers were modified as described in the next theo-
rem. Let us first define a few variables to simplify the statement of the theorem. Let
eer +Λ= , ],,,[diag 1 nλλ …=Λ 0>iλ
dr qeq +Λ=
[ ])sgn(,),sgn()sgn( 1 ni rrr …= (5.3.6)
where
1)sgn( =ir if 0>ir 1)sgn( −=ir if 0<ir
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
208
Theorem 5.3.2
Consider the controller
)(ˆˆˆ rKGqVqM rmr sgn+++=τ
where
],,,[ nkkK …1diag= 0>ik
Then the error reaches the surface
eer +Λ=
in a finite time. In addition, once on the surface, )(tq will go to )(tqd exponentially fast.
Proof:
Consider the Lyapunov function candidate
rqMrrV T )()(2
1=
Then
rqMrqMrrrV T )()(),(2
1+=
Substituting for r and using the skew-symmetry property of mVM 2− , we obtain
][ τ−++= GqVqMrV rmrT
The if we use the controller given by
)(ˆˆˆ rKGqVqM rmr sgn+++=τ
we obtain
∑=
−++=n
iiirmr
T rkGqVqMrV1
]~~~[
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 209
where
MMM ˆ~−= , mmm VVV
~~−= , GGG ˆ~
−=
Then it is sufficient to choose
iirmri GqVqMk η+++= ]~~~[
where 0>iη . Therefore
∑=
−≤n
iii rkV
1
Which implies that 0=r is reached in a finite time. In addition, once in stability mode, e con-
verges exponentially fast to zero.
The controller is summarized in table 5.3.2
Table 5.3.2: variable Structure Controller 1
Assumptions: None
Controller
eer +Λ= , ],,,[diag 1 nλλ …=Λ 0>iλ
dr qeq +Λ=
[ ])sgn(,),sgn()sgn( 1 ni rrr …=
1)sgn( =ir if 0>ir 1)sgn( −=ir if 0<ir
)(ˆˆˆ rKGqVqM rmr sgn+++=τ ; ],,,[ nkkK …1diag= 0>ik
Performance
Guaranteed uniform ultimate boundedness of e and e
Guaranteed uniform boundedness is 000 == )()( ee .
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
210
Example 5.3.2: VSS Controller 1
Consider the two-link manipulator and choose IK 10= and I5=Λ . Note that a chattering be-
havior due to the infinitely fast switching of the controller can become apparent. A common
remedy of the problem is to sacrifice asymptotic stability by using )/( εrsat , 0>ε instead of
)(rsgn . (Figure 5.2.3)
Figure 5.3.2: (a) plot of )/( εrsat ; (b) plot of )(grtanh
A more recent VSS controller can be introduced. The assumptions required by this controller are
ijij MMM <− )ˆ(
ijij mM <
[ ] )()ˆ( tcqMM iid <−
ii nNN <− )ˆ( (5.3.7)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 211
Note that these bounds are different in spirit that those given in (5.2.8)-(5.2.11). the current
bounds are often more useful since they depend on the uncertainty of each element of M and N.
Theorem 5.3.3
The error e and e are asymptotically stable if the input torque is give by
))(()()()(ˆˆ trtQtrtPNqM r sgn+++=τ
where
[ ],)(,),()( tptptP n…1diag=
[ ],)(,),()( tqtqtQ n…1diag=
i
n
iiji kmtp += ∑
=12
1)( , 0>ik
iij
n
iiji cneMtp ++Λ= ∑
=1
)(
Proof:
Choose the same Lyapunov function as in Theorem 5.3.2:
rqMrrV T )()(2
1=
Then, differentiating and substituting for τ , we obtain
]~~~)([ dTT qMNeMrQrr
MPrV ++Λ+−+⎥
⎦
⎤⎢⎣
⎡−−= sgn
2
Which using (4)-(5.3.7) may be shown to be
0≤−≤ KrrV T
Therefore, the surface 0=)(tr is reached in a finite time, after which the exponential stability of
the error results as discussed in Theorem 5.3.2.
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
212
The controller is summarized in table 5.3.3
Table 5.3.3: variable Structure Controller 2
Assumptions:
ijij MMM <− )ˆ(
ijij mM <
[ ] )()ˆ( tcqMM iid <−
ii nNN <− )ˆ(
Controller
)(()()()(ˆˆ trtQtrtPNqM r sgn+++=τ
where
[ ],)(,),()( tptptP n…1diag=
[ ],)(,),()( tqtqtQ n…1diag=
i
n
iiji kmtp += ∑
=12
1)( , 0>ik
iij
n
iiji cneMtp ++Λ= ∑
=1
)(
Performance
Guaranteed uniform ultimate boundedness of e and e
Guaranteed uniform boundedness is 000 == )()( ee .
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 213
Example 5.3.3: VSS Controller 2 (Saturation)
The two-link robot is controlled using this controller with the following design parameters:
⎥⎦
⎤⎢⎣
⎡=
11
13M , ⎥
⎦
⎤⎢⎣
⎡=
01
12M
,ˆ 0=N ⎥⎥⎦
⎤
⎢⎢⎣
⎡
+++
=89
89322
2221
.).(
q
qqqN
⎥⎦
⎤⎢⎣
⎡=
1
3c , ⎥
⎦
⎤⎢⎣
⎡=Λ
10
03, ⎥
⎦
⎤⎢⎣
⎡=
10
10K
The algorithms of Theorems 5.3.2 and 5.3.3 although using the physics of the robot, suffer from
the chattering commonly encountered in VSS control because of using the term )(rsgn . A com-
mon remedy of the problem is to sacrifice asymptotic stability by using )/( εrsat instead of
)(rsgn as done in both examples 5.3.2 and 5.3.3. We propose instead to use a term
)(grtanh where g is a gain parameter that adjusts the slope of tanh around the origin as shown
in Figure 5.3.2.b. This term is continuously differentiable, and a good approximation of )(rsgn
for large r, will result in uniformly ultimately bounded errors, and by adjusting g we are able to
get similar performance to the )(rsgn without the chattering behavior.
Saturation type controllers
In this section we present controllers that utilize an auxiliary saturation signal to compensate for
the uncertainty present in the robot dynamics as given by (5.2.1) where ),( qqVm is defined in
Chapter 3.
ττ =−+++ dm qGqFqqqVqqM )()(),()( (5.3.8)
or
τ=+=++ ),()(),(),()( qqNqqMqqZqqqVqqM m (5.3.9)
Therefore ),( qqZ is an n-vector representing friction, gravity and bounded torque disturbances.
The controllers introduced in this section are robust due to the fact they are designed based on
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
214
uncertainty bounds rather than the actual values of parameters. The following bounds are
needed and may be physically justified. The 'iζ s in (5.3.110 are positive scalar constants and
the trajectory error e is as defined earlier.
IqMI 21 µµ ≤≤ )( (5.3.10)
2210 ee ζζζ ++≤+= ),(),(),( qqZqqqVqqN m (5.3.11)
Theorem 5.3.4
The trajectory error e is uniformly ultimately bounded (UUB) with the controller
),(ˆ][ qqNveKeKq rpvd +++++
=21
212
µµµµ
τ
where
IkK vv = , IkK pp =
⎪⎪
⎩
⎪⎪
⎨
⎧
≤
>=
εε
ε
)()(
)()(
ee
ee
e
PBpPB
PBpPB
PB
v
TT
T
T
T
r
if
if
and
⎥⎦
⎤⎢⎣
⎡+++
−= φ
µ1
1
1
1ekekqa
ap vpd
2210 ee βββφ ++=
21
12
µµµµ
+−
=a
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 215
Proof:
Choose the Lyapunov function
ee PeV T=)(
And proceed as in theorem 2.5.4
Note that in equations above, the matrix B is defined as in (5.2.3), the 'iβ s are defined as in
(5.2.10), and the matrix P is the symmetric, positive-definite solution of the Lyapunov equation
(5.2.12), where Q is symmetric, positive-definite matrix and cA is given in (5.2.14).
QPAPA cTc −=+ (5.3.12)
In particular, the choice of Q could be
⎥⎦
⎤⎢⎣
⎡−
=IK
KQ
v
p
20
0, IKv > (5.3.13)
Leads to the following P:
⎥⎦
⎤⎢⎣
⎡ +=
II
IKKP vp
50
5050
...
(5.3.14)
The expression of P in (5.3.14) may therefore be used in the expression of rv in (2).
This design is summarized in table 5.3.4.
Upon closer examination of the controller in Theorem 5.3.4, it becomes clear that rv depends on
the servo gains pK and vK through p . This might obscure the effect of adjusting the servo
gains and may be avoided as the following theorem states.
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
216
Table 5.3.4: Saturation Controller 1
Assumptions:
IqMI 21 µµ ≤≤ )(
2210 ee ζζζ ++≤),( qqN
Controller:
),(ˆ][ qqNveKeKq rpvd +++++
=21
212
µµµµ
τ
where
IkK vv = , IkK pp =
⎪⎪
⎩
⎪⎪
⎨
⎧
≤
>=
εε
ε
)()(
)()(
ee
ee
e
PBpPB
PBpPB
PB
v
TT
T
T
T
r
if
if
⎥⎦
⎤⎢⎣
⎡+++
−= φ
µ1
1
1
1ekekqa
ap vpd
2210 ee βββφ ++=
21
12
µµµµ
+−
=a
Performances
Guaranteed uniform ultimate boundedness of e and e
Guaranteed uniform boundedness is 000 == )()( ee .
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 217
Theorem 5.3.5:
The trajectory error e is uniformly ultimately bounded (UUB) with the controller
),,,( ετ eepveK rv +=
where
⎪⎩
⎪⎨⎧
+
++=
−
ε/)()()(
pe
epev
e
ee
r
2
122
ε
ε
≤+
>+
eif
eif
e
e
2
2
and
2210 eep δδδ ++=
where 'iγ s are positive scalars.
Proof:
Choose again the Lyapunov function
ee PeV T=)(
and
⎥⎦
⎤⎢⎣
⎡=
v
p
K
KQ
0
050.
And proceed as in Theorem 5.3.4
Note that p no longer contains the servo gains and, as such, one may adjust pK and vK with-
out tampering with the auxiliary control rv . It can be shown that if the initial error 00 =)(e and
by choosing IkKK vpv == 2 , the tracking error may be bounded by the (5.3.15), which shows
the direct effect of the control parameters on the tracking error:
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
218
( ) 21
268/
⎥⎦
⎤⎢⎣
⎡ +≤
v
v
k
k εµe (5.3.15)
Finally, note that if 000 == )()( ee , the uniform boundedness of )(te may be deduced.
This controller is summarized in Table 5.3.5
Table 5.3.5: Saturation Controller 2
Assumptions:
IqMI 21 µµ ≤≤ )(
Controller
),,,( ετ eepveK rv +=
where
⎪⎩
⎪⎨⎧
+
++=
−
ε/)()()(
pe
epev
e
ee
r
2
122
ε
ε
≤+
>+
eif
eif
e
e
2
2
2210 eep δδδ ++=
Performances
Guaranteed uniform ultimate boundedness of e and e
Guaranteed uniform boundedness is 000 == )()( ee .
Note that the last two controllers, although using a continuous term rv , may be modified using
the parabolic tangent term introduced in Example 5.3.4. In fact there are many extensions of
these controllers. A particularly simple one uses linearity of the dynamics with respect the un-
known physical parameters of the robot as given in (3.3.62), where axWp mΦ= . In this for-
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 219
mulation, W is a matrix containing time varying but known terms, while Φ is a vector of un-
known but constant terms in the dynamic formulation (3.3.59)
Φ= ),,( qqqWτ (5.3.16)
More on this formulation and its usage will be presented in chapter 6.
5.4 Research Study: A Mixed Optimal/Robust Con-
trol for Robot Manipulators
This section is devoted to a research study, where we looked into the asymptotic stability of sys-
tem’s errors using a mixed Optimal and Robust Control. The content of this study authored by
Faïçal Mnif is published in Journal of Systems and Control Engineering, 2004. The purpose be-
hind including this chapter is to show the graduate student the procedure of writing papers and
also to link the material seen in last section with up-to-date research problems.
A mixed Optimal/robust control is proposed for the tracking of rigid robotic systems under pa-
rametric uncertainties and external perturbations. The design objective is that under a pre-
scribed disturbance norm level, an optimal control system is to be designed as well as a robust
control to overcome the effect of uncertainties. The optimal control is based on the solution of a
nonlinear Ricatti equation, which by virtue of the skew symmetry property of manipulators and
an adequate choice of state variables become an algebraic equation which is easy to solve. We
then investigate the design of the robust control of the uncertain system by a continuous state
feedback function. It will be shown that our approach globally asymptotically stabilizes the un-
certain dynamical system. Results of simulations performed on a 2-DOF manipulator are provided
to illustrate the validity of the proposed approach.
Introduction
The robust control problem for robot manipulators has received considerable interest from many
researchers over the last two decades. By robust control strategies, we mean strategies that are
designed to yield good dynamic behavior in the presence of modeling errors and unmodeled dy-
namics. Indeed, model uncertainties are frequently encountered in robotics due to unknown or
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
220
changing payload, friction, backlash, flexible joints or robot parts for which only simplified dy-
namical models are available.
Robot manipulators possess complex, nonlinear and coupled dynamics. Many different robot con-
trol strategies have been published in the literature. Classical control strategies can be found in
textbooks on robotics (e.g. [1]-[2]). These classical controls, as PD-like control scheme or the ex-
act feedback linearization approach, fail to ensure zero-error convergence for the state variables of
the system, when it is subject to parameter or external uncertainties [3]-[4]. To deal with this
problem, many researchers have used have developed a number of robust control approaches. A
survey on robust control of robot manipulators is given in [3] and [4]. Various approaches are
classified into five categories (e.g. [5]- [9])
1- Passivity-based approach;
2- Variable structure controllers;
3- Robust saturation approach;
4- Robust adaptive approach.
The problem related to most of the robust approaches is related to the behavior of torques input
to the manipulator. In fact high starting torques and chattering (ripples) behavior is usually as-
sociated with these schemes [3]. To solve this problem, we deal in this study with the design of
robust/optimal control of robot manipulators. An optimal control approach to robust control
robot manipulators has been described in [10]. In this study, a robust control problem is intro-
duced using state space representation, where the uncertainty is a function of state and satisfy
the matching condition. In [11]-[12] a control strategy for the robust control of robot manipula-
tors was also addressed in the basis of H2/H ∞ problem. In [13] parametric uncertainties are
dealt with and the results are extended to include nonparametric uncertainties.
In this study we address the problem differently from what is presented in [10]-[12]. We investi-
gate first the nonlinear optimal control to ensure both zero-error convergence of the nominal sys-
tem and to minimize the torque input to the manipulator. We then investigate the robust con-
trol problem for the uncertain system. The first control is based on Johansson’s work [14], which
addresses the optimal control problem for robot manipulators that minimizes a quadratic per-
formance index involving system error and torque input, as an explicit solution of the Hamilton-
Jacobi equation. The second control is a robust control loop which consists of a time variable
state feedback function. The first control component will ensure the optimal tracking of the
nominal system, whereas the second loop will ensure asymptotic stability of the uncertain system.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 221
A stability analysis based on Lyapunov theory is investigated to prove the global asymptotic sta-
bility of the uncertain system.
This study is organized as follows: In section 2, we consider the differential equation describing
the dynamics of the robot manipulator and show how the uncertainties discussed above can be
incorporated in the equation. We then formulate the robust control problem for a robot manipu-
lator. In section 3, we investigate the optimal control approach for the nominal system. In sec-
tion 4 we investigate the robust optimal control problem addressed in section 2. In section 5
simulation results applied to a 2-DOF robot manipulator are provided to illustrate the validity of
our approach.
Manipulator dynamics and problem formulation
The motion equations of a robot manipulator with external disturbances can be expressed as [1],
dττ)()()()( +=+++ qGqqFqqq,CqqM (5.4.1)
where nℜ∈q is the joint position, nn×ℜ∈)(qM denotes the generalized masses matrix of the
manipulator, nℜ∈qqq,C )( represents the centripetal and Corriolis terms, nℜ∈)qF( represents
the friction vector, nℜ∈)(qG represents the gravitational forces, nℜ∈τ is the applied torque
vector and nd ℜ∈τ is the external disturbances vector.
Property 5.4.1:
For all nℜ∈q the matrix M(q) is symmetric and uniformly positive definite
Property 5.4.2:
A suitable definition of )( qq,C makes the matrix CM 2− skew-symmetric, so that
nT ℜ∈∀=− xxCMx 0)2(
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
222
The desired reference trajectory to be followed is assumed to be composed of bounded functions of
time in terms of the generalized positions 2Cd ∈q where C2 is the class of functions at least twice
continuously differentiable
Define the state tracking error as
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−−
=⎥⎦
⎤⎢⎣
⎡=
d
d
q
qe ~
~: (5.4.2)
Then the tracking problem of the generalized position q and velocity q is reduced to the regula-
tion problem of the state vector error e. Combining (5.4.1) and (5.4.2), the dynamic equation for
the state tracking error e is obtained as
)ττ)((),,,()(~~
ddde +++=⎥
⎦
⎤⎢⎣
⎡= − qBMqqqqBqq,A
q
qe 1
0 (5.4.3)
where
⎥⎥⎦
⎤
⎢⎢⎣
⎡ +−=
××
×−
nnnn
nn
0I
0qFqq,CqMqqA
)]()()[(),(1
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++−−=
×
−
nn
dddd
0
qqFqqCqGMqqqqqB
)))(),(()((),,,(1
0
⎥⎦
⎤⎢⎣
⎡=
×
×
nn
nn
0
IB
Define the filtered link tracking error r(t), [14] as
)(~Γ)(~)( ttt qqr += α (5.4.4)
for some constant scale 0>α and constant positive matrix nn×ℜ∈Γ which should be adequately
determined.
Define
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
××
×
×× nnnn
nn
nnnn I0
I
I0
TT
T
TT
Γα1211
2
1 (5.4.5)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 223
then the error dynamics equation can be modified as the compact form
weBe,TeBeeA
q
rTe
),()τ)((),(),()(~)(
ttftt
t
t
TTT ++−+=
⎥⎦
⎤⎢⎣
⎡= −
11
1
(5.4.6)
where
TTTT
0qFqq,CqMTeA
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−+−
= −−×
−−
121
111
11
11 nn
T t))()()((),(
)(),( qM0
ITeB 11 −
×
×−⎥⎦
⎤⎢⎣
⎡=
nn
nnT t
)()~))(()(()~)((),( qGqTTqqq,CqFqTTqqMe +−++−= −−12
11112
111
ddtf
dτα=w
dτ represents here the vector of parameter uncertainties, unmodelled dynamics and the energy of
external disturbances extdτ such that
extdd τ)())()(()(τ +∆+∆+∆+∆= qGqqq,CqFqqM (5.4.7)
The term weB ),( tT models the uncertainty function in the system dynamics. Since the uncer-
tainty is in the range of ),( tT eB then the matching condition is satisfied.
Assumption 5.4.1:
For any ),(),,(,2 tt TTn eBeAe ℜ∈ and w are Lebesque continuous functions and ,ℜ∈∀t
0=),( tT 0A
Assumption 5.4.2:
For any ℜ×ℜ∈ nt 2),(e , the Euclidian norm of w is bounded by some known continuous func-
tion, i.e.
),( tew ρ≤ (5.4.8)
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
224
where ),( teρ is a Lebesque continuous function.
Assumption 5.4.3:
For a given set nE 2ℜ⊂ and for [ ] ℜ⊂ba, ,there exist a Lebesque integral function
[ ] 2,1 ,,:(.) =ℜ→ ibami , such that for any [ ]baEt ,),( ×∈e
)(),(),(
)(),(
tmtt
tmt
T
T
2
1
≤
≤
eeeB
eeA
ρ (5.4.9)
Assumption 5.4.4:
The origin is an asymptotic stable equilibrium for the nominal system eeAe ),( tT= . In particu-
lar, there exist a positive definite function +ℜ→ℜ×ℜnV :(.) and continuous decreasing scalar
functions 3 ,2 ,1 ,:(.) =ℜ→ℜ ++ iiγ satisfying
3 ,2 ,1 0)0( == iiγ (5.4.10)
21 lim ,)( =∞=∞→ irir γ (5.4.11)
such that for any ℜ×ℜ∈ nt 2),(e
)(),()( 21 eee γγ ≤≤ tV (5.4.12)
)(),(),(),(3 eeeAee γ−≤∇+
∂∂ ttV
ttV
TTe (5.4.13)
where V(.) is a Lyapunov candidate function for the nominal system
)),((),(),( 11 τeTeBeeAe +−+= tftt TT (5.4.14)
The objective of the tracking design for nominal system involves designing an optimal control
whose effect is to minimize the control effort to the input of the system. The nonlinear optimal
control which should possess some physical meanings must be included in the quadratic perform-
ance criterion. One of the innovative contributions in the work of Johansson [14] is that a selec-
tive applied torque is applied as
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 225
eTqFqq,CeTqMu 11 ))()(()( ++= (5.4.15)
which only affects the kinetic energy of the system since, during the process of motion, it may be
unnecessary to consider the consumption due to the potential energy and to optimize gravita-
tional-dependent torques or forces. The relation between the control variable u and the applied
torque τ in (5.4.14) is given by
uTe 111−+= ),(τ tf (5.4.16)
Then the state tracking error equation, driven by the selective applied torque u, for the uncertain
system can be written as
we,BueBeeAe )(),(),( ttt TTT ++= (5.4.17)
The control problem goal can be stated as: Given the uncertain dynamical equation (5.4.6) of a
robotic system satisfying assumptions A5.4.1-A5.4.4 design a robust optimal control to:
1. Achieve global asymptotic stabilization of the nominal system using an optimal control
approach
2. Ensure global asymptotic stability for the uncertain dynamical system.
Optimal control for the nominal system
We consider in this section the nominal system
ueBeeAe ),(),( tt TT += (5.4.18)
We look here for an optimal control law *u that minimizes the quadratic index performance
( )∫∞
+=02
1t
TT dtttttJ )()()()()( RuuQeeu (5.4.19)
Q and R are positive definite matrices to be chosen.
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
226
Johansson in [14] shows that the optimal solution of (5.4.19) is given by
eePeBRu ),(),()(* ttt TT
1−−= (5.4.20)
where ),( teP is the solution of the nonlinear Ricatti equation
01 =+−++ − QPBRPBPAPAP TTT
TTT (5.4.21)
Considering Property 5.4.2 related to the dynamics of the manipulator, one can show that
),( teP can be explicitly considered as
TK0
0qMTeP ⎥
⎦
⎤⎢⎣
⎡=
××
×
nnnn
nnTt)(
),( (5.4.22)
where K is a positive nn × matrix.
The nonlinear Ricatti equation can be simplified as
T00
0qqMT
0K
K0PAPA ⎥
⎦
⎤⎢⎣
⎡−+⎥
⎦
⎤⎢⎣
⎡=+
××
×
××
××
nnnn
nnT
nnnn
nnnnTTT
),( (5.4.23)
and
TBPB TTT = (5.4.24)
From equations (5.4.20) and (5.4.24), u* can be rewritten as
TeeBRu ),()(* tt T1−−= (5.4.25)
and the nonlinear Ricatti equation becomes an algebraic equation as
0TBBRTQ0K
K0=−+⎥
⎦
⎤⎢⎣
⎡ − TT 1 (5.4.26)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 227
Theorem 5.4.1
Consider the nominal error manipulator dynamics (5.4.14), the optimal control law
TeeBRuu ),()()(* ttt T11
−−==
stabilizes asymptotically the system (5.4.18), where 0>K and a nonsingular T solving the alge-
braic matrix equation (5.4.26).
Proof:
Consider the Lyapunov candidate function
Peee, TtV2
1=)( (5.4.26)
The quadratic function ),( tV e is a suitable Lyapunov function candidate because it is positive
radially growing with e . It is continuous and has a unique minimum at the origin of the error
space. It remains to show that 0 <V for all 0≠e . It can be shown that for u* as in (5.4.25),
the function V satisfies the partial differential equation
t
tVtV
dt
tdVT
∂∂
+⎟⎠⎞
⎜⎝⎛
∂∂
=−),(),(),(
*e
ee
eeu (5.4.27)
But
** ),(),(),(
uee
eue
eT
tVL
t
tV⎟⎠⎞
⎜⎝⎛
∂∂
−−=∂
∂ (5.4.28)
where L (.,.) is the Lagrangian as
RuuQeeue ** ),(21
21 += TL (5.4.29)
then
RuuQeee *),(
21
21 −−= T
dt
tdV (5.4.30)
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
228
and finally
0 2
1 1 <+−= − eQTBBRTee )(),( TTT
dt
tdV, 0 0 ≠>∀ e,t (5.4.31)
Robust optimal control stabilization of the uncertain system
In this section we design a robust control law for the asymptotic stabilization of the uncertain
dynamical system
The proposed control law is as
21 uuu += (5.4.32)
where u1 is the optimal control given by
TeBRu T11
−−= (5.4.33)
and u2 is the robust control to be designed to overcome the effect of the perturbation vector w
satisfying (5.4.8).
Substituting (5.4.33) in (5.4.17), yields
))(,(),( 21 uuweBee +++= ttf T (5.4.34)
where
( )eKeBeAe ),(),(),( tttf TT −= (5.4.35)
and
TBRK T1−−= (5.4.36)
Consider the Lyapunov function candidate
TeK0
0qMTee ⎥
⎦
⎤⎢⎣
⎡=
)(),( TTtV
2
1
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 229
The derivative of V with respect to e is given by
Te00
0eMTeTe
K0
0eMTV ⎥
⎦
⎤⎢⎣
⎡∇+⎥
⎦
⎤⎢⎣
⎡=∇
),(),( tt eTTTe
2
1 (5.4.37)
Define
),(),(),(:),( tttt eT eeeBe ρµ ∇= (5.4.38)
Substituting (5.4.37) in (5.4.38), we get
[ ] ),(),(
)(),( tt
t eTT eTe00
0eMTeT0qM
00
0Ie ρµ ⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡∇+⎥
⎦
⎤⎢⎣
⎡= −
it is easy to verify that
)()()(γ ee,e 21 γ≤≤ tV (5.4.39)
and that
)(),(),(),( eeeAee 3γ−≤∇+∇ ttVtV TTet (5.4.40)
the scalar functions (.)iγ are given by
233
222
211
ee
ee
ee
λγ
λγ
λγ
=
=
=
)(
)(
)(
where
⎭⎬⎫
⎩⎨⎧
⎥⎦
⎤⎢⎣
⎡= T
K0
0qMT
)(: min
Tλλ1
⎭⎬⎫
⎩⎨⎧
⎥⎦
⎤⎢⎣
⎡= T
K0
0qMT
)(: max
Tλλ2
))((),)((),)((),(min: minminminmin 1112121211113 TqMTTqMTTqMTK λλλλλ TT=
λmin(.) and λmax(.) denote respectively the minimum and maximum eigenvalues of (.).
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
230
Considering (5.4.8), Corless and Lietmann [15] proved that the following discontinuous state
feedback function
⎪⎪⎩
⎪⎪⎨
⎧
≤−
>−=
εµρε
µ
εµρµµ
),(),(),(
),(),(),(),(
),(tt
t
ttt
t
tu
eee
eee
e
e
if
if
2 (5.4.41)
can be used to ultimately stabilize the nonlinear uncertain dynamical system
))(,(),( 21 uuweBee +++= ttf T
where 0>ε .
To ensure the asymptotic stability for the system, define the new class of control as
⎪⎪⎩
⎪⎪⎨
⎧
≤−
>−=
)(),(),()(),(
)(),(),(),(),(
),(ttt
t
t
tttt
t
t
εϕµρεϕµ
εϕµρµµ
eee
eee
e
eu
if
if
2 (5.4.42)
where ϕ(t) is a class of uniformly continuous functions such that 1)(0 ≤< tϕ and ∫= dttt )(:)( ϕω
satisfying 0≤)(tω .
The major difference between the control law (5.4.42) and the control law (5.4.41) is the incorpo-
ration of the continuous time function )(tϕ in the commutation function. In (5.4.42), the com-
mutation will be defined by the time variable function )(),( tt εϕµ =e which will keep shrinking
as the time increases. In consequence of this and as it will be proved later, the control law
(5.4.42) will guarantee to the system a globally asymptotic stability instead of ultimate bounded-
ness.
Lemma 5.4.1
The control law (42) is continuous and stabilizes asymptotically the uncertain dynamical system if
there exist a Lyapunov function candidate verifying +ℜ→ℜ×ℜnV :(.) such that
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 231
i. ( ) ( , ) ( )1 2V tγ γ≤ ≤e e e ( , ) nt∀ ∈ℜ ×ℜe
ii. ( , ) ( ) ( ) ( )V t tγ γ η ϕ≤ − +e e ( , ) nt∀ ∈ℜ ×ℜe
where η is a positive constant, ∞=∞→ )(lim rir γ , i=1, 2 and γ a positive definite function,
such that 00 =)(γ . If ),(, tϕγ and )(tω verify 0>− )()( ηγγ y for any η>y , 10 ≤< )(tϕ ,
0≤)(tω and if η is a positive definite function in oe , then every solution
nttt ℜ→∞),[:),;( 000ee of the system is globally asymptotically stable equilibrium.
The proof of this Lemma 1 can be found in [15]
Theorem 5.4.2
Consider the uncertain dynamical system (5.4.34), the control law
21 uuu += (43)
where
TeBRu T11
−−=
and
[ ][ ]
[ ]
[ ] [ ]
( , ) ( , ) ( )
( , ) ( , ) ( )( )
11 1211 12
11 122
11 12 211 12
if
if
t t t
t t tt
ρ ρ εϕ
ρ ρ εϕεϕ
⎧− >⎪
⎪= ⎨⎪
− ≤⎪⎩
T T ee T T e e
T T eu
T T ee T T e e
(44)
stabilizes asymptotically the uncertain system (5.4.34).
Proof:
See Appendix A
Example
The robust performance of our proposed design is tested in this section on the tracking control of
a two-link robot by computer simulation. The robotic system is assumed here to contain un-
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
232
known parametric perturbations and external disturbance. A mixed Optimal/Robust tracking
control can be then designed according to the proposed design procedure
Consider a two link manipulator described by the following parameters
( )⎥⎥⎦
⎤
⎢⎢⎣
⎡
+++
=2222121212
21212122121
lmccssllm
ccssllmlmm
)()()(qM .
⎥⎦
⎤⎢⎣
⎡−
−−=
0
0
1
22121212
q
qcsscllmC )(),( qq
⎥⎦
⎤⎢⎣
⎡−
+−=
222
1121
gslm
gslmmG
)()(q
⎥⎦
⎤⎢⎣
⎡=
22
11
qb
qbF qq)(
Where the short-hand notations c1 = cos (q1), c2 = cos (q2), s1 = sin (q1) and s2 = sin (q2) are
used. For the convenience of simulation, the nominal parameters are given as: m1= 1 (kg), m2=
10 (kg), l1= 1 (m), l2 = 1 m and g=9.8 (ms-2), )(Nmsec/rad 2.01 =b , )(Nmsec/rad 5.02 =b .
The parameter perturbations are assumed to be on the following form
⎥⎦
⎤⎢⎣
⎡−+−
+−=∆
22
22
2121
21212
)()(
)(ccss
ccssqM
⎥⎦
⎤⎢⎣
⎡−
−−=∆
0
02
1
22121
q
qcssc )(),( qqC
⎥⎦
⎤⎢⎣
⎡=∆
2
1
2
2
gs
gs)(qG
⎥⎦
⎤⎢⎣
⎡=∆
2
130q
q.)( qqF
which corresponds to a change of load from 10 (kg) to 2 (kg). The exogenous disturbances are
supposed to be
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 233
[ ] NmTdext
1010=τ
The control system is required to follow the desired trajectories
ttqd cos4515501 ..)( += (rad)
ttqd cos90112 ..)( += (rad)
The constant ε and the continuous decreasing function )(tϕ in (42) as chosen as
1.0=ε and 2)1(
1)(t
t+
=ϕ
Simulation results are shown in Figs 5.4.1 to 5.4.8. It is clear from Figs 5.4.1-5.4.4 that the pro-
posed control law (5.4.43) ensures asymptotic stabilization and zero convergence for the position
errors for the uncertain system. Furthermore, we notice from Figs. 5.4.5 and 5.4.6 that the maxi-
mum starting torques don’t exceed 300 % of the nominal torques which can be considered as an
excellent achievement when compared to other robust control schemes which involve extremely
high staring torques [4]. This was achieved thanks to the optimal control loop. In addition, the
chattering behavior related to most of the robust control schemes is eliminated here. Fig. 7
shows simulation results for the position tracking error of the first joint when only the optimal
control law is employed (i.e. )1uu = , as expected, the control law in this case is not robust. Fig. 8
shows simulation results for the position tracking error of the first joint when 1)( =tϕ (i.e. u2 as in
the form of (5.4.41)), one can notice here that the convergence of errors is no more asymptotic,
but ultimately bounded. The presented approach in this study is simple to be implemented, since
the only required information about the uncertainties is a function that approximates the norm of
the sum of their upper bounds. For the optimal control design, only an algebraic Ricatti equation
has to be solved. We conclude that the mixed Optimal/Robust control (5.4.43) is suitable to
overcome the effects due to the parameter perturbations and external disturbances to achieve the
robust tracking performance in perturbative robotic control system.
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
234
Conclusions
A nonlinear mixed optimal/robust control has been proposed for optimal and robust tracking per-
formance design of robotic systems under a class of parametric uncertainties and external distur-
bances. This nonlinear time-varying mixed optimal/robust control tracking problem design must
first solve a coupled nonlinear Ricatti equation. In order to avoid the difficulty of solving this
Ricatti equation, an adequate state transformation and the property of skew symmetry of robotic
systems have been employed to obtain an equivalent algebraic equation. A class of nonlinear
time varying continuous feedback functions was introduced to solve the problem of robust con-
trol. We believe that the approach presented in this study holds great promises to a wide range of
practical problems because of the simplicity of its design. In fact, the only required informations
about the uncertainties are an approximation of their upper bounds. To the optimal design, only
an algebraic Ricatti equation should be solved. In future, we will investigate the application of
the presented approach in this research to another class of mechanical systems: the underactuated
systems.
0 2 4 6 8 10 12 14 16 18 20-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
time (sec)
posi
tion
(rad)
q1d
q1
Figure 5.4.1: The angular position q1(t) and )(tqd1 under control (5.4.43)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 235
0 2 4 6 8 10 12 14 16 18 20-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
time (sec)
posi
tion
erro
r (ra
d)
Figure 5.4.2: The angular position error q1(t) - )(tqd1 under control (5.4.43)
0 2 4 6 8 10 12 14 16 18 200
0.5
1
1.5
2
2.5
3
3.5
4
time (sec)
posi
tion
(rad)
q2
q2d
Figure 5.4.3: The angular position q2(t) and )(tqd2 under control (5.4.43)
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
236
0 2 4 6 8 10 12 14 16 18 20-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
time (sec)
posi
tion
erro
r (ra
d)
Figure 5.4.4: The angular position error q2(t) - )(tqd2 under control (5.4.43)
0 2 4 6 8 10 12 14 16 18 20-300
-250
-200
-150
-100
-50
0
50
time (sec)
torq
ue (N
.m)
Figure 5.4.5: The applied torque τ1(t) under (5.4.43)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 237
0 2 4 6 8 10 12 14 16 18 20-300
-250
-200
-150
-100
-50
0
time (sec)
torq
ue (N
.m)
Figure 5.4.6: The applied torque τ2(t) under (5.4.43)
0 2 4 6 8 10 12 14 16 18 20-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
time (sec)
posi
tion
erro
r (N
.m)
Figure 5.4.7: The angular position error q1(t) - )(tqd1 under the optimal control u1
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
238
0 2 4 6 8 10 12 14 16 18 20-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
time (sec)
posi
tion
erro
r (ra
d)
Figure 5.4.8: The angular position error q1(t) - )(tqd1 under control (5.4.43) with 1=)(tϕ
References
[1] Spong, M.W., and Vidyasagar, M., 1989, Robot Dynamics and Control, Wiley.
[2] Canudas De Wit, C., Sicilioano, B., and Bastin, G., 1996, Theory of Robot Control, Springer.
[3] Sage, H.G., De Mathelin, M.F., and Ostertag, E., 1999, Robust control of manipulators: a sur-
vey, Int. Journal of Control, 72, 16, pp. 1498-1522.
[4] Abdallah C., Dawson, D., Dorato, P., and Jamshidi, M., 1991, Survey of robust control of
rigid robots. IEEE Control Systems magazine, 11, pp. 24-30.
[5] Arimoto, S., and Miyazaki, F., 1983, Stability and robustness of PID feedback control for ro-
bot manipulators of sensory capability. Proc 1st Int. Symp. Robot Research, pp. 783-799.
[6] Landau, I.D., Langer, J., Rey, D., and Barnier J., 1996, Robust control of a 360o flexible arm
using the combined pole placement/sensitivity function shaping method. IEEE trans. Control
systems Technology, 4, pp. 653-659.
[7] Lin, F., 1997, Robust control design: An optimal control approach, AFI, Press.
[8] Spong, M.W., Thorp, J.S., and Kleiwaks, J.M., 1987, Robust microprocessor control of robot
manipulators, Automatica, 23, 373-379.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 239
[9] Slotine J.J.E., and Li, W., 1897, On the adaptive control of robot manipulators, Int. Journal
of Robotic Res. 6, 3, pp. 49-59.
[10] Lin F., and Brandt D., 1998, An optimal control approach to robust control of robot manipu-
lators, IEEE, Trans., Robotics and Automation, 14, 1, pp 69-77.
[11] Chen, B-S., and Chang, Y-C., 1997, Nonlinear mixed H2/H control for robust tracking de-
sign of robotic systems, Int. Journal of Control, 67, 6 pp. 837-857.
[12] Chen, B-S., Lee, T-S., and Feng, J-H., 1994, A nonlinear H control design in robotic systems
under parameter uncertainties and external disturbances, Int, Journal of Control, 59, 2, pp. 439-
461.
[13] Liu, G., and Goldenberg, A.A., 1996, Uncertainty decomposition-based robust control of ro-
bot manipulators, IEEE Trans. Control Sys. Technology, 4, pp. 384-393.
[14] Johansson, R. 1990, Quadratic optimization of motion coordination and control. IEEE Trans.
On Automatic Control, 35, pp. 1197-1208.
[15] Corless, M. and Leitmann, G. 1981 Continuous state feedback guaranteeing uniform ultimate
boundedness of uncertain dynamic systems. IEEE Transactions on Automatic Control, 26, pp.
1139-1144.
[16] Qu, Z., 1994, Asymptotic stability of controlling uncertain dynamical systems, Int. Journal of
Control, 59, 5, pp. 1345-1355.
[17] Khalil, H., 2002, Nonlinear Systems, 3rd edition, Prentice Hall.
[18] Slotine J.J.E., and Li, W., 1991, Applied Nonlinear Control, Prentice Hall.
Appendix A: Proof of Theorem 5.4.2
To prove asymptotic stability of the uncertain system, we should prove that
i. every solution ),( 00 tt e;e is stable
ii. 000 =∞→ ),;(lim ttt ee .
i.
Consider the Lyapunov candidate function
TeK0
0qMTee ⎥
⎦
⎤⎢⎣
⎡=
)(),( TTtV
2
1
the total time derivative of V is given by
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
240
eeee
T
t
tV
t
tV
dt
tdV⎟⎠⎞
⎜⎝⎛
∂∂
+∂
∂=
),(),(),(
)()( 21
2
1uwBTeeTBBRTQe +++−= − TTTTT
there exists a continuous positive definite function γ such that
)()()(),(t
dt
tdV ϕηγγ +−≤ ee
where η is a positive scalar constant and
eTBBRTQe )()( maxTT 1−+= λγ
∫+=t
tdVtV
00 ττ ),(),( ee
ττϕηγττγγ ∫∫ +−≤t
t
t
tdd
0002 )()())(()( xe
[ ])()()())(()( 0020
exe e ωωηγττγγ −+−≤ ∫ dt
t
)()())(()( 0020
exe ωηγττγγ −−≤ ∫ dt
t (5.4.45)
)()()( 002 ee ωηγγ +≤ (5.4.46)
then for every 0>ε , we have ε≤e if and only if
)()()()( εγωηγγ 1002 ≤+ ee (5.4.47)
Since η is a positive definite function of 0e , there exist ),( 0tεβ so that (5.4.45) is verified for
any β≤0e .
ii.
from (5.4.45), we can write
)()())(()()( 00210
0 exee ωηγττγγγ −−≤≤ ∫ dt
t
and
∞<+≤∫∞→ )()()())(( 000
lim eex ωηγγττγ dt
tt
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 241
Considering the continuity of the solution and the property that (.)γ is a continuous positive
definite function, we then conclude that 0lim =∞→ )( eγt and then 0=∞→ etlim .
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
242
Problems
5.1 We consider the three axis SCARA robot shown in Figure 5.5.1 where all links are as-
sumed to be thin, homogenous rods of mass im and length 321 ,,, =iai , then the dynam-
ics are given by
1223
222132
2132
11
32
3qam
mcaammamm
m⎥⎦
⎤⎢⎣
⎡⎟⎠
⎞⎜⎝
⎛ ++++⎟⎠
⎞⎜⎝
⎛ ++= )(τ
2223
22213
2
33qam
mcaam
m⎥⎦
⎤⎢⎣
⎡⎟⎠
⎞⎜⎝
⎛ ++⎟⎠
⎞⎜⎝
⎛ +− ( ) ⎥⎦
⎤⎢⎣
⎡⎟⎠
⎞⎜⎝
⎛ +−+− 223
22132221
32 qm
mqqmmsaa
1223
22213
22
33qam
mcaam
m⎥⎦
⎤⎢⎣
⎡⎟⎠
⎞⎜⎝
⎛ ++⎟⎠
⎞⎜⎝
⎛ +−=τ 2223
2
3qam
m⎥⎦
⎤⎢⎣
⎡⎟⎠
⎞⎜⎝
⎛ ++
223
2221
3qm
msaa ⎥
⎦
⎤⎢⎣
⎡⎟⎠
⎞⎜⎝
⎛ ++
gmqm 3333 −=τ
and set
21 =m kg, 22 =m kg, 23 =m kg,
21 =a m, 12 =a m, 23 =l m,
289 −= msg .
Find ,, iβα and iµ defined in (5.2.8)-(5.2.11), assuming that 02112 == )()( qmqm and
021 == ),(),( qqnqqn .
5.2 Choose a desired set point 9045 21 == dd qq , and 503 .=dq for the robot in Problem
5.1. Design an SPR controller as described in (5.2.14)-(5.2.19). Also find a value of a to
satisfy Theorem 5.2.1.
5.3 Let tq d sin101 = , tq d cos102 = and 503 .=dq for the robot in Problem 5.1
1. Design an SPR controller as described in (5.2.14)-(5.2.19).
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 243
2. Let the desired trajectory now be tq d sin1 = , tq d cos2 = and 503 .=dq . Study the
effect that decreasing dq has on a and on the trajectory error
5.4 Choose a value of vk that satisfies condition (5.2.28) for the robot in Problem 5.1. What
happens to vk and the trajectory errors if 321 mmm ,, increase to 20
5.5 Design a dynamic controller similar to that of Example 5.2.3 for the robot in Problem 5.1
and the trajectory in Problem 5.3. Compare the performance for 10=k and 50=k .
5.6 Find the value of k that satisfies inequality (1) for your design in Problem 5.5. What
happens to your condition if both the velocity terms and gravity terms are available to
feedback (i.e. 0=iβ )?
5.7 Consider the robot in Problem 5.1 and set the set point of Problem 5.2. Also assume
that all 0=iβ so that the velocity and gravity terms are available to feedback. Find a
gain k to satisfy (5.2.36) and implement the resulting controller.
5.8 Repeat Problem 5.8 with the trajectory.
5.9 Design a controller similar to the one in Example 5.2.5 for the robot of Problem 5.1 to
follow the trajectory of Problem 5.3. Choose the same parameters used in that example
and compare the resulting behavior to a set of parameters of your choosing.
5.10 Design a controller similar to the one in Example 5.3.1 for the robot of Problem 5.1 to
follow the trajectory of Problem %.3. Choose the same parameters used in that example
and compare the resulting behavior to a set of parameters of your choosing.
5.11 Consider the robot of problem 5.1 with the desired set point of Problem 5.2. Design a
variable structure controller as described in Theorem 5.3.2. You may want to start your
design with the parameter values in Example 5.3.2.
5.12 Repeat Problem 5.12 for the trajectory described in Problem 5.3.
5.13 Consider the robot of problem 5.1 with the desired set point of Problem 5.2. Design a
variable structure controller as described in Theorem 5.3.3. You may want to start your
design with the parameter values in Example 5.3.3.
5.14 Repeat Problem 5.14 for the trajectory described in Problem 5.3.
CHAPTER 5: ROBUST CONTROL OF ROBOT MANIPULATORS
244
5.15 Consider the robot of problem 5.1 with the desired set point of Problem 5.2. Design a
saturation-type controller as described in Theorem 5.3.4. You may want to start your
design with the parameter values in Example 5.3.5.
5.16 Repeat Problem 5.16 for the trajectory described in Problem 5.3.
5.17 Consider the robot of problem 5.1 with the desired set point of Problem 5.2. Design a
saturation-type controller as described in Theorem 5.3.5. You may want to start your
design with the parameter values in Example 5.3.6.
5.18 Repeat Problem 5.18 for the trajectory described in Problem 5.3.
Figure 5.5.1 Three axis SCARA Robot
245
Chapter 6
Adaptive Control of Robot Manipulators
In this chapter adaptive controllers are formulated by separating unknown constant parameters
from known functions in the robot dynamic equation. The type of stability for each adaptive
control strategy is discussed at length to motivate the formulation of the controllers. Some issues
regarding parameter error convergence, persistency of excitation and robustness are also discussed.
6.1 Introduction The problem of designing adaptive control laws for rigid-robot manipulators that ensure asymp-
totic trajectory tracking has interested researchers for many years. The development of effective
adaptive controllers represents an important step toward high-speed/precision robotic applica-
tions. Even in well-structured industrial facility, robots may face uncertainty regarding the pa-
rameters describing the dynamic properties of the grasp load (e.g., unknown moment of inertia).
Since these parameters are difficult to compute or to measure, they limit the potential for robots
to manipulate accurately objects of considerable size and weight. It has recently been recognized
that the accuracy of conventional approaches in high-speed application is greatly affected by pa-
rametric uncertainties.
To compensate for this parametric uncertainty, many researchers have proposed adaptive strate-
gies for the control of robotic manipulators. An advantage of the adaptive approach over the
robust control strategies discussed in Chapter 5 is that the accuracy of a manipulator carrying
unknown loads improves with time because the adaptation mechanism continues extracting in-
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
246
formation from the tracking error. Therefore, adaptive controllers can give consistent perform-
ance in the face of load variations.
It is only recently that adaptive control results have included rigorous proofs for global conver-
gence of the tracking error. Now that the existence of globally convergent adaptive control laws
has been established, it is difficult to justify control schemes based on approximate models, local
linearization techniques, or slowly time varying assumptions. In the control literature, there also
seems to be no general agreement as to what constitutes an adaptive control algorithm; therefore,
in this chapter the discussion will be limited to control schemes that explicitly incorporate pa-
rameter estimation in the control law.
6.2 Adaptive Control by Computed-Torque Ap-
proach
In Chapter 3 we motivated the use of the computed-torque control law for controlling the robotic
manipulator dynamics given by
)()(),()( qFqGqqqVqqM m +++=τ (6.2.1)
This motivation was actually quite simple. Specifically, if there are some nonlinear dynamics
which one does not wish to deal with, one can change the nonlinear control problem into a linear
control problem by directly canceling the nonlinearities. There is a wealth of available knowledge
for controlling linear systems; therefore if exact knowledge of the robot model is available, there is
not much need for sophisticated nonlinear control techniques.
Approximate Computed-Torque Controller
Of course, in reality, we never have exact knowledge of the robot model due to many problems
associated with model formulation. Two common uncertainties that do not allow exact model
cancellation in robotic applications are unknown link masses due to payload disturbances and
unknown friction coefficients. One way of dealing with these types of parametric uncertainties
would be to use the computed-torque controller with some fixed estimate of the unknown pa-
rameters in place of the actual parameters. This approximate computed-torque controller would
have the form
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 247
)(ˆ)(ˆ),(ˆ))((ˆ qFqGqqqVeKeKqqM mpvd +++++=τ (6.2.2)
Where the superscript “ˆ ” denotes the estimated dynamics with the unknown actual parameters
replaced by the parameter estimates, vK and pK are the control gain matrices, dq is used to
denote the desired trajectory, and the tracking error e is defined by
qqe d −=
We next illustrate the approximate computed-torque controller in the following example.
Example 6.2.1: Approximate Computed-Torque Controller
We consider the two-link revolute robot which dynamic model is given in Chapter 2. Assuming
that the friction is negligible, the link lengths are exactly known, and the masses 1m and 2m are
known to be in the regions 05080 .. ± kg and 1032 .. ± kg, respectively, a possible approximated
computed-torque controller can be written as
))(cosˆˆ)ˆˆ(( 111112212222
21211 2 ekekqqllmlmlmm pvd +++++=τ
22221212222222212
222 2 qqqqllmekekqqllmlm pvd sin)(ˆ))(cosˆˆ( +−++++
)cos(ˆcos)ˆˆ( 21221121 qqglmqglmm ++++ (1)
2212122
2221111112212
2222 qqllmamekekqqllmlm pvd sinˆ))(cosˆ( +++++= θτ
)cos(ˆ 2122 qqglm ++ (2)
Where mll 121 == and g is the gravitational constant. We choose kgm 8501 .ˆ = and kgm 222 .ˆ = .
After substituting the control law above into the two-link robot dynamics, we can form the error
system
ϕ~),,()(ˆ qqqWqMeKeKe pv1−=++ (3)
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
248
Figure 6.2.1: Two-link planar arm
The matrix ),,( qqqW is sometimes called the regression matrix, and it is a 22× matrix given by
⎥⎦
⎤⎢⎣
⎡=
2221
1211
WW
WWqqqW ),,( (4)
where
1112111 gclqlW +=
1112221221222211
222122121
2212 22 gclgclqqsllqsllqlqqcllqqlW ++−−++++= )()(
021 =W
12221221122121
2222 gclqsllqcllqqlW ++++= )(
The vector ϕ~ , called the parameter error vector, is a 12× vector given by
⎥⎦
⎤⎢⎣
⎡=
2
1
ϕϕ
ϕ ~~
~ (5)
where
111 mm ˆ~ −=ϕ
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 249
222 mm ˆ~ −=ϕ
The associated 12× vector and 22× gain matrices in (3) are given by
⎥⎦
⎤⎢⎣
⎡=
2
1
e
ee , ⎥
⎦
⎤⎢⎣
⎡=
2
1
0
0
v
vv
k
kK , ⎥
⎦
⎤⎢⎣
⎡=
2
1
0
0
p
pp k
kK .
We cannot use the system error (3) to select the values for vK and pK with standard linear
control methods since the right-hand side of the error system is nonlinear on qq, , and q . For
the approximate computed-torque controller, simulation can be used to select the values of these
gains. A good starting point for selecting the values of vK and pK is to use the same values, as
the computed torque scheme would dictate, for a given desired damping ration and natural fre-
quency.
The controller gains can then be for instance
⎥⎦
⎤⎢⎣
⎡==
40
04vp KK (6)
to follow a given desired trajectory as
tqq dd sin== 21 (7)
Adaptive Computed-Torque Controller
For unknown parametric quantities such as link masses or friction coefficients, the approximate
computed-torque controller simply substitutes a fixed estimate ϕ for the unknown parametric
quantities. From Equation (3) in Example 6.2.1, one can clearly see that if the parameter error
vector ϕ~ is equal to zero, the tracking error can be shown to be asymptotically stable. In many
applications we cannot assume that ϕ~ is equal to zero. For instance, in the case of an unknown
payload mass attached to the end-effector of a robot.
The adaptive control strategy can, heuristically, be motivated by reasoning that one could expect
better tracking performance if the parameter estimate was adjusted as the robot moves instead of
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
250
always being a fixed quantity. That is, it seems reasonable to attempt to change our parameter
estimates based on an adaptive update rule that would be a function of the robot configuration
and the tracking error. The question would be: How do we formulate an adaptive control strat-
egy, and how does this adaptive update rule affect the stability of the tracking error?. The an-
swer to both of these questions is that the adaptive update rule is formulated from the stability
analysis of the tracking error system. That is, we ensure stability of the tracking error system by
formulating the adaptive update rule and by analyzing the stability of the tracking error system
ate the same time.
Let’s examine the first approach for the adaptive control law. The robot dynamics can be written
in the form:
)()(),()(),,( qFqGqqqVqqMqqqW m +++=ϕ (6.2.3)
where rnW ×ℜ∈ is a known time functions matrix and rℜ∈ϕ is the vector of unknown constant
parameters.
Equation (6.2.1) becomes then
ϕτ ),,( qqqW= (6.2.4)
And the adaptive computed-torque controller is then given by
)(ˆ)(ˆ),(ˆ))((ˆ qFqGqqqVeKeKqqM mpvd +++++=τ (6.2.5)
It is easy to see from the definition of the tracking error how (6.2.5) can be written as
)(ˆ)(ˆ),(ˆ)(ˆ))((ˆ qFqGqqqVqqMeKeKeqM mpv ++++++=τ (6.2.6)
By using (6.2.3), (6.2.6) can be written as
ϕτ ˆ),,())((ˆ qqqWeKeKeqM pv +++= (6.2.7)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 251
Where rℜ∈ϕ is the vector used to represent a time-varying estimate of the unknown constant
parameters. Substituting (6.2.7) into (6.2.4), we can form the tracking error system
ϕ),,()(ˆ qqqWqMeKeKe pv1−=++ (6.2.8)
where the parameter error is
ϕϕϕ ˆ~ −= (6.2.9)
Now for convenience, rewrite (6.2.8) in the state-space form
ϕ),,()(ˆ qqqWqMBA 1−+= ee (6.2.10)
where the tracking error vector is
⎥⎦
⎤⎢⎣
⎡=
e
ee
and
⎥⎦
⎤⎢⎣
⎡=
n
n
IB
0, ⎥
⎦
⎤⎢⎣
⎡−−
=vp
nn
KK
IA
0
Now that the tracking error system has been formed, we use Lyapunov stability analysis to show
that the tracking error vector e is asymptotically stable. Consider the positive definite Lyapunov
function candidate
ϕϕ ~~ 1−Γ+= TTPV ee (6.2.11)
where P is a nn 22 × positive definite, constant, symmetric matrix, and Γ is a diagonal, posi-
tive rr × matrix, such that
),,( rdiag γγ …1=Γ , rii ,,, …10 =>γ
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
252
Differentiating (6.2.11) with respect to time yields
ϕϕ ~~ 12 −Γ++= TTT PPV eeee (6.2.12)
Note that since TΓ=Γ , then
[ ] ϕϕϕϕ ~~~~ 11 −− Γ=Γ TTT (6.2.13)
Substituting for e from (6.2.10) into (6.2.12) yields
( ) ( ) ϕϕϕϕ ~~~(.))(ˆ~(.))(ˆ 111 2 −−− Γ++++= TTT PWqMBAWqMBAPV eeee (6.2.14)
Combining terms in (6.2.140 and using the scalar transportation property gives
( )eee PBqMWQV TTTT )(ˆ(.)~~ 112 −− +Γ+−= ϕϕ (6.2.15)
where Q is a positive-definite, symmetric matrix that satisfies the Lyapunov equation
QPAPAT −=+ (6.2.16)
Choosing for the adaptation law
ePBqMW TT )((.)~ 1−Γ−=ϕ (6.2.17)
V will be at least negative semidefinite, and (6.2.15) becomes
ee QV T−= . (6.2.18)
Note that (6.2.17) gives the adaptive update rule for the parameter estimate vector ϕ since ϕ is
equal to zero. That is, by recalling that the actual unknown parameters are constant, we can
substitute (6.2.9) into (6.2.7) to obtain the adaptive update rule:
ePBqMW TT )(ˆ(.)ˆ 1−Γ=ϕ (6.2.19)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 253
for the parameter estimate vector ϕ .
Let’s examine the type of stability for the tracking error. Since V is negative semidefinite and V
is lower bounded by zero, V remains upper bounded in the time interval [ )∞,0 ; furthermore
∞∞→ =VVtlim (6.2.20)
where ∞V is a positive scalar constant. Since V is upper bounded, it is obvious from the definition
of V in (6.2.11) that e and ϕ~ are bounded which also means that qq, and ϕ are bounded.
Note that we have already assumed that ϕ is bounded, and we will always assume that the de-
sired trajectory and its first two derivatives are bounded.
From the robot equation (6.2.10, it is clear that
))()(),()(( qFqGqqqVqMq m −−−= − τ1 (6.2.21)
therefore, q is bounded since q and τ depend only on bounded quantities qq, and ϕ . If q is
bounded, (6.2.10) shows that e is bounded. Since e is bounded, we can state from (6.2.18) that
V is bounded. Therefore, since V is lower bounded by zero, V is negative semidefinite and V
is bounded, then by Barbalat’s Lemma
0lim =∞→ Vt
which means by the Rayleigh-Ritz Theorem
0lim2 =∞→ eQt minλ , (6.2.22)
which means that 0lim =∞→ et .
The information in (6.2.22) informs us that the tracking error vector is asymptotically stable.
But what of the parameter error ?~ϕ Does is also converge to zero? From the above analysis, all
we can say is that it remains bounded as long as 1−M exists. The adaptive computed-torque
controller is summarized in table 6.2.1 and depicted in Figure 6.2.2.
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
254
Table 6.2.1: Adaptive Computed-Torque Controller
Torque Controller:
)(ˆ)(ˆ),(ˆ))((ˆ qFqGqqqVeKeKqqM mpvd +++++=τ
Update Rule:
ePBqMW TT )(ˆ(.)ˆ 1−Γ=ϕ
where
⎥⎦
⎤⎢⎣
⎡=
e
ee , ⎥
⎦
⎤⎢⎣
⎡=
n
n
IB
0, ⎥
⎦
⎤⎢⎣
⎡−−
=vp
nn
KK
IA
0
)(ˆ)(ˆ),(ˆ)(ˆˆ),,( qFqGqqqVqqMqqqW m +++=ϕ
QPAPAT −=+
for some positive-definite, symmetric matrices P and Q.
Stability:
Tracking error vector e is asymptotically stable
Restrictions:
Parameter resetting method is required. Measurement of q is required.
Example 6.2.2: Adaptive Computed-Torque Controller
We consider again the same robot as in Example 6.2.1. We assume that the friction is negligible
and that the link lengths are exactly known. The adaptive computed-torque controller can be
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 255
written as in Example 6.2.1 with the exception that we must find the update rules for 1m and
2m according to Table 6.2.1.
For simplicity we select the servo-gains as
2IkK vv = , 2IkK pp = (1)
We propose the matrix P in table 6.2.1 be selected as
⎥⎦
⎤⎢⎣
⎡ +=⎥
⎦
⎤⎢⎣
⎡=
22
22
2322
2221
21
2121
2
1
II
IIkK
IPIP
IPIPP vp
//)/(
(2)
Note that P is symmetric and is positive definite if vk is selected to be greater than 1. Solving
the equation
QPAPAT −=+ (3)
yields
⎥⎦
⎤⎢⎣
⎡+
=22
22
210
021
Ik
IkQ
v
p
)/(/
(4)
Since 1>vk , it can be verified that Q is a pd matrix. Note here that the process of finding a pds
P and Q for the general Lyapunov approach is not always an easy task.
Now that we have found an appropriate P, we can formulate the adaptive update rule given in
Table 6.2.1. The associated parameter estimate vector is
⎥⎦
⎤⎢⎣
⎡=
2
1
m
m
ˆˆ
ϕ
with update rules
ˆ [( )( ) ( )( )]1 1 11 11 21 21 2 1 3 1 11 21 21 21 2 2 3 2m W MI W MI P e P e W MI W MI P e P eγ= + + + + + (5)
ˆ [( )( ) ( )( )]2 2 12 11 22 21 2 1 3 1 12 21 21 22 2 2 3 2m W MI W MI P e P e W MI W MI P e P eγ= + + + + + (6)
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
256
Where
);ˆ( 22211
1lmMI
∆=
)ˆˆ( 222221221
1lmcllmMI +
∆−= ;
);)ˆˆ(ˆˆ( 2112
222221222 2
1lmmlmcllmMI +++
∆−=
22222212
222
2112
22222122 )ˆˆ()ˆ)()ˆˆ(ˆˆ( lmcllmlmlmmlmcllm +−+++=∆
Figure 6.2.2: Block diagram of the adaptive computed-torque controller
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 257
6.3 Adaptive Control by an Inertia-Related Ap-
proach
In last approach, two restrictions were required to the development of the adaptive computed-
torque approach, (the measurement of q and the insurance that )(ˆ qM 1− exists). Both of these
restrictions can be quite cumbersome. For example, most industrial robots have only position
and velocity sensors, and since differentiation of velocity is not desirable in general, we must add
additional costly sensors for measuring q . Furthermore, if large, unknown payloads relative to
the manipulator’s weight are being lifted by the manipulator, it may be extremely difficult to en-
sure that )(ˆ qM 1− exists.
PD plus Gravity Controller Revisited
One method of motivating a PD plus gravity controller is to write the manipulator dynamics in
the conservation-of-energy for
[ ] ))()(()( qFqGqqqMqdt
d TT −−= τ2
1 (6.3.1)
where the left-hand side of (6.3.10) is the derivative of the manipulator kinetic energy, and the
right-hand of (6.3.1) is the power supplied from the actuators minus the power dissipated due to
gravity and friction.
Suppose that we want to design a constant set-point controller (i.e. 0=dq ) for the system in the
conservation of energy form (6.3.10). Select the inertia related Lyapunov function
eKeqMqV pTT
21
21 += (6.3.2)
This Lyapunov function seems to be reasonable, since a Lyapunov function can be thought of
heuristically as an energy function. That is, this Lyapunov function is composed of the kinetic
energy of the robot ( qMqT21 ) and an additional energy damping term ( eKe p
T21 ). The energy
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
258
damping term can be thought of as using physical springs so that the manipulator will be better
behaved.
Differentiating (6.3.2) with respect to time yields
eKeqMqdt
dV p
TT21
2
1+= )( (6.3.3)
Substituting (6.3.1) into (6.3.3), we have
))()(( eKqFqGqV pT −−−= τ (6.3.4)
since we are solving the set-point control problem. Since it is desirable for V to be at least nega-
tive semidefinite, the control
qKeKqFqG vp −++= )()(τ (6.3.5)
is motivated by the form of (6.3.4). That is, substituting (6.3.5) into (6.3.4) yields
qKqV vT−= (6.3.6)
This illustrates that V is decreasing for all time except for 0=q . That is if 0=V , then 0=q ,
and hence 0=q , therefore for 0==qq , we can use (6.2.1) and (6.3.5) to write the closed-loop
system in the form 0=eKp , which implies that 0=e . LaSalle Theorem can now be used to
show that the tracking error e is asymptotically stable.
Adaptive Inertia-Related Controller
Although the controller given in (6.3.5) utilizes the conservation of energy property, it has two
disadvantages. First, the controller merely ensures that the manipulator reaches a desired set
point. In general, a robot control designer must ensure that the manipulator tracks a desired
time-varying trajectory. Second, the controller requires exact knowledge of any parameters asso-
ciated with the robot manipulator model since the gravity and the friction terms are included in
the control law (6.3.5). Since we are designing an adaptive trajectory following controller, we
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 259
should select a Lyapunov function that is function of the tracking error and the parameter error.
Select the inertia-related Lyapunov-like function
ϕϕ ~~ 121
21 −Γ+= TTMrrV (6.3.7)
where
eer +Λ= (6.3.8)
with Γ defined as in (6.2.11), Λ is a positive-definite diagonal matrix such that
),,( ndiag λλ …1=Λ
and ϕ~ defined as in (6.2.9). The auxiliary signal )(tr given in (6.3.8) may be considered as a
filtered tracking error.
After differentiating (6.3.7) with respect to time, we have
ϕϕ ~~ 121 −Γ++= TTT rMrrMrV (6.3.9)
From (6.3.9), it is clear that we must substitute the variable r ; therefore, we must write the ro-
bot equation in terms of the variable r. Using (6.2.10, the robot dynamics can be written as
rqqVYrqM m ),((.))( −−= τϕ (6.3.10)
where
)()())(,())(((.) qFqGeqqqVeqqMY dmd ++Λ++Λ+=ϕ (6.3.11)
and (.)Y is an rn × matrix of known functions. This is the same type of parametric separation
that was used in the formulation of the adaptive computed-torque controller; however, note that
(.)Y is not a function of joint acceleration q .
Substituting (6.3.10) into (6.3.9) gives
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
260
ϕϕτϕ ~~)),()(/()(.)( 121 −Γ+−+−= Tm
TT rqqVqMrYrV (6.3.12)
Applying the skew symmetry property, (6.3.12) becomes
ϕϕτϕ ~~)(.)( 1−Γ+−= TT YrV (6.3.13)
Again, the stability analysis has guided us to a choice of torque controller and adaptive update
rule. That is, if we select the torque control to be
rKY v+= ϕτ ˆ(.) (6.3.14)
(6.3.13) becomes
)(.)~(~ rYrKrV TTv
T +Γ+−= − ϕϕ 1 (6.3.15)
By selecting the adaptive update rule as
rYT (.)~ˆ Γ=−= ϕϕ (6.3.16)
(6.3.15) becomes
rKrV vT−= (6.3.17)
Let’s examine now the type of stability for this controller. First, since V in (6.3.17) is negative
semidefinite, we can sate that V in (6.3.7) is upper bounded. Using the facts that V is upper
bounded and that )(qM is a positive-definite matrix, we can state that r and ϕ~ are bounded.
From the definition of r given in (6.3.8), we can use standard linear control arguments to state
that e and e (and hence q and q ) are bounded. Since ree ,, , and ϕ~ are bounded, we can use
(6.3.10) and (6.3.14) to show that r (and hence V obtained by differentiating (6.3.17) is
bounded. Second, note that since )(qM is lower bounded, we can state that V given in (6.3.7) is
lower bounded. Since V is lower bounded, V is negative semidefinite, and V is bounded, we can
use Barbalat’s lemma to state that
0lim =∞→ Vt (6.3.18)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 261
Which means by the Rayleigh-Ritz Theorem that
0lim2 =∞→ rKvt minλ , (6.3.19)
or 0lim =∞→ rt .
Note that (6.3.8) is a stable first-order differential equation driven by the “input” r; therefore, by
standard linear control arguments and (6.3.19), we can write
0limlim == ∞→∞→ ee tt (6.3.20)
This result informs us that the tracking error e and e are asymptotically stable. Again, from
the analysis above, all we can say about the parameter error is that it remains bounded. Later,
we will show that the parameter error converges to zero under certain conditions on the desired
trajectory. The adaptive controller derived above is summarized in Table 6.3.1 and depicted in
Figure 6.3.1.
Table 6.3.1: Adaptive Inertia-Related Controller
Torque Controller:
eKeKY vv Λ+++= ϕτ ˆ(.)
Update Rule:
)(.)(ˆ eeYT +ΛΓ=ϕ
where
)(ˆ)(ˆ))(,(ˆ))((ˆˆ(.) qFqGeqqqVeqqMY dmd ++Λ++Λ+=ϕ
Stability:
Tracking errors e and e are asymptotically stable. Parameter estimate ϕ is bounded.
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
262
Figure 6.3.1: Block Diagram of the adaptive inertia-related controller.
Example 6.3.1: Adaptive Inertia-Related Controller
Consider the same example 6.1.1. The adaptive inertia-related torque controller can be written as
111112121111 ekekmYmY vv λτ +++= ˆˆ (1)
221222221212 ekekmYmY vv λτ +++= ˆˆ (2)
In the expression for the control torques, the regression matrix (.)Y is given by
⎥⎦
⎤⎢⎣
⎡=
2221
1211
YY
YYqqqqqY ddd ),,,,( (3)
where
111112111 gcleqlY d ++= )( λ
)())(())(( 111222122222122111
21221
2212 22 eqqslleqcllleqlclllY ddd λλλ +−++++++=
1112222212221 gclgcleqqqsll d ++++− ))(( λ
021 =Y
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 263
))(()( 12122122222
2222 eqcllleqlY dd λλ ++++= 1221111221 gcleqqsll d ++− )( λ
Formulating the adaptive update rule as given in table 6.3.1, the associated parameter estimate
vector is
⎥⎦
⎤⎢⎣
⎡=
2
1
m
m
ˆˆ
ϕ
with the adaptive update rule
)]()([ˆ 222211111111 eeYeeYm +++= λλγ
and
)]()([ˆ 222221111221 eeYeeYm +++= λλγ .
6.4 Passivity-Based Adaptive Controller
In recent years, many authors have developed adaptive control schemes that are different with
regard to the torque control law or the adaptive update rule. To unify some of the approaches,
general adaptive control strategies have been developed based on passivity approach. In this sec-
tion, we illustrate how the passivity approach can be used to develop a class of torque laws and
adaptive update rules for the control of robot manipulators.
Passive Adaptive Controller
First, we define an auxiliary filtered tracking error variable that is similar to that defined for the
adaptive inertia-related controller. That is, we define the tracking variable to be
)()()( sesHsr 1−= (6.4.1)
Where
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
264
⎥⎦⎤
⎢⎣⎡ +=− )()( sK
ssIsH n
11 (6.4.2)
In (6.4.2), the nn × gain matrix )(sK is chosen such that )(sH is a strictly proper, stable
transfer function matrix. The reason for this restriction on )(sH will be clear after we analyze
the stability of the adaptive controller presented later in this section.
We use the expressions given in (6.4.1) and (6.4.2) to define
)()()(),())()(((.) qFqGesKs
qqqVesKqqMZ dmd ++⎟⎠⎞
⎜⎝⎛ +++=
1ϕ (6.4.3)
Where in this formulation, (.)Z is a known rn × regression matrix. [Note the standard abuse of
notation in (6.4.3), where esK )( is used to represent the inverse Laplace transform of )(sK con-
voluted with )(te ]. It is important to notice that )(sK can be selected so that (.)Z and r do
not depend on measurement of q . Indeed, if )(sK is selected such that )(sH has a relative de-
gree of 1, (.)Z and r will not depend on q .
The adaptive control formulation given in this section is called the passivity approach because the
mapping of ϕ~(.)Zr →− is constructed to be a passivity mapping. That is, we construct an
adaptive update rule such that
βσσϕσσ −≥−∫ dZrt T )(~)()(0
(6.4.4)
is satisfied for all time and for some positive scalar constant β . This passivity concept is used in
analyzing the stability of the error system, as we shall show. However, for now let’s illustrate the
use of (6..4.4) is generating adaptive update rule.
Example 6.4.1: Adaptive Update Rule by Passivity
Let’s show that the adaptive update rule
rZT (.)ˆ~ Γ−=−= ϕϕ (1)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 265
satisfies the inequality (6.4.4). Note that Γ is defined as in (6.2.11).
First rewrite (1) in the form
(.)~ TTT Zr−=Γ−1ϕ (2)
where we have used the fact that Γ is a diagonal matrix. Substituting (2) in (6.4.4) gives
βσσϕσϕ −≥Γ−∫ dt T )(~)(~ 1
0 (3)
Since Γ is a constant matrix, we can use the product rule to rewrite (3) as
βσσϕσϕσ −≥Γ−∫ dt Tdd ))(~)(~(/ 1
021 (4)
or
βϕϕϕϕ −≥Γ−Γ −− )(~)(~)(~)(~ 00 1211
21 TT tt (5)
From (5) it is now obvious that if β is selected as
)(~)(~ 00 1
21 ϕϕβ −Γ= T (6)
Then the passivity integral given in (6.4.4) is satisfied for the adaptive rule given in (10).
Now, that we have a feeling for how the passivity integral (6.4.4) can be used to generate adap-
tive update rules, we use the concept of passivity to analyze the stability of a class of adaptive
controllers. For this class of adaptive controllers, the torque control is given by
rKZ v+= ϕτ ˆ(.) (6.4.5)
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
266
Note that many types of torque controllers can be generated from (6.4.50 by selecting different
transfer matrices for )(sK in the definition of r . That is, for different )(sK , we have different
types of feedback because the feedback term rKv will change accordingly.
To form the error system, rewrite the robot dynamics (6.2.1) in terms of the tracking error vari-
able r and the regression matrix (.)Z as
ϕτ (.)),()( ZrqqVrqM m +−−= (6.4.6)
Substituting (6.4.5) into (6.4.6) yields the tracking error system
ϕ(.)),()( ZrqqVrKrqM mv +−−= (6.4.7)
For analyzing the stability of this system, we use the Lyapunov-like function
∫−+=t TT dZrrqMrV02
1 σσϕσσβ )(~)()()( (6.4.8)
Note that V is positive since the parameter estimate update rule is constructed to guarantee
(6.4.4). That is, if (6.4.4) is satisfied, then
00
≥− ∫t T dZr σσϕσσβ )(~)()( (6.4.9)
therefore, V is a positive scalar function. Differentiating (6.4.8) with respect to time gives
ϕ(.))()( ZrrqMrrqMrV TTT −+=21 (6.4.10)
Substituting (6.4.7) into (6.4.10) yields
rqqVqMrrKrV mT
vT )),()(( −+−=
21 (6.4.11)
Using the skew-symmetry property, allows us to write
rKrV vT−= (6.4.12)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 267
We now detail the type of stability for the :
tracking error. First note from (6.4.12) that we can place the new upper bound on V
2min rKV vλ−≤ (6.4.13)
which can also be written as
σσλσσ drKdV v ∫∫∞∞
−≤0
2min0
)()( (6.4.14)
Multiplying (6.4.14) by -1 and integrating the left-hand side of (6.4.14) yields
σσλ drKVV v ∫∞
−≥∞−0
2min0 )()()( (6.4.15)
Since V is negative semidefinite as delineated by (6.4.12), we can state that V is a nonincreasing
function that is upper bounded by )(0V . By recalling that )(qM is lower bounded, as deline-
ated by the positive-definite property of the inertia matrix, we can state that V given in (6.4.8)
is lower bounded by zero. Since V is nonincreasing upper bounded by )(0V , and lower bounded
by zero, we can write (6.4.15) as
∞<∫∞
σσλ drKv 0
2min )( (6.4.16)
or
∞<∫∞
σσ dr0
2)( (6.4.17)
The bound delineated by (6.4.17) informs us that nLr 2∈ , which means that the filtered tracking r
is bounded in the special way given by (6.4.17).
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
268
To establish a stability result for the position tracking error e, we establish the transfer function
relationship between the position tracking error and the filtered tracking error r. From (6.4.1) we
can state that
)()()( srsHse = (6.4.18)
where )(sH is as defined in (6.4.2). Since )(sH is a strictly proper, asymptotically stable trans-
fer function matrix and nLr 2∈ , we can use Theorem 1.4.7 to state that
0lim =∞→ et . (6.4.19)
This result informs us that the position tracking error is asymptotically stable. In accordance
with the theoretical development above, all what we can say about the velocity tracking error is
that it is bounded.
The passivity based controller is summarized in Table 6.4.1. From this we can see that the pas-
sivity approach gives a general class of torque control laws.
Example 6.4.2: passivity of the Adaptive Inertia-Related Controller
In this example we show how the adaptive inertia-related controller can be derived using passiv-
ity concepts. First, note that by defining
ssK Λ=)( (1)
and
1−Λ+= )()( nsIsH (2)
From Table 6.4.1, we obtain the torque control law
eKeKZ vv Λ++= ϕτ ˆ(.) , (3)
where
( ) )(ˆ)(ˆ),(ˆ))((ˆ(.) qFqGeqqqVeqqMZ dmd ++Λ++Λ+=ϕ (4)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 269
This corresponds to the definition given in (6.3.11); therefore using (2), we have obtained the
adaptive inertia-related torque controller as given in Table 6.3.1.
Table 6.4.1: Passive Class of Adaptive Controllers
Torque Controller:
rKZ v+= ϕτ ˆ(.)
where
( ) )(ˆ)(ˆ)(),(ˆ))()((ˆˆ(.) qFqGesKqqqVesKqqMZsdmd +++++= 1ϕ
)()()( sesHsr 1−= , [ ])()( sKsIsHsn11 +=−
And the gain matrix )(sK is chosen such that )(sH is a strictly proper, stable transfer function
with relative degree 1.
Update Rule:
must satisfy
βσσϕσσ −≥−∫t T dZr0
)(~)()(
Stability:
Position tracking error asymptotically stable.
The remaining item to check is whether the adaptive inertia-related update rule satisfies the pas-
sivity integral given in Table 6.4.1. From Table 6.3.1 the adaptive inertia-related update rule can
be written as
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
270
ϕϕ ˆ)(.)(~ −=Λ+Γ−= eeZT (5)
For the choice of )(sK given in (1). After examining Example 6.4.1 it is now obvious that we
have derived the adaptive inertia-related controller with the passivity approach.
Example 6.4.3: PID Torque Control Law
In Example 6.4.2 the torque control law was shown to be
eKeKZ vv Λ++= ϕτ ˆ(.)
This controller is a PD-like feedback controller. It is now desired to find )(sK to give a PID-like
type of torque controller of the form
∫+++= edtKeKeKZ ipvϕτ ˆ(.)
We can select
Ψ+Λ= ssK )(
where
),,( rdiag λλ …1=Λ
),,( rdiag ψψ …1=Ψ
'iλ s and 'iψ s are positive scalar constants, Λ= vp KK and Ψ= vi KK . Now we must verify
that )(sH is a strictly proper, stable transfer function matrix. For this choice of )(sK we can
write
1
1−
⎟⎠⎞
⎜⎝⎛ Ψ+Λ+=
ssIsH n)(
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 271
Note that since Λ and Ψ have been selected to be diagonal positive definite matrices, )(sH is
a decoupled transfer function matrix. That is, the transfer function for the ith system is
ii
iss
ssh
ψλ ++=
2)(
Since 'iλ s and 'iψ s are positive, )(sH is strictly proper, stable transfer function matrix.
General Adaptive Update Rule
Landau proposed the general update rule (which satisfies the passivity integral)
rZFdrZtF Tp
t TI (.))()()(ˆ +−= ∫0 σσσσϕ (6.4.20)
where rrpF ×ℜ∈ is positive definite constant matrix and rr
I tF ×ℜ∈)( a positive definite matrix
kernel whose Laplace transfer is a positive real transfer function matrix with a pole at 0=s .
By utilizing this general update law, many types of adaptation may be designed. All we need to
keep in mind that the conditions on )(tFI and pF must be met. One possible adaptive scheme
that comes directly from (6.4.20) is the PI adaptation scheme. The PI update law is the same as
that given by (6.4.20), with
1KtFI =)( (6.4.21)
where 1K is a diagonal, constant positive definite matrix. It has been pointed by Landau that
with regard to adaptive model following, PI adaptation has shown a significant improvement over
integral adaptation. Therefore, this type of adaptation might be beneficial for the tracking con-
trol of robot manipulators.
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
272
6.5 Persistency of Excitation The adaptive controllers presented in the previous sections guaranteed asymptotically stable
tracking errors; however, all that could be said about the parameter error was that it was
bounded. In general, parameter identification will occur in adaptive control schemes only if cer-
tain conditions on the regression matrix can be established. Several researchers have studied the
asymptotic stability of adaptive control schemes similar to the ones presented in this chapter.
For example, parameter error convergence can be established for the inertia-related controller if
the regression matrix (.)Y satisfies
r
t
t ddddddT
r IdtqqqqqYqqqqqYI βα ρ ≤≤ ∫ +0
0),,,,(),,,,( (6.5.1)
for all 0t , where ,, βα and ρ are all positive scalars. Furthermore, since the tracking error is
asymptotically stable, we can write (6.5.1) as
r
t
t ddddddT
r IdtqqqYqqqYI βα ρ ≤≤ ∫ +0
0),,(),,( (6.5.2)
Where the arguments q and q have been replaced by dq and dq respectively.
The condition given in (6.5.2) informs us that if (.)Y varies sufficiently over the interval given
by ρ so that the entire r-dimensional parameter space is spanned, we know the parameter error
converges to zero. This condition can be helpful in formulating desired trajectories to ensure that
parameters such as friction coefficients or payload masses are identified.
Example 6.5.1: Lack of Persistency of Excitation for One-Link Robot Arm
The one-link robot arm is shown in Figure 6.5.1. The dynamic equation of this robot is taken as:
qbqm +=τ (1)
where the term b is used to denote the positive scalar representing the dynamic coefficient of fric-
tion. We assume that this robot is in the plane not affected by the gravitational force and that m
and b are unknown positive constants.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 273
Figure 6.5.1: One-link revolute arm
a- Adaptive Controller
By using Table 6.3.1, the adaptive inertia-related controller for the dynamics 91) can be shown to
be given by
ekekbYmY vv λτ +++= ˆˆ 1211 (2)
Where the regression matrix (.)Y is given by
[ ]1211 YYqqqqqY ddd =),,,,( (3)
where
)( eqY d λ+=11 and qY =12
The corresponding parameter estimate is given by
⎥⎦
⎤⎢⎣
⎡=
b
mˆˆ
ϕ
we can formulate the adaptive update rule given in table 6.3.1 as
)(ˆ eeYm += λγ 111 (4)
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
274
and
)(ˆ eeYb += λγ 122 (5)
b- Persistency of Excitation
With the adaptive controller it is desired to show analytically that td eq 21 −= is not persistently
exciting. From (6.5.2), the integrand of the persistency exciting condition for this example is
given by
( , , ) ( , , )2
2
d d dTd d d d d d
d d d
q q qY q q q Y q q q
q q q
⎡ ⎤= ⎢ ⎥⎢ ⎥⎣ ⎦
or
(.) (.)4 4
4 4
16 8
8 4
t tT
t t
e eY Y
e e
− −
− −
⎡ ⎤−= ⎢ ⎥
−⎢ ⎥⎣ ⎦ (6)
Multiplying the first column of (.)(.)YYT by 21 / and adding it to the second column of
(.)(.)YYT gives
4
4
16 0
8 0
t
YY t
eR
e
−
−
⎡ ⎤= ⎢ ⎥
−⎢ ⎥⎣ ⎦ (7)
Since the matrix YYR has the same range space as the matrix (.)(.)YYT , we can see from (7)
that the range space of (.)(.)YYT will always be one-dimensional; therefore the persistent excita-
tion condition does not hold for
t
d eq 21 −= .
6.6 Composite Adaptive Controller In both the adaptive computed-torque and the adaptive inertia-related control strategies, we have
shown that the tracking error is asymptotically stable and the parameter error is bounded. It
was then illustrated that if a persistency of excitation condition holds, the parameter error ϕ~
converges to zero. In some robotic applications it may not be practical to utilize a persistency
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 275
exciting trajectory; therefore, we are motivated to redesign the adaptive control strategy to
achieve parameter identification.
In this section we will see how the adaptive controller given in Section 6.3 can be modified to en-
sure asymptotic convergence of both the tracking error and the parameter error. The asymptotic
convergence of parameter error is shown to hold if a condition of the filtered regression matrix
holds. This condition, often called the infinite integral condition, is less restrictive that the per-
sistency of excitation condition.
Torque Filtering
We now show how the regression matrix that is formed from a torque measurement can be fil-
tered to eliminate the need for acceleration measurements. From Section 6.2 we can write the
robot equation (6.2.1) in the form:
ϕτ ),,()()(),()( qqqWqFqGqqqVqqM m =+++= (6.6.1)
The middle expression in (6.6.1) is written in the form
gh +=τ (6.6.2)
where
))(( qqMdt
dh = (6.6.3)
and
)()(),()( qFqGqqqVqqMg m +++−= (6.6.4)
The reason for writing the robot equation in the form (6.6.2) is that this equation has now been
separated in a way that allows q to be filtered or removed. That is , by filtering (6.6.2), we have
gfhfff ∗+∗=∗= ττ (6.6.5)
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
276
where f is the impulse response of a linear stable, strictly proper filter, and the “∗” is used to
denote the convolution operation. For example, we could use the first-order filter given by
as
asf
+=)( (6.6.6)
where a is a positive scalar constant. By using the property of convolution
)()( 00 fhhfhfhf −+∗=∗ (6.6.7)
we can write (6.6.5) as
gffhhfhfff ∗+−+∗=∗= )()( 00ττ (6.6.8)
After substituting the expressions for h and g, note that q has been filtered out. That is the ex-
plicit expression for fτ is given by
))()(),()(()())(()()())(( qFqGqqqVqqMfqqfMqqMfqqMf mf +++−∗+−+∗= 000τ (6.6.9)
where f is the impulse response of a proper, stable filter; for example
as
asssf
+=)( (6.6.10)
By linearity, the unknown parameters can still be separated out with regard to (6.6.9). that is
(6.6.9) can be written as
ϕτ ),( qqWff = (6.6.11)
where (.)fW is an rn × filtered regression matrix, and ϕ is an 1×r vector of unknown pa-
rameters.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 277
Example 6.6.1: Torque Filtering of One-Link Robot Arm
Using the dynamics of one-link robot arm given in Example 6.5.1, it is desired to find the filter
regression matrix (.)fW where the linear filter is given by
1
1
+=
ssf )( (1)
or in the time domain
tetf −=)( (2)
Using (6.6.9), the filtered expression for the one-link arm is given by
qbfqfmqmqmff ∗+−+∗= )(0τ (3)
where
1+
=s
ssf )( (4)
The expression in (3) is used to separate the known functions from the unknown constants into
the form
ϕτ ),( qqWff = (5)
where the filtered regression matrix and parameter vector are given by
[ ]qfqfqqfqqWf ∗−+∗= )()(),( 0 (6)
and
[ ] .Tbm=ϕ (7)
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
278
The important concept to realize the regression matrix formulation given in (6.6.110 is that the
quantities fτ and ),( qqWf are known or assumed to be measurable; however ϕ is unknown.
To estimate ϕ , we define the estimate of the filtered torque based on the estimate of the un-
known parameters, that is
ϕτ ˆ(.)ˆ ff W= (6.6.12)
We can now define the measurable quantity
ϕτ ~(.)~ff W= (6.6.13)
where
fff τττ ˆ~ −= (6.6.14)
The use of fτ
~ is crucial in the development of the least-square estimator that will be developed in
the next section. We can easily see how fτ~ is measurable by writing (6.6.14) in the form
ϕττ ˆ(.)~fff W−= (6.6.15)
As explained earlier, fτ
~ and (.)fW are assumed to be known or measurable; therefore, all we
need is the parameter estimate term (i.e. ϕ in (6.6.15)). Later we generate an adaptive update
rule that will give us the parameter estimate term ϕ . So for now we assume that fτ~ is known.
Least-Square Estimation
Least-squares estimation methods have been used in many types of parameter identification
schemes. It turns out that this type of estimation method extracts the maximum amount of pa-
rametric information even when the desired trajectory is not persistently exciting. This is an im-
portant fact to realize when designing adaptive control systems for robot manipulators because in
many robot applications, the persistency of excitation will not be valid.
First define the least-squares update rule
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 279
fTfPW τϕ ~(.)ˆ = (6.6.16)
where
PWPWP fTf (.)(.)−= (6.6.17)
and P is an rr × time-varying matrix.
With le least-squares estimation method, if an “infinite integral” condition holds, the parameter
error converges to zero. Specifically, if
∞=⎭⎬⎫
⎩⎨⎧∫∞→
σσσλ dWWt
fTf
t 0minlim )()( (6.6.18)
holds, then
0limt
=∞→ϕ~ . (6.6.19)
This infinite integral condition is weaker than the persistency condition. That is in practical ro-
bot applications, (6.6.18) can often be validated.
Example 6.6.2: Least-Squares Estimator for One-Link Robot Arm
Using the dynamics of the one-link robot arm of Example 6.5.1, it is desired to find the least-
squares estimator given by (6.6.16) and (6.6.17). Since the number of unknown parameters is 2,
define the matrix P to be
⎥⎦
⎤⎢⎣
⎡=
32
21
PP
PPP
Utilizing the filtered regression matrix from Example 6.6.1, we have
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
280
[ ]1211 fff WWqqW =),( ,
where
)(011 qfqqfWf −+∗=
qfWf ∗=12
Utilizing (6.6.17), it is easy to see that the matrix P should be updated in the following manner
2
2121111 )( PWPWP ff +−=
)( 2231121132
21221
2112 PPPWWPPWPPWP ffff +−−−=
2
3121113 )( PWPWP ff +−=
Now using (6.6.16), the parameter update rules are
fff PWPWm τ~)(ˆ 212111 +=
and
fff PWPWb τ~)(ˆ312211 +=
where, from (6.6.16), fτ~ is given by
bWmW ffffˆˆ~
1211 −−=ττ .
For insight into how the least-squares estimation method extracts parameter information, we now
show how (6.6.18) is obtained. Utilizing (6.6.13) and the fact that the parameters are constant,
we write (6.6.16) as
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 281
ϕϕ ~(.)(.)ˆ WPWTf−= (6.6.20)
Using the matrix identity PPPP 1−−= , we can write (6.6.17) as
(.)(.)WWP Tf=−1 (6.6.21)
Substituting (6.6.21) into (6.6.20) yields the differential equation
ϕϕ ~~ 1−−= PP (6.6.22)
We claim that
)(~)(~ 001 ϕϕ −−= PP (6.6.23)
is the solution to (6.6.22). This fact can be verified by substituting (6.6.23) into the right-hand
and left-hand sides of (6.6.22). That is, we obtain
)(~)()(~)( 0000 111 ϕϕ −−− =− PPPPPP (6.6.24)
therefore, (6.6.23) is the solution. Now, from (6.6.21) it is easy to see that the solution for P is
given by
1
0
1 0−
−
⎭⎬⎫
⎩⎨⎧ += ∫ σσσ dWWPP
t
fTf )()()( (6.6.25)
After examining (6.6.25), we can intuitively see that if the infinite integral condition is satisfied,
then
0lim max =∞→
Pt
λ (6.6.26)
and
∞=−
∞→
1minlim P
tλ . (6.6.27)
Now if (6.6.26) holds, we can see from (6.6.23) that the parameter error converges to zero.
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
282
Composite Adaptive Controller
The composite adaptive controller is the same as the controller given in Table 6.3.1 with the ex-
ception of a modification to the adaptive update rule. This modification is given by
fTf
T PWrPY τϕϕ ~(.)(.)ˆˆ +=−= (6.6.28)
To prove that the tracking error and the parameter error both converge to zero, start with the
Lyapunov-like function,
ϕϕ ~~ 121
21 −+= PMrrV TT (6.6.29)
Differentiating (6.6.29) with respect to time yields
ϕϕϕϕ ~~/~~ 1121 21 −− +++= PPrMrrMrV TTTT (6.6.30)
From the control law given in Table 6.3.1 and the development in Section 6.3, we can form the
tracking error system
rqqVrKYrqM mv ),(~(.))( −−= ϕ (6.6.31)
Substituting (6.6.31) into (6.6.30) yields
ϕϕϕϕ ~~/)(.)~(~ 11 21 −− +++−= PrYPrKrV TTTv
T (6.6.32)
After substituting ϕ~ in (6.6.28), 1−P in (6.6.21), and fτ~ into (6.6.32), we have
ϕϕ ~(.)(.)~/ fTf
Tv
T WWrKrV 21−−= (6.6.33)
We now detail the type of stability for the tracking error and the parameter error. First, since
V in (6.6.33) is at least negative semidefinite in the form
2rKV vminλ−≤ (6.6.34)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 283
we can state that V is bounded, )(qM is a pd matrix, and 1−P satisfies the condition given by
(6.6.270, we can state that r and ϕ~ are bounded. Furthermore, from the definition of r given in
(6.3.8), we can use standard linear control arguments to state that e and e (and hence q and
q ) are bounded. We can now use the arguments presented in section 6.4 to show that nLr 2∈ .
Given that nLr 2∈ , we can determine a stability result for the position tracking error and the fil-
tered tracking error r. From (6.3.8) we can state that
)()()( srsGse = (6.6.35)
1−Λ+= )()( sIsG (6.6.36)
nn×ℜ∈Λ , a positive definite matrix. Since )(sG is strictly proper, asymptotically stable trans-
fer function and nLr 2∈ , we can use Theorem 1.4.7 to state that
0lim =∞→e
t (6.6.37)
Second, since V is at least negative semidefinite, we know that V must be nonincreasing, and
hence V is upper bounded by )(0V . Furthermore, by the infinite integral assumption, we have
concluded in (6.6.27) that
∞=−
∞→
1minlim P
tλ (6.6.38)
Since the term
ϕϕ ~~ 121 −PT (6.6.39)
in V given in (6.6.29) is upper bounded by )(0V , we can see that for (6.6.38) to hold, we must
have
0lim =∞→ϕ~
t
Therefore, from the argument above, the position and the parameter error are asymptotically sta-
ble for the composite adaptive controller outlined in table 6.6.1. In accordance with the theoreti-
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
284
cal development above, all we can say about the velocity tracking error is that it is bounded;
however Barbalat’s lemma can be invoked to illustrate that the velocity tracking error is also as-
ymptotically stable (see Problems).
Table 6.6.1: Composite Adaptive Controller
Torque Controller:
eKeKY vv Λ+++= ϕτ ˆ(.)
Update Rule:
)ˆ(.)(.)()(.)(ˆ ϕτϕ fTf
T WfPWeePY −∗+Λ+=
where
)(ˆ)(ˆ))(,(ˆ))((ˆˆ(.) qFqGeqqqVeqqMY dmd ++Λ++Λ+=ϕ
PWPWP fTf (.)(.)−=
[ ])(ˆ)(ˆ),(ˆ)(ˆˆ(.) qFqGqqqVqqMfW mf +++∗=ϕ
f is the impulse response of strictly proper stable filter
Stability:
Tracking error e is asymptotically stable. Parameter estimate ϕ is asymptotically stable
if the infinite integral condition is satisfied.
Example 6.6.3: Composite Adaptive Controller for a One-Link Robot Arm
It is desired to formulate the composite adaptive controller for the one-link robot arm in Figure
6.5.1. The torque control law is the same as that given by Equation (2) in Example 6.5.1; there-
fore, all that need be done is the formulation of the composite adaptive update rule. From Table
6.6.1, the composite parameter update rules are
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 285
fff WPWPrYPYPm τ~)()(ˆ 122111122111 +++=
and
fff WPWPrYPYPb τ~)()(ˆ123112123112 +++=
Where r is defined in (6.3.8) 1211 YY , are defined in Example 6.5.1, and
fff WWPPP τ~,,,,, 1211321 are defined in Example 6.6.2.
6.7 Robustness of Adaptive Controllers All the adaptive control schemes discussed ensure asymptotic stability tracking of a desired refer-
ence trajectory for the robot manipulator dynamics; however, in reality we know that there will
always be disturbances in any electromechanical system. A simplistic way to take into account
some sort of disturbance effect is to add a bounded disturbance term to the manipulator dynamic
equation. With this additive disturbance term, the robot equation becomes
dm TqFqGqqqVqqM ++++= )()(),()(τ (6.7.1)
where dT is an 1×n vector that represents an additive disturbance.
Applying the adaptive inertia-related control strategy and ignoring the term dT in (6.7.1) gives
the adaptive scheme in Table 6.3.1. However if we reexamine the stability analysis given in Sec-
tion 6.3 for the adaptive inertia-related controller, we can see that a bounded disturbance term
gives us different type of stability result for the tracking error. Specifically, with the addition of
the bounded disturbance term in (6.7.1) the derivative of the Lyapunov function in (6.3.7) be-
comes
dT
vT TrrKrV +−= (6.7.2)
It is obvious that V can no longer be taken to be negative semidefinite. From our previous ex-
perience with Lyapunov stability theory, it was desired to have V be negative, therefore, it
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
286
stands to reason that it would be advantageous to find the region where V is negative in (6.7.2).
By the use of the Rayleigh-Ritz Theorem, we can write (6.7.2) as
dv TrrKV +−≤ 2minλ (6.7.3)
Then, a sufficient condition on the negativity of V can be obtained, and which is
v
d
K
Tr
minλ> (6.7.4)
If (6.7.4) is satisfied, V is negative and V will decrease. If V decreases, then by our definition of
the Lyapunov function, r must eventually decrease. However, if r decreases such that
v
d
K
Tr
minλ< (6.7.5)
then V may become positive, which means that V will start to increase. If V starts to increase,
we gain insight into the problem by examining two possibilities. One, the increase in V causes r
to increase such that (6.7.4) is satisfied. This means that V will start to decrease and hence r will
eventually decrease. If r increased and decreased in this fashion continually, then r and ϕ~ both
remain bounded. The other possibility is that the increase in V causes ϕ~ to increase while r
stays small enough such that (6.7.5) is satisfied. For this case, V remains positive; therefore, ϕ~
could continue to increase. If V continues to increase in this fashion, r is bounded; however ϕ~
and hence ϕ become unbounded.
The argument above reveals that the parameter estimate in the adaptive inertia-related control
law may go unstable in the presence of a bounded disturbance. That is, the parameter estimate
may diverge under the assumption that the robot model is given by (6.7.1). If the parameter es-
timate becomes too large, we can see from table 6.3.1 that the input torque will start to grow and
possibly saturate the joints motors; therefore, it would be desirable to modify the adaptive con-
troller to eliminate the possibility of torque saturation.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 287
Torque-Based Disturbance Rejection Method
To reject an additive disturbance term in the robot model, we illustrate how the parameters es-
timates remain bounded if the control torque is modified to be
)(rkda sgn+=ττ (6.7.6)
where aτ is the torque control given in Table 6.3.1,
[ ]Tnrrr )()()( sgnsgnsgn 1 …= (6.7.7)
dk is a scalar constant that satisfies
did Tk max> (6.7.8)
Applying the disturbance rejection controller given in (6.7.6), the derivative of the Lyapunov
function in (6.3.7) becomes:
)(rrkTrrKrV Tdd
Tv
T sgn−+−= (6.7.9)
By noting that
)( iii rrr sgn= (6.7.10)
(6.7.9) can be written as
)( dd
n
iiv
T kTrrKrV −+−≤ ∑=1
(6.7.11)
By using (6.7.8), we can write (6.7.11) as
rKrV vT−≤ (6.7.12)
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
288
The same argument as in Section 6.6 can be used to show that the position tracking error is as-
ymptotically stable while the velocity tracking error and parameter estimate are bounded.
Estimator Based Disturbance Rejection Method In this method the torque control is the same as that given in Table 6.3.1; however the adaptive
update rule is modified to be
ϕσϕ ˆ(.)ˆs
T rY −Γ= (6.7.13)
where
⎪⎩
⎪⎨
⎧−=1
1
0
0κϕσ ˆ
s
0
00
0
2 if
2 if
if
ϕϕϕϕϕ
ϕϕ
><<
<
ˆˆ
ˆ (6.7.14)
and ϕϕ ≥0 (6.7.15)
With the update rule (6.7.13), it has been showed that the tracking error could be confined to a
residual set and that all closed-loop signals are bounded.
As we have shown, a bounded disturbance can cause the parameter estimates to go unstable.
The update rule given by (6.7.13) is intended to remedy this problem by regulating on-line the
size of the parameter estimates. This is done by the scalar design constant 0ϕ . That is, by
checking the size of the parameter estimates against 0ϕ , the parameter estimates are forced to
remain bounded by using this new update rule. One can see clearly that if 0ϕϕ <ˆ , the update
rule is the same as that given by the controller is the same as the adaptive inertia-related control-
ler. On the other hand, if parameter estimates get too large, the adaptive update rule is modified
to ensure that the parameter estimates remain bounded. How this −σ modification accomplishes
this task is now discussed.
To motivate how the update given in (6.7.13) was formulated, examine the case when 02ϕϕ >ˆ .
This is the stabilizing part of the update rule. That is, if the parameter estimates become too
large, the update rule switches to
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 289
ϕϕ ˆ(.)ˆ −Γ= rY T (6.7.16)
or in terms of parameter error
ϕϕϕ +−Γ−= ~(.)ˆ rY T (6.7.17)
We now reexamine the stability analysis given in Section 6.3 for the adaptive inertia-related con-
troller with the parameter update rule given by (6.7.16). Specifically, with the addition of the
bounded disturbance term in (6.7.1), the derivative of the Lyapunov function in (6.3.7) becomes
ϕϕϕϕϕ 11 −− Γ++Γ−−= Td
TTv
T TrrKr ~~~ˆ (6.7.18)
or
**d
TT TxxKxV +−= (6.7.19)
where
,⎥⎦
⎤⎢⎣
⎡=
ϕr
x ⎥⎦
⎤⎢⎣
⎡Γ
= −10
0vKK * , and ⎥
⎦
⎤⎢⎣
⎡Γ
= − ϕ1d
d
TT * (6.7.20)
By the use of the Raleigh-Ritz Theorem, we can write (6.7.19) as
**min dTxxKV +−≤ 2λ (6.7.21)
From (6.7.21), V will be negative if
*min
*
K
Tx
d
λ> (6.7.21)
It is important to note that the right-hand side of (6.7.22) is a constant; therefore, if (6.7.22) is
satisfied, V is negative, which causes V to decrease. If V decreases, then by our definition of the
Lyapunov function given in (6.3.7), x must eventually decrease. However, if x decreases such that
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
290
*min
*
K
Tx
d
λ≤ (6.7.22)
then V may be positive, which means that V will start to increase. The increase in V causes x
to increase such that (6.7.22) is satisfied. This means that V now starts to decrease again and
hence x eventually decreases. This argument illustrates how x is bounded. If x is bounded, then
from (6.7.20), r and ϕ~ are bounded. Since r is bounded, standard linear control arguments can
be used to show that e and e are bounded.
Last, the region 00 2ϕϕϕ ≤≤ ˆ is used to ensure that there is a smooth transition between the
adaptive inertia-related update rule and the stabilizing portion of the update rule given in
(6.7.16). That is, this ensures that we don’t obtain any discontinuities in the parameter estimates,
which could cause a large discontinuity in the input torque. Such a phenomenon is undesirable
because that could cause the robot manipulator to jerk violently.
6.8 An Adaptive Robust Control Scheme
In last sections we discussed the use of adaptive controllers for the tracking control of robot ma-
nipulators. One of the attractive features of the adaptive controllers is that the control imple-
mentation does not require a priori knowledge of unknown constant parameters such as payload
masses or friction coefficients. Two disadvantages of the adaptive controllers are that large
amounts of on-line calculations are required and the lack of robustness to additive bounded dis-
turbances.
In Chapter 5 we discussed the use of robust controllers. Two of the attractive features of the ro-
bust controllers are that on-line computation is kept to a minimum and their inherent robustness
to additive bounded disturbances. One of the disadvantages of the robust control approach is
that these controllers require a priori known bounds of the uncertainty; such knowledge is in gen-
eral quite tedious process. An other disadvantage of the robust control is that even in the ab-
sence of additive bounded disturbances, we cannot guarantee asymptotic stability of the tracking
error. In general, it would be desirable to obtain at least a “theoretical” asymptotic stability re-
sult for the tracking error.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 291
In this section, we develop an adaptive robust controller for the tracking of robot manipulators.
The adaptive robust controller can be thought as combining the best qualities of the adaptive
controller and the robust controller. This control has the advantages of reduced online calcula-
tions compared to adaptive controllers, robustness to additive bounded disturbances, no a priori
knowledge of system uncertainty, and asymptotic stability performance.
Assume a revolute manipulator with dynamics given by
dsdm TqFqFqGqqqVqqM +++++= )()(),()(τ (6.8.1)
where dF is an nn × positive definite, diagonal matrix that is used to represent the dynamic co-
efficients of friction, )(qFs is an 1×n vector containing the static friction, dT is an 1×n vector
representing an unknown bounded disturbance, and all other quantities are as defined in Chapter
3.
The adaptive robust controller is very similar to the robust control strategies discussed in Chap-
ter 5 in that an auxiliary controller is used to “bound” the uncertainty. Recall from Chapter 5
that the robust controllers bounded the uncertainty by using a scalar function that was composed
of tracking error norms and positive bounding constants. For example, suppose that the dynam-
ics given by
dsddmd TqFqFqGeqqqVeqqMw +++++++= )()())(,())(( (6.8.2)
represent the uncertainty for a given robot controller. That is the dynamics given by (6.8.2) are
uncertain in that payload masses, coefficients of friction, and disturbances are not known exactly.
It is assumed; however, that a positive scalar function can be used to bound the uncertainty as
follows:
w≥ρ (6.8.3)
The physical properties of the robot manipulator can be used to show that the dynamics given by
(6.8.2) can be bounded as
w≥++= 2
210 ee δδδρ (6.8.4)
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
292
where
⎥⎦
⎤⎢⎣
⎡=
e
ee (6.8.5)
and 10 δδ , , and 2δ are positive bounding constants that are base on the largest possible payload
mass, link mass, friction coefficients, disturbances, and so on.
In general, the robust controllers presented in Chapter 5 required that the bounding constants
defined in (6.8.4) be formulated a priori. The adaptive robust controller that will be developed in
this section “learns” these bounding constants on-line as the manipulator moves. That is, in the
control implementation, we do not require knowledge of the bounding constants; rater, we only
require the existence of the bounding constants defined in (6.8.4).
The adaptive robust control has the form
Rv vrK +=τ (6.8.6)
where vK is an nn × diagonal positive definite matrix, r (the filtered tracking error) is defined as
in (6.8.6), and Rv an 1×n vector representing an auxiliary controller. The auxiliary controller
Rv is defined by
ερρ+
=r
rvR ˆ
ˆ 2
(6.8.7)
where
εε εk−= , 00 >)(ε (6.8.8)
εk is a scalar control constant, ρ is a scalar function defined as
2
210 ee δδδρ ˆˆˆˆ ++= (6.8.9)
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 293
and ,ˆ,ˆ10 δδ and 2δ are the dynamic estimates of the corresponding bounding constants ,, 10 δδ
and 2δ . The bounding estimates are changed online based on an adaptive update rule. Before
giving the update rule, we write (6.8.9) in a more convenient form
θρ ˆˆ S= (6.8.10)
where
[ ]21 ee=S and [ ]T210 δδδθ ˆˆˆˆ =
The actual bounding function ρ given in (6.8.3) can also be written in the matrix form
θρ S= (6.8.11)
where
[ ]T210 δδδθ =
Note the similarity between the regression matrix formulation in the adaptive approach and the
formulation given by (6.8.10). Specifically, the 31× matrix S resembles a “regression matrix” , and the 13× vector θ resembles a “parameter estimate vector”.
The bounding estimates defined in (6.8.10) are updated on-line by the relation
rSTγθ =ˆ , (6.8.12)
where γ is a positive scalar control constant. For convenience, we also note that since ,, 10 δδ
and 2δ are constants, (6.8.12) can be written as
rSTγθ −=~
(6.8.13)
where
θθθ ˆ~−= (6.8.14)
We now turn our attention to analyzing the stability of the corresponding error system for the
controller given in (6.8.6). Substituting the controller (6.8.6) into the robot equation (6.8.1) gives
the error system
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
294
Rvm vwrKrqqVrqM −+−−= ),()( (6.8.15)
Define the Lyapunov candidate function
εθγθ ε112121 −− ++= krqMrV TT ~~/)(/ (6.8.16)
Differentiating (6.8.16) with respect to time yields
εθγθ ε1121 −− +++= krqMrrqMrV TTT ~~)()(/ (6.8.17)
since scalar quantities can be transported. Substituting (6.8.13) and (6.8.15) into (6.8.17) yields
rqqVqMrkvwrrSrKrV mT
RT
vT )),()((/)(ˆ 2211 −++−+−−= − εθ ε (6.8.18)
By using the skew-symmetry property, it is easy to see that the last term is identically equal to
zero. From (6.8.18), we can use (6.8.3) and (6.8.11) to place an upper bound on V in the follow-
ing manner
εθθ ε1−+−+−−≤ kvrrSrSrKrV R
Tv
T ˆ (6.8.19)
Substituting (6.8.7), (6.8.8), (6.8.10) and (6.8.14) into (6.8.19), we obtain
εθ
θθε+
−+−−≤rS
SrrrSrKrV
T
vT
ˆ)ˆ(ˆ2
(6.8.20)
which can be written as
εθ
θθε
+−+−−≤
rS
SrrSrKrV v
T
ˆ)ˆ(ˆ22
(6.8.21)
Obtaining a common denominator for the last two terms in (6.8.21) enables us to write
εθ
θεε
++−−≤
rS
SrrKrV v
T
ˆ
ˆ (6.8.22)
Since the sum of the last two terms in (6.8.22) is always less than zero, we can place the new up-
per bound on V :
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 295
rKrV vT−≤ (6.8.23)
We now detail the type of stability for the tracking error. First, note from (7.3.23) that we can
place the upper bound on V :
2
min rKV vλ−≤ (6.8.24)
We can use (6.8.24) to show that all signals are bounded and that nLr 2∈ . On the other hand
the position tracking error e is related to the filtered tracking error r by the transfer function
)()()( srsGse = (6.8.25)
where G(s) is a strictly proper transfer function., therefore we can use Theorem 2.4.7 to state that
∞→=
te 0 lim (6.8.26)
The result above informs us that the position tracking error is asymptotically stable. In accor-
dance with the theoretical development presented in this section, we can only state that the ve-
locity tracking error and the bounding estimates are bounded.
The adaptive robust controller derived in this section is summarized in Table 6.8.1 and depicted
in Figure 6.8.1
Example 6.8.1: Adaptive Robust Controller for the Two-Link Arm
We wish to design the adaptive robust controller given in Table 6.8.1 for the 2-link arm
given in Figure 6.2.1. To model friction and disturbances, the dynamics
)(.)(. tqq 3sin20sgn502 11 ++
and
)(.)(. tqq 3sin20sgn502 22 ++
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
296
were added to 1τ and 2τ respectively in the 2-link robot model.
We can now use Table 6.8.1 to formulate the adaptive robust controller as
ερρτ
++=
rrrKv ˆ
ˆ 12111
and
ερρτ
++=
rrrKv ˆ
ˆ 12222
where
εε εkeereerIkK vv −=+=+== ,,, 222111 ,
and
22
21 rrr +=
Figure 6.8.1 Block diagram of adaptive robust Controller
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 297
Table 6.8.1: Adaptive Robust Controller
Torque Controller
ερρτ+
+=r
rrKv ˆ
ˆ 2
where
[ ]Te
e
e
eS 210
2
1 δδδθρ ˆˆˆˆˆ⎥⎥
⎦
⎤
⎢⎢
⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡==
eer += and εε εk−=
Bounding Estimate Update Rule:
rSTγθ =ˆ
Stability:
Position tracking error e is asymptotically stable. Bounding estimate θ and velocity tracking
error e are bounded.
Comments: The adaptive robust controller can compensate for bounded disturbances with no
modification.
From Table 6.8.1, the associated bounding estimates are updated in the fashion
In the expression above for the control torques, the bounding function ρ is given by
[ ][ ]TS 210
21 δδδθρ ˆˆˆˆˆ ee==
where 22
22
21
21 eeee +++=e .
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
298
)(ˆ rγδ =0 , reγδ =1 , r2
2 eγδ =ˆ
For 801 .ˆ =m kg and 322 .ˆ =m kg and lengths of 1m each, the adaptive robust controller
was simulated with the control parameters initial conditions, and desired trajectory
given by
50=vk 5=γ 10 =)(ε 1=εk 2000 =)(δ
ˆ ˆ( ) ( ) ( ) ( ) ( ) ( )1 2 1 2 1 20 0 0 0 0 0 0q q q q δ δ= = = = = =
and
tqq dd sin21 ==
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 299
Problems
6.1 Design and simulate the adaptive computed-torque controller given in Table 6.2.1 for the
two-link polar arm given in Chapter 2
6.2 Find different positive-definite, symmetric matrices P and Q from that given in Example
6.2.2 that satisfy
QPAPAT −=+
where
⎥⎦
⎤⎢⎣
⎡−−
=vp
nn
KK
IA
0
pK , and vK being some diagonal positive definite matrices.
6.4 With the P and Q found in Problem 6.2., redo Problem 6.1 and report the differences in
the tracking error performances
6.5 Design an simulate the adaptive inertia-related controller given in Table 6.3.1 for the two
link polar robot arm given in chapter 2
6.6 For the simulation given in Problem 6.5, run several simulations with different values of
the control parameters (i.e. ΓΛ ,, vK ), and report the effects on tracking error perform-
ance.
6.7 As given in (6.3.8), the filtered tracking error is defined by
eer +Λ=
where Λ is a positive-definite diagonal matrix. Show that if
0lim =∞→
)(trt
then
CHAPTER 6: ADAPTIVE CONTROL OF ROBOT MANIPULATORS
300
0lim =∞→
)(tet
and 0lim =∞→
)(tet
6.8 Design and simulate an adaptive controller for the two-link revolute arm given in Exam-
ple 6.3.1 with the PID servo law in Example 6.4.3 and the adaptation law given in Ex-
ample 6.4.1. Report any differences from that given in Example 6.3.1
6.9 Redo Problem 6.8 with the PI adaptation law given by Equations (6.4.20) ad (6.4.21).
6.10 Show analytically that tqd sin= in Example 6.5.2 is not persistently exciting.
6.11 Show that
)()()()()()()()( 00 htfthfthtfthtf −+∗=∗
6.12 Simulate the composite adaptive controller given in Example 6.6.3 and report the effect
on the tracking error of using different values for )(0P and a.
6.13 Show how Barbalat’s lemma can be used in the prrof of the composite controller to yield
0lim =∞→
)(tet
6.14 Redo Problem 6.4 with the additive bounded disturbance
⎥⎦
⎤⎢⎣
⎡=
)(.)(.
t
tTd
2cos250
3sin750
6.15 Redo Problem 6.4 with the additive bounded disturbance given in Problem 6.14 and with
the term
)(rkd sgn
added to the adaptive controller. Run several simulations with different values of dk ,
and report the effects on tracking performances.
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 301
6.16 Design and simulate the adaptive robust controller given in Table 6.8.1 for the two-link
polar robot arm in Chapter 3. (Ignore the fact that this robot has a prismatic link)
6.17 Can the adaptive robust controller stability analysis (and consequently, the controller
itself) be modified to account for the prismatic link given in Problem 6.16.
6.18 Show that the Barbalat lemma can be used to modify the stability analysis for the adap-
tive robust controller to guarantee that the velocity tracking error is also asymptotically
stable.
Notes bibliographiques
Soient comme textes de robotique ou de commande non-linéaire, nous sommes conscient de
l’existence de plusieurs autres références que celles énumérées ci-dessous, mais nous nous sommes
limités à celles dont nous avions eu l’occasion de consulter et sur lesquelles nous nous sommes
basé pour rédiger ce manuscrit
[1] Craig, Introduction to Robotics, Prentice Hall 2005
[2] Spong et Vidyasagar, Robot Dynamics and Control, J. Wiley 1989 [3] Angeles, Fundamentals of Robotic Mechanical Systems, Springer, 2nd edition, 2003
[4] Sciavicco et Siciliano, Modeling and Control of Robot Manipulators, Springer 2003
[5] Niku, Introduction to Robotics, Prentice hall, 2000’’, [6] Lewis et al. Control of Robot manipulators, Theory and Experiments, Decker 2004
[7] De Wit et al. Theory of Robot Control, Springer, 1996
[8] Khalil, Nonlinear Systems, Prentice Hall, 2003
[9] Vidyasagar, Nonlinear Systems Analysis, Prentice Hall, 1992
Ces notes ‘’Dynamique et Commande des Robots Rigides’’ est une tentative d’un texte traitant
essentiellement des notions de la commande robotique avec une couverture préliminaire de la
modélisation dynamique des robots rigides. Il est destiné aux étudiants de Mastère ayant
complété au moins un premier cours de robotique ainsi qu’un cours de commande des systèmes
non-linéaires. Quoique nous ayons inclue un premier chapitre traitant de la cinématique des
robots, ainsi qu’un second chapitre introduisant les notions de commande, il reste que
l’information contenue dans ces chapitres est assez générale.
L’organisation de ce manuscrit est comme suit : Le chapitre 1 est un rappel des notions de
cinématique robotique. Le chapitre 2 traite des notions fondamentales de commande nonlinéaire. Le chapitre 3 est destiné à la modélisation dynamique des robots rigides. Le chapitre 4 traite de
la commande par le couple précalculé des robots rigides. Dans le chapitre 5, nous traitons les
différents algorithmes de la commande robuste des manipulateurs robotiques et le chapitre 6 est
destiné à l’étude des leurs schémas de commandes adaptatives. Chaque chapitre est complété par
une série de problèmes permettant à l’étudiant d’appliquer les notions théoriques abordées.
A propos de l’Auteur
Faïçal Mnif (Ph.D., Robotique, École Polytechnique de Montréal, Canada,
1996, HDR, Informatique Industrielle et Automatique, 2005). Il est maître assistant en génie électrique à l’INSAT de Tunis et membre du groupe de
recherche “Intelligent Control, Design and Optimization of Complex
Systems”, ICOS, ENIS.
Ses domaines d’intérêt incluent la robotique, la commande des systèmes
holonomes et non-holonomes, l’application des commandes non-linéaires et
robustes, et la mécatronique. Il a plus que 40 publications dans des revues internationales et dans
des comptes rendues de conférences internationales.
Il est membre de l’ IEEE et de l’ASME. Il sert comme évaluateur pour plusieurs conférences
internationales et pour les revues “International Journal of Mechatronics”, ‘’Cybernetics and
Systems‘’ et “Proc. of the Imech, Journal of Systems and Control Engineering’’. Il sert aussi
comme éditeur associé de ‘’International Journal of Modeling, Identification and Control’’.