dynamique et commande des robots rigides

308
DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES FAÏÇAL MNIF

Upload: others

Post on 29-May-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

FAÏÇAL MNIF

Page 2: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

FAÏÇAL MNIF

INSAT, ICOS

© F. Mnif, Juin, 2004

Page 3: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

A Mes parents

Pour leur engagement à l’excellence

Page 4: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 5: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 6: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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-

Page 7: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 8: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

© 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

Page 9: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 10: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 11: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 12: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 13: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 14: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 15: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 16: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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-

Page 17: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 18: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 19: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 20: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 21: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 22: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 23: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 24: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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θ .

Page 25: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 26: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 27: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 28: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 29: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 30: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 31: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 32: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 33: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 34: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 35: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 36: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 37: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 38: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 39: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

CHAPITRE 1: RAPPEL DE CINEMATIQUE DES ROBOTS RIGIDES

34

Figure 1.4.3. Robot Stanford

Figure 1.4.4. Robot SCARA

Page 40: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 41: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 42: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 43: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 à

Page 44: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 +=

⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−−−−

=

−− 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 × .

Page 45: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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=

Page 46: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 )(

Page 47: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 48: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 49: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

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

Page 50: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 51: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 46

),()()( uxfuxGxFx =+=

[ ]xIy 0=

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡+−

= −− 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

Page 52: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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ℜ .

Page 53: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ++=++ )()(

Page 54: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ∈, .

Page 55: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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é

Page 56: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 57: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 58: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 59: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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γ

Page 60: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ℜ∈∀ ,

Page 61: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 λλ ≤≤

Page 62: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 63: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 64: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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).

Page 65: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 66: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 67: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 68: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 69: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

⎥⎦⎤

⎢⎣⎡

∂∂

+∂

∂==

Page 70: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 71: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 72: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 73: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

λλ

−=−

≤)(

)(

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

Page 74: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 75: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 )(

Page 76: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 77: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 78: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)()(

Page 79: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 80: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 81: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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é.

Page 82: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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é.

Page 83: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 =

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

Page 84: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

)(∫ −+=

τττ dBuextxet AAt )()0()(0∫

−− +=

Page 85: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 86: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 87: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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=∀

Page 88: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 −−−=

Page 89: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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α−⎡ ⎤

= ⎢ ⎥−⎣ ⎦

Page 90: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 +=

Page 91: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 92: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 93: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

CHAPITRE 2: INTRODUCTION A LA THEORIE DE COMMANDE 88

Page 94: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 95: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 96: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 97: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 98: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

où n est un couple et f est une force.

Page 99: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 100: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 101: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 102: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 −−+=−=

Page 103: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 104: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ][θ=

Page 105: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 106: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 =++=

Page 107: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 108: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 109: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 110: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 111: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 106

qqMqqMq

L

dt

d)()( +=

∂∂

(3.2.38)

( )q

qPqqMq

qq

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)

Page 112: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

)()(),(),( 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 )( µµ ≤≤

Page 113: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 114: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 115: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 110

,)(2

1)(),( q

q

MqIqqMqqV T

n ∂∂

⊗−= (3.3.13)

ou

[ ]qqqUqMqqV ),()(),( 21−= (3.3.14)

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

qq

MqM ∑

= ∂∂

=1

)( (3.3.17)

qui peut être écrite comme

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

∂∂

∂∂

nqM

qM

n

n

qq

qq

M …1

1

1

(3.3.18)

q

MIq n

T

∂∂

⊗= )(

ou comme

Page 116: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 × .

Page 117: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

>=<

⎥⎥⎥⎥

⎢⎢⎢⎢

=⊗=⊗ qq

qq

qq

qq

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é

Page 118: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

qq

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)

Page 119: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 120: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

F. MNIF, DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES 115

><+><= 2)(’)(),( qqVqqqVqqV cencor (3.3.40)

][: 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

Page 121: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 122: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 123: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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,

Page 124: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 125: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ),()(

)()(),(),( qGqFqqVqqN ++=

Matrice d’Inertie

)(qM est une matrice symétrique et définie positive

IqMI 21 )( µµ ≤≤

21 )( mqMm ≤≤

Page 126: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 127: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 128: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ∂∂

⊗= )(

Page 129: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 130: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 131: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

)( GqK T −= τ (3.3.65)

Page 132: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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,

Page 133: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 134: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 135: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 136: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 137: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 138: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 139: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 140: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 141: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 142: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 143: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 144: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 θθθθθθ

2/: rJJ =

N peut être calculée de la même façon.

Page 145: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

qq

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

Page 146: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 147: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

CHAPITRE 3: DYNAMIQUE DES ROBOTS RIGIDES 142

Page 148: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 149: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 150: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

DC =−±=−±= :1cos1sin 2222 θθ

),(2tan2 CDA=θ

)cos,sin(2tan),(2tan 221221 θθθ aaaAxyA +−=

Figure 4.2.1 Bras articulaire 2-DOF

Page 151: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 152: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 153: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 154: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 155: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 156: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

151

Figure 4.2.4 : Trajectoire LFPB (a) Accélération ; (b) Vitesse ; (c) Position

Page 157: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

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.

Page 158: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

153

Figure 5.2.5 : Trajectoire à Temps Minimal : (a) Accélération ; (b) Vitesse ; (c) Position.

Page 159: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 160: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 161: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 162: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 163: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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;

Page 164: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 165: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 166: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 167: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 168: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 169: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 170: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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),

Page 171: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 172: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 173: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 174: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 175: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 176: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 177: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 178: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ++=τ

Page 179: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 180: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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é

Page 181: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 182: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 183: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 184: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 185: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 186: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 187: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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-

Page 188: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 +=

Page 189: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 190: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 191: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 192: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 193: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 194: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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δ

Page 195: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 196: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 197: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 198: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 199: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 200: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 201: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 202: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 203: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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:

Page 204: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ),()( +−=τ

Page 205: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 206: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 207: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 208: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 209: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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=

Page 210: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)( −Λ=

Page 211: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 212: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 213: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

]~~~[

Page 214: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 215: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 216: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 217: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 218: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 219: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 220: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 221: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 222: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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:

Page 223: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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-

Page 224: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 225: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 226: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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(

Page 227: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

qq

qq

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)

Page 228: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 229: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 230: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 231: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 232: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 233: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 234: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 (.).

Page 235: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 236: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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-

Page 237: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 238: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 239: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 240: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 241: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 242: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 243: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 244: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 245: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 246: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 247: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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).

Page 248: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 249: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 250: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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-

Page 251: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 252: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 253: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ˆ~ −=ϕ

Page 254: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 255: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 256: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 =>γ

Page 257: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 258: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 259: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 260: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 261: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 262: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 263: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 264: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 265: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 266: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 267: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 268: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 269: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 270: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 271: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 272: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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).

Page 273: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 274: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 275: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)(

Page 276: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 277: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 278: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 279: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 280: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 281: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 282: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 283: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 284: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 285: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 286: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 287: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 288: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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-

Page 289: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 290: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 291: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 292: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 293: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 294: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 295: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 296: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 297: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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)

Page 298: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 299: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 :

Page 300: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ++

Page 301: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 302: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 .

Page 303: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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 ==

Page 304: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 305: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 306: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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.

Page 307: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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

Page 308: DYNAMIQUE ET COMMANDE DES ROBOTS RIGIDES

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’’.