Vous êtes sur la page 1sur 80

BADJI MOKHTAR- ANNABA UNIVERSITY

UNIVERSITE BADJI MOKHTAR ANNABA ‫ عنابـة‬-‫جامعة باجي مختار‬

Faculté: Sciences de l’Ingéniorat


Département: Electronique

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 :

Dr. BENMOUSSA Samir


Maitre de conférences

Année Universitaire : 2017/2018


Avant propos

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 2 aborde la notion de la description spatiale d’un point et les différentes


opérations et transformations mathématiques.

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 chapitre 5 concerne la génération de trajectoire.

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

2.4 Opérateurs de transformations géométriques . . . . . . . . . . . . . . . . . 18


2.4.1 Opérateur de translation . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2 Opérateur de rotation . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.3 Combinaison de rotation et de translation . . . . . . . . . . . . . . 19
2.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Chapitre 3
Modélisation des robots manipulateurs

3.1 Modèle géométrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


3.1.1 Modèle géométrique direct . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.2 Modèle géométrique inverse . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Modèle cinématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1 Modèle cinématique direct . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.2 Modèle cinématique inverse . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Modèle dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 Forme générale du modèle dynamique . . . . . . . . . . . . . . . . . 33
3.3.2 Calcul de l’énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.3 Calcul des éléments de A, C, et Q . . . . . . . . . . . . . . . . . . . 36
3.4 Exercices : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Chapitre 4
Etude de cas : Le robot Staubli T X90

4.1 Description du robot Staubli T X90 . . . . . . . . . . . . . . . . . . . . . . 39


4.2 Modélisation géométrique . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3 Modélisation cinétique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4 Modélisation dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

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

2.1 localisation de l’effecteur en position et orientation. . . . . . . . . . . . . . 12


2.2 Représentation spatiale d’un point . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Représentation de l’orientation. . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Illustration d’une transformation homogène impliquant une translation et
une rotation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 Translation du repère B / A . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 Rotation du repère B / A . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7 Transformation impliquant plusieurs repères. . . . . . . . . . . . . . . . . . 17
2.8 Opérateur de translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.9 Opérateur de rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.10 Combinaison d’une rotation et d’une translation . . . . . . . . . . . . . . . 20
2.11 Illustration de l’exercice 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1 Robot industriel de type PRP . . . . . . . . . . . . . . . . . . . . . . . . . 24


3.2 Robot à structure ouverte simple . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Illustration des angles d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4 Illustration des angles de Bryan . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5 Robot à 2 ddl avec 2 articulations angulaires. . . . . . . . . . . . . . . . . 29
3.6 Illustration graphique du Jacobien . . . . . . . . . . . . . . . . . . . . . . . 31
3.7 Exemple d’une configuration singulière . . . . . . . . . . . . . . . . . . . . 31
3.8 Décomposition de vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.9 Robot SCARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.10 Illustration de la trajectoire ABCD . . . . . . . . . . . . . . . . . . . . . . 37
3.11 Robot à 2 ddl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

vii
Table des figures

4.1 Staubli TX90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40


4.2 Configuration zéros des repères, (a) : géométrique,(b) : codeur . . . . . . . 41
4.3 Dimension géométrique du robot. . . . . . . . . . . . . . . . . . . . . . . . 44

5.1 Problématique de génération de trajectoire . . . . . . . . . . . . . . . . . . 45


5.2 Les difficultés de la planification dans l’espace opérationnel . . . . . . . . . 47
5.3 Génération de mouvement dans l’espace articulaire . . . . . . . . . . . . . 47
5.4 Profil de la Position, Vitesse, Accélération pour une trajectoire cubique. . . 51
5.5 La loi Bang-Bang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.6 Génération de mouvement dans l’espace opérationnel . . . . . . . . . . . . 53

6.1 Schéma bloc d’un système de commande d’un robot . . . . . . . . . . . . . 58


6.2 Schéma bloc d’une commande PID dans l’espace opérationnel . . . . . . . 59
6.3 Schéma bloc d’une commande PID dans l’espace articulaire . . . . . . . . . 60
6.4 Commande par découplage non linéaire dans l’espace opérationnel . . . . . 62
6.5 Commande par découplage non linéaire dans l’espace articulaire . . . . . . 63

viii
Chapitre 1

Terminologie et définitions de bases

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.1.1 Qu’est-ce que un robot ?


Le mot robot, qui a pour origine le terme robota, est apparu pour la première fois en
1920 dans une pièce théâtrale tchèque "Rossum’s Universal Robot" de l’auteur Capek
pour décrire des être humains dont la nature du travail est répétitive et pénible, où une
corvée.

Selon la "Larousse" [1], un robot est un appareil automatique capable de manipuler


des objets ou d’exécuter des opérations selon un programme fixe ou modifiable. Le diction-
naire "Merriam-webster" [2] définit un robot comme un appareil automatique qui peut
effectuer des fonctions normalement réalisées par des humains. L’Association Française
de Normalisation (A.F.N.O.R) [3] définit un robot comme étant un système mécanique
de type manipulateur commandé en position, reprogrammable, polyvalent (i.e., à usages
multiples), à plusieurs degrés de liberté, capable de manipuler des matériaux, des pièces,
des outils et des dispositifs spécialisés, au cours de mouvements variables et programmés
pour l’exécution d’une variété de tâches. Il a souvent l’apparence d’un ou plusieurs bras,
se terminant par un poignet. Son unité de commande utilise, notamment, un dispositif de
mémoire et éventuellement de perception et d’adaptation à l’environnement et aux cir-
constances. Ces machines polyvalentes sont généralement étudiées pour effectuer la même
fonction de façon cyclique et peuvent être adaptées à d’autres fonctions sans modification

1
Chapitre 1. Terminologie et définitions de bases

permanente du matériel.

Un robot est donc un système articulé rigide, composé de corps et d’articulations. Il


possède une certaine flexibilité, caractérisée par les propriétés suivantes :
– La versatilité : un robot doit avoir la capacité d’exécuter une variété de tâches, où
la même tâche de différentes manières.
– L’auto-adaptabilité : un robot doit pouvoir s’adapter à un environnement changeant
au cours de l’exécution de ses tâches.

Il existe plusieurs types de robots :


– Les robots manipulateurs, appelés aussi robots industriels (Figure 1.1-(a)). Ils ont la
forme d’un bras manipulateur de quelques degrés de liberté et un espace de travail
limité. Ils sont utilisés dans l’industrie pour la réalisation des taches complexes
comme la peinture, le soudage, le montage, ... etc.
– Les humanoïdes, ou les robots ayant une ressemblance humaine dans leur structure
articulée (Figure1.1-(b)). Ils sont utilisés beaucoup plus pour le divertissement dans
les grandes surfaces.
– Les robots mobiles, à l’inverse des deux robots précédents, sont dotés des roues
directionnels afin de leur faciliter le déplacement dans l’environnement Figure1.1-
(c). Ils sont utilisés dans les zones présentant un risque pour l’être humain comme
par exemple l’exploration des mines. Ils sont équipés ou non de bras manipulateurs
suivant leur utilisation.

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.

1.1.2 Les éléments constitutifs d’un robot industriel


La Figure1.2 présente une vue d’ensemble d’un robot industriel. Nous pouvons distin-
guer deux unités très importantes connectées via des câbles électriques (source d’énergie
et communication) :

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

1.2 La structure mécanique articulée


La structure mécanique articulée (SMA) est composée d’un ensemble de corps rigides
reliés entre eux par des liaisons mécaniques élémentaires. La structure mécanique articulée
constitue le lien physique entre le lieu de référence et le lieu de la tâche.

1.2.1 Liaisons mécaniques


En robotique, il existe trois liaisons mécaniques élémentaires :

3
Chapitre 1. Terminologie et définitions de bases

– Liaison "Encastrement" qui constitue le lien entre la base du robot et le support.


– Liaison "Rotoïde", notée R, est une articulation angulaire. Elle réduit le mouve-
ment entre deux corps à une rotation autour d’un axe commun (Figure1.3-(a)). Les
actionneurs employés sont les moteurs électriques.
– Liaison "Prismatique" ou "glissière", notée P. Elle réduit le mouvement entre deux
corps à une translation le long d’un axe commun (Figure1.3-(b)). Les actionneurs
employés sont les vérins.

Figure 1.3 – Illustration des articulations (a) Rotoïde, (b) Prismatique

1.2.2 Degré de liberté


Par définition, le degré de liberté (ddl ) d’un robot correspond aux nombre de variables
de positions indépendantes dont on a besoin afin de localiser toutes les entités du robot.

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

1.2.3 Constitution d’une structure mécanique articulée


La SMA d’un robot se distingue par trois ensembles (Figure1.4) :

4
1.3. Morphologie des robots manipulateurs

Figure 1.4 – Constitution d’une SMA

– Le véhicule : assure le transport de la SMA vers la zone d’action. Ce sous-ensemble


est inexistant sur les robots industriels à poste fixe.
– Le porteur : représente l’essentiel du système mécanique articulé. Il a pour rôle
d’amener l’organe terminal du robot dans un lieu précis de l’espace. Pour cela, une
combinaison de 3 ddl est nécessaire.
– L’organe terminal : regroupe tout dispositif destiné à manipuler des objets (disposi-
tifs de serrage, dispositifs magnétiques, à dépression,...), ou à les transformer (outils,
torche de soudage, pistolet de peinture,...). En d’autres termes, il s’agit d’une inter-
face permettant au robot d’interagir avec son environnement.

1.3 Morphologie des robots manipulateurs


Afin de dénombrer les différentes architectures possibles, on ne considère que 2 para-
mètres : le type d’articulation (R ou P) et l’angle que font deux axes articulaires successifs
(0˚ ou 90˚; sauf cas très particulier, les axes consécutifs d’un robot sont soit parallèles,
soit perpendiculaires).

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

Figure 1.5 – Les différentes configurations du porteur

– 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

Figure 1.6 – Espace de travail d’un robot.

1.4 L’environnement et la commande des robots indus-


triels

Figure 1.7 – Interaction entre un robot et son environnement.

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.

Il est aussi nécessaire d’inclure l’environnement dans la constitution du robot, puisque


c’est l’environnement qui définit la trajectoire à parcourir pour réaliser une tâche. Ces
modifications et évolutions sont déterminées par un ensemble de capteurs appelées "ex-
téroceptifs" (Exemple, une caméra) qui définissent à tout instant son état.
Nous pouvons schématiser l’ensemble des éléments constitutifs d’un robot par un sys-
tème en asservissement (Figure1.7) :
– Interface Homme Machine (IHM) assure la description des taches : représente la
consigne ;

7
Chapitre 1. Terminologie et définitions de bases

– La SMA représente le système à commander ;


– L’environnement et ses capteurs constituent la boucle de retour ;
– L’unité de commande (UC) est le comparateur.

1.5 Caractéristiques des robots


Un robot doit être choisi en fonction de la tâche à réaliser. Nous présentons ici quelques
paramètres à prendre, éventuellement, en compte :
– La charge maximum transportable, à déterminer dans les conditions les plus défa-
vorables (en élongation maximum).
– L’architecture du SMA, le choix est guidé par la tâche à réaliser.
– L’espace de travail, défini par l’ensemble des points atteignables par l’organe termi-
nal. Tous les mouvements ne sont pas possibles en tout point de l’espace de travail.
– Le positionnement absolu, correspondant à l’erreur entre un point désiré (réel) dé-
fini par une position et une orientation dans l’espace cartésien et le point atteint et
calculé via le modèle géométrique inverse du robot. Cette erreur est due au modèle
utilisé, à la quantification de la mesure de position, à la flexibilité du système méca-
nique. En général, l’erreur de positionnement absolu, également appelée précision,
est de l’ordre de 1 mm.
– La répétabilité, ce paramètre caractérise la capacité que le robot a à retourner vers
un point (position, orientation) donné. La répétabilité correspond à l’erreur maxi-
mum de positionnement sur un point prédéfini dans le cas de trajectoires répétitives.
En général, la répétabilité est de l’ordre de 0, 1 mm.
– La vitesse de déplacement (vitesse maximum en élongation maximum), accélération.
– La masse du robot.
– Le coût du robot.
– La maintenance.

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

Description spatiale et transformations

2.1 Introduction

La manipulation des robots implique le mouvement de différents organes et composants


du robot dans l’espace. Donc, la position et l’orientation de ces composants constituants
sont des informations importantes pour la modélisation, la commande et la manipulation
des robots industriels.

Nous allons présenter dans ce chapitre, la description mathématique de la position,


l’orientation, les transformations géométriques et les conventions utilisées dans le domaine
de la robotique. Nous allons adopter dans ce chapitre, l’idée que chaque position et/ou
orientation, peut être décrite par rapport à un système de coordonnées universelles ou
par rapport à un système de coordonnées cartésiennes qui (peut être) définit par rapport
à un système de coordonnées universel.

2.2 Description des attributs géométriques.

La description mathématique des attributs géométriques tels que la position et l’orien-


tation est utilisée pour spécifier et définir la position et l’orientation des composants
constituant un robot. Par exemple, si nous associons, un repère {A} à la base de robot et
un deuxième repère {B} à l’organe terminal, et par la suite donner la description de ces
repères par rapport à un repère de référence (repère {B} par rapport à {A}) permet, à
tout instant t, de connaître la localisation (en position et/ou en orientation) de l’organe
terminal par rapport à la base.

11
Chapitre 2. Description spatiale et transformations

Figure 2.1 – localisation de l’effecteur en position et orientation.

2.2.1 Description de la position


Un point P (Figure2.2) est exprimé dans l’espace 3-D par un triplet de coordonnées
(ax , by , cz ) par rapport à un repère de référence {A} généralement considéré comme or-
thonormé orthogonal. La représentation vectorielle du point P est donnée par le vecteur
colonne A P de l’Eq.2.1.
 
ax
A
P =  by  (2.1)
 

cz

Figure 2.2 – Représentation spatiale d’un point

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

2.2.2 Description de l’orientation


La localisation de l’effecteur reste incomplète jusqu’à ce que les orientations de l’organe
terminal soient spécifiées, c’est à dire, l’orientation du repère {B} par rapport au repère

12
2.2. Description des attributs géométriques.

Figure 2.3 – Représentation de l’orientation.

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 
 

r31 r32 r33

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

Où (.) est le produit scalaire.

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

2.2.3 Matrice de transformation homogène


La transformation par translation et/ou rotation d’un repère {A} vers un repère {B}
(Figure2.3) est représenté par une matrice carrée de dimension [4, 4] de la forme :
 
r11 r12 r13 ax
A
 r21 r22 r23 by 
BT = (2.4)
 

 r31 r32 r33 cz 
0 0 0 1
où les rij spécifient
h l’orientation
i du repère {B} par rapport au repère de référence {A}
T
et le vecteur ax by cz est l’origine du repère {B}/{A}

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

2.3 Transformations homogènes


La transformation homogène consiste à exprimer la position / et l’orientation d’un
objet immobile dans d’autres repères.

Pour expliquer davantage cette transformation mathématique, considérons le vecteur


P définit dans le repère {B} de la Figure2.4. Le but est d’exprimer la nouvelle position et
orientation du vecteur B P dans un autre repère, par exemple {A}. Notez bien que l’objet
reste immobile ; c’est à dire, sa position et son orientation sont inchangées.

Une solution est apportée en utilisant la matrice de transformation homogène comme


suit :

A
P =A B
BT · P (2.6)

où AB T est la matrice de transformation homogène permettant le passage du repère


{B} au repère {A}.

14
2.3. Transformations homogènes

Figure 2.4 – Illustration d’une transformation homogène impliquant une translation et


une rotation.

2.3.1 Cas d’une simple translation

Figure 2.5 – Translation du repère B / A

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.

2.3.2 Cas d’une simple rotation

Figure 2.6 – Rotation du repère B / A

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)
      

Pz r31 r32 r33 Pz 0 0


L’Eq.2.9 peut être écrite sous la forme :

A
P =A B
BR · P (2.10)

2.3.3 Transformation impliquant plusieurs repères.


Exercice : Exprimer la position du point P de la Figure 2.7 décrit dans le repère
{C} par le vecteur C P dans le repère {A} en passant par le repère {B} en spécifiant la
matrice de transformation homogène A CT .

Solution :

16
2.3. Transformations homogènes

Figure 2.7 – Transformation impliquant plusieurs repères.

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)

Par conséquent, la matrice de transformation homogène permettant d’exprimer la


position du point P décrit dans le repère {C} dans le repère {A} en passant par le repère
{B} est donnée par :

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)

N.B : Le produit de matrices de transformations homogènes n’est pas commutatif,


c’est à dire, 01 T...n−2 n−1
n−1 Tn T 6=n−1
n
n−2
Tn−1 T...01 T .

17
Chapitre 2. Description spatiale et transformations

2.4 Opérateurs de transformations géométriques


Les descriptions mathématiques développées précédemment pour définir la transfor-
mation d’un point par rapport aux différents repères peuvent être interprétées comme
des opérateurs de transformations permettant la translation d’un point, la rotation d’un
vecteur, ou les deux à la fois.

2.4.1 Opérateur de translation

Figure 2.8 – Opérateur de translation

La translation du point P1 dans l’espace au sein du même repère par le vecteur AD


comme il est illustré par la Figure2.8 consiste à déplacer dans l’espace le vecteur A P1 par
AD . Le résultat de cette transformation est un nouveau vecteur A P2 0 calculé comme suit :

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)

Où d est la distance signée de l’opération de translation T par le vecteur AD . La


matrice de transformation homogène TD est exprimée sous la forme :
 
1 0 0 dx
 0 1 0 dy 
TD (d) =  (2.18)
 

 0 0 1 dz 
0 0 0 1
p
Où dx , dy et dz sont les composantes de vecteur de translation et d = d2x + d2y + d2z .

18
2.4. Opérateurs de transformations géométriques

2.4.2 Opérateur de rotation

Figure 2.9 – Opérateur de rotation

Le résultat de la rotation du vecteur A P1 par RK (θ) (Figure2.9) est un nouveau vecteur


A
P2 0 exprimé par :

A
P2 0 = RK (θ) · A P1 (2.19)

Où θ est l’angle de rotation et K sa direction.


La matrice de transformation homogène de l’opération de rotation est donnée par :

 
r11 r12 r13 0
 r21 r22 r23 0 
RK (θ) =  (2.20)
 

 r31 r32 r33 0 
0 0 0 1
.

2.4.3 Combinaison de rotation et de translation

La Figure2.10 montre le résultat de la transformation du vecteur A P1 par une trans-


lation par AD et une rotation RK (θ). Le vecteur résultat A P2 0 est calculé par :

A
P2 = T (θ, D) · A P1 (2.21)

Où :

19
Chapitre 2. Description spatiale et transformations

Figure 2.10 – Combinaison d’une rotation et d’une translation

 
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

Figure 2.11 – Illustration de l’exercice 2

3. Illustrer par un dessin, le repère {B} résultat d’une rotation autour de XA de θ,


puis exprimer la matrice de transformation homogène associée.

20
2.5. Exercices

4. 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˚et le point d’origine du repère
{B} P est (4, 3, 0).
5. Calculer la matrice de transformation homogène B
A T en utilisant
A
BT de l’exercice
précédent.
– la matrice inverse.
– En utilisant " #
A T TA
B BR −ABR P
AT = (2.24)
0 1
Quelle est votre conclusion ?
6. – Donner les matrices de rotations RX (30◦ ) et RZ (30◦ ).
– Puis calculer RX (30◦ ) · RZ (30◦ ) et RZ (30◦ ) · RX (30◦ ).
Quelle est votre conclusion ?

21
Chapitre 2. Description spatiale et transformations

22
Chapitre 3

Modélisation des robots manipulateurs

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.

3.1 Modèle géométrique

3.1.1 Modèle géométrique direct


Le modèle géométrique direct (MGD) d’un robot permet de calculer à chaque instant
t, la position et l’orientation de l’organe terminal d’un robot fonction de ses variables
d’articulation (les consignes des actionneurs) et ses paramètres géométriques. Aussi, le
MGD est utilisé dans la définition de l’espace de travail du robot en utilisant les limites
minimales et maximales des articulations motorisées. Par exemple, pour le robot PRP de
la Figure 3.1, la position P de l’organe terminal est exprimée en fonction des variables
d’articulation d1 , θ2 et d3 .

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

Figure 3.1 – Robot industriel de type PRP

corps Cn le corps qui porte l’organe terminal. L’articulation i connecte le corps Ci au


corps Ci−1 .

Figure 3.2 – Robot à structure ouverte simple

Nous allons présenter dans ce cours, la convention de Denavit-Hartenberg Modifiée [5]


ou de Khalil et Kleinfinger puisqu’elle présente quelques simplifications par rapport à la
convention d’origine.

1. Numéroter les articulations de 1 à n du robot ;


2. Associer un repère orthogonal orthonormé Ri au corps i avec :
– l’axe Zi est porté l’articulation i
– l’axe Xi est porté à la normale commune à Zi et Zi+1 . Si les axes se croisent, Xi
est perpendiculaire au plan contenant les deux axes.

24
3.1. Modèle géométrique

3. L’axe Yi est choisi de manière à former un trièdre direct avec l’axe Zi et Xi

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 .

La matrice de transformation homogène définissant le {Ri−1 } dans {Ri } est exprimée


par :
 
c (θi ) −s (θi ) 0 ai−1
i−1
 s (θi ) c (αi ) c (θi ) c (αi ) −s (αi ) −di s (αi ) 
i T = (3.1)
 

 s (θi ) s (αi ) c (θi ) s (αi ) c (αi ) di c (αi ) 
0 0 0 1

Par conséquent, la matrice de transformation homogène associée au robot est obtenue


par l’équation suivante :

0
nT = 01 T...n−1
n−2 n−1
Tn T (3.2)

L’Eq.3.2 peut s’écrire sous la forme :


" #
0 0
0 nR nP
nT = (3.3)
0 1

A partir de la matrice de transformation homogène associée au robot (Eq.3.2), le


MGD d’un robot est obtenu. Ainsi, la position et l’orientation de l’effecteur ou de l’or-
gane terminal peuvent être exprimées en fonction des variables d’articulation, soit par
l’équation :

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

la position de l’effecteur en fonction des variables d’articulation est exprimée à partir


du vecteur de position (0n P ) de la matrice de transformation homogène associée au robot
(Eq.3.3).

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 :

Figure 3.3 – Illustration des angles d’Euler

A
B RZXZ (α, β, γ) = RZ (α) RX (β) RZ (γ) (3.5)

A partir du résultat du produit de matrices de l’Eq.3.5, les angles (α, β, γ) peuvent


être exprimé en fonction des cosinus directeurs rij . Ainsi, le MGD d’un robot est exprimé
par le vecteur de position (Px , Py , Pz ) et les orientations (α, β, γ) fonction des variables
d’articulation q.

Il existe une autre variante permettant d’exprimer l’orientation de l’organe terminal,


ce sont les angles de Tiat-Bryan décrites par les angles Roulis (ψ), Tangage (θ), et Lacet
(φ) (Figure.3.4). La matrice de rotation homogène associée au passage du repère {A} à
{B} après avoir subi les trois rotations est exprimée par :

26
3.1. Modèle géométrique

Figure 3.4 – Illustration des angles de Bryan

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ψ

3.1.2 Modèle géométrique inverse


Le modèle géométrique inverse (MGI) est utilisé pour générer l’ensemble des consignes
des actionneurs pour que l’effecteur atteigne une position et des orientations désirées. Il
existe plusieurs méthodes et procédures numériques pour le calcul du MGI, dans ce cours,
nous nous intéressons à la méthode de Paul [6].

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)

et U0 , exprimée par l’Eq.3.9 est la position désirée.


!
Rref Pref
U0 = (3.9)
0 1

Le MGI est obtenu en résolvant l’équation U0 = 0n T . La méthode de Paul pour l’ob-


tention du MGI est résumée dans les étapes suivantes :

1. Multiplier les deux cotés de l’équation U0 = 0n T par 10 T . Donc :

27
Chapitre 3. Modélisation des robots manipulateurs

1
0 T U0 = 12 T 23 T...n−1
n T (3.10)

2. Résoudre l’Eq.3.10 afin de déterminer q1 .

3. q2 est obtenu en résolvant l’équation :

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.

Dans le calcul du MGI, trois cas se présentent :


– absence de solution lorsque la situation désirée est en dehors de la zone accessible
du robot. Celle-ci est limitée par le nombre de degrés de liberté, les débattements
articulaires et la dimension des segments ;
– infinité de solutions lorsque le robot est redondant vis-à-vis de la tâche ou il se
trouve dans certaines configurations singulières ;
– solutions en nombre fini, exprimées par un ensemble de vecteurs [q1 , q2 , ..., qr ]. On
dit qu’un robot manipulateur est résoluble lorsqu’il est possible de calculer toutes
les configurations permettant d’atteindre une situation donnée. Aujourd’hui, tous
les manipulateurs série ayant jusqu’à six degrés de liberté et qui ne sont pas redon-
dants peuvent être considérés comme résolubles. Le nombre de solutions dépend de
l’architecture du robot manipulateur.

3.2 Modèle cinématique

3.2.1 Modèle cinématique direct


la modélisation cinématique consiste à exprimer la vitesse des coordonnées opération-
nelles en fonction des vitesses des articulations. Afin d’illustrer cette notion, prenons le
robot à 2 ddl de la Figure 3.5. La position de l’effecteur (ax , by ) dans le plan (x, y) est
exprimée en fonction des variables articulaires (θ1 , θ2 ) par :
(
ax = l1 cos(θ1 ) + l2 cos(θ1 + θ2 )
(3.12)
by = l1 sin(θ1 ) + l2 sin(θ1 + θ2 )

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

Figure 3.5 – Robot à 2 ddl avec 2 articulations angulaires.

∂ax (θ1 ,θ2 )


dax = ∂θ1
dθ1 + ∂ax∂θ(θ1 ,θ2 )
dθ2
∂by (θ1 ,θ2 )
2
∂by (θ1 ,θ2 ) (3.13)
dby = ∂θ1
dθ1 + ∂θ2 dθ2
Soit, sous la forme matricielle :
" # " #" #
∂ax (θ1 ,θ2 ) ∂ax (θ1 ,θ2 )
dax ∂θ1 ∂θ2
dθ1
= ∂by (θ1 ,θ2 ) ∂by (θ1 ,θ2 ) (3.14)
dby ∂θ1 ∂θ2
dθ2
L’Eq.3.14 est sous la forme :

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.

L’intérêt de la matrice jacobienne est multiple :


– elle est à la base du modèle différentiel inverse, permettant de calculer une solution
locale des variables articulaires q connaissant les coordonnées opérationnelles P ;
– en statique, on utilise le jacobien pour établir la relation liant les efforts exercés par
l’organe terminal sur l’environnement aux forces et couples des actionneurs ;

29
Chapitre 3. Modélisation des robots manipulateurs

– elle facilite le calcul des singularités et de la dimension de l’espace opérationnel


accessible du robot

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 :

xi = fi (q1 , q2 , q3 , ..., qj ) (3.19)

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)

où J est le Jacobien du MGD.

La matrice Jacobienne peut être décomposée sous la forme :

Ṗ = J1 q̇1 + J2 q̇2 + ...Jn q̇n (3.22)

30
3.2. Modèle cinématique

Chaque Ji représente la vitesse (linéaire et angulaire) de l’effecteur induite par l’arti-


culation i étant les autres articulations immobiles. La Figure 3.6 illustre graphiquement
le Jacobien du robot à 2 ddl décrit par Ṗ = J1 · θ̇1 + J2 · θ̇2 . J1 est perpendiculaire à OP
alors que J2 est perpendiculaire à l’axe de l’articulation 2.

Figure 3.6 – Illustration graphique du Jacobien

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.

Figure 3.7 – Exemple d’une configuration singulière

3.2.2 Modèle cinématique inverse


L’objectif du modèle cinématique inverse (MCI) est de calculer, à partir d’une confi-
guration q donnée, les vitesses articulaires q̇ qui assurent à l’organe terminal une vitesse
opérationnelle Ẋ imposée. Pour cette fin, un MGI est obtenu en inversant le MCD et ceci
par la résolution d’un système d’équations linéaires. Dans le cas régulier, c’est à dire, une

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)

3.3 Modèle dynamique


Le modèle dynamique direct d’un robot consiste à exprimer les accélérations articu-
laires (q̈) en fonction de positions (q), vitesses (q̇) et couples des articulations (Γ) appliqués
aux actionneurs, soit par l’équation :

q̈ = g(q, q̇, Γ, Φ) (3.24)

où Φ vecteur représentant l’effort extérieur (forces et moments) qu’exerce le robot sur


l’environnement. Ce modèle dynamique direct est utilisée dans la simulation du robot.

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.

Γ = f (q, q̇, q̈, Φ) (3.25)

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

Dans ce cours, nous nous exposerons le formalisme de Lagrange. Concernant le forma-


lise de Newton-Euler, consulter [7] et [8].

l’approche d’Euler-Lagrange est utilisée dans la modélisation des équations du mou-


vement d’un robot caractérisant ainsi sa dynamique. Pour un robot idéal sans frottement,
sans élasticité et ne subissant ou n’exerçant aucun effort extérieur, les équations du mou-
vement, lorsque l’effort extérieur sur l’organe terminal est supposé nul, sont exprimées
par l’équation suivante :

d ∂L ∂L
Γi = dt ∂ q̇i
− ∂qi
i = 1, ..., n (3.26)

où L est le Lagrangien du système exprimé par :

32
3.3. Modèle dynamique

L=E−U (3.27)

Avec E et U sont l’énergie cinétique / potentielle totale du système.

3.3.1 Forme générale du modèle dynamique


Le modèle dynamique d’un robot est représenté par un système de n équations diffé-
rentielles du second ordre, couplées et non linéaires de la forme :

Γ = A (q) q̈ + C (q, q̇) q̇ + Q (q) (3.28)

où A est une matrice fonction de la variable articulaire q de dimension n × n, appelée


matrice d’inertie du robot. C (q, q̇) q̇ est un vecteur de dimension n × 1 représentant les
couples/forces de Coriolis et des forces centrifuges. Il est exprimé par :

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

3.3.2 Calcul de l’énergie


Energie cinétique E :
L’énergie cinétique E d’un système est donnée dans sa forme quadratique par :

1
E = q̇ T Aq̇ (3.32)
2
33
Chapitre 3. Modélisation des robots manipulateurs

L’énergie cinétique d’un système ou précisément d’une structure mécanique composée


de n corps est donnée par la relation :
n
X
E= Ej (3.33)
j=1

où Ej est l’énergie cinétique associée au corps j et est exprimée par :

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

Figure 3.8 – Décomposition de vitesse

La vitesse VGj peut s’écrire sous la forme (Figure 3.8) :

VGj = Vj + ωj × Sj (3.35)

où Sj représente un vecteur ayant pour origine Oj et pour extrémité le centre de masse


du corps Cj .

Et,

Jj = IGj − Mj Ŝj Ŝj (3.36)

où Jj est la matrice d’inertie du corps Cj par rapport au repère Rj et exprimée par :

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 .

Alors, L’eq.3.34 devient :

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 .

Les vitesse V j et ωj sont exprimées par :

ωj = ωj−1 + σ̄j q̇j aj (3.39)

Vj = Vj−1 + ωj−1 × Lj + σj q̇j aj (3.40)

où Lj = Oj−1 Oj est un vecteur liant l’origine du repère Rj−1 et l’origine du repère Rj .

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

où L0,j est un vecteur a pour origine O0 et extrémité Oj . En projetant dans le repère


R0 les vecteurs de la relation 3.44, nous obtiendrons :

Uj = −Mj 0 g T 0
Pj + 0 Aj j Sj

(3.45)

L’Eq.3.45 peut se mettre sous une forme linéaire par :

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.3.3 Calcul des éléments de A, C, et Q


Les éléments de A, C, et Q sont calculés à partir de l’énergie cinétique et potentielle
totale du robot. Ils sont donnés par :
– Les éléments Aii sont les coefficients de (q̇i2 /2) dans l’expression de l’énergie ciné-
tique. Aij pour i 6= j sont les coefficients de (q̇i q̇j ).
– Les éléments de C sont obtenus à partir de la relation 3.30.
– Les éléments de Q sont obtenus à partir de la relation 3.31.

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)

Comparer le résultat obtenu avec l’Eq.3.1


2. Exprimer les angles d’Euler en fonction des cosinus directeurs.
3. Exprimer les angles de Briant en fonction des cosinus directeurs.
4. On s’intéressera dans cet exercice aux 2 premiers ddl du robot SCARA de la Figure
3.9.
– Illustrer par un dessin la forme de l’espace de travail assurée par ce robot ;
– Assigner des repères en termes de paramètres DH Modifiée ;
– Dresser le tableau de paramètres DH ;
– Exprimer la matrice de transformation homogène associée à chaque articulation,
puis exprimer la matrice de transformation homogène associée au robot.
5. Calculer le déterminant de la matrice Jacobienne (J) pour θ2 = 0 et θ2 = π

36
3.4. Exercices :

Figure 3.9 – Robot SCARA

" #
−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 )

6. Considérons le robot de la Figure 3.10. On veut que l’effecteur du robot se déplace


à une vitesse constante le long de la trajectoire suivante ABCD exprimée par les
cordonnées respectives comme suit : A(2, 0), B(+, 0), C(0, +), et D(0, +2).

Figure 3.10 – Illustration de la trajectoire ABCD

Déterminer le profile des vitesses articulaires du robot.


7. Déterminer le modèle dynamique du robot manipulateur à 2 ddl de la Figure 3.11

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 .

Figure 3.11 – Robot à 2 ddl

38
Chapitre 4

Etude de cas : Le robot Staubli T X90

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.

4.1 Description du robot Staubli T X90


Le robot Staubli T X90 (Figure 4.1) est un robot industriel de type manipulateur à 6
ddl dont la structure mécanique est à chaîne ouverte simple série. Il est composé de sept
corps notés C0 ,..., C6 supposés rigides, à savoir : le pied, l’épaule, le bras, le coude, l’avant-
bras, le doigt et le porte-outil. Les articulations sont de type rotoïde et sont supposées
idéales, c’est à dire sans jeu, ni frottement, ni déformation.
Les 3 premiers ddl forment le porteur du robot, il a une architecture anthropomorphe
RRR. Les 3 derniers ddl qui forment le poignet, sont composés de 3 axes concourants
(rotule). Cette structure permet d’assurer un découplage entre la position et l’orientation
au point de concours des 3 derniers axes. Les caractéristiques du robot sont données dans
le tableau 4.1.

Table 4.1 – Caractéristiques du robot TX90

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

Figure 4.1 – Staubli TX90

4.2 Modélisation géométrique


La géométrie du robot est décrite dans la position où tous les axes sont à zéros. Une
distinction doit être faite entre le zéro géométrique (Figure 4.2-(a)) et le zéro codeur
(Figure 4.2-(b)). Par le zéro géométrique, nous désignons la configuration du robot où
toutes les articulations sont nulles. Par le zéro codeur, nous désignons l’information de
position délivrée par les codeurs installées aux niveaux des articulation du robot. Dans
le cas du robot Staubli T X90, la configuration zéro codeur correspond au passage de la
configuration zéro géométrique en ajoutant − π2 à θ2 et π2 à θ3 , ainsi, par changement de
variable nous obtenons le vecteur des variables articulaires q comme suit :
h i
q = qcodeur + qof f set ; qof f set = 0 − π2
0 0 0 π
2
(4.1)
h i
Dans la suite de chapitre, nous considérons que le vecteur q = θ1 θ2 θ3 θ4 θ5 θ6

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

Figure 4.2 – Configuration zéros des repères, (a) : géométrique,(b) : codeur

Calculer les matrices de transformations homogènes associés.

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

4.3 Modélisation cinétique

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

4.4 Modélisation dynamique


Le modèle dynamique d’un robot idéal sans frottement, sans élasticité et ne subissant
ou n’exerçant aucun effort extérieur est exprimée par l’équation suivante :

d ∂L ∂L
Γi = dt ∂ q̇i
− ∂qi
i = 1, ..., n (4.6)

où L est le Lagrangien du système exprimé par :

L=E−U (4.7)

Avec E et U sont l’énergie cinétique / potentielle totale du système.

L’énergie cinétique du robot est exprimée par :


n n
1X 1X T
E= Ej = Ẋ Aj Ẋj (4.8)
2 j=1 2 j=1 j

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)

En développant l’équation de l’énergie cinétique, nous obtenons :

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

Figure 4.3 – Dimension géométrique du robot.

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 :

1. Éventuellement, le passage par une position intermédiaire (C) ;


2. Certaines contraintes : temporelle, cinématique, dynamique, ...

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.

Figure 5.1 – Problématique de génération de trajectoire

Plusieurs classes de mouvement (Motion, en anglais) peuvent être distinguées [8] :

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.

La génération de mouvement peut se faire soit dans l’espace articulaire (mouvement 1


et 2) ou dans l’espace opérationnel (mouvement 3 et 4). Le fondement mathématique de la
génération de mouvement est basé sur le calcul d’une ou plusieurs fonctions d’interpolation
qui construisent l’équation du mouvement à partir de contraintes spatiales et temporelles.
Le Tableau.5.1 présente une comparaison entre la génération de mouvement dans les
deux espaces. Parmi les difficultés rencontrées dans la génération de mouvement dans
l’espace opérationnel, le cas d’une position intermédiaire non atteignable (Figure 5.2-(a)).
Aussi, nous pouvons rencontrer le cas où en approchant les positions singulières, quelques
vitesses d’articulations tendent vers ∞ causant ainsi la déviation du chemin du robot
(Figure 5.2-(b)).

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

Figure 5.2 – Les difficultés de la planification dans l’espace opérationnel

5.2 Génération de mouvement dans l’espace articulaire


Le principe général de génération du mouvement dans l’espace articulaire est présenté
par la boucle d’asservissement de la Figure 5.3. Soit Td et Tf deux matrices de transfor-
mations homogènes associées respectivement à la configuration initiale (ou de départ) et
finale de l’organe terminal. En utilisant le MGD du robot, les vecteurs des coordonnées ar-
ticulaires correspondant aux configurations initiale qi et finale qf sont calculées. Soit kv le
vecteur vitesse maximale et ka le vecteur accélération maximale dont les caractéristiques
sont spécifiées par :
– kv : les caractéristiques des actionneurs et des rapports de réduction des organes de
transmission,
– ka : le rapport des couples moteurs maximaux aux inerties maximales.

Figure 5.3 – Génération de mouvement dans l’espace articulaire

La trajectoire entre qi et qf en fonction du temps t est décrit par :

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.

Il existe plusieurs fonctions permettant de satisfaire le passage par qi à t = 0 et qf à


t = tf :
– interpolation polynomiales
– loi du Bang Bang
– loi trapèze (Bang Bang avec paliers de vitesse)

5.2.1 Polynomiales de degré 3


Supposons que le mouvement de la trajectoire de la consigne q en fonction du temps
t est décrit par le polynôme de degré 3 suivant :

q(t) = c0 + c1 t + c2 t2 + c3 t3 (5.2)

La dérivée d’ordre un de l’Eq.5.2 est donnée par :

q̇(t) = c1 + 2c2 t + 3c3 t2 (5.3)

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)

Où l’Eq.5.7 et 5.5 représentent des contraintes associées à la position initiale et finale


de l’organe terminal. Les Eq.5.6 et 5.7 sont des contraintes associées à la vitesse. Dans ce
cas, les vitesses initiales et finales sont considérées nulles.

Substituons les Eq.5.4-5.7 dans le polynôme de l’Eq.5.7 et sa dérivée Eq.5.3, nous


obtenons :

48
5.2. Génération de mouvement dans l’espace articulaire

q(0) = c0 = qi (5.8)

q(tf ) = c0 + c1 tf + c2 t2f + c3 t3f (5.9)

q̇(0) = c1 = 0 (5.10)

q̇(tf ) = c1 + 2c2 tf + 3c3 t2f = 0 (5.11)

La résolution de ces équations pour ci tel que i = 1..4 est :

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

θ(t) = 15 + 20t2 − 4.44t3 (5.17)

Quant à sa vitesse et son accélérations, elles sont données par :

θ̇(t) = 40t − 13.33t2 (5.18)

θ̈(t) = 40 − 26.66t (5.19)

La Figure 5.4 illustre le profil de la position, la vitesse et l’accélération pour une


trajectoire cubique. Nous pouvons constater que le profil de la vitesse est une parabole,
tandis que celui de l’accélération est une droite.

5.2.2 Polynomiales de degré 5


Une interpolation polynomiale de degré cinq (Eq.5.20) est utilisée dans le cas où nous
voulons spécifier la position, la vitesse et l’accélération au début et à la fin du mouvement.
Ceci permettra d’assurer la continuité de l’accélération et aussi pour éviter le phénomène
de résonance dans la SMA.

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

5.2.3 Loi Bang-bang


La trajectoire du mouvement ; exprimée par L’Eq.5.23 et illustrée par la Figure 5.5, est
caractérisée par une phase d’accélération constante jusqu’à tf /2 puis une seconde phase
de dé-accélération.
  2
t
 q(t) = qi + 2 ttf D
 pour 0 ≤ t ≤ 2f
    2 
t
(5.23)
 t
 q(t) = qi + −1 + 4 tf − 2 ttf D pour 2f ≤ t ≤ tf

Quant aux contraintes imposées, elles sont données par :

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.

5.3 Génération du mouvement dans l’espace opération-


nel
La génération du mouvement dans l’espace opérationnel est basée sur l’utilisation de
MGD et MGI du robot pour le calcul des consignes des variables articulaires comme
illustré par la Figure 5.6. Supposons que la configuration de départ et d’arrivée du robot
dans le repère R0 sont exprimées par les matrices de transformation homogènes 0 T i et
0 f
T respectivement. Ces dernières sont données par :
" # " #
0 Ri P i Rf P f
Ti = , 0T f = (5.25)
0 1 0 1
Le but est de générer un mouvement rectiligne du point outil. Pour cela, nous allons
décomposer le mouvement en :
– translation en ligne droite entre les origines Oi et Of .
– rotation autour d’un axe u de l’organe terminal pour aligner Ri avec Rf

Remarque 5.4 :
Les deux mouvements de translation et de rotation se terminent en même temps.

Nous avons donc,

52
5.3. Génération du mouvement dans l’espace opérationnel

Figure 5.5 – La loi Bang-Bang

" #" #
0 Ri P i R(u, θ) P
T f = 0 T i T (u, θ) = (5.26)
0 1 0 1

Figure 5.6 – Génération de mouvement dans l’espace opérationnel

La distance D à parcourir pour le mouvement de translation entre Oi et Of est calculée


par :

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)

Le calcul de u et θ est obtenu à partir de la relation suivante :

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)
   

rxiT r31 r32 r33

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

où r(t) est la fonction d’interpolation.

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

3. Déduire les relations de vitesse et d’accélérations pour un mouvement décrit par la


loi Bang-Bang. Calculer la valeur maximale et minimale de la vitesse et de l’accélé-
ration. Comparer les résultats obtenus avec les graphes de la Figure 5.5.

55
Chapitre 5. Génération de Trajectoire

56
Chapitre 6

Commande des robots

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 :

Γ = A (q) q̈ + C (q, q̇) q̇ + Q (q) (6.1)

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

Une forme plus compacte de l’Eq.6.1 peut être exprimée par :

Γ = A (q) q̈ + H (q, q̇) (6.2)

Ou encore sous la forme :

Γ = Φ (q, q̇, q̈) χ (6.3)

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)

où Nj est le rapport de réduction, Kaj est le gain de l’amplificateur, KT j est la


constante de couple du moteur et uj est le signal d’entrée.

La synthèse de la commande (Voir Figure 6.1) consiste à calculer Γj puis à calculer le


signal uj permettant d’atteindre une position désirée ou de suivre la trajectoire désirée.

Figure 6.1 – Schéma bloc d’un système de commande d’un robot

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.

6.2 Commande PID classique


6.2.1 Commande PID dans l’espace opérationnel
La synthèse d’une commande PID dans l’espace opérationnel est exprimér par l’équa-
tion suivante :
 
Zt  
Γ = J T Kp X d − X + Ki X d − X dt + Kd Ẋ d − Ẋ 
 
(6.5)
t=0

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.

6.2.2 Commande PID dans l’espace articulaire


La synthèse d’une commande PID dans l’espace articulaire est exprimée par l’équation
suivante :

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 :

Γj = aj q̈j + Fvj q̇j + γj (6.7)

où aj désigne la valeur maximale de l’élément Ajj de la matrice d’inertie du robot, Fv


représente la force de frottement visqueux de l’articulation et γj est utilisé pour modéliser
le couple perturbateur.

La fonction de transfert en boucle fermée pour γj = 0 est donnée par :

qj (s) Kdj s2 + Kpj s + Kij


= (6.8)
qjd (s) aj s3 + (Kdj + Fvj )s2 + Kpj s + KIj
Ainsi, l’équation caractéristique s’exprime par :

aj s3 + (Kdj + Fvj )s2 + Kpj s + KIj (6.9)

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

partie réelle négative. Ainsi, l’équation caractéristique se factorise de la façon suivante :

∆(s) = aj (s + ωj )3 avec ωj > 0 (6.10)

Les gains sont alors donnés comme suit :



2
 Kpj = 3aj ωj

KIj = 3aj ωj3 (6.11)

Kdj + Fvj = 3aj ωj

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.

6.3 Commande par découplage non linéaire


La commande par découplage non linéaire, connu sous le nom de commande dyna-
mique (ou "couple calculé", computed torque dans la littérature anglo-saxonne) est uti-
lisée lorsque des évolutions rapides du robot et une grande précision dynamique sont
exigées. Elle est fondée sur l’utilisation du modèle dynamique. Le découplage et la linéa-
risation des équations du modèle, ayant pour effet une réponse uniforme quelle que soit la
configuration du robot. La commande par découplage non linéaire consiste à transformer
par retour d’état le problème de commande d’un système non linéaire en un problème de
commande d’un système linéaire.

6.3.1 Commande dans l’espace opérationnel


On remplaçant dans l’Eq.6.2 q̈ par Ẍ, on obtient l’équation suivante :
 
Γ = AJ −1 Ẍ − J˙q̇ + H (6.12)

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

parfait et en l’absence de perturbations, le problème se réduit à la commande linéaire de


n double intégrateurs découplés de la forme :

Ẍ = w(t) (6.14)

où w représente le vecteur de commande.

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)

Kp et Kd sont des matrices diagonales définies positives de dimension [n × n]. Le


schéma bloc correspondant est donné par la Figure 6.4.

Figure 6.4 – Commande par découplage non linéaire dans l’espace opérationnel

Le couple Γ appliqué aux articulations est calculé par l’algorithme de Newton−Euler


puisque moins d’opérations arithmétiques nécessaires pour le calcul du modèle dynamique
comparé à l’algorithme de Lagrange. Les arguments d’entrées sont choisis telles que la
position articulaire est égale à la position articulaire courante q, la vitesse articulaire est
égale à la vitesse articulaire courante q̇ et l’accélération articulaire est égale à J −1 (w(t) −
J˙q̇).

62
6.3. Commande par découplage non linéaire

6.3.2 Commande dans l’espace articulaire


Si les mesures de la position et de la vitesse des articulations sont disponibles, et des
estimations de  et Ĥ existent, alors l’Eq.6.2 devient :

Γ = Â (q) w(t) + Ĥ (q, q̇) (6.16)

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)

où Kp et Kd sont des matrices diagonales définies positives de dimension [n × n].


Le schéma bloc correspondant est représenté sur la Figure 6.5. L’erreur est exprimée en
boucle fermé par :

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

Pensez-vous que ce système représente un système réel ?

64
Annexe A

Rappel sur les matrices

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

– Une matrice unité (notée I) est exprimée par :


 
1 0
1
 
 
I= ..
 (A.3)

 . 

0 1

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 :

AA−1 = A−1 A = I (A.6)

Pour qu’une matrice soit inversible, il faut que :

det (A) 6= 0 (A.7)

La matrice inverse de A de l’Eq.A.1 est donnée par :


 ∆11 ∆21 ∆n1

|A| |A|
··· |A|
∆12 ∆22 ∆n1
...
 
−1 |A| |A| |A|
 
A = .. .. .. ..
 (A.8)

 . . . .


∆1n ∆2n ∆nn
|A| |A|
... |A|

avec |A| est le déterminant de la matrice A, et ∆ij est le cofacteur aij .

Opérations sur les matrices :


– Addition (soustraction) de deux matrices est calculée par :
 
a11 + b11 a12 + a12 · · · a1m + b1m
a21 + b21 a22 + b22 a2m + b2m
 
 
A+B = .. ... ..  (A.9)
. .
 
 
an1 + bn1 ··· anm + bnm

66
– Multiplication par un scalaire k :
 
ka11 ka12 · · · ka1m
ka21 ka22 ka2m
 
 
kA =  .. ... ..  (A.10)
. .
 
 
kan1 · · · kanm

– Multiplication de deux matrice :


  
a11 a12 · · · a1m b11 b12 · · · b1r
 a21 a22 a2m   b21 b22 b2r
  

AB = 
 . . .. .  .
.. . 
 . . .. 
  ..
 . .. 

 an1 · · · anm bm1 · · · bmr
(A.11)
c11 c12 · · · c1r
 c21 c22 c2r 
 
= .. .. .. 
 . . . 

cn1 · · · cnr
tel que :
m
X
cik = aij bjk (A.12)
j=1

67
Annexe A. Rappel sur les matrices

68
Annexe B

Transformations Trigonométriques

Nous avons :

sin(θ) = − sin(−θ) = − cos(θ + π2 ) = cos(θ − π2 )


(B.1)
cos(θ) = cos(−θ) = sin(θ + π2 ) = − sin(θ − π2 )

La somme de deux angles θ1 et θ2 :

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

Nous avons aussi :


c1 2 + s 1 2 = 1 (B.3)

La solution de l’équation sin (θ) = α est :


√ 
θ = ±A tan 2 1 − a2 , α (B.4)

La solution de l’équation cos (θ) = b est :


 √ 
θ = A tan 2 b, ± 1 − b2 (B.5)

Si a et b sont connues, alors il existe une solution unique pour θ donnée par :

θ = ±A tan 2 (a, b) (B.6)

69
Annexe B. Transformations Trigonométriques

70
Bibliographie

[1] LAROUSSE. Robot. http ://www.larousse.fr/dictionnaires/francais/robot/69647.


[2] Merriam-Webster. Robot. https ://www.merriam-webster.com/dictionary/robot.
[3] AFNOR. Nf en iso 10218-1 (2011) : Exigences de sà curitÃ
c
c pour les robots
industriels - partie 1 : Robots. http ://www.boutique.afnor.org/.
[4] J. Denavit J and R.S Hartenberg. A kinematic notation for lower pair mechanism
based on matrices. Trans. of ASME, J. of Applied Mechanics, 22(215-221), 1955.
[5] W. Khalil and J.F Kleinfinger. A new geometric notation for open and closed-loop
robots. In Proc. IEEE Int. Conf. on Robotics and Automation, 1986.
[6] R.C.P. Paul. Robot manipulators : mathematics, programming and control. MIT
Press Cambridge, 1981.
[7] J.J. Craig. Introduction to robotics : mechanics and control. Addison-Wesly Publi-
shing, 1986.
[8] W. Khalil and E. Dombre. Modeling, identification and control of robots. Hermes
Penton Science, 2004.
[9] V. Parra-Vega, S. Arimoto, Y.H. Liu, G. Hirzinger, and P. Akella. Dynamic sli-
ding pid control for tracking of robot manipulators : theory and experiments. IEEE
Transactions on Robotics and Automation, 19(6) :967–976, 2003.
[10] Y. Fenga, X. Yub, and Z. Manc. Non-singular terminal sliding mode control of rigid
manipulators. Automatica, 38(12) :2159–2167, 2002.

71

Vous aimerez peut-être aussi