Académique Documents
Professionnel Documents
Culture Documents
Modélisation et Commande
De Robots Industriels
e
m and
om ls
n e tC
u s trie
tio s In
d
é lisa o t
d b
Mo Ro
De
Par :
Objectif
Ce document constitue un support de cours magistral d’une vingtaine d’heures pour
les étudiants en Master. Il aborde la modélisation et la commande des robots manipu-
lateurs et a pour objectif de permettre aux lecteurs d’acquérir les outils nécessaires de
modélisation, de génération de trajectoire et la commande des robots manipulateurs à
chaîne ouverte simple série. Les exercices proposés à la fin de chaque chapitre sont des-
tinés à familiariser les lecteurs avec les concepts abordés dans le cours en leur donnant
la possibilité d’entreprendre en toute autonomie la résolution d’un certain nombre de
problèmes élémentaires dans le domaine de la robotique.
Organisation du document
Ce document est organisé en six chapitres comme suit :
Le chapitre 1 présente, sous un aspect global, les éléments et les terminologies de bases
utilisés en robotique.
Le chapitre 3 traite les différentes techniques employées dans la modélisation des ro-
bots industriels à savoir géométrique, cinématique, et dynamique.
Le chapitre 4 est consacré à une étude de cas sur un robot réel de Type Staubli TX90.
Le dernier chapitre aborde la commande des robots en présentant deux types de com-
mandes : la commande classique de type PID et une commande par découplage non
linéaire.
i
Avant propos
ii
Table des matières
Avant propos
Chapitre 1
Terminologie et définitions de bases
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Qu’est-ce que un robot ? . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Les éléments constitutifs d’un robot industriel . . . . . . . . . . . . 2
1.2 La structure mécanique articulée . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Liaisons mécaniques . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Degré de liberté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Constitution d’une structure mécanique articulée . . . . . . . . . . 4
1.3 Morphologie des robots manipulateurs . . . . . . . . . . . . . . . . . . . . 5
1.4 L’environnement et la commande des robots industriels . . . . . . . . . . . 7
1.5 Caractéristiques des robots . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Chapitre 2
Description spatiale et transformations
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Description des attributs géométriques. . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Description de la position . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2 Description de l’orientation . . . . . . . . . . . . . . . . . . . . . . 12
2.2.3 Matrice de transformation homogène . . . . . . . . . . . . . . . . . 14
2.3 Transformations homogènes . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.1 Cas d’une simple translation . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Cas d’une simple rotation . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.3 Transformation impliquant plusieurs repères. . . . . . . . . . . . . . 16
iii
Table des matières
Chapitre 3
Modélisation des robots manipulateurs
Chapitre 4
Etude de cas : Le robot Staubli T X90
Chapitre 5
Génération de Trajectoire
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2 Génération de mouvement dans l’espace articulaire . . . . . . . . . . . . . 47
5.2.1 Polynomiales de degré 3 . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2.2 Polynomiales de degré 5 . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.3 Loi Bang-bang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3 Génération du mouvement dans l’espace opérationnel . . . . . . . . . . . . 52
iv
5.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Chapitre 6
Commande des robots
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.2 Commande PID classique . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.2.1 Commande PID dans l’espace opérationnel . . . . . . . . . . . . . . 58
6.2.2 Commande PID dans l’espace articulaire . . . . . . . . . . . . . . . 59
6.3 Commande par découplage non linéaire . . . . . . . . . . . . . . . . . . . . 61
6.3.1 Commande dans l’espace opérationnel . . . . . . . . . . . . . . . . 61
6.3.2 Commande dans l’espace articulaire . . . . . . . . . . . . . . . . . . 63
6.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Annexe A
Rappel sur les matrices
Annexe B
Transformations Trigonométriques
Bibliographie 71
v
Table des matières
vi
Table des figures
1.1 Exemple de robot : (a) robot industriel de type KUKA, (b) un robot hu-
manoïde NAO, (c) un robot mobile de la marque FESTO. . . . . . . . . . 2
1.2 Vue d’ensemble d’un robot industriel : (1) le bras manipulateur, (2) Unité
de commande, (3) L’interface de programmation, (4) Les câbles de connexion.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Illustration des articulations (a) Rotoïde, (b) Prismatique . . . . . . . . . . 4
1.4 Constitution d’une SMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Les différentes configurations du porteur . . . . . . . . . . . . . . . . . . . 6
1.6 Espace de travail d’un robot. . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7 Interaction entre un robot et son environnement. . . . . . . . . . . . . . . . 7
vii
Table des figures
viii
Chapitre 1
1.1 Introduction
Ce chapitre vise à donner au lecteur la terminologie et les définitions de bases, néces-
saires à la compréhension des notions plus techniques de modélisation et de commande
en robotique, qui seront abordées dans les chapitres suivants.
1
Chapitre 1. Terminologie et définitions de bases
permanente du matériel.
Figure 1.1 – Exemple de robot : (a) robot industriel de type KUKA, (b) un robot huma-
noïde NAO, (c) un robot mobile de la marque FESTO.
2
1.2. La structure mécanique articulée
Figure 1.2 – Vue d’ensemble d’un robot industriel : (1) le bras manipulateur, (2) Unité
de commande, (3) L’interface de programmation, (4) Les câbles de connexion.
Unité opérationnelle :
Elle exerce les actions commandées en empruntant la puissance nécessaire à la source
d’énergie. Cette partie, qui constitue le robot physique, intègre la structure mécanique
du robot, les modules d’énergie, les convertisseurs d’énergie, les chaînes cinématiques de
transmission mécanique, les capteurs proprioceptifs placés sur chaque axe pour mesurer
en permanence la position et la vitesse, et enfin l’effecteur, ou organe terminal, qui est en
permanente interaction avec l’environnement.
Unité informationnelle :
Elle reçoit les instructions décrivant la tâche à accomplir, les mesures relatives à l’état
interne de la structure mécanique qui constitue le bras manipulateur et les observations
concernant son environnement. Elle élabore en conséquence les commandes de ses diffé-
rentes articulations en vue de l’exécution de ses tâches. Les systèmes actuels fonctionnent
en interaction permanente selon le cycle information-décision-action. Elle intègre aussi
une interface de communication avec l’opérateur, communément appelée Interface Homme
Machine (Human Machine Interface, HMI en anglais).
3
Chapitre 1. Terminologie et définitions de bases
Rappelons que les variables d’articulation sont associées aux liaisons mécaniques.
Ainsi, pour une liaison de type P , la position (d) est utilisée. Par contre, pour une liaison
de Type R, l’angle θ est utilisée. Du coup, la liaison P (ou R) est dotée d’un (01) ddl.
En règle générale, pour un robot de type bras manipulateur, le degré de liberté est
égal au nombre d’articulations.
Remarque :
Il existe des articulations complexes, par exemple, une rotule constituée de trois articu-
lations rotoïdes dont les axes sont concourants. Cette articulation complexe peut toujours
se ramener à une combinaison d’articulation élémentaires (P ou R).
4
1.3. Morphologie des robots manipulateurs
Il convient de rappeler que le porteur ne possède que 3 ddl. Les ddl résiduels forment
l’organe terminal caractérisé par des dimensions beaucoup plus petites et une plus faible
masse.
Les robots industriels peuvent se classer selon leurs morphologie en 5 classes (Figure
1.5) :
– Cartésiens (PPP) comme par exemple les robots ACMA (P80), IBM (7565), SOR-
MEL (CADRATIC), OLIVETTI (SIGMA) ;
– Cylindriques (RPP) comme par exemple les robots ACMA (TH8), MANTEC (A, I
et M), CINCINNATI (T3-363) ;
5
Chapitre 1. Terminologie et définitions de bases
– Sphériques (RRP) comme par exemple les robots STANFORD, UNIMATION (1000,
2000, 4000), PSA (BARNABE) ;
– Anthropomorphes (RRR), exemple les robots FANUC (LR, ARC), STÄUBLI RX,
ACMA (V80 et SR400), UNIMATION (PUMA), SCEMI (6P-01), AID (V5), CIN-
CINNATI (T3-7XX), AKR 3000, ASEA (IRB6 et 60), KUKA (IR600), AXEA
(V08) ;
– Toriques (RPR) comme par exemple les robots ACMA (H80), les robots de type
SCARA (IBM, AXERA, ADEPT,...).
Nous notons que chaque morphologie du porteur définit un espace de travail propre à
sa configuration. Par définition, un espace de travail d’un robot est tout point de l’espace
atteignable par l’effecteur ou l’organe terminal. La Figure1.6 illustre l’espace de travail de
différentes morphologies.
Remarque :
Une structure RRR dont les 3 axes sont concourants, forme ainsi une rotule et s’utilise
plus généralement comme un organe terminal.
6
1.4. L’environnement et la commande des robots industriels
Les problèmes rencontrés dans la robotique ont des solutions de l’ordre méthodologique
que technologique. Le choix d’une solution est guidé par la complexité de la structure
mécanique, de l’ampleur de la tâche à réaliser, et les performances attendues.
7
Chapitre 1. Terminologie et définitions de bases
1.6 Exercices
1. Faites une recherche sur les différentes définitions d’un robot. Surtout la définition
Japonaise et Américaine. Comparer ces définitions avec celles proposées dans ce
chapitre.
2. Faites une chronologie sur les événements majors dans le développement des robots
industriels.
3. Il existe en robotique deux sortes de capteurs : intéroceptifs et extéroceptifs. Donner
la définition de ces capteurs, leurs rôles, et les différents capteurs utilisés.
8
1.6. Exercices
4. Faites une recherche sur les grands fabricants des robots industriels, en indiquant
leurs domaines d’applications.
5. Donnez la définition de ddl. A quelle variable correspond-t-il ? Comment peut-on en
déduire ce nombre de façon générale
6. Quelle est la différence entre la position absolue et la répétabilité.
7. Faites une recherche sur les différents types et formes de programmation de robots
industriels.
9
Chapitre 1. Terminologie et définitions de bases
10
Chapitre 2
2.1 Introduction
11
Chapitre 2. Description spatiale et transformations
cz
Les quantités ax , by , et cz sont obtenues par projection du point P par rapport aux
axes x, y, z. Elles représentent les distances par rapport aux axes du repère {A}.
12
2.2. Description des attributs géométriques.
A
{A}. Pour le faire, nous allons définir une matrice B R, appelée matrice d’orientation,
comme suit :
h i
A
BR = A ~B
X A~
YB A~
ZB
r11 r12 r13
(2.2)
= r21 r22 r23
L’expression des scalaires rij dans l’Eq.2.2 est obtenue par projection de chaque vecteur
du repère {B} dans le repère de référence {A}. Ainsi, la matrice de rotation peut être
écrite sous la forme :
~B · X
~A Y~B · X ~A Z
~B · X ~A
X
A ~ ~
B R = XB · YA
Y~B · Y~A Z
~ B · Y~A
(2.3)
~B · Z
X ~A Y~B · Z ~A Z
~B · Z ~A
Étant donnée que le résultat du produit scalaire entre deux vecteurs est un cosinus, par
conséquent les éléments de la matrice de rotation sont parfois référés comme des cosinus
directeurs.
A retenir :
La description spatiale de l’effecteur dans l’espace est spécifiée en fonction :
– La position (P) de l’organe terminal qui correspond au point d’origine du repère
{B} attaché à l’organe terminal,
13
Chapitre 2. Description spatiale et transformations
– Les orientations du repère {B} associé à l’organe terminal par rapport au repère de
référence {A} associé à la base.
On peut dire aussi que la matrice A B T définit le repère {B} par rapport au repère {A}.
Ainsi, l’Eq.2.4 peut être écrite sous la forme compacte :
" #
A A
A BR BP
BT = (2.5)
0 0 0 1
A
P =A B
BT · P (2.6)
14
2.3. Transformations homogènes
Comme il est présenté par la Figure 2.5, le point P est définit dans le repère {B}. Le
but est d’exprimer la position de point P dans le repère {A} sachant que les deux repères
partagent la même rotation. Dans ce cas, le repère {B} est le résultat d’une translation
−→
du repère {A} par le vecteur oo0 et la description mathématique du point P dans le repère
{A} est donnée par :
Px 1 0 0 Px0 o0x
Py = 0 1 0 Py0 + o0y (2.7)
Pz 0 0 1 Pz 0 o0z
sous la forme :
A
P = B P + AO (2.8)
15
Chapitre 2. Description spatiale et transformations
−
→
où A O est la description du vecteur de translation oo0 dans le repère {A}.
Il est important de préciser que le point P ne change pas de position dans l’espace mais
−
→
seulement de description mathématique. Nous ajoutons aussi, que le vecteur oo0 définit
cette transformation.
Dans ce deuxième cas de transformation homogène ; comme il est illustré par la Figure
2.6, le point P définit dans le repère {B} résultat de la rotation du repère {A} par un
angle θ. Ainsi, la description mathématique du point P dans le repère {A} est donnée
par :
Px r11 r12 r13 P x0 0
Py = r21 r22 r23 Py0 + 0 (2.9)
A
P =A B
BR · P (2.10)
Solution :
16
2.3. Transformations homogènes
D’abord, nous allons exprimer la position du point C P dans le repère {B}. Donc, la
description géométrique du point B P est donnée par :
B
P =B C
CT P (2.11)
Ensuite, nous allons exprimer la position du point B P dans le repère {A} en utilisant
la transformation suivante :
A
P =A B
BT P (2.12)
C
A partir de l’Eq.2.11 et l’Eq.2.12, la position du point P dans le repère {A} est
exprimée par :
A
P =A B C
BT C T P (2.13)
A
CT =A B
BT C T (2.14)
Règle générale :
D’une façon générale, la transformation géométrique d’un point impliquant le passage
par n repères est exprimée par la matrice de transformation homogène suivante :
0
nT = 01 T...n−2 n−1
n−1 T n T (2.15)
17
Chapitre 2. Description spatiale et transformations
A
P2 0 = A P1 + AD (2.16)
Pour écrire cette transformation sous la forme matricielle, nous utilisons la notation
suivante :
A
P2 0 = TD (d) A P1 (2.17)
18
2.4. Opérateurs de transformations géométriques
A
P2 0 = RK (θ) · A P1 (2.19)
r11 r12 r13 0
r21 r22 r23 0
RK (θ) = (2.20)
r31 r32 r33 0
0 0 0 1
.
A
P2 = T (θ, D) · A P1 (2.21)
Où :
19
Chapitre 2. Description spatiale et transformations
r11 r12 r13 dx
r21 r22 r23 dy
T (θ, d) = (2.22)
r31 r32 r33 dz
0 0 0 1
La matrice T (θ, d) peut être exprimée par :
" #
RK (θ) AD
T (θ, d) = (2.23)
0 1
2.5 Exercices
1. Calculer la matrice de transformation homogène associée au repère {B} tel que le
point d’origine du repère B est donné par (10, 5, 2) par rapport au repère de référence
{A}.
2. Calculer la matrice de transformation homogène associée au repère {B} tel que le
repère {A}satisfait une rotation autour de ZA de 30˚ comme il est illustré par la
Figure2.11
20
2.5. Exercices
21
Chapitre 2. Description spatiale et transformations
22
Chapitre 3
La commande des robots manipulateurs est particulière, car avant d’arriver à la partie
asservissement des vitesses des moteurs présents au niveau des articulations, il faut cal-
culer les consignes de vitesse nécessaires pour parcourir la trajectoire désirée. Ce calcul se
fait grâce à un ensemble de modèles décrivant les aspects géométriques et cinématiques du
robots. Les modèles dynamiques sont utilisés pour le dimensionnements des actionneurs,
pour la simulation, ainsi que la création d’un environnement virtuel pour la validation hors
ligne des programmes de commande. Ainsi, l’objectif de ce chapitre est d’initier le lecteur
à la modélisation géométrique, cinématique et dynamique des robots manipulateurs.
Plusieurs méthodes existent pour l’obtention d’un modèle géométrique d’un robot
manipulateur. La méthode la plus utilisée est de Denavit-Hartenberg (DH) (1955) [4].
Elle est utilisée pour les structures ouvertes simples. Rappelons qu’une structure ouverte
simple (Figure 3.2) est composée de n + 1 corps (ou segment rigide) notés C0 , ..., Cn et
de n articulations (Prismatique ou Rotoïde). Le corps C0 désigne la base du robot et le
23
Chapitre 3. Modélisation des robots manipulateurs
24
3.1. Modèle géométrique
Le passage du repère {Ri−1 } au repère {Ri } est exprimé en fonction des paramètres
suivants :
– ai : la distance entre Zi−1 et Zi suivant l’axe Xi ;
– αi : l’angle formé par Zi−1 et Zi suivant l’axe Xi ;
– di : la distance entre Xi−1 et Xi suivant Zi−1 ;
– θi : l’angle formé par Xi−1 et Xi suivant Zi−1 .
0
nT = 01 T...n−1
n−2 n−1
Tn T (3.2)
X = f (q) (3.4)
h iT
où q représente le vecteur des variables d’articulation q = q1 q2 ... qn et X est
le vecteur des coordonnées opérationnelles.
Position de l’effecteur :
25
Chapitre 3. Modélisation des robots manipulateurs
Orientation de l’effecteur :
l’orientation de l’organe terminal est donnée par les cosinus directeurs (rij ) de l’Eq.3.3.
Il existe plusieurs possibilités pour exprimer l’orientation de l’organe terminal en fonction
des variables d’articulations. Parmi ces possibilités : angles d’Euler.
Prenons l’exemple du passage d’un repère fixe A au repère B associé à un solide par
0 00
par trois rotations successives autour des (z, x , z ). Les angles α, β et γ résultats de
ces transformations sont illustrées par la Figure.3.3. La matrice de rotation associée à ces
transformations est donnée par :
A
B RZXZ (α, β, γ) = RZ (α) RX (β) RZ (γ) (3.5)
26
3.1. Modèle géométrique
A
B RXY Z (ψ, θ, φ) = RZ (φ) · RY (θ) · RX (ψ) (3.6)
Soit :
cφ −sφ 0 cθ 0 sθ 1 0 0
A
B RXY Z (ψ, θ, φ) = sφ cφ 0 0 1 0 0 cψ −sψ (3.7)
0 0 1 −sθ 0 cθ 0 sψ cψ
Supposons qu’un robot est définit par sa matrice de transformation homogène sui-
vante :
0
nT = 01 T (q1 ) 12 T (q2 ) 23 T (q3 ) ...n−1
n T (qn ) (3.8)
27
Chapitre 3. Modélisation des robots manipulateurs
1
0 T U0 = 12 T 23 T...n−1
n T (3.10)
2 1
1 T 0 T U0 = 23 T...n−1
n T (3.11)
4. Suivre cette procédure jusqu’à ce que toutes les variables soient déterminées.
Sous l’hypothèse que l’effecteur du robot se déplace par de petits accroissements, les
dérivées partielles des coordonnées opérationnelles par rapport aux variables des articu-
lations sont exprimées par :
28
3.2. Modèle cinématique
dP = J(q) · dq (3.15)
avec dP = [dax , dby ]T et dq = [dθ1 , dθ2 ]T . J(q) est une matrice appelée jacobienne.
Pour le robot à 2 ddl illustré par la Figure 3.5, la matrice jacobienne est égale à :
" #
−l1 sin (θ1 ) − l2 sin (θ1 + θ2 ) −l2 sin (θ1 + θ2 )
J= (3.16)
l1 cos (θ1 ) + l2 cos (θ1 + θ2 ) −l2 cos (θ1 + θ2 )
La matrice jacobienne intervient dans le calcul du modèle différentiel direct qui donne
les variations élémentaires dP des coordonnées opérationnelles en fonction des variations
élémentaires des variables des articulaires dq.
29
Chapitre 3. Modélisation des robots manipulateurs
En résumé, la relation entre les vitesses des articulations d’un robot q̇, et la vitesse de
l’effecteur du robot Ṗ est calculé par l’équation suivante :
Ṗ = J · q̇ (3.17)
Soit :
dP dq
=J· (3.18)
dt dt
Ainsi, le modèle cinématique du robot est obtenu.
La matrice Jacobienne peut être calculée à partir du MGD d’un robot. Soit le MGD
d’un robot exprimé par :
où f est une application définie de l’espace articulaire (Q) vers l’espace opérationnel
(X), tous deux de dimension n ≤ 6. Cette application n’est pas biunivoque, i.e., à un
élément de Q correspond une seule image dans X, par contre un élément de X pourra être
l’image de plusieurs éléments de Q.
On définit le modèle cinématique relatif aux vitesses par l’équation matricielle sui-
vante :
∂f1 ∂f1
∂x1 ∂q1
... ∂qj q1
.. .. ... .. ..
. = . . . (3.20)
∂fi ∂fi
∂xi ∂qj
· · · ∂q j
qj
Soit,
Ẋ = J q̇ (3.21)
30
3.2. Modèle cinématique
Il existe des configurations dites singulières résultat d’alignement des vecteurs colonnes
de la matrice Jacobienne, dans ce cas l’effecteur du robot ne peut pas se déplacer dans
une direction arbitraire. Ces configurations sont obtenues pour det J = 0. La Figure 3.7
illustre une configuration singulière pour le robot à 2 ddl étudié dans ce chapitre.
31
Chapitre 3. Modélisation des robots manipulateurs
matrice Jacobienne carrée de déterminant non nul, le MGI est obtenu par le calcul de la
matrice inverse comme suit :
q̇ = J −1 Ẋref (3.23)
Le modèle dynamique inverse est obtenu par l’opération inverse, c’est à dire, exprimer
les couples des articulations fonction de la trajectoire, et les vecteurs q, q̇, q̈. Il est donné par
l’Eq.3.25. Ce modèle est utilisé pour la commande du robot et dans le dimensionnement
des actionneurs.
Les formalismes les plus souvent utilisés pour obtenir le modèle dynamique des robots
sont :
– le formalisme de Lagrange
– le formalisme de Newton-Euler
d ∂L ∂L
Γi = dt ∂ q̇i
− ∂qi
i = 1, ..., n (3.26)
32
3.3. Modèle dynamique
L=E−U (3.27)
∂E
C (q̇) = Aq̇ − (3.29)
∂q
Les éléments de la matrice C sont calculés à partir du symbole de Christophell ci,jk tel
que :
n
P
Ci, j =
ci,jk q̇k
k=1
h i (3.30)
ci,jk = 1 ∂Aij + ∂Aik −
∂Ajk
2 ∂qk ∂qj ∂qi
et Q = [Q1 ...Qn ]T : est le vecteur des couples/forces de gravité. Ses éléments sont
calculés par :
∂U
Qi = (3.31)
∂qi
Nous notons que les éléments des matrices A, C et Q sont fonction des paramètres
géométriques et inertiels de la structure mécanique du robot.
1
E = q̇ T Aq̇ (3.32)
2
33
Chapitre 3. Modélisation des robots manipulateurs
1 T
Ej = ωj IGj ωj + Mj VGj VGj (3.34)
2
où ωj est la vitesse de rotation du corps Cj , IGj est la matrice d’inertie du corps Cj
par rapport à un repère parallèle à Rj ayant pour origine le centre de gravité Gj du corps
Cj , Mj est la masse du corps Cj , et VGj est la vitesse du centre de gravité du corps Cj
VGj = Vj + ωj × Sj (3.35)
Et,
34
3.3. Modèle dynamique
R R R
(y 2 + z 2 ) dm − xydm − xzdm XXj XYj XZj
R R 2 R
Jj = − xydm (x + z 2 ) dm − yzdm = XYj Y Yj Y Zj
R R R 2
− xzdm − yzdm (x + y 2 ) dm XZj Y Zj ZZj
(3.37)
IGj matrice d’inertie du corps Cj par rapport à un repère parallèle à Rj et d’origine Gj .
1 T
ωj Jj ωj + Mj VjT Vj + 2MSjT Vj × ωj
Ej = (3.38)
2
où MSj représente le premier moment d’inertie du corps Cj autour de l’origine du
repère Rj , égal à Mj Sj . Les composantes de MSj sont M Xj M Yj M Zj ]T .
Pour un robot dont la base est fixe, les conditions initiales sont telles que V0 = 0 et
ω0 = 0. Donc tous les éléments de l’Eq.3.38 doivent être exprimés dans le même repère, i.e.,
dans le repère Rj . Par conséquent, Les Eqs.3.38, 3.39 et 3.40 deviennent respectivement :
1 j T j j j
Ej = ω j Jj ωj + Mj j V Tj Vj + 2j MSjT j
Vj ∧j ωj (3.41)
2
j
ωj = j Aj−1 j−1 ωj−1 + σ̄j q̇j j aj = j ωj−1 + σ̄j q̇j j aj (3.42)
j
Vj = j Aj j−1
Vj−1 + j−1 ωj−1 × j−1 Pj + σj q̇j aj
(3.43)
Les termes jjJ et j M Sj sont constants. Ils seront notés Jj et MSj pour alléger l’écriture.
Énergie Potentielle :
L’énergie potentielle U est exprimée par la relation suivante :
n
X n
X
U= Uj = −Mj g T (L0,j + Sj ) (3.44)
j=1 j=1
35
Chapitre 3. Modélisation des robots manipulateurs
Uj = −Mj 0 g T 0
Pj + 0 Aj j Sj
(3.45)
h i0 h iT
Uj = −0 g T Mj 0 Pj + 0 Aj j MSj = − 0 g T 0 T j j MSj Mj
(3.46)
3.4 Exercices :
1. calculer en utilisant la notation symbolique de Matlab l’équation suivante :
i−1
i T = RX (αi ) · TX (ai ) · RZ (θi ) · TZ (di ) (3.47)
36
3.4. Exercices :
" #
−l1 sin (θ1 ) − l2 sin (θ1 + θ2 ) −l2 sin (θ1 + θ2 )
J= (3.48)
l1 cos (θ1 ) + l2 cos (θ1 + θ2 ) −l2 cos (θ1 + θ2 )
37
Chapitre 3. Modélisation des robots manipulateurs
sachant que chaque segment est considéré comme rectangulaire d’une densité ho-
mogène. Les dimensions de chaque segment sont li , Li , hi et une masse mi .
38
Chapitre 4
Dans ce chapitre, nous allons se pencher sur un robot industriel à 6 ddl de type Staubli
T X90. L’objectif principal est d’initier l’apprenant à l’étude et à la modélisation d’un
robot réel en mettant en oeuvre les approches et les méthodes de modélisation étudiées
dans le chapitre précédent.
Charge maximale 20 kg
Charge nominale 7 kg
Rayon d’action (entre axes 1 et 6) 1000 mm
Nombre de degrés de liberté 6
Poids 111 kg
39
Chapitre 4. Etude de cas : Le robot Staubli T X90
Question 1 :
A partir de la Figure 4.2, dresser le tableau des Paramètres de Denavit-Hartenberg (D-H)
du Staubli TX90. Les dimensions géométrique du robot sont présentées par la Figure 4.3.
Question 2 :
40
4.2. Modélisation géométrique
Question 3 :
Calculer le MGD du robot en précisant la position de l’organe terminal et son orientation.
Question 4 :
Exprimer l’orientation de l’organe terminal en fonction des angles d’Euler.
Question 5 :
En utilisant la méthode de Paul, calculer le modèle géométrique inverse du robot en
considérant la particularité du robot TX90 à savoir que sa structure assure un découplage
position/orientation au point de concours des 3 derniers axes (O4 = O5 = O6 ). Le pro-
blème se ramène à résoudre des équations de position pour calculer les variables : θ1 , θ2 ,
θ3 , et à résoudre des équations d’orientation pour calculer les variables θ4 , θ5 et θ6 .
41
Chapitre 4. Etude de cas : Le robot Staubli T X90
Nous allons utiliser une méthode pratique pour le calcul du Jacobien pour dériver le
modèle cinétique du robot TX90. Puisque la méthode de dérivation a un calcul complexe
et difficile à la mettre en oeuvre pour un robot à 6 ddl.
La méthode utilisée pour le calcul de la matrice Jacobienne de base est comme suit :
D’abord, la relation entre les coordonnées opérationnelles et le vecteur des variables
articulaires est donnée par :
Ẋ = Jn θ̇ (4.2)
On note :
(
Vk,n = (ak ∧ Lk,n ) q̇k
(4.3)
ωk,n = ak q̇k
n n
P P
Vn= Vk,n = (ak ∧ Lk,n ) q̇k
k=1 k=1
⇒ n
P n
P (4.4)
ωn = ωk,n = = ak q̇k
k=1 k=1
avec :
– k est l’indice de la 2 ème articulation du robot ;
– Vk,n et ωk,n sont les vitesses de translation et de rotation induites par la vitesse q̇k
sur le repère terminal Rn ;
– Lk,n désigne le vecteur d’origine Ok et d’extrémité On
– ak est le vecteur unitaire porté par l’axe Zk de l’articulation k.
En général V n et ωn sont exprimées dans les bases des repères R0 et Rn .
Les matrices jacobiennes correspondantes sont n Jn =6 J6 et 0 Jn =0 J6 . Chaque colonne
de la matrice i J6 s’écrit (au point O6 et dans le repère Ri ) de la forme suivante :
" #
6 −k P6y i sk + k P6x i nk
j6,k = i
(4.5)
ak
Question 6 :
Utiliser l’Eq.4.5 pour calculer la matrice jacobienne de base 6 J6 du robot TX90.
42
4.4. Modélisation dynamique
d ∂L ∂L
Γi = dt ∂ q̇i
− ∂qi
i = 1, ..., n (4.6)
L=E−U (4.7)
Or, à partir du modèle cinétique, nous avons Ẋj = Jj q̇. Par conséquent :
n
1X T T
E= J q̇ Aj Jj q̇ (4.9)
2 j=1 j
C’est à dire,
E = q̇ T Aq̇ (4.10)
1 j T j j j
Ej = ω j Jj ωj + Mj j V Tj Vj + 2j MSjT j
Vj ∧j ωj (4.11)
2
Question 7 :
Calculer l’énergie cinétique ainsi les éléments de la matrice A.
Question 9 :
Calculer l’énergie potentielle U ainsi les composantes du vecteur Q.
Question 8 :
Calculer les éléments de la matrice C.
43
Chapitre 4. Etude de cas : Le robot Staubli T X90
44
Chapitre 5
Génération de Trajectoire
5.1 Introduction
Une des taches de base que doit réaliser un robot consiste à déplacer son organe
terminal d’une position (A) à une position désirée (B) (Prenons, par exemple, le robot à
2 ddl de la Figure 5.1) en respectant :
Définition 5.1 :
L’opération de calcul des différentes consignes en fonction du temps afin de générer le
mouvement désiré est appelée commande en position du robot, ou génération de trajectoire.
45
Chapitre 5. Génération de Trajectoire
1. Le mouvement entre deux points avec trajectoire libre entre les points ;
2. Le mouvement entre deux points via des points intermédiaires, spécifiés notamment
pour éviter les obstacles, avec trajectoire libre entre les points intermédiaires ;
3. Le mouvement entre deux points avec trajectoire contrainte entre les points (trajec-
toire rectiligne par exemple) ;
4. Le mouvement entre deux points via des points intermédiaires avec trajectoire contrainte
entre les points intermédiaires.
Remarque 5.1 :
Le choix d’une méthode de génération du mouvement dépend de la tache considérée.
Remarque 5.2 :
Une distinction doit être faite entre une trajectoire et un chemin (path en anglais). Par un
chemin, nous désignons la séquence de points qu’un robot doit parcourir. Si un chemin est
associé à des contraintes temporelle, cinématique, dynamique ça devient une trajectoire.
Table 5.1 – Comparaison entre la génération de mouvement dans les deux espaces.
Description dans l’espace articulaire Description dans l’espace opérationnel
Le mouvement à produire est fonction Le mouvement entre deux point est connu et
des variables articulaires contrôlable à tout instant,
Le mouvement n’est pas affecté par le passage Elle peut être mise en échec lorsque la trajectoire
sur les configurations singulières, calculée passe par une position singulière,
Les limites en vitesse et en couple dans
Le mouvement entre les deux point
l’espace opérationnel varient selon la
est imprédictible.
configuration du robot.
46
5.2. Génération de mouvement dans l’espace articulaire
47
Chapitre 5. Génération de Trajectoire
q = qi + r(t)D pour 0 ≤ t ≤ tf
(5.1)
q̇ (t) = ṙ(t)D
avec D = qf − qi et r(t) une fonction d’interpolation tel que r(0) = 0 et r(tf ) = 1.
q(t) = c0 + c1 t + c2 t2 + c3 t3 (5.2)
le but, est d’identifier les coefficients de ce polynôme (Eq.5.2) par rapport à l’ensemble
des contraintes suivantes :
q(0) = qi (5.4)
q(tf ) = qf (5.5)
q̇(0) = 0 (5.6)
q̇(tf ) = 0 (5.7)
48
5.2. Génération de mouvement dans l’espace articulaire
q(0) = c0 = qi (5.8)
q̇(0) = c1 = 0 (5.10)
c0 = q i (5.12)
c1 = 0 (5.13)
3
c2 = (qf − qi ) (5.14)
t2d
2
c3 = − (qf − qi ) (5.15)
t3d
Remarque 5.3 : En utilisant l’ensemble des équations ci-dessus, on peut calculer le po-
lynôme qui permet de relier la position initiale à la position désirée pour des vitesses
initiales et finales nulles.
Exemple 5.1 : Calculer les coefficients ci pour un robot à 1 ddl dont la trajectoire suit
un polynôme cubique de θ0 = 15˚ à θf = 75˚ et ceci pour une durée de 3s. La vitesse
initiale et d’arrivée étant nulle.
Tracer la courbe de position, vitesse et d’accélération en fonction du temps.
La solution obtenus pour cette trajectoire est donnée par les coefficients ci suivants :
c0 = 15
c1 =0
(5.16)
c2 = 20
c3 = −4.44
Par conséquent, le polynôme de degré 3 qui décrit la trajectoire de la variable articu-
laire est exprimé par :
49
Chapitre 5. Génération de Trajectoire
q(t) = c0 + c1 t + c2 t2 + c3 t3 + c4 t4 + c5 t5 (5.20)
Pour cela, un ensemble de six contraintes exprimées par les équations ci-dessous est à
spécifier.
q(0) = q0
q(tf ) = qf
q̇(0) = q̇0
(5.21)
q̇(tf ) = q̇f
q̈(0) = q̈0
q̈(tf ) = q̈f
C’est à dire, un ensemble de six équations à six inconnues à résoudre :
q(0) = c0 = qi
q (tf ) = c0 + c1 tf + c2 tf 2 + c3 tf 3 + c4 tf 4 + c5 tf 5 = qf
q(0) = c1 = q̇i
(5.22)
q̇ (tf ) = c1 + 2c2 tf + 3c3 tf 2 + 4c4 tf 3 + 5c5 tf 4 = q̇f
q̈(0) = 2c2 = q̈0
q̈ (tf ) = 2c2 + 6c3 tf + 12c4 tf 2 + 20c5 tf 3 = q̈f
50
5.2. Génération de mouvement dans l’espace articulaire
Figure 5.4 – Profil de la Position, Vitesse, Accélération pour une trajectoire cubique.
51
Chapitre 5. Génération de Trajectoire
q(0) = qi
q (tf ) = qf
(5.24)
q̇(0) = 0
q̇ (tf ) = 0
Étant donné que les vitesses de départ et d’arrivée sont nulles alors le mouvement est
continu en position et en vitesse, mais discontinu en accélération.
Remarque 5.4 :
Les deux mouvements de translation et de rotation se terminent en même temps.
52
5.3. Génération du mouvement dans l’espace opérationnel
" #" #
0 Ri P i R(u, θ) P
T f = 0 T i T (u, θ) = (5.26)
0 1 0 1
53
Chapitre 5. Génération de Trajectoire
f
f
i
i 2
f i 2
f
1
i 2 2
D = P − P = px − px + py − py + pz − pz
(5.27)
Ri R (u, θ) = Rf (5.28)
Nous rappelons que R (u, θ) désigne la matrice (3x3) de rotation correspondant à une
rotation d’un angle θ autour d’un vecteur u. Par conséquent :
rxiT h i r 11 r12 r 13
T
R (u, θ) = Ri Rf = rxiT rxf ryf rzf = r21 r22 r23 (5.29)
Ainsi, l’angle θ et les composantes du vecteur u sont donnés par les équations sui-
vantes :
cos (θ) = 21 (r11 + r22 + r33 − 1)
q
sin (θ) = 1
(r32 − r23 )2 + (r13 − r31 )2 + (r21 − r12 )2
2
θ = atan2 (sin (θ) , cos (θ)) (5.30)
r32 − r23
1
u = 2 sin(θ) r13 − r31
r21 − r12
Nous notons que les méthodes utilisées dans l’espace articulaire peuvent être mises en
oeuvre pour engendrer le mouvement synchronisé pour les deux variables D et θ en temps
minimum tf tout en respectant les contraintes imposées (de vitesse et d’accélération).
Ainsi le mouvement résultat s’écrit :
" #
0 R(t) P (t)
T (t) = (5.31)
0 1
Avec,
P (t) = P i + r(t)(P f − P i )
(5.32)
R(t) = Rf · R (u, − (1 − r(t)) · θ)
54
5.4. Exercices
5.4 Exercices
1. Supposons que le mouvement suit un polynôme de degré 3. Déduire la fonction d’in-
terpolation r ainsi la vitesse maximal et minimal, l’accélération minimal et maximal
pour les contraintes suivantes :
q(0) = qi
q(tf ) = qf
(5.33)
q̇(0) = 0
q̇(tf ) = 0
2. Même questions que l’exercice précédent, mais cette fois, nous considérons un poly-
nôme d’ordre 5 sujette à l’ensemble des contraintes suivant :
q(0) = q0
q(tf ) = qf
q̇(0) = q̇0
(5.34)
q̇(tf ) = q̇f
q̈(0) = q̈0
q̈(tf ) = q̈f
55
Chapitre 5. Génération de Trajectoire
56
Chapitre 6
6.1 Introduction
Dans ce chapitre, nous allons présenter la synthèse d’une loi de commande permettant
à l’organe terminal d’atteindre une position désirée ou de suivre une trajectoire désirée.
Nous allons nous focaliser sur les robots dont la structure mécanique articulée est à chaîne
ouverte simple.
D’abord, rappelons l’équation (Eq.3.28) caractérisant la dynamique du robot à n ddl :
où A est la matrice d’inertie du robot de dimension [n × n], C (q, q̇) q̇ est un vecteur
de dimension [n × 1] représentant les couples/forces de Coriolis et les forces centrifuges,
et Q(q) est le vecteur des forces de gravité.
où Φ est une matrice de dimension [n, b] avec b est le nombre des paramètres dy-
namique, et χ représente le vecteur des paramètres dynamiques (paramètres inertiels et
paramètres de frottement).
Nous notons par Γj le couple transmis par les moteurs électrique à l’articulation j. Il
est exprimé par :
57
Chapitre 6. Commande des robots
Γj = Nj Kaj KT j uj (6.4)
Il existe plusieurs approches pour la commande des robots manipulateurs, les plus
utilisées sont :
– la commande classique de type PID [?] ;
– la commande par découplage non linéaire [8] ;
– la commande adaptative [8] ;
– la commande robuste à structure variable (modes glissants) [?].
Nous allons traiter dans ce chapitre la synthèse d’une commande classique de type
PID (commande proportionnelle, intégrale et dérivée), et la commande par découplage
non linéaire.
58
6.2. Commande PID classique
Kp, Kd et KI sont des matrices diagonales définies positives, de dimension [n, n],
dont les éléments génériques sont respectivement les gains des actions proportionnelles
Kpj , dérivées Kdj et intégrales KIj . X est le vecteur des cordonnées opérationnelles et J T
est le Jacobien du robot.
La Figure 6.2 illustre le schéma bloc de la commande PID dans l’espace opérationnel.
Le MGD du robot (X = f (q)) est utilisé dans le calcul de l’erreur entre la trajectoire
(La position) désirée et la trajectoire (la position) à l’instant t. Dans les cas des positions
singulières ou pour les robots redondants, la pseudo inverse de la matrice J est utilisée.
Figure 6.2 – Schéma bloc d’une commande PID dans l’espace opérationnel
Il existe une autre solution pour la synthèse d’une commande dans l’espace opération-
nel. Elle consiste dans la transformation du mouvement défini dans l’espace opérationnel
en un mouvement dans l’espace articulaire, puis faire la synthèse d’une commande PID
l’espace articulaire.
Zt
d
q d − q dt + Kd q̇ d − q̇
Γ = Kp q − q + KI (6.6)
t=0
où qd (t) et q̇d (t) désignent les position et vitesse désirées dans l’espace articulaire.
Et Kp , Ki , et Kd sont respectivement les gains des actions proportionnelle, intégrale et
dérivée.
59
Chapitre 6. Commande des robots
La Figure 6.3 illustre la mise en oeuvre d’une telle commande dans la pratique. Nous
notons que chaque articulation du robot est asservie par une commande PID. Donc, pour
un robot à n ddl, la synthèse de n commande PID est réalisée.
Figure 6.3 – Schéma bloc d’une commande PID dans l’espace articulaire
Les gains Kpj , Kdj , et KIj sont calculés en considérant que le modèle de l’articulation
j est décrit par un système linéaire du deuxième ordre à coefficients constants exprimé
par la relation suivante :
En robotique, nous cherchons à avoir des réponses rapides sans oscillations ce qui mène
à choisir des gains de sorte à ce que les pôles triples de l’équation caractéristique soient à
60
6.3. Commande par découplage non linéaire
En pratique :
ω
– ωj est choisie égale à 2rj avec ωr la pulsation de résonance et ceci pour ne pas
déstabiliser le système.
– On désactive l’action intégrale lorsque l’erreur en position est très grande, le terme
proportionnel étant suffisant ; on la désactive aussi lorsque l’erreur devient très petite
pour éviter les oscillations que pourraient induire les frottements secs.
Une loi de commande qui linéarise et découple les équations dans l’espace opérationnel
est donnée par :
Γ = ÂJ −1 ˙
w(t) − J q̇ + Ĥ (6.13)
Si on substitue l’Eq.6.13 dans l’Eq.6.2, on déduit que dans le cas idéal d’un modèle
61
Chapitre 6. Commande des robots
Ẍ = w(t) (6.14)
Il existe plusieurs schémas pour la synthèse d’une loi de commande. Dans le cas ou
la trajectoire complète du mouvement est bien spécifiée, la loi de commande peut être
exprimée par :
w(t) = Ẍ d + KD Ẋ d − Ẋ + Kp X d − X
(6.15)
Figure 6.4 – Commande par découplage non linéaire dans l’espace opérationnel
62
6.3. Commande par découplage non linéaire
Ainsi, dans le cas idéal d’un modèle parfait et en l’absence de perturbations, le pro-
blème se réduit à la commande linéaire de n double intégrateurs découplés de la forme :
q̈ = w(t) (6.17)
Il existe plusieurs schémas pour la synthèse d’une loi de commande. Dans le cas ou
la trajectoire complète du mouvement est bien spécifiée, la loi de commande peut être
exprimée par :
w(t) = q̈ d + KD q̇ d − q̇ + Kp q d − q
(6.18)
ë + Kd ė + Kp e = 0 (6.19)
où e = q d − q.
Figure 6.5 – Commande par découplage non linéaire dans l’espace articulaire
Les gains Kpj et Kdj sont choisis pour imposer à l’erreur e(t) décrite par l’Eq.6.19
63
Chapitre 6. Commande des robots
une dynamique exponentiellement stable quelle que soit la configuration du robot. Ils sont
calculés par :
(
Kpj = ωj2
(6.20)
Kdj = 2ξj ωj
où ξ et ω sont l’amortissement et la pulsation de la réponse de l’intégrateur.
En pratique, ξ est choisi égal à 1 pour avoir une réponse sans dépassement. Ainsi, pour
mettre en oeuvre cette commande, on doit disposer d’un algorithme performant pour le
calcul du modèle dynamique.
6.4 Exercices
1. Combien de correcteurs doit-on concevoir pour un robot à 3 ddl.
2. Illustrer par un schéma, le principe de la commande PID dans l’espace articulaire et
dans l’espace opérationnel, quelle est la différence entre les deux types de commande.
Si une articulation j est représenté par un système de deuxième ordre, donner la
fonction de transfert du système en boucle fermée et calculer les gains pour une
réponse simple sans oscillation.
3. Concevoir un contrôleur de suivi de trajectoire pour un système dont la dynamique
est décrite par : (
Γ1 = m1 l12 θ̈1 + m1 l1l2 θ̇1 θ̇2
(6.21)
Γ2 = m2 l22 θ̈1 + θ̈1
64
Annexe A
Une matrice A définie sur le corps des réels < es exprimée par :
a11 . . . a1n
.. .. ..
A= . . . (A.1)
am1 · · · amn
où aij ∈ R, i = 1..m, j = 1..n.
les dimensions de la matrice A sont données par m et n tel que :
– m est le nombre de lignes ;
– n est le nombre de colonnes.
Quelques propriétés :
– Une matrice A est dite carrée si m = n ;
– Une matrice diagonale est définie par :
a11 0
a22
A= ..
(A.2)
.
0 ann
65
Annexe A. Rappel sur les matrices
0
– Matrice transposée (notée A , ou AT ) est donnée par :
a11 . . . am1
. ..
AT = .. . . . . (A.4)
a1n · · · anm
tel que :
a11 . . . a1n
.. .. ..
A= . . . (A.5)
am1 · · · amn
Matrice inverse :
La matrice inverse de A notée A−1 a la propriété suivante :
66
– Multiplication par un scalaire k :
ka11 ka12 · · · ka1m
ka21 ka22 ka2m
kA = .. ... .. (A.10)
. .
kan1 · · · kanm
67
Annexe A. Rappel sur les matrices
68
Annexe B
Transformations Trigonométriques
Nous avons :
sin(θ1 + θ2 ) = s12 = c1 s2 + c2 s1
cos(θ1 + θ2 ) = c12 = c1 c2 − s1 s2
(B.2)
sin(θ1 − θ2 ) = s1 c2 − c1 s2
cos(θ1 − θ2 ) = c1 c2 + s1 s2
Si a et b sont connues, alors il existe une solution unique pour θ donnée par :
69
Annexe B. Transformations Trigonométriques
70
Bibliographie
71