Vous êtes sur la page 1sur 101

Université Sidi Mohamed Ben Abdellah

Faculté des Sciences - Fès

Master Spécialisé Smart Industry

Cours : Robotique Industrielle

Prof. Mohammed BENBRAHIM

Année Universitaire 2018/2019


Table des figures

1.1 Parties principales dans un robot série manipulateur . . . . . . . . . 6


1.2 Robot PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Robot RPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Robot RRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Robot RRRR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Robot SCARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7 Espace de travail de certains types de robot . . . . . . . . . . . . . . 12
1.8 Manipulateur plan à 2 ddl . . . . . . . . . . . . . . . . . . . . . . . 13
1.9 1ère forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.10 2éme forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.11 3éme forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.12 Taux de variation de A en fonction de θ2 . . . . . . . . . . . . . . . . 16
1.13 Précision et répétabilité . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1 Symbole de l’articulation rotïde . . . . . . . . . . . . . . . . . . . . 28


3.2 Symbole de l’articulation prismatique . . . . . . . . . . . . . . . . . 28
3.3 Chaîne cinématique simple d’un robot manipulateurs ayant six liaisons 29
3.4 Chaîne cinématique d’un robot manipulateur de type RPPRRR . . . . 29
3.5 Numérotation des corps et des liaisons du robot manipulateur . . . . 30
3.6 Repères B et C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.7 Repères de base pour un robot . . . . . . . . . . . . . . . . . . . . . 34
3.8 Notations des corps, articulations et repères . . . . . . . . . . . . . . 37
3.9 Détermination du repère Rj . . . . . . . . . . . . . . . . . . . . . . 37
3.10 Paramètres DH-modifiés . . . . . . . . . . . . . . . . . . . . . . . . 38
3.11 Passage du repère Rj−1 au repère Rj . . . . . . . . . . . . . . . . . 38
3.12 Schéma cinématique pour le robot de l’exemple1 . . . . . . . . . . . 41
3.13 Schéma cinématique pour le robot de l’exemple2 . . . . . . . . . . . 42
3.14 Robot en postures coude bas et coude haut . . . . . . . . . . . . . . 43

Prof M. BENBRAHIM i M2SI-FSDM


ii TABLE DES FIGURES M2SI-FSDM

3.15 Robot Mitsubishi Melfa RV-1A . . . . . . . . . . . . . . . . . . . . 48


3.16 Axes du robot Mitsubishi Melfa RV-1A . . . . . . . . . . . . . . . . 48
3.17 Dimensions du robot Mitsubishi Melfa RV-1A . . . . . . . . . . . . 49
3.18 Spécifications standards du robot Mitsubishi Melfa RV-1A . . . . . . 50
3.19 Placement des repères pour le robot Mitsubishi Melfa RV-1A . . . . 51
3.20 Schéma du robot sous forme Porteur et Poignet . . . . . . . . . . . . 55

4.1 Génération de trajectoire . . . . . . . . . . . . . . . . . . . . . . . . 59


4.2 Génération du mouvement dans l’espace articulaire . . . . . . . . . . 60
4.3 Génération du mouvement dans l’espace opérationnel . . . . . . . . 60
4.4 Loi BANG-BANG . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.5 Loi BANG-BANG avec palier de vitesse . . . . . . . . . . . . . . . 62
4.6 Lois alternatives à la loi Bang-Bang (1) . . . . . . . . . . . . . . . . 63
4.7 Lois alternatives à la loi Bang-Bang (2) . . . . . . . . . . . . . . . . 63
4.8 Synchronisation suivant la méthode proportionnelle sur l’axe contrai-
gant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.9 Illustration des dépassement en vitesse et accélération . . . . . . . . 65
4.10 Illustration de la méthode proportionnelle . . . . . . . . . . . . . . . 66
4.11 Cas d’un lift-off et d’un set-down . . . . . . . . . . . . . . . . . . . 66
4.12 Position/orientation de la pince . . . . . . . . . . . . . . . . . . . . 68
4.13 Orientation de l’outil via 2 rotations . . . . . . . . . . . . . . . . . . 68
4.14 Transition entre segments rectilignes . . . . . . . . . . . . . . . . . . 69

5.1 Décomposition fonctionnelle d’un système robotisé . . . . . . . . . . 74


5.2 Déplacement selon z . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3 Pendant d’apprentissage R28TB pour les robots Mitsubishi . . . . . . 76
5.4 Les différents repères d’une tâche . . . . . . . . . . . . . . . . . . . 79
5.5 Schéma d’un processus Pick and Place . . . . . . . . . . . . . . . . 80
5.6 Méthodologie de programmation hors ligne des robots par CAO . . . 82
5.7 Exemple de cellule robotisée . . . . . . . . . . . . . . . . . . . . . . 85
5.8 Environnement de Cosimir Robotics . . . . . . . . . . . . . . . . . . 89
5.9 Cellule de peinture robotisée . . . . . . . . . . . . . . . . . . . . . . 90
5.10 Simulation d’une usine robotisée . . . . . . . . . . . . . . . . . . . . 90

Prof M. BENBRAHIM M2SI-FSDM


Liste des tableaux

3.1 Paramètres géométriques du robot Mitsubishi Melfa RV-1A . . . . . . 52

5.1 Programme Melfa Basic IV pour le processus de la figure 5.5 . . . . . 80

Prof M. BENBRAHIM iii M2SI-FSDM


Table des matières

Introduction 1

1 La robotique 3
1.1 Les robots industriels . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Eléments constitutifs d’un robot . . . . . . . . . . . . . . . . 5
1.2 La classification des robots . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Classification fonctionnelle . . . . . . . . . . . . . . . . . . . 7
1.2.2 Classification géométrique . . . . . . . . . . . . . . . . . . . 7
1.3 Les performances des robots . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 Les performances-tâches . . . . . . . . . . . . . . . . . . . . 11
1.3.2 Les performances-homme . . . . . . . . . . . . . . . . . . . 19
1.3.3 Les performances économiques . . . . . . . . . . . . . . . . 20
1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2 Les constituants d’un robot 21


2.1 Les actionneurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.2 Puissance massique . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.3 Pouvoir d’accélération . . . . . . . . . . . . . . . . . . . . . 22
2.1.4 Les différents types d’actionneurs . . . . . . . . . . . . . . . 22
2.2 Les organes de transmissions . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Les effecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.2 Classification des effecteurs . . . . . . . . . . . . . . . . . . 25
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Prof M. BENBRAHIM v M2SI-FSDM


vi TABLE DES MATIÈRES M2SI-FSDM

3 La modélisation géométrique 27
3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1 Liaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.2 Mécanismes . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.3 Système mécanique articulé . . . . . . . . . . . . . . . . . . 28
3.1.4 Structure topologique du robot manipulateur . . . . . . . . . 29
3.2 Les transformations homogènes . . . . . . . . . . . . . . . . . . . . 29
3.2.1 Coordonnées homogènes . . . . . . . . . . . . . . . . . . . . 30
3.2.2 Transformations 2D . . . . . . . . . . . . . . . . . . . . . . 30
3.2.3 Transformations 3D . . . . . . . . . . . . . . . . . . . . . . 32
3.3 La modélisation géométrique directe . . . . . . . . . . . . . . . . . . 33
3.3.1 Changement de repère . . . . . . . . . . . . . . . . . . . . . 33
3.3.2 Coordonnées opérationnelles de l’organe terminal . . . . . . . 35
3.3.3 Coordonnées généralisées . . . . . . . . . . . . . . . . . . . 35
3.3.4 Modèle géométrique direct . . . . . . . . . . . . . . . . . . . 36
3.4 La modélisation géométrique inverse . . . . . . . . . . . . . . . . . . 40
3.4.1 Définition et méthodes . . . . . . . . . . . . . . . . . . . . . 40
3.4.2 Démarche analytique . . . . . . . . . . . . . . . . . . . . . . 41
3.4.3 Méthode de Paul . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.4 Domaines et aspects . . . . . . . . . . . . . . . . . . . . . . 45
3.4.5 Repères outils et atelier . . . . . . . . . . . . . . . . . . . . . 46
3.5 Application au Robot Melfa RV-1A . . . . . . . . . . . . . . . . . . 47
3.5.1 Données techniques . . . . . . . . . . . . . . . . . . . . . . 47
3.5.2 Calcul du MGD . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.5.3 Calcul du MGI . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4 La génération des trajectoires 59


4.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1.2 Planification dans l’espace articulaire . . . . . . . . . . . . . 60
4.1.3 Planification dans l’espace opérationnel . . . . . . . . . . . . 61
4.2 Trajectoires planifiées dans l’espace articulaire . . . . . . . . . . . . 62
4.2.1 Trajectoires sans contraintes (mouvement P.T.P) . . . . . . . 62
4.2.2 Coordination des articulations . . . . . . . . . . . . . . . . . 64

Prof M. BENBRAHIM M2SI-FSDM


Prof M. BENBRAHIM TABLE DES MATIÈRES vii

4.2.3 Trajectoire contrainte (points de passage intermédiaires) . . . 65


4.3 Trajectoires planifiées dans l’espace cartésien . . . . . . . . . . . . . 67
4.3.1 Interpolation cartésienne . . . . . . . . . . . . . . . . . . . . 67
4.3.2 Interpolation articulaire . . . . . . . . . . . . . . . . . . . . . 70
4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5 La programmation des robots manipulateurs 73


5.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2 Méthodes d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.2 Tâches point à point . . . . . . . . . . . . . . . . . . . . . . 75
5.2.3 Tâches continues . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.4 Avantages et limitation . . . . . . . . . . . . . . . . . . . . . 77
5.3 La programmation hors lignes : langages de programmation . . . . . 77
5.3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.3.2 Niveau de programmation hors lignes . . . . . . . . . . . . . 78
5.3.3 Mode de programmation explicite . . . . . . . . . . . . . . . 78
5.3.4 Programmation implicite . . . . . . . . . . . . . . . . . . . . 81
5.4 La programmation graphique . . . . . . . . . . . . . . . . . . . . . . 81
5.4.1 CAO et robotique . . . . . . . . . . . . . . . . . . . . . . . . 81
5.4.2 Méthodologie de la programmation par CAO . . . . . . . . . 82
5.4.3 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.4.4 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.5 Les cellules robotisées . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.5.1 Cellule robotisée . . . . . . . . . . . . . . . . . . . . . . . . 84
5.5.2 Conception de la cellule robotisée . . . . . . . . . . . . . . . 84
5.5.3 Précision absolue des robots manipulateurs . . . . . . . . . . 86
5.5.4 Etalonnage des robots manipulateurs . . . . . . . . . . . . . . 87
5.5.5 Gestion des interactions avec l’environnement . . . . . . . . . 88
5.5.6 La simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5.7 Exemple de conception d’une cellule robotisée . . . . . . . . 89
5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Prof M. BENBRAHIM M2SI-FSDM


Introduction

Le robot est un système mécatronique articulé autour d’un objectif et d’un objet
communs. Cet objectif est l’automatisation flexible de nombreux secteurs de l’activité
humaine réputés jusqu’à très récemment comme ne pouvant se passer de la présence
de l’homme, et l’objet est le robot, sorte de machine universelle dont l’homme rêve
depuis toujours.
D’une part, les progrès réalisés dans les différents domaines connexes permettent
de construire des robots et autres systèmes mécatroniques performants et fiables. D’autre
part, les situations économiques actuelles conduisent à une compétition industrielle
très vive, ne laissant survivre que les industries capables de produire à faible coût ou
de fournir rapidement des produits nouveaux et/ou de qualité supérieure et garantie.
Ces exigences ont conduit au développement d’une automatisation flexible impliquant
l’implantation de robots dans de nombreuses branches d’activités. C’est l’apparition
des robots et leur association à d’autres machines automatiques d’inspiration classique
(par exemple, des machines-outils à commande numérique) qui permettent d’automa-
tiser ou d’essayer d’automatiser des opérations considérées jusqu’ici comme non au-
tomatisables.
L’objectif de cours est de présenter une démarche générale pour la mise en
oeuvre des robots manipulateurs dans un context industriel en partant de la modéli-
sation jusqu’à la simulation en passant par la commande.

Prof M. BENBRAHIM 1 M2SI-FSDM


CHAPITRE 1

La robotique

A l’instar de ce que nous venons de vivre avec l’informatique, les projets techno-
logiques actuels nous permettent d’assister à la succession sur une période de quelques
années de plusieurs générations de robots industriels.
Sur le plan technique, cette évolution se concrétise par l’intégration de la mé-
canique, l’électronique et l’informatique en une nouvelle discipline, la mécatronique,
dont la robotique n’est qu’un des aspects au même titre que la conception et la fabri-
cation assistées par ordinateur.
Sur le plan économique, le marché mondial connaît une situation de concurrence,
liée notamment à la très grande disparité dans les coûts, qui oblige les industriels à
accroître la compétitivité de leurs outils de production et à concevoir des systèmes de
production flexibles capables de produire des séries relativement petites de produits de
types différents.
Sur le plan social, il apparaît de plus en plus que le risque que constitue pour le
marché de l’emploi l’automatisation des processus industriels n’est qu’un des aspects à
prendre en compte. Patrons et travailleurs prennent progressivement conscience du fait
que le robot peut accroître la dimension humaine du travail, en remplaçant avantageu-
sement l’homme à de nombreux postes de travail pénibles, insalubres ou dangereux. De
plus, l’industrie de la robotique peut être elle-même génératrice d’emplois nouveaux
plus nobles et plus qualifiés.

1.1 Les robots industriels

1.1.1 Définitions

La définition que l’on donne actuellement du robot industriel diffère quelque peu
selon les pays. C’est au Japon que la définition est la plus vague. On y qualifie de robot
"tout mécanisme permettant d’effectuer, en tout ou en partie, une tâche normalement
réalisée par l’homme". Le rôle du robot y est essentiellement de servir d’intermédiaire
entre l’homme et la machine. Il permet de changer le système de production d’un sys-
tème à interaction directe entre la machine et l’homme en un système où l’homme
gère la machine par l’intermédiaire du robot. Le peu de précision de la définition japo-
naise du robot a une incidence immédiate sur les statistique correspondantes : le JIRA
(Japan Industrial Robot Association) a recensé 77000 robots industriels dans l’in-
dustrie japonaise en 1981. Toutefois, plus de 50% de ces robots sont des manipulateurs

Prof M. BENBRAHIM 3 M2SI-FSDM


4 L A ROBOTIQUE Chap. 1

à séquence fixe qui ne seraient pas recensés comme tels aux USA ou en France, où la
définition d’un robot est beaucoup plus restrictive.
La définition américaine du robot (RIA : Robot Institue of America) est beau-
coup plus spécifique : "Un robot est un manipulateur reprogrammable à fonctions mul-
tiples. Il est conçu pour déplacer des matériaux, des pièces, des outils ou des instru-
ments spécialisés suivant des trajectoires variables programmées, en vue d’accomplir
des tâches très diverses".
Le caractère multi-fonctionnel du robot n’implique nullement son universalité :
le succès de l’insertion d’un robot dans un processus de fabrication est toujours lié au
choix du robot le plus approprié à la tâche à effectuer.
C’est la définition de l’AFRI (Association Française de Robotique Indus-
trielle) qui est la plus explicite, et aussi la plus proche de la technologie actuelle des
robots : "Un robot industriel est une machine formée de divers mécanismes compor-
tant divers degrés de liberté, ayant souvent l’apparence d’un ou de plusieurs bras se
terminant par un poignet capable de maintenir un outil, une pièce ou un instrument
de contrôle. En particulier, son unité de contrôle doit contenir un système de mémo-
risation, et il peut parfois utiliser des accessoires sensitifs et adaptables qui tiennent
compte de l’environnement et des circonstances. Ces machines, ayant un rôle pluri-
disciplinaire, sont généralement conçues pour effectuer des fonctions répétitives, mais
sont adaptables à d’autres fonctions".
En plus de la définition américaine, la définition française, du fait qu’elle en-
visage la perception de l’environnement par le robot, implique une certaine prise de
décision. Elle annonce la génération des robots dits intelligents.

1.1.2 Caractéristiques
Deux caractéristiques essentielles se dégagent des définitions précédentes, no-
tamment de celle du RIA :
— la variété des tâches que le robot peut effectuer,
— la possibilité de reprogrammation.
La première de ces caractéristiques, appelée aussi "versatilité", est l’aptitude
physique du robot à l’exécution de tâches diverses et/ou à l’exécution diversifiée d’une
même tâche. Elle est liée aux potentialités géométriques et mécaniques du robot et
implique que celui-ci possède une structure à géométrie variable ; elle dépend aussi
d’autres éléments, en particulier de la structure de l’organe terminal du robot et notam-
ment de la possibilité d’y adapter des outils différents.
La seconde caractéristique, qui distingue les définitions américaine et française
de la japonaise, a été rendue possible par les développements de la micro-électronique
et de la micro-informatique dans les années 70, c’est ce qui a permis l’essor de la
robotique industrielle.
La définition française implique la possibilité d’une troisième caractéristique :
l’auto-adaptativité à l’environnement, c’est à dire une capacité d’initiative du robot
pour mener à bien des tâches incomplètement spécifiées, malgré des modifications
imprévues de l’environnement ; ceci implique des capacités d’appréhension de l’envi-
ronnement (Capteurs), des capacités de réflexion pour l’analyse de la tâche et l’élabo-

Prof M. BENBRAHIM M2SI-FSDM


Sect. 1.1 ROBOTS INDUSTRIELS 5

ration d’une stratégie d’exécution (Intelligence artificielle) et des modes de commande


automatique adéquats.

1.1.3 Eléments constitutifs d’un robot

Un robot est essentiellement une structure mécanique polyarticulée, équipée d’ac-


tionneurs, de capteurs, d’une unité de traitement de l’information et de sources d’éner-
gie ; l’analogie avec l’être humain et plus généralement avec tout individu vertébré
est immédiate : squelette, muscles, sens et cerveau. On voit aussi ici les concours des
différentes disciplines : mécanique, électronique, automatique et informatique.
Le robot est en effet conçu pour saisir et déplacer des objets. Ceci suppose donc
une structure mécanique. La maîtrise d’un objet dans l’espace implique sa localisation
et son orientation. Pour localiser un point de l’objet dans l’espace, il faut disposer de 3
degrés de liberté (ddl), qui peuvent être des translations ou des rotations. Un point de
l’objet étant fixe, si l’on désire orienter l’objet de manière quelconque, il faut disposer
en plus de 3 autres ddl qui sont nécessairement des rotations (si possible autour d’axes
orthogonaux concourants). Les 3 premiers ddl définissent ce que l’on appelle le porteur
(bras articulé), alors que les suivants constituent un poignet à l’extrémité duquel se
trouve l’organe terminal du robot.
Il faut donc, et il suffit de, 6 ddl pour qu’un système soit complet (cela ne signifie
pas qu’il sera universel ; mais que l’on doit rechercher pour un robot, une multifonc-
tionnalité maximale). De nombreuses tâches industrielles ne nécessitent pas 6 degrés
de liberté (assemblage de circuits imprimés ou de mécanismes plans, peinture, sou-
dure, ... ). Cependant, il est très rare de trouver un porteur qui n’ait pas ses 3 ddl ;
c’est presque toujours sur le poignet que se fait la réduction de mobilité. Inversement,
dans certains cas, on a besoin de plus de mobilité, soit pour des raisons de fonctionna-
lité (fonctions spécialisées, robot à plusieurs bras), soit pour des raisons de précision
ou d’accessibilité. L’utilisation d’un nombre de degrés de mobilité, c’est à dire d’un
nombre de liaisons cinématiques (par exemple, articulations) supérieur à celui des ddl
effectifs peut être justifiée par la nécessité de contourner des obstacles ou d’utiliser une
structure dont les éléments sont de petite longueur. En effet, la précision d’exécution
de la tâche demande des bras de levier assez petits de façon à réduire les déforma-
tions et vibrations dues à l’élasticité de la structure mécanique et à ne pas demander
des rotations trop petites et difficilement contrôlables. Ceci implique que l’on utilise
dans la mesure du possible, les ddl situés immédiatement en amont du point à déplacer.
Par conséquent, si les dimensions du volume dans lequel doit travailler le robot sont
grandes vis à vis des longueurs des éléments de celui-ci, il faut placer le porteur sur
un véhicule qui amènera le porteur dans la région où le robot doit travailler. Ce véhi-
cule peut être doté de 1 ddl (translation, c’est le cas de certains robots industriels) à 6
ddl (3 translations et 3 rotations ; c’est le cas de satellites artificiels ou de sous-marins
équipés de manipulateurs). Il importe donc de faire la distinction entre degrés de liberté
(ddl), qui définissent la position et l’orientation de l’organe terminal du robot dans l’es-
pace, et degrés de mobilité (ddm) correspondant aux différents mouvements possibles
du robot et donc aux différentes configurations possibles de celui-ci. C’est pourquoi
il est préférable de parler d’articulations, d’axes, de liaisons cinématiques ("joints")
ou de ddm plutôt que ddl. (Il faut signaler que certains constructeurs ou vendeurs de
robots mentionnent dans leurs documents des faux degrés de liberté, par exemple la

Prof M. BENBRAHIM M2SI-FSDM


6 L A ROBOTIQUE Chap. 1

commande de fermeture ou d’ouverture de la pince qui constitue l’organe terminal du


robot ; ces faux degrés de liberté ne participent évidemment pas au déplacement ou à
l’orientation de l’organe terminal du robot).
La structure mécanique d’un robot industriel comprendra par conséquent :
— un porteur doté généralement de 3 ddm, parfois plus,
— un poignet doté de 1 à 3 ddm,
— parfois un véhicule, possédant le plus souvent 1, rarement 2 ou 3 ddm.
Lorsqu’il y a plus de 6 ddm, certains de ceux-ci sont nécessairement redondants.
Cette redondance peut aussi exister lorsqu’il y a moins de 6 ddm, par exemple, la
localisation d’un point dans un plan correspond à 2 ddl mais peut se faire au moyen
de n(≥ 2) rotations autour de n axes distincts perpendiculaire à ce plan. Les autres
elements constitutifs du robot sont essentiellement :
— les actionneurs (motorisation) qui font mouvoir les différentes articulations.
— les capteurs qui recueillent des informations sous forme logique, analogique ou
numérique, il y a au moins des capteurs de déplacements ou de positions de
différentes articulations, et parfois aussi des capteurs de vitesse, de force, ...
— l’unité de traitement de l’information, qui peut généralement se décomposer en
plusieurs éléments :
— une (ou plusieurs) unité(s) de contrôle commande qui traite(nt) l’informa-
tion fournie par les capteurs et assure(nt) le pilotage des actionneurs
— un système de programmation qui assure la consommation avec un opéra-
teur ou un réseau de communications, et lui permet de définir des tâches
que le robot doit effectuer.

F IGURE 1.1 – Parties principales dans un robot série manipulateur

1.2 La classification des robots

On peut classer les robots d’un point de vue fonctionnel ou d’après leur structure
géométrique.

Prof M. BENBRAHIM M2SI-FSDM


Sect. 1.2 C LASSIFICATION DES ROBOTS 7

1.2.1 Classification fonctionnelle

Le nombre de classe et les distinctions entre celles-ci varient de pays à pays (6


classes au Japon, 4 en France). L’AFRI distingue 4 classes :

1. A : manipulateurs à commande manuelle ou télécommande.


2. B : manipulateurs automatiques à cycles préréglés (le réglage se fait mécani-
quement par cames, butées, la commande peut se faire par automate program-
mable) ; on peut distinguer entre manipulateurs à cycle fixe et manipulateurs à
cycle programmable.
3. C : robots programmables : c’est la première génération de robots industriels ;
ils répètent les mouvements qu’on leur a appris ou programmés, sans infor-
mations sur l’environnement ou la tâche effectuée. On peut aussi faire la dis-
tinction entre robots "play-back" qui reproduisent la tâche apprise et robots à
commande numérique qui peuvent être programmés hors-ligne. Pour de nom-
breux robots, l’apprentissage de la tâche se fait à l’aide d’un "syntaxeur" ("boite
à boutons", "teach pendant") qui permet à un opérateur d’amener le robot en
un certain nombre de points, qui sont ensuite mémorisés ; lors de l’exécution
de la tâche, le robot suivra une trajectoire passant successivement par tous les
points programmés, le passage d’un point au suivant se faisant suivant un profil
de vitesse en fonction du temps qui est pré-défini (triangulaire ou trapézoïdal),
l’opérateur n’ayant qu’à choisir la fraction de la vitesse maximum à laquelle
il souhaite que le robot effectue la tâche. Pour certains robots, par exemple les
robots de peinture, qui doivent suivre une trajectoire complexe qu’il est diffi-
cile d’exprimer mathématiquement, un opérateur humain spécialiste de la tâche
effectue la trajectoire en guidant le bras du robot à l’aide d’un "pantin", et l’en-
tièreté de la trajectoire est mémorisée par le robot.
4. D : robots "intelligents". On trouve actuellement des robots de seconde géné-
ration qui sont capables d’acquérir et d’utiliser certaines informations sur leur
environnement (systèmes de vision, détecteurs de proximité, capteurs d’efforts,
... ). On étudie des robots de troisième génération, capables de comprendre un
langage oral proche du langage naturel et de se débrouiller de façon autonome
dans un environnement complexe, grâce à l’utilisation de l’intelligence artifi-
cielle.

1.2.2 Classification géométrique

On peut aussi classer les robots suivant leur configuration géométrique, autre-
ment dit l’architecture de leur porteur. Les 3 premiers ddm d’un robot peuvent être
réalisés avec un grand nombre de combinaisons de translations (max. 3T) et de rota-
tions (max. 3R), autrement dit par des articulations prismatiques (P) ou rotoïdes (R) ;
en pratique, on n’utilise que 4 ou 5 d’entre elles :
— porteur cartésien (TTT ou PPP) : les 3 axes sont animés d’un mouvement de
translation.
— porteur en coordonnées cylindriques (RTT ou RPP) : un mouvement de rotation
et une translation axiale, complétées par une translation radiale.

Prof M. BENBRAHIM M2SI-FSDM


8 L A ROBOTIQUE Chap. 1

F IGURE 1.2 – Robot PPP

F IGURE 1.3 – Robot RPP

Prof M. BENBRAHIM M2SI-FSDM


Sect. 1.3 L ES PERFORMANCES DES ROBOTS 9

— porteur en coordonnées polaires ou sphériques (RRT ou RRP) : deux rotations


(longitude et latitude) autour d’axes orthogonaux, complétées par une transla-
tion radiale.

F IGURE 1.4 – Robot RRP

— porteur en coordonnées universelles, appelé aussi configuration polyarticulée


ou anthropomorphe (RRR), trois rotations dont les deux dernières se font au-
tour d’axes parallèles orthogonaux au premier, les trois articulations correspon-
dant respectivement au tronc (base), à l’épaule et au coude d’un être humain.

F IGURE 1.5 – Robot RRRR


— Une cinquième architecture comprend deux rotations autour de deux axes pa-
rallèles, précédées ou suivies d’une translation dans la même direction (éven-
tuellement celle-ci peut être reportée au niveau du poignet, qui peut aussi tour-
ner autour du même axe, soit au total 4 ddm). Cette architecture est celle des
robots SCARA (Selective Compliance Arm for Robotic Assembly) que l’on
utilise dans des opérations d’assemblage.

1.3 Les performances des robots


Lorsqu’on désire fabriquer un appareil, une machine ou un équipement quel-
conque, l’utilisateur ou celui qui passe une commande présente un cahier des charges.

Prof M. BENBRAHIM M2SI-FSDM


10 L A ROBOTIQUE Chap. 1

F IGURE 1.6 – Robot SCARA

Ce cahier des charges définit les contraintes d’exploitation et il est souvent aisé de
mesurer les performances de l’appareillage réalisé car elles s’expriment vis-à-vis de
ces contraintes. Celles-ci peuvent être le poids et l’indépendance énergétique pour une
machine transportable, le respect de la précision, la vitesse d’exécution, la fiabilité, etc
pour d’autres machines.
On a vu qu’une des caractéristiques d’un robot est la versatilité, c’est à dire
cette possibilité de faire des tâches diverses mais dont on ne sait pas dire lesquelles
à l’avance. Comme on ignore à priori les utilisations du robot, on peut difficilement
connaître les paramètres de référence permettant d’établir les performances. Certains
se sont lancés dans des énumérations de qualité impliquant plusieurs centaines de pa-
ramètres si bien qu’il est impossible de s’y retrouver. En réalité, l’utilisateur potentiel
de robots industriels se pose des questions de quatre ordres dont les réponses englobent
les performances pratiques :

1. J’envisage l’utilisation d’un robot pour faire telle ou telle tâche : en est-il ca-
pable ?
2. Qu’est-ce que l’utilisation du robot m’impose comme contraintes techniques ?
(place, fluides, protection contre les poussières, renforcement du sol, liaison
avec une chaîne de production, mise en place de sécurités, etc.)
3. Qu’est-ce que l’utilisation du robot impose au niveau des moyens humains (fa-
cilité de programmation, de réglage, etc.)
4. Quel est le coût et la rentabilité de l’opération ? (investissement, maintenance,
augmentation de productivité, etc.)

On peut regroupe les questions 2 et 4, qui ont une incidence directe sur le coût, et
diviser l’analyse des performances d’un robot en 3 classes correspondant aux questions
précédentes.

Prof M. BENBRAHIM M2SI-FSDM


Sect. 1.3 P ERFORMANCES DES ROBOTS 11

1.3.1 Les performances-tâches


Un robot appliquant des efforts et des déplacements à son organe terminal, on
peut en cerner les caractéristiques qui sont importantes en pratique.

1.3.1.1 Le volume atteignable

Le volume atteignable ou volume de travail en position d’un robot manipula-


teur est défini comme l’espace physique engendré par un point de l’organe terminal
lorsque le configuration du robot évolue. Il s’exprime en unités volumiques, mais la
forme de son enveloppe (qui peut-être compliquée puisque formée par la combinaison
des mouvements de plusieurs articulations) est aussi importante. Il est plus simple et
plus parlant de la décrire par une surface inscrite au vrai volume mais de forme simple
(par exemple intersection de sphères ou des parallélépipèdes ou des ellipsoïdes). Si-
non il faut une représentation graphique. Le volume de travail est alors habituellement
représenté par deux sections perpendiculaires choisies en fonction du type de robot
manipulateur, cette représentation étant préférable à une seule vue en perspective.
Remarquons que le choix du point précédemment évoqué est arbitraire. Certains
industriels considèrent le centre du poignet, s’il existe, et obtiennent donc un volume
de travail minimal. D’autres prennent le point situé à l’extrémité de l’organe terminal
ou encore le centre de la platine de fixation de celui-ci, qui existe sur tous les modèles.
Ceci démontre la relative imprécision qui affecte la définition de cette caractéristique.
De plus, les orientations de l’organe terminal qu’il est possible d’obtenir en un point du
volume de travail, fonctions de la configuration, n’apparaissent pas dans la définition
de ce volume de travail.
Le volume de travail, bien qu’étant une caractéristique approximative de la per-
formance d’un robot manipulateur, permet cependant de comparer les différentes classes
de robots, à la fois du point de vue du volume proprement dit et de sa forme. Si on
admet que chaque liaison rotoïde permet une rotation d’un tour complet (360◦ ), on ob-
tient les résultats suivants pour un robot manipulateur dote d’un poignet quelconque
dont le centre O est le point de référence (les volumes de travail sont représentés en
perspective, pour chacune des structures de base) :
— pour robot PPP, le volume de travail est un parallélépipède dont les dimensions
sont les translations permises par les trois liaisons prismatiques, d’où :
V = L1 L2 L 3
— Pour les robots RPP et RPR ou RRP, le volume de travail est un cylindre plein
ou creux, autrement dit un tore à section rectangulaire, dont la hauteur L est la
translation permise par une liaison prismatique et dont les rayons intérieur et
extérieur, Ri et Re , sont fixés soit par la disposition d’une liaison prismatique
et la translation qu’elle permet, soit par les longueurs des deux parties du bras :
V = πL(Re2 − Ri2 )
— pour les robots RRP et RRR, le volume de travail est une sphère creuse, dont
les rayons intérieur et extérieur, Ri et Re , sont fixés soit par la disposition de la
liaison prismatique et la translation qu’elle permet, soit par les longueurs des
deux parties du bras :
V = 43 π(Re2 − Ri2 )
Pour pousser la comparaison plus loin, nous ferons les hypothèses suivantes, qui

Prof M. BENBRAHIM M2SI-FSDM


12 L A ROBOTIQUE Chap. 1

seront justifiées plus loin et qui sont réalisées au moins approximativement dans les
robots industriels :

1. chaque liaison rotoide permet une rotation d’un tour complet (360◦ ),
2. les différentes parties du bras manipulateur ont la même dimension "principale"
(la plus grande dimension ou longueur) L,
3. chaque liaison prismatique permet une translation égale à L

Dans ces conditions, on a :


— Pour le robot PPP, le volume de travail est un cube de côté L : V = L3
— Pour le robot RPP, le volume de travail est un cylindre creux, autrement dit un
tore à section carrée, de hauteur L et de rayons intérieur et extérieur L et 2L :
V = 3πL3
— Pour le robot RPR ou RRP, le volume de travail est un cylindre de hauteur L et
de rayon 2L : V = 4πL3
— Pour le robot RRP, le volume de travail est une sphère creuse de rayons intérieur
et extérieur L et 2L : V = 28
3
πL3
— Pour le robot RRR, le volume de travail est une sphère de rayon 2L : V =
32
3
πL3

F IGURE 1.7 – Espace de travail de certains types de robot

Cette comparaison montre la nette supériorité des structures RRP et RRR qui,
a dimensions égales des différentes parties du manipulateur, possèdent un volume de
travail environ 30 fois supérieur à celui de la structure PPP. Les structures RPP et RPR,
avec un volume de travail environ 10 fois supérieur à celui de la structure PPP, offrent
donc un volume de travail moyen.
En réalité, si on tient compte des limitations sur les débattements permis par
chaque liaison et des dimensions principales des corps constituant le robot manipula-
teur, les volumes de travail réels diffèrent légèrement de ceux donnés précédemment.
On cherche cependant toujours à maximiser le volume de travail pour une élongation
donnée. Pour les robots PPP, RPP et RRP, c’est assez facile ; pour les robots RRP et

Prof M. BENBRAHIM M2SI-FSDM


Sect. 1.3 P ERFORMANCES DES ROBOTS 13

RRR, le problème de maximisation est beaucoup plus complexe et la solution n’est


pas triviale, mais il est cependant possible de justifier les hypothèses précédentes par
une analyse intuitive simple. Dans les deux derniers cas cités, on considère la structure
plane représentée ci-dessous pour laquelle :
— le plan considéré est soit un plan méridien dans le cas d’un robot RRR, soit un
plan perpendiculaire à l’axe de translation dans le cas d’un robot RRP ;
— L = l1 + l2 est constante et représente l’élongation maximale du robot mani-
pulateur ;
— les rotations θ1 et θ2 vérifient les inégalites suivantes : θ1m ≤ θ1 ≤ θ1M et
θ2m ≤ θ2 ≤ θ2M .

F IGURE 1.8 – Manipulateur plan à 2 ddl

Le point de référence O (centre du poignet du robot) est alors situé dans un


domaine qui peut prendre l’une des formes de base esquissées sur les figures 1.9, 1.10
et 1.11 .

F IGURE 1.9 – 1ère forme

Le dessin a été fait pour une valeur de l2 approximativement égale aux 2/3 de
celle de l1 ; l’élongation minimale étant l2 − l1 , il apparaît clairement qu’il y a un trou
dans le volume de travail au voisinage de la base du robot. Si on veut éviter ce trou,
il faut que l2 soit au moins égal à l1 ; il est toutefois inutile de prendre l2 > l1 car
cela conduirait à un recouvrement de certaines parties du volume de travail. Il est donc

Prof M. BENBRAHIM M2SI-FSDM


14 L A ROBOTIQUE Chap. 1

F IGURE 1.10 – 2éme forme

F IGURE 1.11 – 3éme forme

Prof M. BENBRAHIM M2SI-FSDM


Sect. 1.3 P ERFORMANCES DES ROBOTS 15

évident que le meilleur choix consiste à prendre l2 = l1 ou légèrement inférieur à l1 .


Ceci est confirmé par le calcul d’optimisation fait plus loin. De même, l’analyse des
différentes formes que prend le volume de travail en fonction des valeurs de θ2m et θ2M
montre que les formes les plus efficaces sont les deux premières où θ2 varie autour ± π2 .
Les résultats de cette analyse intuitive sont confirmés par le calcul d’optimisation
suivant. Il suffit de maximiser l’aire du domaine balayé par le point O dans le plan
considéré :
! !
A= dxdy = |detJ|dθ1 dθ2

x = l1 cos ϑ1 + l2 cos(ϑ1 + ϑ2 )
y = l1 sin ϑ1 + l2 sin(ϑ1 + ϑ2 )

d’où

det|J| = l1 l2 sin ϑ2
! θ2M
A = l1 l2 (θ1M − θ1m ) | sin ϑ2 |dθ2
θ2m
= l1 l2 (θ1M − θ1m )F (θ2m , θ2M )

On peut alors, pour une élongation maximale L = l1 = l2 donnée, maximiser A


en fonction du rapport λ = ll12 et par conséquent, on a :

λ
A = 2
L2 (θ1M − θ1m )F (θ2m , θ2M )
(1 + λ)
∂A 1−λ 2
= L (θ1M − θ1m )F (θ2m , θ2M )
∂λ (1 + λ)2
∂ 2A 2(λ − 2) 2
2
= L (θ1M − θ1m )F (θ2m , θ2M )
∂λ (1 + λ)2

2
ce qui montre que A est maximum pour λ = 1( ∂A
∂λ
= 0et ∂∂λA2 < 0).
Le volume de travail d’un tel robot est donc maximum si les longueurs des deux
bras du manipulateur sont égales. On peut aussi chercher des valeurs optimales des
rotations θ2m et θ2M .
On voit ci-dessus que le taux de variation de l’aire A par rapport à θ2 est pro-
portionnel à | sin ϑ2 | ; il est donc nul pour θ2 = 0 ou π et maximal pour |ϑ2 | = π2 .
Autrement dit, c’est une variation de θ2 au voisinage de ± π2 qui permettra de balayer
une surface maximale, comme on peut le constater sur le tableau de la figure 1.12 ou
l’on a choisi θ1M − θ1m = 90◦ et l1 = l2 = 1m.

Prof M. BENBRAHIM M2SI-FSDM


16 L A ROBOTIQUE Chap. 1

F IGURE 1.12 – Taux de variation de A en fonction de θ2

En conclusion, on peut dire qu’une structure du type RRR ou RPR sera bien
conçue si l1 = l2 et si la plage de variation de ϑ2 comprend la position ϑ2 = π2 et ou la
position ϑ2 = − π2 . C’est le cas du bras humain qui vérifie, pour une longueur donnée,
ces deux conditions, c’est aussi celui de beaucoup de robots industriels.

1.3.1.2 La capacité de charge

La capacité de charge est la charge que peut porter et manipuler le robot. Évi-
demment, les couples qui doivent développer les actionneurs sont fonction de la confi-
guration du robot. C’est pourquoi la charge maximum indiquée dans les catalogues
des constructeurs de robots n’est souvent supportable que dans une fraction du volume
de travail, mais pas dans tout le volume atteignable ni avec toutes les orientations at-
teignables. Il faudrait plutôt fournir 2 chiffres : la charge maximum soulevable dans
la configuration la meilleure et la charge utile c’est-à-dire celle qui est effectivement
manoeuvrable dans tout le volume atteignable.

1.3.1.3 La précision, la répétabilité et la résolution

Pour expliquer ces notions, considérons un robot manipulateur quelconque dont


l’organe terminal est immobile dans une situation A et doit être déplacé pour arriver à
vitesse nulle dans une situation B. Si ce déplacement est exécuté un grand nombre de
fois, il est possible de définir une situation moyenne Bmoy qui correspond à la moyenne
des situations Bi atteintes au cours des déplacements répétés : Bmoy est le centre de la
plus petite sphère qui contient tous les points Bi .
L’écart entre la situation B programmée et la situation moyenne Bmoy définit la
précision statique du robot manipulateur. Elle caractérise l’aptitude du robot à situer
l’organe terminal en conformité avec la situation programmée. Cette précision peut
être fonction des situations A et B (à l’intérieur du volume de travail) et du type de

Prof M. BENBRAHIM M2SI-FSDM


Sect. 1.3 P ERFORMANCES DES ROBOTS 17

F IGURE 1.13 – Précision et répétabilité

mouvement choisi pour effectuer le déplacement.


Elle est également fonction :
— de la précision statique des chaînes d’asservissement de position des action-
neurs,
— de la flexibilité de chacun des corps du manipulateur et de la charge portée par
celui-ci,
— de la raideur et des jeux des transmissions mécaniques, notamment dans les
réducteurs de vitesse,
— de la résolution des capteurs de position.
Compte tenu de ces multiples sources d’erreurs, on peut évaluer la précision
en position de l’organe terminal à quelques dixièmes de mm pour un robot industriel
de petite ou moyenne capacité de charge et à quelques mm pour un robot de grande
capacité de charge ; quant à la précision en orientation de l’organe terminal, elle est
généralement de quelques dixièmes de degré.
L’écart maximal entre la situation moyenne Bmoy et les situations atteintes Bi,
autrement dit le rayon de la sphère définie plus haut, détermine la répétabilité du robot.
Pour la plupart des robots industriels, elle est nettement meilleure que la précision, gé-
néralement elle est de l’ordre du dixième de mm. C’est une des raisons pour lesquelles
beaucoup de constructeurs ne mentionnent que la répétabilité dans leurs catalogues de
robots, une autre raison étant que c’est évidemment la répétabilité qui intéresse les uti-
lisateurs lorsque le robot doit répéter un grand nombre de fois la même tâche. Dans une
telle application, il est en effet possible de corriger l’imprécision statique au cours d’un
ou plusieurs essais préliminaires en programmant une situation désirée B différente de
celle que l’on doit effectivement atteindre ; on peut en effet comparer l’imprécision
statique à une erreur systématique tandis que la répétabilité est associée à des erreurs
accidentelles.
Enfin, on appelle résolution d’un robot le plus petit écart entre la situation initiale
A et la situation programmée B qui puisse se traduire par une modification réelle de la

Prof M. BENBRAHIM M2SI-FSDM


18 L A ROBOTIQUE Chap. 1

situation de l’organe terminal, c’est à dire qui entraîne un déplacement de celui-ci.

1.3.1.4 La vitesse

C’est évidemment une caractéristique fondamentale pour les robots industriels,


puisqu’elle déterminera les temps nécessaires à l’exécution d’une tâche. Or, ce sont
ceux-ci qui intéressent essentiellement l’utilisateur. Dans l’évaluation des performances
à priori, on ignore naturellement ces tâches. Il faut donc s’en tenir à des vitesses de dé-
placement et de rotation de l’organe terminal.
Soient : x le vecteur des coordonnées opérationnelles qui définissent la position
et l’orientation de l’organe terminal dans l’espace de la tâche, et q le vecteur des coor-
données articulaires (paramètres de configuration) qui définissent la configuration du
robot. La connaissance du modèle géométrique de celui-ci permet d’écrire :

x = f (x)

d’où en dérivant par rapport au temps, le vecteur des vitesses de déplacement et


de rotation de l’organe terminal :

ẋ = J q̇

Si les actionneurs déplacent les différents corps du robot à des vitesses constantes
dans l’espace articulaire, la vitesse instantanée vue dans l’espace de la tâche (c’est ce
qui est intéressant pour l’utilisateur) dépend de la configuration du robot.
Les constructeurs sont assez évasifs sur les performances en vitesse de leurs
robots. On parle d’ordre de grandeur ou de vitesse maximum, mais toujours pour des
translations de l’organe terminal (1 à 2 m/s). On donne aussi souvent les vitesses de
rotations articulaires maximales (1 rad/s à 1 tour/s), mais il est difficile d’en déduire
la vitesse instantanée dans l’espace de la tâche, qui est la grandeur que l’utilisateur
attend.

1.3.1.5 L’orientation possible de l’organe terminal

Par la présence de butées sur chaque articulation, et aussi parfois de par l’exis-
tence de couplages mécaniques entre articulations, il n’est pas toujours possible d’at-
teindre le débattement maximum sur chacun des degrés de mobilité de l’organe termi-
nal dans tout le volume atteignable.
Il y aurait donc lieu, soit de donner les débattements angulaires minimaux de
l’organe terminal par rapport au repère fixe dans tout le volume atteignable, soit de
fournir une cartographie de ces débattements. (Ceci serait plus utile que la présenta-
tion des constructeurs, qui donnent le débattement de chaque articulation a partir d’une
position de référence, en négligeant les problèmes de butées et de couplages qui modi-
fient quelquefois de façon non négligeable les possibilités du mécanisme).

Prof M. BENBRAHIM M2SI-FSDM


Sect. 1.3 P ERFORMANCES DES ROBOTS 19

1.3.1.6 La fiabilité

Bien qu’elle mette en jeu tous les éléments présents dans le robot, c’est une
donnée qui intéresse au plus haut point l’utilisateur, même s’il ignore tout du système.
C’est pourquoi on peut la classer dans les performances-tâche.
Comme pour tout autre système, elle sera définie par un taux de pannes, celui-ci
étant exprimé soit par la fraction du temps durant laquelle le robot ne remplit pas la
fonction qui lui est assignée, soit par un MTBF (Mean Time Between Failures). On
exprime aussi souvent cette fiabilité à l’aide d’un diagramme fréquentiel (fréquence de
pannes) tout au long de la vie du système.
Le robot peut être sujet à deux grandes catégories de pannes :

1. Arrêt total du fonctionnement


2. Dégradation des performances. Par exemple sur la précision spatiale : une dé-
rive plus ou moins lente peut se produire et, après un certain temps, le robot
n’exécute plus la tâche. Ou bien un degré de mobilité ne fonctionne plus (il
serait intéressant alors d’avoir une redondance des degrés de mobilité qui per-
mette par une procédure automatique de compenser la défaillance en attendant
de pouvoir réparer le robot).

1.3.1.7 Les possibilités de synchronisation avec d’autres machines

Dans une fabrication, les tâches successives sont reliées temporellement. Il faut
donc pouvoir synchroniser le robot avec d’autres machines et avec un réseau informa-
tique de gestion de la production. Par conséquent, un robot ne peut pas être un système
fermé et isolé, sans possibilités de communication avec le monde extérieur. Le nombre
d’entrées et sorties permettant des échanges d’informations avec l’extérieur, y compris
avec un opérateur, peut donc être un point important des performances. En général, les
robots ont une carte d’entrées-sorties permettant une échange de m × 8 informations
de type binaire.

1.3.2 Les performances-homme

On entend par là la facilité d’utilisation du robot, ce dernier étant sur le site


d’utilisation et entre les mains d’un opérateur non spécialiste. Les compétences exigées
pour faire fonctionner un robot ont trait :
— à la connaissance du matériel réglages, etc.
— à la connaissance du logiciel programmation du robot.
Il est important de savoir si, après une faible période d’apprentissage, normale-
ment quelques jours, un technicien pourra programmer et régler le robot ou s’il fau-
dra faire appel à un ingénieur. De même la maintenance courante et les réparations
de pannes mineures pourront-elles être assurées par l’utilisateur (existe-t-il des procé-
dures de test et de diagnostic de pannes ou de défauts ?) ou devra-t-on faire venir un
spécialiste de chez le constructeur à chaque incident même mineur ?.

Prof M. BENBRAHIM M2SI-FSDM


20 L A ROBOTIQUE Chap. 1

1.3.3 Les performances économiques


Il s’agit essentiellement de la rentabilité d’utilisation de robots dans l’entreprise.
Elle dépend bien sûr d’un grand nombre de facteurs :

1. coûts d’investissements : prix d’achat, coût d’installation du robot et des équi-


pements de péri-robotique et coût de modification de l’atelier ou de la chaîne
de production.
2. coûts d’exploitation : énergies, maintenance, espérance de vie, fiabilité et pour-
centage temporel d’utilisation.
3. nature des tâches que le robot va exécuter : tâches qui revenaient cher en
main-d’oeuvre ou non ?, la cadence de la fabrication augmentera-t-elle ?,la qua-
lité de la production sera-t-elle améliorée ?, y aura-t-il réduction de la main-
d’oeuvre ?.
4. le degré d’automatisation déjà présent dans l’atelier : Insérer un robot entre
deux hommes ou réciproquement ne se justifie que dans des circonstances par-
ticulières, par exemple si la tâche est dangereuse.
5. la taille de l’entreprise : Un robot seul peut ne pas être "rentable" mais une
chaîne de plusieurs robots en ligne peut l’être.

Le constructeur de robots ne peut que proposer des robots "les plus performants
possibles" et au "meilleur prix", en espérant atteindre le bon créneau après une étude de
marché. C’est à l’utilisateur d’établir les performances économiques qu’il peut espérer,
après avoir défini les tâches qu’il veut automatiser et les performances tâches et homme
que les constructeurs peuvent lui proposer.

1.3.3.1 Les conditions d’opérations

Même si pour un robot, toutes les caractéristiques citées précédemment satisfont


les exigences d’une tâche, le robot n’est pas nécessairement adapté à l’environnement
de travail dans lequel il devra évoluer. Ce n’est certainement pas le même robot qui
pourra évoluer dans le chargement/déchargement de fourneaux et pour la manuten-
tion de gaufrettes de silicone dans une salle blanche. Il faut soit protéger le robot de
l’environnement, soit l’environnement du robot.
L’utilisateur pourra se référer aux normes NEMA, ISO, IP-XX, etc.

1.4 Conclusion
Dans ce chapitre, on a essayé de donner un aperçu sur la robotique en général
et les robots séries manipulateurs en particulier. Dans ce sens, on a cité les caractéris-
tiques des robots, leurs architectures, les différentes manières de classification et enfin
leurs performances.
Le chapitre suivant sera consacré à une présentation générale des constituants
des robots.

Prof M. BENBRAHIM M2SI-FSDM


CHAPITRE 2

Les constituants d’un robot

2.1 Les actionneurs

2.1.1 Généralités
Le terme d’actionneur désigne tout dispositif générateur d’effort à vitesse va-
riable qui permet de modifier la configuration d’un robot manipulateur. Si on se limite
aux actionneurs pratiquement utilisables, il est possible de les classer suivant :
— le type du mouvement généré. Dans l’état actuel de la technologie, on trouve les
actionneurs linéaires qui développent une force et génèrent un mouvement de
translation parallèlement à cette force et les actionneurs rotatifs qui développent
un couple et génèrent un mouvement de rotation autour de l’axe du couple.
— la nature de la source d’énergie. On dispose d’actionneurs pneumatiques, d’ac-
tionneurs hydraulique, et d’actionneurs électriques.
La puissance massique et le pouvoir d’accélération sont des critères importants
qui permettent une comparaison objective de ces différents types d’actionneurs.

2.1.2 Puissance massique


La puissance massique est le rapport de la puissance développée par un action-
neur à la masse de celui-ci. Elle peut atteindre 0,5 à 0,6 kW/kg pour un actionneur
électrique et 2,5 à 5 kW/kg pour un actionneur hydraulique, qui de plus possède un
rendement supérieur à 90%.
L’énergie hydraulique conduit ainsi à des moteurs compacts parfaitement adap-
tés au cas le plus fréquent où les actionneurs sont situés à proximité des liaisons, donc
portés par le robot manipulateur. Les inconvénients majeurs sont la nécessité d’une
centrale hydraulique (pression de l’ordre de 100 à 120 bars), et les problèmes de fuites
et d’entretien. On peut aussi souligner un certain manque de petits actionneurs hydrau-
liques adaptés à la robotique légère.
Les actionneurs pneumatiques s’apparentent à leurs semblables hydrauliques,
mais, d’une part la pression d’alimentation est limitée (10 à 15 bars) du fait des contin-
gences liées à l’équipement d’un atelier, et d’autre part, l’air est fortement compres-
sible. Pour cette dernière raison, les actionneurs pneumatiques sont réservés aux petits
robots manipulateurs du type "pick and place" ou aux robots manipulateurs fonction-
nant en ambiance déflagrante, ou très souvent, à la commande de la "pince" (organe

Prof M. BENBRAHIM 21 M2SI-FSDM


22 C ONSTITUANTS D ’ UN ROBOT Chap. 2

terminal de nombreux robots).

2.1.3 Pouvoir d’accélération


Le pouvoir d’accélération d’un actionneur est l’accélération maximale que peut
communiquer à la charge l’actionneur développant un effort Em au démarrage :

1 Em
a=
2 Nopt Im


— Em est l’effort (force ou couple) développé par l’actionneur,
— Im est l’inertie (masse ou moment d’inertie) de la partie mobile de l’actionneur,
— Nopt est le rapport
" de réduction optimal du réducteur placé entre la charge et
l’actionneur : IImc avec Ic représente l’inertie (masse ou moment d’inertie) de
la charge.
Pour les actionneurs hydrauliques qui développent un effort Em important, à
vitesse lente, le rapport de réduction Nopt peut être voisin de 1 et l’inertie Im reste
faible. Le pouvoir d’accélération de ce type d’actionneur est donc très important. Ces
actionneurs sont donc particulièrement bien adaptés aux robots manipulateurs pour
lesquels une grande capacité de charge et des accélérations élevées sont exigées.
Les actionneurs électriques fonctionnent à des vitesses élevées en fournissant des
efforts relativement faibles. L’emploi de rapports de réduction importants (100 à 400)
est donc imposé. Leur pouvoir d’accélération est par conséquent limité.
Les actionneurs pneumatiques possèdent un pouvoir d’accélération qui se rap-
proche de celui des actionneurs hydrauliques.

2.1.4 Les différents types d’actionneurs


Les caractéristiques idéales que doit présenter un actionneur en robotique sont :
— une faible inertie pour augmenter la rapidité de réponse du robot manipulateur,
— une grande rigidité pour éviter le déplacement de l’organe terminal sous l’ac-
tion de la charge qu’il supporte,
— une vitesse nominale faible V0 : quelques rad/s en rotation et quelques dizaines
de cm/s en translation pour obtenir des vitesses de l’organe terminal avoisinant
quelques m/s,
— une plage de vitesse continuellement variable de −V0 à +V0 ,
— un effort de sortie important même à vitesse nulle,
— des non-linéarités réduites (frottement sec, jeux, ...),
— la possibilité de commander en vitesse et/ou en effort.
Il n’existe pas actuellement d’actionneurs qui présentent globalement toutes les
caractéristiques énoncées ci-dessus.
Les actionneurs les mieux adaptés sont :
— les moteurs à courant continu
— moteurs pas à pas,

Prof M. BENBRAHIM M2SI-FSDM


Sect. 2.2 L ES ORGANES DE TRANSMISSIONS 23

— moteurs à courant continu commandés par l’induit et à flux inducteur constant


(généralement par aimants permanents),
— moteurs à courant continu sans balais (Brushless DC motor).
— les actionneurs hydrauliques
— vérins linéaires et rotatifs,
— moteurs à pistons axiaux,
— les actionneurs pneumatiques
— vérins linéaires et rotatifs,
— venteuses.

2.2 Les organes de transmissions


Ce sont des organes qui transmettent un mouvement d’un actionneur vers une
partie mobile d’une liaison cinématique. Ils interviennent parfois aussi comme élé-
ments de structure (mécanismes à pantographe ou à parallélogramme).
Ces organes augmentent les masses en mouvement et présentent des défauts (jeu,
frottements, élasticité, ... ) qui accroissent l’incertitude sur la position de l’effecteur ou
aggravent le comportement en vibration de la structure. Par contre, ils permettent de
transférer les masses des actionneurs, moteurs et réducteurs en des points où leur effets
statiques et dynamiques seront fortement réduits.
Les contraintes dans la réalisation d’une transmission portent sur :

1. les caractéristiques des actionneurs (efforts, vitesses, ... ) ;


2. les exigences du corps en mouvement : les vitesses des différents membres d’un
robot sont de l’ordre de 1 à 3 m/sec en translation, 60 à 180, voire 360./sec en
rotation : compte tenu des vitesses de rotation des moteurs (1000 à 3000 tr/min),
cela implique des rapports de reduction assez élevés ;
3. la puissance mécanique à transmettre ;
4. une rigidité importante et une inertie aussi petite que possible, de façon à :
— réduire les déformations élastiques, statiques (effet de la pesanteur) et dy-
namiques (vibrations) ;
— limiter les efforts nécessaires en phase d’accélération et augmenter la capa-
cité d’accélération ;
— maximiser les vitesses critiques ou pulsations de résonance des parties élas-
tiques de façon à les reporter au-delà de la bande passante des boucles d’as-
servissement de position ;
5. l’exigence de frottements faibles ;
6. l’absence de jeux ou leur compensation ;
7. l’exigence d’un équilibrage statique au moins partiel, ce qui permet de réduire
les efforts demandés aux actionneurs et l’effet de la pesanteur sur la précision
de la position finale, et aussi d’éviter des mouvements incontrôlables et dan-
gereux en cas de panne des actionneurs. Cette exigence d’équilibrage statique
est souvent prépondérante dans la localisation des moteurs électrique et des
réducteurs associés (voir figure xx).

Prof M. BENBRAHIM M2SI-FSDM


24 C ONSTITUANTS D ’ UN ROBOT Chap. 2

On remarquera que les diverses exigences citées au point 4 ci-dessus sont contra-
dictoires : l’augmentation de la capacité d’accélération demande des masses et des
inerties faibles, donc des éléments légers et par conséquent déformables, au contraire,
l’augmentation des pulsations de résonance et la réduction des déformations élastiques
demande des éléments rigides, donc de sections transversales et de masses importantes.
De même, les deux exigences 5 et 6 sont souvent aussi contradictoires :les précon-
traintes ou prédéformations utilisées pour diminuer le jeu ont pour effet d’augmenter
les frottements.

2.3 Les effecteurs

2.3.1 Introduction
L’effecteur est l’organe terminal du robot, il est fixé au poignet de celui-ci. Ce
poignet se termine généralement par une plaque de base, percés de trous filetés ; cela
permet la fixation de différents effecteurs à un robot universel et donc l’adaptation de
celui-ci à des tâches spécifiques. En fait, la plupart des machines de production exigent
des outils et des fixations spécialement conçus pour une application particulière ; à cet
égard, le robot n’est donc pas une exception. Il faut d’ailleurs noter que beaucoup
d’outils conventionnels, utilisés à la main ou sur certaines machines (pistolets de pein-
ture ou de collage, visseuses, perceuses, pinces,...) peuvent devenir des effecteurs de
robotique, au prix d’un travail d’adaptation permettant de :
— compenser certaines imprécisions ou dispersions dans les caractéristiques des
objets extérieurs ou du robot lui-même,
— présenter une certaine flexibilité pour se prêter à des tâches diversifiées.
Les principaux problèmes qu’il faut résoudre dans la conception d’un effecteur,
sont liés aux connexions de l’effecteur au poignet et par là au porteur :
— connexions mécaniques : solidarisation effecteur-poignet, transmission d’ef-
forts, élasticité ("compliance"), (changements d’outils en cellule flexible, as-
semblage,...)
— connexions énergétiques : transmission de l’énergie (électrique, pneumatique
ou hydraulique) nécessaire à l’action de l’organe terminal
— connexions matérielles : fourniture à l’effecteur des matières consommées par
la tâche effectuée (colle, peinture, pâte, métal d’apport, fluide de refroidisse-
ment ou de lubrification, ...)
— connexions informationnelles : transmission de commandes aux actionneurs de
l’effecteur et l’effecteur
— connexions logicielles : incorporation d’une routine définissant la fonction de
l’effecteur et appelant ou générant les informations correspondantes, dans le
logiciel de programmation et de commande du robot.
En outre, il ne faut pas oublier que l’effecteur est l’organe terminal du robot,
c’est donc lui qui sera en contact avec des objets extérieurs. De ce fait, il est exposé à
des accidents divers et doit être muni de protections.
Généralement, les effecteurs doivent être conçus et fabriqués "sur mesure" en
fonction de la tâche qu’ils doivent effectuer. On peut concevoir et réaliser un effec-
teur complètement nouveau ou adapter un effecteur existant sur le marché. Cela peut

Prof M. BENBRAHIM M2SI-FSDM


Sect. 2.3 E FFECTEURS 25

être fait par la société qui vend ou installe le robot, ou par le client qui l’achète ou
par une firme spécialisée dans ce genre de travail. La plupart des constructeurs et/ou
vendeurs de robots ont un service d’ingénierie dont une des fonctions est de conce-
voir les effecteurs et d’assurer un service de consultance et d’aide à leurs clients. Il y
a aussi un nombre croissant de bureaux d’ingénierie ou de "systémistes" qui étudient
et/ou réalisent tout ou partie de l’installation de chaînes de production automatisées,
y compris les robots et équipements de périrobotique, c’est-à-dire tous les éléments
(dispositifs d’alimentation, d’évacuation, convoyeurs, etc...) nécessaires au fonction-
nement des robots dans une chaîne de production automatisée ; ceci inclut évidemment
les effecteurs, ainsi que les dispositifs de fixation et les outillages nécessaires à l’exé-
cution des taches. On compte généralement que les effecteurs et équipements de péri-
robotique constituent 10 à 25 % du coût d’installation d’un robot, dont 5 à 10% pour
l’effecteur lui-même.

2.3.2 Classification des effecteurs


On peut distinguer deux grandes catégories d’effecteurs :

1. les organes de préhension


2. les outils

Les organes de préhension sont utilisés pour saisir et maintenir les objets qui
doivent être manipulés et déplacés par le robot Ces objets peuvent être des pièces
brutes, finies ou en cours de fabrication, des outils, des pièces détachées pour assem-
blage, des matériaux bruts, des cartons ou autres éléments d’emballage, des bouteilles,
... Parmi les applications, on peut citer le chargement et déchargement de machines,
la saisie d’objets sur un convoyeur, le placement d’objets sur une palette de manuten-
tion, ... Dans certaines de ces applications, l’organe de préhension saisi ou tient un
outil ; cela permet l’échange d’outils dans un cycle de production (exemples : cellule
flexible avec un centre d’usinage, un robot de chargement-déchargement et un "maga-
sin" d’outils constitué de plusieurs dizaines ou une centaine d’outils ; applications de
meulage où plusieurs meules de diamètres ou grains différents doivent être utilisées
successivement, etc...).
Dans beaucoup d’applications, l’effecteur est un outil, généralement dérivé des
outils traditionnels :
— outil pour soudure à l’arc
— pince pour soudure par points
— pistolet de peinture ou de collage
— broches rotatives pour perçage, vissage, meulage, nettoyage,
— torche de chauffage, découpage...
— jet d’eau pour découpage
Les principes généraux de la connexion effecteur-poignet, aux différents niveaux
cités plus haut, sont valables quel que soit le type d’effecteur. Aussi, dans ce qui suit,
nous n’examinerons que les organes de préhension. Ceux-ci peuvent aussi être classés
en différentes catégories, suivant différents critères :
— technologie de préhension : organes mécaniques (pinces) ou autres (aimants,
ventouses, ...)
— mode de préhension

Prof M. BENBRAHIM M2SI-FSDM


26 C ONSTITUANTS D ’ UN ROBOT Chap. 2

— action unilatérale, bilatérale ou multilatérale


— prise externe ou interne
— fonctions : simple ou multiple.
Un effecteur multiple comprend en réalité plusieurs effecteurs, généralement
deux, fixés au même poignet. C’est souvent le cas des organes de préhension pour
les applications de chargementdéchargement. L’utilisation d’un organe double permet
de réduire la durée des opérations de chargement-déchargement, pendant lesquelles la
machine de production elle-même est improductive, et donc d’accroître la productivité
de cette machine. En effet, considérons une cellule de production dans laquelle un ro-
bot doit prendre une pièce brute sur un convoyeur (ou autre dispositif d’alimentation)
et déposer la pièce finie sur un autre convoyeur ou dispositif d’évacuation. Avec un
organe de préhension simple, il faudrait d’abord décharger la pièce finie et aller la dé-
poser sur le convoyeur d’évacuation, ensuite aller chercher la pièce brute et venir la
placer sur la machine ; celle-ci serait semi-improductive pendant toute la durée de ces
opérations ; en outre, le robot aurait peut-être à effectuer deux fois certaines parties de
la trajectoire. Par contre, avec un organe de préhension double, le robot pourrait aller
chercher une pièce brute pendant le travail de la machine sur la pièce précédente, venir
en position d’attente près de la machine, enlever la pièce finie de la machine et y pla-
cer immédiatement après la nouvelle pièce brute, puis seulement aller porter la pièce
finie sur le dispositif d’évacuation. Du fait de ces opérations en temps masqué, le pour-
centage du temps pendant lequel la machine n’est pas productive sera ainsi nettement
réduit.
Les préhenseurs doubles ou multiples sont également intéressants pour des opé-
rations de palettisation dépalettisation, où il faut manipuler plusieurs objets simultané-
ment, ou lorsqu’il faut manipuler des objets lourds et/ou de grandes dimensions.
Il y a évidemment un certain recouvrement entre les différentes classifications :
les organes de préhension à action unilatérale utilisent généralement une technologie
autre que mécanique, alors que les organes mécaniques sont le plus souvent à action
bilatérale ou multilatérale. Les préhenseurs à action multilatérale présentent de nom-
breux avantages : souplesse d’emploi (adaptation à l’objet transporté), maintien de la
position et de l’orientation de l’objet transporté, augmentation de la surface de contact
d’où réduction des pressions de contact ; toutefois ces avantages ne sont acquis qu’au
prix d’une plus grande complexité de la réalisation du préhenseur.

2.4 Conclusion
Ce chapitre permet de présenter, d’un façon brève, trois éléments constitutifs
des robots. A savoir, les actionneurs, les organes de transmissions et les effecteurs. Le
chapitre prochain sera consacré à la modélisation géométrique.

Prof M. BENBRAHIM M2SI-FSDM


CHAPITRE 3

La modélisation géométrique

Un robot manipulateur quelque que soit la fonction qui lui est attribuée doit po-
sitionner et orienter son organe terminale dans l’espace opérationnel. La difficulté de
la commande provient du fait que les actionneurs, dont est doté le robot manipulateur,
n’agissent pas directement sur la position et l’orientation de son organe terminal, mais
agissent sur la position relative de ses différents corps.
Ce chapitre se propose de donner les modèles nécessaires à l’expression du mou-
vement du système et de son organe terminal.

3.1 Généralités

3.1.1 Liaison

Une liaison entre deux solides indéformables (en théorie) limite le degré de li-
berté (ddl) d’un solide par rapport à l’autre. On appelle ddl de la liaison le nombre de
paramètres indépendants permettant de définir la localisation (position et orientation)
d’un solide par rapport à l’autre dans tout déplacement (compatible avec la liaison).

3.1.2 Mécanismes

On appelle mécanisme un ensemble de solides reliés 2 à 2 par des liaisons. On


distingue 2 types de mécanismes :
1. Les mécanismes en chaîne simple ouverte (ou en série). Lorsque l’on parcourt
le mécanisme, on ne repasse jamais 2 fois sur la même liaison, ou sur le même
solide. Ce type de système est le plus répandu.
2. Les mécanismes en chaîne complexe, c’est à dire tout ce qui n’est pas en série
(au moins un solide avec plus de 2 liaisons). De tels systèmes se subdivisent en
2 groupes : les chaînes structurées en arbre et les chaînes fermées.
Pour représenter un mécanisme, on dispose de 2 méthodes :

1. Le schéma cinématique : On utilise la représentation normalisée des liaisons


pour représenter le mécanisme, soit en perspective, soit en projection.
2. Le graphe, non normalisé.

Prof M. BENBRAHIM 27 M2SI-FSDM


28 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

3.1.3 Système mécanique articulé


Le système mécanique articulé est un mécanisme ayant une structure plus ou
moins proche de celle du bras humain. Il permet de remplacer, ou de prolonger, son
action. Son rôle est d’amener l’organe terminal dans une situation (position et orien-
tation) donnée, selon des caractéristiques de vitesse et d’accélération données. Son
architecture est une chaîne cinématique de corps, généralement rigides (ou supposés
comme tels), assemblés par des liaisons appelées articulations. Sa motorisation est réa-
lisée par des actionneurs électriques, pneumatiques ou hydrauliques qui transmettent
leurs mouvements aux articulations par des systèmes appropriés.
Lorsque l’articulation (liaison) est simple alors elle est rotoïde ou prismatique :
— Articulation rotoïde : Il s’agit d’une articulation de type pivot, notée R, rédui-
sant le mouvement entre deux corps à une rotation autour d’un axe qui leur
est commun. La situation relative entre les deux corps est donnée par l’angle
autour de cet axe (voir la figure 3.1).

F IGURE 3.1 – Symbole de l’articulation rotïde

— Articulation prismatique : Il s’agit d’une articulation de type glissière, notée


P, réduisant le mouvement entre deux corps à une translation le long d’un axe
commun. La situation relative entre les deux corps est mesurée par la distance
le long de cet axe (voir la figure 3.2).

F IGURE 3.2 – Symbole de l’articulation prismatique

Une articulation complexe peut toujours se ramener à une combinaison d’articu-


lations prismatique ou rotoïde.

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.2 L ES TRANSFORMATIONS HOMOGÈNES 29

3.1.4 Structure topologique du robot manipulateur


Les robots manipulateurs que nous allons étudier dans ce cours ont une structure
de chaîne cinématique simple. Ils sont constitués de corps solides articulés entre eux
par des liaisons rotoïdes (pivots) et/ou des liaisons prismatiques (glissières). Le premier
corps de la chaîne est articulé sur un bâti fixe (base), le dernier corps constitue l’organe
terminal. La figure 3.3 représente un graphe non normalisé d’un robot manipulateur de
ce type.
La chaîne cinématique du robot manipulateur est décrite par la succession des
lettres R et/ou P définissant le type de liaison à partir du bâti (Voir exemple sur la
figure 3.4).

F IGURE 3.3 – Chaîne cinématique simple d’un robot manipulateurs ayant six liaisons

F IGURE 3.4 – Chaîne cinématique d’un robot manipulateur de type RPPRRR

L’indice de mobilité de ce type de robot manipulateur est égal au nombre de


liaisons, car chacune a un seul degré de liberté.
Les corps et les liaison constituant le robot manipulateur sont numérotés de 1 à
n à partir du bâti de telle manière que la liaison j soit située entre les corps Cj−1 et Cj .
Le corps de base (bâti) est numéroté C0 (voir figure 3.5).

3.2 Les transformations homogènes


Dans cette section, les matrices de transformations homogènes et les coordon-
nées homogènes sont présentées.

Prof M. BENBRAHIM M2SI-FSDM


30 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

F IGURE 3.5 – Numérotation des corps et des liaisons du robot manipulateur

3.2.1 Coordonnées homogènes


Les différentes transformations géométriques nécessitent l’utilisation de diffé-
rents opérateurs matriciels :
— l’addition et la soustraction pour les translations ;
— la multiplication matricielle pour les autres opérations (changement d’échelle,
rotation, etc).
L’utilisation des coordonnées homogènes permet de réaliser toutes ces opéra-
tions à l’aide d’un seul opérateur : la multiplication. Ceci facilite le développement
d’opérations composées et le développement du modèle géométrique d’un robot ma-
nipulateur.
En coordonnées homogènes, le point de coordonnées cartésiennes (x, y, z) est
représentée par (x# , y # , z # , w) où w %= 0 est le facteur d’échelle. La relation entre les
coordonnées cartésiennes et homogènes est donnée par :

x = x# /w
y = y # /w
z = z # /w

En coordonnées homogènes, une orientation (u, v, w) est représentée par (u, v, w, 0).
De cette façon, les translations ne sont pas appliquées aux vecteurs d’orientation.

3.2.2 Transformations 2D
Les transformations bidimensionnelles permettront de mieux visualiser la ma-
nière du développement des matrices de transformation.
En 2D, une position cartésienne (x, y) est donnée par les coordonnées homo-
gènes sous forme matricielle (x, y, 1)# . Un ensemble de n points sera donné par la
concaténation des n points dans une matrice 3 × n :
 
x1 x2 . . . x n
 y1 y2 . . . yn 
1 1 1 1

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.2 T RANSFORMATIONS HOMOGÈNES 31

Une matrice T de transformation géométrique 2D de dimension 3 × 3 :


 
T11 T12 T13
T =  T21 T22 T23 
0 0 1

peut être appliquée à ces points pour obtenir les coordonnées des points transfor-
més.
 ! ! !   
x1 x2 . . . x n x1 x2 . . . x n
 y1! y2! . . . yn!  = T ×  y1 y2 . . . yn 
1 1 1 1 1 1 1 1

La transformation la plus simple à développer est la translation. Un point de


coordonnées (x, y) après une translation de (a, b), a pour nouvelles coordonnées (x +
a, y + b). Nous avons :
   
T11 x + T12 y + T13 x+a
 T21 x + T22 y + T23  =  y + b 
1 1

La matrice de translation est donc donnée par :


 
1 0 a
T RAN S(a, b) =  0 1 b 
0 0 1

La rotation d’un point par rapport à l’origine peut être développée en considérant
deux points : (x, 0) et (0, y). Après une rotation d’un angle θ dans le sens antihoraire,
le point (x, 0) devient (xcosθ, xsinθ) et on a :
   
T11 x + T13 x cos θ
 T21 x + T23  =  x sin θ 
1 1

De la même façon, après une rotation d’un angle θ dans le sens antihoraire, le
point (0, y) devient (−ysinθ, ycosθ) et on a :
   
T12 y + T13 −y sin θ
 T22 y + T23  =  y cos θ 
1 1

Par simple inspection des équations précédentes, nous pouvons obtenir la matrice
de rotation :
 
cos θ − sin θ 0
ROT (θ) =  sin θ cos θ 0 
0 0 1

Prof M. BENBRAHIM M2SI-FSDM


32 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

Lorsque plusieurs transformations géométriques sont appliquées en succession,


l’ordre dans lequel les matrices sont multipliées est important car la multiplication
matricielle n’est pas commutative. Ceci n’est pas un artifice mathématique, mais une
conséquence de la non commutativité des transformations dans l’espace.
Si une transformation T1 est appliquée à un objet et est suivie d’une autre trans-
formation T2 , la transformation cumulative est Ttot = T2 T1 . En général T2 T1 %= T1 T2 .
Les transformations inverses sont faciles à calculer. En effet, il n’est pas néces-
saire de procéder à l’inversion de la matrice. Il suffit plutôt de calculer l’opération
inverse.

3.2.3 Transformations 3D

C’est une généralisation des résultats de la section précédente à l’espace tridi-


mensionnel. Dans ce cas, un point (x, y, z) est donné par les coordonnées homogènes
(x, y, z, 1)# . Les matrices de transformation 3D sont des 4 × 4.
Une translation de (a, b, c) est donnée par :

 
1 0 0 a
 0 1 0 b 
T RAN S(a, b, c) = 
 0

0 1 c 
0 0 0 1

Dans le cas des rotations en 3D, on doit spécifier par rapport à quel axe la rotation
doit s’effectuer. En procédant de façon similaire au cas 2D et en respectant la règle de
la main droite, on peut développer :
— la matrice d’une rotation α selon l’axe X :
 
1 0 0 0
 0 cos α − sin α 0 
ROT (x, α) = 
 0 sin α cos α

0 
0 0 0 1

— la matrice d’une rotation β selon l’axe Y :


 
cos β 0 sin β 0
 0 1 0 0 
ROT (y, β) = 
 − sin β

0 cos β 0 
0 0 0 1

— la matrice d’une rotation γ selon l’axe Z :


 
cos γ − sin γ 0 0
 sin γ cos γ 0 0 
ROT (z, γ) = 
 0

0 1 0 
0 0 0 1

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.3 L A MODÉLISATION GÉOMÉTRIQUE DIRECTE 33

3.3 La modélisation géométrique directe


La situation de l’effecteur par rapport à l’environnement dans lequel le robot évo-
lue doit être connue afin que la tâche à effectuer soit réalisée. Connaissant les valeurs
de positions des articulations du robot, il faut être en mesure de calculer la position de
l’effecteur par rapport à la base du robot : c’est la modélisation géométrique directe.
Pour y arriver, il faut être en mesure de représenter et d’utiliser les différents repères
associés aux éléments constituant le robot et l’environnement.

3.3.1 Changement de repère


Considérons la figure 3.6 Comment peut-on représenter la position du repère B
par rapport au repère C ?. Le repère B peut être considéré comme le C ayant subit une
rotation (autour d’un axe quelconque) et une translation. Donc, la position de B par
rapport à C est donnée par la matrice :
) C C
*
C RB pB
TB =
0 1

où C pB est la position de l’origine de B par rapport à C et C RB est une matrice


de rotation 3 × 3 dont les colonnes sont les projections de XB , YB et ZB dans le repère
C.
Cette matrice de transformation peut se décomposer en deux transformations :
) C
* ) C
*
C I pB RB 0
TB = ×
0 1 0 1

Si l’on connaît la position du point A par rapport à B :

B
+ B B B
,#
pA = xA yA zA 1

la position de A par rapport à C est donnée par :

C
pA =C T B × B pA

Pour le cas d’un robot, considérons la figure 3.7 représentant différents repères
associés à l’environnement du robot avec :
— Repère U : repère de universel ;
— Repère R : repère associée à la base du robot ;
— Repère H : associée à la main (hand ou porte outil) du robot ;
— Repère E : associée à l’extrémité de l’effecteur (de l’outil) ;
— Repère P : associée à la pièce.
Les différentes transformations correspondantes sont :
— U
TR : position de la base du robot par rapport au repère universel U ;
— R
TH : position de la main du robot par rapport à sa base R ;
— H
TE : position de l’outil par rapport à la main du robot H ;

Prof M. BENBRAHIM M2SI-FSDM


34 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

F IGURE 3.6 – Repères B et C

F IGURE 3.7 – Repères de base pour un robot

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.3 MGD 35

— U
TP : position de la pièce par rapport au repère universel U ;
— P
TE : position de l’endroit où l’outil doit saisir la pièce par rapport au repère
de la pièce P.
Pour que le robot puisse saisir la pièce correctement, on désire avoir :

U
T R × R T H × H T E =U T P × P T E

Il est important de noter l’ordre des multiplications utilisé pour développer la der-
nière équation. Quand faut-il utiliser la pré-multiplication ou la post-multiplication ?
Voici l’interprétation à donner aux deux opérations :

Pré-multiplication : application de la transformation par rapport au repère fixe.


Post-multiplication : application de la transformation par rapport au repère mo-
bile.

On peut donc calculer dans quelle position doit être le robot pour réaliser la
tâche :

R
TH =U TR−1 ×U TP ×P TE ×H TE−1

3.3.2 Coordonnées opérationnelles de l’organe terminal

Ce sont les quantités scalaires qui permettent de définir la situation de l’organe


terminal. Nous avons choisi six paramètres dont trois sont relatives aux coordonnées
cartésiennes du centre de cet organe pour définir la position et trois autres paramètres
sont pour définir l’orientation du repère orthonormé direct lié à cet organe. Ces trois
derniers paramètres peuvent déterminer par plusieurs manières, citons :

1. Cosinus directeurs
2. Angles de Braynt
3. Angles d’Euler
4. Quaternions

3.3.3 Coordonnées généralisées

La jème coordonnée généralisée qj est la quantité définissant le mouvement re-


latif du corps Cj par rapport au corps Cj−1 :
— l’angle de rotation pour une liaison rotoïde ;
— la distantce pour une liaison prismatique.
L’ensemble q coordonnées généralisées qj permet de définir la configuration du
robot manipulateur.

Prof M. BENBRAHIM M2SI-FSDM


36 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

3.3.4 Modèle géométrique direct

On s’intéresse à la relation liant l’espace articulaire associé aux différentes liai-


sons du robot avec l’espace opérationnel dans lequel est définie la situation de l’organe
terminal. Cette relation s’exprime à l’aide de l’équation suivante qu’on l’appelle par la
suite modèle géométrique direct (MGD) du robot :

X = f (q)

La méthode proposée utilise les matrices de transformation homogène. On asso-


cie un repère à chaque solide du robot, en commençant par la base. Si une articulation
a plusieurs degrés de libertés, on introduit des solides fictifs (de masse et de longueur
nulles). La situation de l’organe terminal par rapport au socle correspond au produit
des matrices de transformation homogène des différents repères associés au solide du
robot. Notons que l’écriture des matrices de transformation homogène n’est pas unique
(il existe une infinité de façon de lier une repère à un solide).
La modélisation des robots de façon systématique et automatique exige une mé-
thode adéquate pour la description de leur morphologie. Plusieurs méthodes et no-
tations ont été proposées dans la littératures. La plus répandue est celle de Denavit-
Hartenberg. Mais cette méthode, développée pour des structures ouvertes simples,
présente des ambiguïtés lorsqu’elle est appliquée sur des robots ayant des structures
fermées ou arborescentes. C’est pourquoi, il est plus convenable d’utiliser la notation
de Khalil et Kleinfinger qui permet la description homogène, et avec un nombre mi-
nimum de paramètres, des architectures ouvertes simples et complexes de systèmes
mécaniques articulés. De plus, le MGD s’obtient avec un nombre minimal d’opéra-
tions arithmétiques et avec la même forme littérale des matrices de passages.
Dans le reste du chapitre, on utilise les paramètres DH-modifiés obtenus selon la
convention de Denavit-Hartenberg modifiée qui est décrite par la méthode ci-dessous.
La convention s’applique lorsque le robot correspond à une chaîne simple ou-
verte et que ses articulations sont rotoïdes, ou prismatiques (ce qui est le cas en gé-
néral). Les corps constituant le robot sont supposés parfaitement rigides et connectés
par des articulations idéales (pas de jeu mécanique, pas d’élasticité). Les étapes de la
conventions DH-modifiée sont :
— Notations :
— On numérote les corps par ordre croissant en partant de la base. Ainsi, le
robot est composé de n+1 corps, notés C0 , C1 , · · · , Cn et de n articulations
(n ≥ 1). Le corps C0 désigne la base du robot, le corps Cn désigne le corps
portant l’organe terminal.
— Le repère Rj est lié au corps Cj du robot.
— La variable de l’articulation j, qui lie le corps Cj au corps Cj−1 est noté qj .
— Détermination du repère Rj :
— L’axe zj est porté par l’axe de rotation, ou de translation, de l’articulation j.
On privilège généralement les débattements positifs pour les liaisons pris-
matiques et on symétrise généralement par rapport à 0 le débattement des
liaisons rotoîdes.
— L’axe xj est la perpendiculaire commune aux axes zj et zj+1 . En général, on
prend cet axe orienté de zj vers zj+1 . Si les axes zj et zj+1 sont parallèles ou

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.3 MGD 37

F IGURE 3.8 – Notations des corps, articulations et repères

colinéaires, le choix de xj n’est pas unique et des certaines considérations


de symétrie et de simplicité doivent être prises en compte afin d’avoir un
choix rationnel(voir remarques).
— L’origine Oj est le pied de la perpendiculaire commune aux axes zj et zj+1 .
— L’axe yj est tel que le repère Rj soit orthonormé direct.

F IGURE 3.9 – Détermination du repère Rj

— Passage du repère Rj−1 au repère Rj :


Le passage du repère Rj−1 au repère Rj s’exprime en fonction des quatres
paramètres suivants :
1. αj : l’angle de rotation entre les axes zj−1 et zj autour de l’axe xj−1 ,
2. dj : la distance entre les axes zj−1 et zj mesurée le long de l’axe xj−1 ,
3. θj : l’angle de rotation entre les axes xj−1 et xj autour de l’axe zj ,
4. rj : la distance entre les axes xj−1 et xj mesurée le long de l’axe zj .
La variable qj , associée à l’articulation j, est soit θj , soit rj , selon que cette
articulation est respectivement rotoïde ou prismatique, ce qui se traduit par la
relation :

Prof M. BENBRAHIM M2SI-FSDM


38 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

F IGURE 3.10 – Paramètres DH-modifiés

qj = (1 − σj )θj + σj rj
avec σj = 0 si l’articulation est rotoïde et σj = 1 si l’articulation est prisma-
tique. Autrement dit, si l’articulation est rotoïde alors (qj = θj est variable,
αj , dj , rj sont constants) et si l’articulation est prismatique alors (qj = rj est
variable, αj , dj , θj sont constants).
Le passage du repère Rj−1 au repère Rj se fait en quatre étapes :
1. Une rotation d’un angle αj autour de l’axe xj−1 ,
2. Une translation de distance dj mesurée le long de l’axe xj−1 ,
3. Une rotation d’angle θj autour de l’axe zj ,
4. Une translation rj mesurée le long de l’axe zj .

F IGURE 3.11 – Passage du repère Rj−1 au repère Rj

Il en résulte la matrice de transformation homogène j−1 Tj suivante :

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.3 MGD 39

j−1
Tj = ROT (xj−1 , αj )×T RAN S(xj−1 , dj )×ROT (zj , θj )×T RAN S(zj , rj )
avec :    
1 0 0 0 1 0 0 dj
 0 cos αj − sin αj 0   0 1 0 0 
ROT (xj−1 =  
 0 sin αj cos αj 0  , T RAN S(xj−1 , dj ) =  0 0 1
 
0 
0 0 0 1 0 0 0 1
   
cos θj − sin θj 0 0 1 0 0 0
 sin θj cos θj 1 0   0 1 0 0 
, ROT (zj , θj ) = 
 0
 et T RAN S(zj , rj ) =  .
0 cos αj 0   0 0 1 rj 
0 0 0 1 0 0 0 1
Ce qui donne
 : 
cos θj − sin θj 0 dj
 cos αj × sin θj cos αj × cos θj − sin αj −rj × sin αj 
j−1
Tj = 
 sin αj × sin θj sin αj × cos θj cos αj

rj × cos αj 
0 0 0 1
— Obtention du MGD :
Le modèle géométrique direct est l’ensemble des relations qui permettent d’ex-
primer la situation de l’organe terminal, c’est à dire les coordonnées opération-
nelles, du robot en fonction de ses coordonnées articulaires. Dans le cas d’une
chaîne simple ouverte, il peut être représenté par la matrice 0 Tn qui se calcule
par :

0
Tn =0 T1 (q1 ) ×1 T2 (q2 ) × · · · ×n−1 Tn (qn )
Remarques :
— Pour la définition du repère de référence R0 , le choix le plus simple consiste
à prendre R0 confondu avec le repère R1 quand q1 = 0. ce qui signifie que z0
est confondu avec z1 et O0 = O1 lorsque l’articulation 1 est rotoïde, et z0 est
confondu avec z1 et x0 est parallèle à x1 lorsque l’articulation 1 est prismatique.
Ce choix rend les paramètres
alpha1 et d1 nuls.
— Bien souvent, les deux axes de liaisons consécutifs d’un manipulateurs sont
orthogonaux ou parallèles, il en résulte un angle α égale à 0◦ , ±90◦ , 180◦ .
— Lorsque les axes zj−1 et zj sont parallèles αj égale à 0◦ ou 180◦ , et il y a une
infinité de perpendiculaires communes entre zj−1 et zj . On place Oj−1 et xj−1
tel que rj+1 = 0 ou rj = 0 .
— pour une articulation j prismatique, l’axe zj est parallèle à l’axe de l’articulation
mais la position de cet axe dans l’espace peut être quelconque : on le place donc
de telle sorte que dj ou dj+1 soit nul ;
— Lorsque les axes zj−1 et zj sont perpendiculaires (ou concourants) αj égale à
±90◦ , le point Oj−1 est placé à l’intersection des axes zj−1 et zj , ainsi, on a
dj = 0.
— Lorsqu’on a une liaison prismatique, on place zj tel que dj = 0 ou dj+1 = 0.
— Le repère Rn est choisi de telle façon que xn est colinéaire avec xn−1 quand
qn = 0.
— Le point On est choisi de façon à annuler un maximum de paramètres.
— En pratique, le vecteur des variables articulaires q est donné par : q = qc + qof
où qof représente un décalage ("offset") et qc sont les variables codeurs.

Prof M. BENBRAHIM M2SI-FSDM


40 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

— Lorsqu’on modélise un bras manipulateur, il est souhaitable de représenter


celui-ci dans une configuration particulière, pour visualiser plus facilement les
paramètres et annuler certains paramètres constants.

3.4 La modélisation géométrique inverse

3.4.1 Définition et méthodes

Le MGD du robot manipulateur,obtenu dans la partie précédente, fournit les co-


ordonnées opérationnelles en fonction des coordonnées généralisées. En fait, il se pose
aussi le problème inverse : quelles sont les coordonnées généralisées qui correspondent
à des coordonnées opérationnelles données ?. Résoudre ce problème consiste à calcu-
ler une fonction réciproque f −1 , si elle existe. Cette fonction réciproque constitue le
modèle géométrique inverse (MGI) du robot manipulateur :

q = f −1 (x)

Il n’existe pas de méthode systématique d’inversion du modèle géométrique.


Lorsqu’elle existe, la forme explicite, issue d’une inversion mathématique, qui donne
toutes les solutions possibles au problème inverse (il y a rarement unicité de la so-
lution) constitue le MGI. Il existe un certain nombre de méthodes pour calculer le
MGI, notamment la méthode de Paul qui traite séparément chaque cas particulier et
qui convient pour la plupart des robots industriels.
la résolubilité du MGI, c’est à dire l’existence d’un nombre fini de solutions est
fondamentale en matière de conception. Supposons que la situation x d’un robot mani-
pulateur à n liaisons soit exprimée par un nombre m minimal de paramètres. Supposons
par ailleurs que x soit une situation accessible par le robot manipulateur, c’est à dire
que la situation appartient à l’espace de travail ; Alors (dans la majorité des cas) :
— si n < m, il n’existe pas de solutions au MGI. Dans ce cas, 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.
— si n = m, il existe un nombre fini de solutions en dehors de certaines configu-
rations, appelées configurations singulières. On dit que le robot manipulateur
est résoluble. Dans ce cas, il est possible de calculer toutes les configurations
permettant d’atteindre une situation donnée.
— si n > m, il existe une infinité de solutions. Dans ce cas, on a les cas suivants
le robot est redondant vis-à-vis de la tâche,le robot se trouve dans certaines
configurations singulières.
Lorsque le MGI n’existe pas, c’est-à-dire qu’il n’existe pas une forme explicite,
on peut calculer une solution particulière du problème inverse par des procédures nu-
mériques, qui est une solution locale au sens où elle dépend des conditions initiales.
Notons que de telles méthodes sont pénalisantes du point de vue du temps de calcul.
On note que les robots manipulateurs avec n < 6 et qui ne sont pas redondants
sont tous résolubles, c’est à dire qu’il existe une solution connue au MGI. C’est aussi
le cas de la plupart des structures à six liaisons. Enfin, seul le calcul du MGI permet

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.4 MGI 41

de connaître le nombre de solutions qui dépend parfaitement de l’architecture du robot


manipulateur.
On peut distinguer trois méthodes de calcul du MGI :
— la méthode de Paul qui traite séparément chaque cas particulier et convient pour
la plupart des robots industriels,
— la méthode de Pieper qui permet de résoudre le problème pour les robots à six
degrés de liberté possédant trois articulations rotoïdes d’axes concourants ou
trois articulations prismatiques,
— la méthode générale de Raghavan et Roth, donnant la solution générale des
robots à six articulations à partir d’un polynôme de degré au plus égal à 16.

3.4.2 Démarche analytique


Avant de présenter la méthode de Paul dans la section suivante et Afin de donner
un aperçu sur les démarches anlytiques, on traite deux exemples.
Exemple1 : Soit le manipulateur évoluant dans un plan et décrit dans la figure
3.12. On a le MGD suivant :

x = q2 cos(q1 )
y = q2 sin(q1 )

F IGURE 3.12 – Schéma cinématique pour le robot de l’exemple1

Une démarche analytique simple permet de déterminer le MGI et on a :

y y
tan(q1 ) = ⇒ q1 = arctan( )
x x
et
-
x2 + y 2 = q22 ⇒ q2 = x2 + y 2

Exemple2 :

Prof M. BENBRAHIM M2SI-FSDM


42 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

Soit le manipulateur évoluant dans un plan et décrit dans la figure 3.13. On a le


MGD suivant :

x = l1 cos(q1 ) + l2 cos(q1 + q2 )
y = l1 sin(q1 ) + l2 sin(q1 + q2 )

F IGURE 3.13 – Schéma cinématique pour le robot de l’exemple2

Une démarche analytique en procédant par substitution permet de déterminer le


MGI. En se basant sur le schéma de la figure 3.13, on obtient les relation suivantes :

L2 = x 2 + y 2

et

L2 = l12 + l12 − 2l1 l2 cos(α)

d’où
L2 = x2 + y 2 = l12 + l12 + 2l1 l2 cos(q2 )

soit

x2 + y 2 − l12 − l12
cos(q2 ) =
2l1 l2
il en résulte

x2 + y 2 − l12 − l12
q2 = ± arccos( )
2l1 l2
sous réserve que

x2 + y 2 − l12 − l12
−1 ≤ ≤1
2l1 l2
Remarques :

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.4 MGI 43

x2 +y 2 −l2 −l2
— La condition −1 ≤ 2l1 l2
1 1
≤ 1 indique que la position du point P doit être
atteignable.
— lorsque q2 est positif (respectivement négatif), le robot a une posture coude bas
(respectivement coude haut) (voir figure 3.14).

F IGURE 3.14 – Robot en postures coude bas et coude haut

D’autre part, en développant les expressions cos(q1 + q2 ) et sin(q1 + q2 ) dans le


système correspondant au modèle géométrique direct, on obtient :

(l1 + l2 cos(q2 )) cos(q1 ) − l2 sin(q2 ) sin(q1 ) = x


l2 sin(q2 ) cos(q1 ) + (l1 + l2 cos(q2 )) sin(q1 ) = y

Calculons le déterminant de ce système d’équations linéaires par rapport aux 2


inconnues cos(q1 ) et sin(q1 ) , on a :

. .
. l1 + l2 cos(q2 ) −l2 sin(q2 ) .
. . = l12 + l12 + 2l1 l2 cos(q2 ) = x2 + y 2
. l2 sin(q2 ) l1 + l2 cos(q2 ) .

soit

x(l1 + l2 cos(q2 )) + yl2 sin(q2 )


cos(q1 ) =
x2 + y 2
y(l1 + l2 cos(q2 )) − xl2 sin(q2 )
sin(q1 ) =
x2 + y 2

il en résulte :
) *
y(l1 + l2 cos(q2 )) − xl2 sin(q2 )
q1 = arctan
x(l1 + l2 cos(q2 )) + yl2 sin(q2 )

Ainsi, on aboutit au MGI suivant :

Prof M. BENBRAHIM M2SI-FSDM


44 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

) *
y(l1 + l2 cos(q2 )) − xl2 sin(q2 )
q1 = arctan
x(l1 + l2 cos(q2 )) + yl2 sin(q2 )
x2 + y 2 − l12 − l12
q2 = ± arccos( )
2l1 l2

On remarque qu’il y a deux solutions, correspondant à deux postures du bras (à


condition qu’il n’y ait pas de butées sur les articulations) : l’une est dite "coude haut",
l’autre "coude bas".

3.4.3 Méthode de Paul


Dans le cas de robots à géométrie simple (pour lesquels la plupart des distances
dj et rj sont nulles et les angles θj et αj sont égaux à 0, ±p/2 ), le MGI peut être
obtenu par la méthode de Paul.
Considérons le robot décrit par la matrice de transformation suivante :

0
Tn =0 T1 (q1 ) ×1 T2 (q2 ) × · · · ×n−1 Tn (qn )

Soit U0 la situation du repère Rn (lié à l’organe terminal) décrit par :


 
Nx S x Ax P x
 Ny Sy Ay Py 
U0 = 
 Nz Sz Az Pz 

0 0 0 1

Le MGI est obtenu en résolvant l’équation matricielle suivante :

U0 =0 T1 (q1 ) ×1 T2 (q2 ) × · · · ×n−1 Tn (qn )

La méthode de Paul permet la détermination de q1 , puis q2 et ainsi de suite


jusqu’à qn . Il s’agit de déplacer l’une après l’autre chacune des variables articulaires
(q1 , · · · , qn ) dans le membre de gauche de l’équation. Pour cela, on multiplie par j Tj−1
(en prenant successivement j = 1, · · · , n) de part et d’autre dans l’équation.
Considérons un robot à 6 ddl (n = 6). Appliquons la méthode :
— Pré-multiplier l’équation précédente par 1 T0 , soit :

1
T0 (q1 ) × U0 =1 T2 (q2 ) × · · · ×5 T6 (q6 )
où les éléments situés dans le membre de gauche sont soient indépendants,
soient fonctions de q1 . Les éléments situés dans le membre de droite sont soient
constants, soient fonctions de q2 , · · · , q6 .
— Déduire q1 de l’équation précédente.
— Pré-multiplier l’équation précédente par 2 T1 , soit :

2
T1 (q2 ) ×1 T0 (q1 ) × U0 =2 T3 (q3 ) × · · · ×5 T6 (q6 )

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.4 MGI 45

— En déduire q2 .
— Continuer cette procédure pour en déduire q3 , · · · , q6 .

3.4.4 Domaines et aspects

On a vu précédemment que le MGD d’un robot peut se représenter à l’aide de


l’application :

X = f (q)

cette application étant 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, c’est à dire à 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. Dans la pratique, cette "non propriété" peut poser des problèmes, par
exemple, dans le cas où des obstacles sont à proximité du robot, ce qui peut amener
à devoir réaliser des trajectoires rectilignes. Or, la réalisation d’une trajectoire recti-
ligne peut s’avérer irréalisable physiquement, ou le bras du robot peut être amené à se
reconfigurer, ce qui peut induire des comportements "intempestifs" du bras du robot.
Une alternative consiste à subdiviser l’espace articulaire Q en un ensemble de m
domaines disjoints, notés Ai , i = 1, · · · , m, appelés aspects, dans lesquels l’applica-
tion f sera biunivoque. Ainsi dans chacun de ces domaines, il est assuré que chaque
point de l’espace opérationnel correspondant soit atteignable à travers une seule et
même configuration (posture) possible.
Décrivons la méthode permettant le calcul de ces domaines. Soit le MGD, décrit
sous la forme :

xi = f (q1 , · · · , qn ), i = 1, · · · , n

La matrice Jacobienne du MGD est :


 ∂f1 ∂f1 
∂q1
··· ∂qn
J(q) =  ... .. 
 ..
. . 
∂fn ∂fn
∂q1
··· ∂qn

Il s’avère que l’application f est biunivoque dans un domaine restreint de Q, si


dans ce domaine le déterminant de la matrice J garde un signe constant, ce qui permet
une description exhaustive de l’espace opérationnel de travail du manipulateur.
Le domaine articulaire Q admissible est en général un hyperparallélépipède dé-
fini par :

qi,min ≤ qi ≤ qi,max , i = 1, · · · , n

où qi,min et qi,max représentent les butées présentes au niveau de l’articulation i.

Prof M. BENBRAHIM M2SI-FSDM


46 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

L’équation detJ(q) = 0 définit une partition de l’espace articulaire Q en m do-


maines disjoints Ai , i = 1, · · · , m, appelés aspects. Ainsi un aspect est défini par la
relation :

∀q ∈ Ai , sgn(detJ(q)) = constant

avec les propriétés suivantes :

Ai PAj = ∅, ∀i, j = 1, · · · , m
et m
/
Q= Ai
i=1

Remarque : Les configurations pour lesquelles detJ(q) = 0 sont appelées confi-


gurations singulières, ou singularités, du mécanisme.
Définissons le sous-domaine, noté Xi , du domaine opérationnel X des points q
de Ai images par l’application f, soit :

Xi = Im(Ai )

En général, les domaines Xi ne sont pas disjoints, contrairement aux domaines


Ai . L’espace opérationnel X correspond alors à l’union des m images d’aspects, soit :

m
/
X= Im(Ai )
i=1

Pour un point q ∈ Ai , le manipulateur est dit dans la configuration, ou la posture,


numéro i. Par exemple, soit le point x ∈ Xi PXj PXk , alors ce point est l’image d’un
point de Ai , d’un point de Aj et d’un point de Ak , ce qui signifie que ce point peut être
atteint dans les postures i, j et k.
Cette description permet de résoudre le problème du transfert dans une posture
donnée du manipulateur d’un point x1 vers un point x2 . Notamment, on peut se poser la
question de savoir si les deux points peuvent être ralliés par une trajectoire quelconque,
par exemple rectiligne.

3.4.5 Repères outils et atelier

Soit a TEd la matrice de transformation homogène représentant la situation désirée


du repère outil (ou effecteur) RE par rapport au repère atelier Ra . Dans le cas général,
on peut exprimer a TEd sous la forme :

a
TEd = Z ×0 Tn (q) × E
avec
— Z est la matrice de transformation définissant la situation du robot (repère R0 )
dans le repère atelier,

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.5 A PPLICATION AU ROBOT M ELFA RV-1A 47

— 0 Tn est la matrice de transformation du repère terminal Rn dans le repère R0 ,


fonction du vecteur des variables articulaires q,
— E est la matrice de transformation définissant le repère outil RE dans le repère
terminal Rn
Lorsque n ≥ 6, on peut écrire la relation suivante en regroupant dans le membre
de droite tous les termes connus :

0
Tn (q) = Z −1 ×a TEd × E−1

Lorsque n < 6 , l’espace opérationnel du robot est de dimension inférieure à six.


Il n’est pas possible de faire coïncider le repère outil RE avec un repère RE d
décrivant
la tâche sauf lorsque les repères RE et RE sont conditionnés de façon bien particu-
d

lière pour s’adapter au nombre insuffisant de degrés de liberté. Pratiquement, au lieu


d’amener le repère RE sur le repère RE d
, on cherchera à faire coïncider entre eux des
éléments géométriques liés à ces repères (points, droites).
Remarques :
— Lorsqu’un robot possède plus de six degrés de liberté, le système à résoudre
contient plus d’inconnues que de paramètres décrivant la tâche : il manque (n-
6) relations. Deux stratégies sont possibles :
1. la première consiste à fixer (n-6) articulations. On se ramène alors au pro-
blème à six degrés de liberté. Le choix de ces articulations est dicté par les
spécifications de la tâche et par la morphologie du robot. On peut ensuite
reconfigurer le robot autour des valeurs obtenues en vue de satisfaire des
critères d’optimisation supplémentaires.
2. la deuxième stratégie consiste à introduire (n-6) relations supplémentaires
décrivant la redondance.
— Lorsque le robot possède moins de six degrés de liberté, il ne peut pas donner
à son organe terminal n’importe quelles positions et orientations. Il n’est pas
possible d’amener le repère terminal RE sur un autre repère RE d
désiré sauf si
certains éléments de TE sont imposés de façon à compenser le nombre insuf-
a d

fisant de degrés de liberté. Sinon, on est amené à réduire le nombre d’équations


en ne considérant que certains éléments géométriques liés aux repèresRE et
RE d
.

3.5 Application au Robot Melfa RV-1A

3.5.1 Données techniques

Le robot Mitsubishi Melfa RV-1V (Figure 3.15 est un robot série manipulateur
compact adapté aux applications de manutention et d’implantation dans des espaces
plus restreints. C’est un robot six axes (Figure 3.16) dont les dimension et les rayons
d’actions sont données dans la figure 3.17 et les spécifications standards de ce robot
sont données dans le tableau (Tableau 3.18).

Prof M. BENBRAHIM M2SI-FSDM


48 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

F IGURE 3.15 – Robot Mitsubishi Melfa RV-1A

F IGURE 3.16 – Axes du robot Mitsubishi Melfa RV-1A

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.5 A PPLICATION MGD-MGI 49

F IGURE 3.17 – Dimensions du robot Mitsubishi Melfa RV-1A

Prof M. BENBRAHIM M2SI-FSDM


50 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

F IGURE 3.18 – Spécifications standards du robot Mitsubishi Melfa RV-1A

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.5 A PPLICATION MGD-MGI 51

3.5.2 Calcul du MGD

Dans cette section, on va appliquer les étapes présentées dans la section MGD.
Il est clair que le type du robot est 6R. En effet, il suffit de voir les spécifications
standards du robots pour avoir tout les détails concernant les articulations.

F IGURE 3.19 – Placement des repères pour le robot Mitsubishi Melfa RV-1A

L’étape principale dans la procédure de calcul du MGD est le placement des


repères qui nous donne la figure 3.19. Cette figure nous donne dans premier lieu le
schéma cinématique du robot pour une configuration donnée. De plus, le placement
des repères a été obtenu en suivant les étapes suivantes :
— D’abord, les axes zj avec j = 1, · · · , 6 sont portés par les axes des liaison
rotoïdes.
— L’axe x1 est la perpendiculaire commune aux axes z1 et z2 et puisque ces deux
axes sont concourants alors x1 passe par le point d’intersection qui est l’origine
du repère R1 .
— L’axe x2 est la perpendiculaire commune aux axes z2 et z3 et orienté de z2 vers
z3 . Puisque ces deux axes sont parallèles alors il y a une infinité de perpendicu-
laires communes. Dans ce cas, on choisit O2 tel que r2 = 0. Ainsi, l’origine O2
est confondu avec O1 et pour plus de simplicité x1 et x2 sont pris colinéaires.
— L’axe x3 est la perpendiculaire commune aux axes z3 et z4 et puisque ces deux
axes sont concourants alors x3 passe par le point d’intersection qui est l’origine
du repère R3 . Puisque z3 et z2 sont parallèles alors x3 est choisi colinéaire avec
x2 .
— L’axe x4 est la perpendiculaire commune aux axes z4 et z5 et puisque ces deux
axes sont concourants alors x4 passe par le point d’intersection qui est l’origine
du repère R4 .

Prof M. BENBRAHIM M2SI-FSDM


52 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

TABLE 3.1 – Paramètres géométriques du robot Mitsubishi Melfa RV-1A

j σj αj (rad) dj (m) θj (rad) rj (m)


1 0 0 0 θ1 0
2 0 π
2
0 θ2 0
3 0 0 D3 = 0, 25 θ3 0
4 0 − π2 0 θ4 RL4 = 0, 16
5 0 π
2
0 θ5 0
6 0 − π2 0 θ6 0

— L’axe x5 est la perpendiculaire commune aux axes z5 et z6 et puisque ces deux


axes sont concourants alors x5 passe par le point d’intersection qui est l’origine
du repère R5 . Puisque les axes z4 et z6 se trouvent dans le même plan, alors O4
et O5 sont confondus. Et pour plus de simplicité, on prend x5 confondu avec
x4 .
— Le repère R0 est choisi confondu avec R1 pour q1 = 0.
— L’origine de R6 est choisi tel que x5 et x6 soient colinéaires. Et pour plus de
simplicité, sont tel que r6 = 0. Alors O5 et O5 sont confondus.
Une fois le placement des repères est terminé, on passe à la détermination des
paramètres géométriques, ou paramètres DH-modifiés, du robot (voir tableau 3.1).
Il faut noter que les valeurs de θj sont prises selon les spécifications standards du
robot (Par exemple, −150◦ < θj < 150◦ ).
Pour les angles αj , on doit prendre en considération que le sens trigonométrique
est positif dans le sens inverse des aiguilles d’une montre.
La valeur de D3 est la distance entre les axes z3 et z4 . A partir de la figure 3.17,
on tire que D3 = 250mm.
La valeur de RL4 est la distance entre les axes x3 et x4 le long de z4 . A partir de
la figure 3.17, on tire que RL4 = 160mm.
Une fois on a calculé les paramètres géométriques du robot, on passe au calcul
des matrices de passage j−1 Tj . Ce qui donne :
 
cos θ1 − sin θ1 0 0
 sin θ1 cos θ1 0 0 
0
T1 = 
 0

0 1 0 
0 0 0 1
 
cos θ2 − sin θ2 0 0
 0 0 −1 0 
1
T2 = 
 sin θ2 cos θ2

0 0 
0 0 0 1
 
cos θ3 − sin θ3 0 D3
 sin θ3 cos θ3 0 0 
2
T3 = 
 0

0 1 0 
0 0 0 1

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.5 A PPLICATION MGD-MGI 53

 
cos θ4 − sin θ4 0 0
 0 0 −1 RL4 
3
T4 = 
 − sin θ4 − cos θ4 0

0 
0 0 0 1

 
cos θ5 − sin θ5 0 0
 0 0 −1 0 
4
T5 = 
 sin θ5 cos θ5

0 0 
0 0 0 1

 
cos θ6 − sin θ6 0 0
 0 0 1 0 
5
T6 = 
 − sin θ6 − cos θ6

0 0 
0 0 0 1

Règle pratique :les notations étant généralement lourdes, on adopte un certain


nombre de conventions. On note, pour i et j compris entre 1 et n :

Si = sin qi
Ci = cos qi
Si+j = sin(qi + qj )
Ci+j = cos(qi + qj )

Pour avoir le MGD, il suffit de calculer le produit :

0
T6 (θ1 , · · · , θ6 ) =0 T1 (θ1 ) ×1 T2 (θ2 ) × · · · ×5 T6 (θ6 )

Si U0 la situation du repère R6 (lié à l’organe terminal) est décrite par :

 
Sx Nx Ax Px
 S y Ny Ay P y 
U0 =  
 S z Nz Az P z 
0 0 0 1

alors

U0 (θ1 , · · · , θ6 ) =0 T1 (θ1 ) ×1 T2 (θ2 ) × · · · ×5 T6 (θ6 )

Pour faire le calcul, on fait généralement recours à un logiciel qui fait le calcul
symbolique par exemple Scilab, Maple ou Matlab via sa bibliothèque symbolic. Ce qui

Prof M. BENBRAHIM M2SI-FSDM


54 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

nous donne :

Sx = C1 (C23 (C4 C5 C6 − S4 S6 ) − S23 S5 C6 ) − S1 (S4 C5 C6 + C4 S6 )


Sy = S1 (C23 (C4 C5 C6 − S4 S6 ) − S23 S5 C6 ) + C1 (S4 C5 C6 + C4 S6 )
Sz = S23 (C4 C5 C6 − S4 S6 ) + C23 S5 C6
Nx = C1 (−C23 (C4 C5 S6 + S4 C6 ) + S23 S5 S6 ) + S1 (S4 C5 S6 − C4 C6 )
Ny = S1 (−C23 (C4 C5 S6 + S4 C6 ) + S23 S5 S6 ) − C1 (S4 C5 S6 − C4 C6 )
Nz = −S23 (C4 C5 S6 + S4 C6 ) − C23 S5 S6
Ax = −C1 (C23 C4 S5 + S23 C5 ) + S1 S4 S5
Ay = −S1 (C23 C4 S5 + S23 C5 ) − C1 S4 S5
Az = −S23 C4 S5 + C23 C5
Px = −C1 (S23 RL4 − C2 D3 )
Py = −S1 (S23 RL4 − C2 D3 )
Pz = C23 RL4 + S2 D3

On peut calculer U0 pour n’importe quelle configuration du robot. par exemple,


pour θ1 = · · · = θ6 = 0rad, on obtient :
 
1 0 0 0, 25
 0 1 0 0 
U0 (0, 0, 0, 0, 0, 0) = 
 0

0 1 0, 16 
0 0 0 1

Ce résultat peut être vérifier en observant le schéma cinématique ; On constate


que pour passer de R0 à R6 , il suffit de faire deux translations selon x0 et z0 successive-
ment. Pour faire des simulations, on peut utiliser la bibliothèque Robotics de réalisées
par Peter CORKE.

3.5.3 Calcul du MGI


Dans cette section, on va utiliser la méthode de Paul pour le calcul du MGI du
robot Mitsubishi Melfa RV-1A. Ce robot peut être subdivisé en deux parties : porteur
et poignet (Voir figure 3.20).
On appelle P le point d’intersection des axes concourants des trois dernières ar-
ticulations. La position du point P est fonction des variables θ1 , θ2 et θ3 . Aussi, ce type
de structure permet de décomposer le problème du calcul des 6 variables articulaires
en 2 problèmes :

1. L’un, appelé problème de position, est fonction de θ1 , θ2 et θ3 , il permet de


déterminer ces paramètres.
2. L’autre, appelé problème d’orientation, est fonction de θ4 , θ5 et θ6 , il permet de
déterminer ces paramètres.

A- Equation de position
Puisque O4 , O5 et O6 sont confondus, on a :

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.5 A PPLICATION MGD-MGI 55

F IGURE 3.20 – Schéma du robot sous forme Porteur et Poignet

   
Px 0
 Py  0  0 
  1 2 3  
 Pz  = T1 (θ1 ) × T2 (θ2 ) × T3 (θ3 ) × T4 (θ4 ) ×  0 
1 1

Ainsi,
   
Px C1 (RL4 S23 + D3 C2 )
 Py   S1 (RL4 S23 + D3 C2 ) 
   
 Pz  =  RL4 C23 − D3 S2 
1 1

On obtient les valeurs des variables θ1 , θ2 et θ3 en pré-multipliant successive-


ment cette équation par 1 T0 et 2 T1 , ceci afin d’isoler et de déterminer d’une manière
séquentielle les variables articulaires.
— Pré-multiplication par la matrice 1 T0 , on obtient :
   
Px 0
 Py  1  0 
1
T0 (θ1 ) × 
 Pz 
 = T2 (θ2 ) ×2 T3 (θ3 ) ×3 T4 (θ4 ) × 


0 
1 1

or,
   
0 RL4 S23 + D3 C2
 0   0 
1
T2 (θ2 ) ×2 T3 (θ3 ) ×3 T4 (θ4 ) ×   
 0  =  RL4 C23 − D3 S2


1 1
Il en résulte les équations suivantes :

Prof M. BENBRAHIM M2SI-FSDM


56 M ODÉLISATION GÉOMÉTRIQUE Chap. 3


 C1 Px + S1 Py = RL4 S23 + D3 C2
−S1 Px + C1 Py = 0

Pz = RL4 C23 − D3 S2
La deuxième équation permet de déduire la valeur θ1 . En effet, on a :

S1 Py Py
= ⇒ θ1 = arctan( )
C1 Px Px
— Pré-multiplication par la matrice 2 T1 , on obtient :
   
Px 0
 Py  2  0 
2
T1 (θ2 ) ×1 T0 (θ1 ) × 
 Pz 
 = T3 (θ3 ) ×3 T4 (θ4 ) × 


0 
1 1
On obtient alors :
   
Px C2 (C1 Px + S1 Py ) − S2 Pz
 P   −S 2 (C1 Px + S1 Py ) − C2 Pz

2
T1 (θ2 ) ×1 T0 (θ1 ) ×  y  
 Pz  = 


−S1 Px + C1 Py
1 1
Par ailleurs, on a :
   
0 RL4 S3 + D3
  
0   −RL4 C3 
2
T3 (θ3 ) ×3 T4 (θ4 ) × 
 0 =


0
1 1
soit b1 = C1 Px + S1 Py , il en résulte les équations suivantes :
3
RL4 S3 = C2 b1 − S1 Pz − D3
RL4 C3 = S2 b1 + C1 Pz
En sommant ces deux équations, préalablement mises au carré, on obtint l’équa-
tion suivante :

RL24 = b21 + Pz2 + D32 − 2D3 b1 C2 + 2D3 Pz S2


soit l’expression :

XS2 + Y C2 = Z
avec X = 2D3 Pz , Y = 2D3 b1 C2 et Z = RL24 − b21 − Pz2 − D32 ; On en déduit
la valeur suivante du paramètre θ2 :
4 √
2 2 −Z 2
S2 = XZ+%YX√2X+Y+Y2
2 2 −Z 2
C2 = Y Z+%XX 2X+Y+Y
2

avec * = ±1.
Sachant que : θ2 = arctan( CS22 ), on en déduit la valeur du paramètre θ3 , soit :

b1 C2 − Pz S2 − D3
θ3 = arctan( )
b 1 S2 + Pz C 2

Prof M. BENBRAHIM M2SI-FSDM


Sect. 3.5 A PPLICATION MGD-MGI 57

B- Equation d’orientation
Une fois obtenus les paramètres θ1 , θ2 et θ3 , le calcul des paramètres θ4 , θ5 et θ6 ,
se fait à partir de la relation :

3
+ ,
R6 (θ4 , θ5 , θ6 ) = F G H

avec + , + ,
F G H =3 R0 (θ1 , θ2 , θ3 ) × S N A

Calcul de 3 R0 :
On a :
3
R0 = 3 R2 × 2 R1 × 1 R0
d’où :

 
C 3 C 2 C 1 − S 3 S2 C 1 C3 C2 S1 − S3 S2 S1 −C3 S2 − S3 C2
3
R0 =  −S3 C2 C1 − C3 S2 C1 −S3 C2 S1 − C3 S2 S1 S3 S2 − C3 C2 
−S1 C1 0

+ , + ,
Calcul de la matrice F G H = 3 R0 × S N A :
On a :
 
C23 (C1 Sx + S1 Sy ) − S23 Sz
F =  −S23 (C1 Sx + S1 Sy ) − C23 Sz 
−S1 Sx + C1 Sy
 
C23 (C1 Nx + S1 Ny ) − S23 Nz
G =  −S23 (C1 Nx + S1 Ny ) − C23 Nz 
−S1 Nx + C1 Ny
 
C23 (C1 Ax + S1 Ay ) − S23 Az
H =  −S23 (C1 Ax + S1 Ay ) − C23 Az 
−S1 Ax + C1 Ay

En calculant :

4
+ ,
R3 ×3 R0 (θ1 , θ2 , θ3 ) =4 R3 × F G H

Il en résulte le système suivant :

   
C 4 F x + S4 F z C 4 G x + S4 G z C 4 Hx + S4 Hz C5 C6 −C5 S6 S5
 −S4 Fx + C4 Fz −S4 Gx + C4 Gz −S4 Hx + C4 Hz  =  S6 C6 0 
−Fy −Gy −Hz −S5 S6 S5 S6 C5

d’où :

Prof M. BENBRAHIM M2SI-FSDM


58 M ODÉLISATION GÉOMÉTRIQUE Chap. 3

S4 Hz Hz
= ⇒ θ4 = arctan( )[π]
C4 Hx Hx
3
C 4 H x + S 4 H z = S5 C 4 Hx + S4 Hz
⇒ θ5 = arctan( )
−Hy = C5 −Hy
3
−S4 Fx + C4 Fz = S6 −S4 Fx + C4 Fz
⇒ θ6 = arctan( )
−S4 Gx + C4 Gz = C6 −S4 Gx + C4 Gz

C- Nombre de solutions du MGI :


Il existe huit solutions, dans le cas général, correspondant au MGI du robot Mit-
subishi Melfa RV-1A. Notons que certaines configurations dites singulières du robot
occasionnent un nombre infini de solution. C’est par exemple, le cas de la configu-
ration initiale (θ1 = · · · = θ6 = 0)du robot où les arguments de la fonction arctan
utilisés pour déterminer le paramètre θ4 sont nuls, ce qui rend ce paramètre indéter-
miné. Le choix de la valeur de ce paramètre étant libre, on assigne fréquemment la
valeur courante θ4 du robot. Notons que ce choix fixe lors la valeur du paramètre θ6 .
Notons aussi que certaines solutions peuvent correspondre à des configurations
non accessibles du fait de contraintes (limitations angulaires) au niveau articulaires.

3.6 Conclusion
Dans ce chapitre, on a présenté des méthodes pour l’obtention du MGD et du
MGI des robots manipulateurs ayant une structure de chaîne cinématique simple et
des liaison rotoïde et/ou prismatiques. Ces modèles sont nécessaires pour effectuer la
commande des mouvements de l’organe terminal du robot.
L’obtention du MGD est basée sur le calcul de la matrices de passage homogène
entre un repère lié à la base et un repère lié à l’organe terminal.
On a aussi abordé également, dans ce chapitre, le problème délicat du MGI. En
effet,ce problème qui consiste à inverser une fonction non linéaire et multivariables
pose des problèmes d’existence et d’unicité.
Le chapitre suivant sera consacré à la génération des trajectoires.

Prof M. BENBRAHIM M2SI-FSDM


CHAPITRE 4

La génération des trajectoires

La tâche de déplacement d’un robot est spécifiée en définissant un chemin que le


robot doit suivre. Un chemin est une séquence de points définis soit dans l’espace des
tâches (espace opérationnel) (afin de situer l’organe terminal), soit dans l’espace arti-
culaire (espace des configurations) du robot (afin d’indiquer les valeurs des paramètres
des articulations).
Dans ce chapitre, on va traité le problème de la génération d’une trajectoire dési-
rée. Pour des déplacements dans l’espace libre de l’environnement, on considère deux
cas :
— le robot se déplace de point à point et ces points sont relativement éloignés les
uns des autres ;
— le robot doit suivre une série de points relativement rapprochés afin de former
une trajectoire continue.

4.1 Généralités

4.1.1 Définition
La phase de génération de trajectoires se situe entre les phases d’apprentissage
(ou programmation) et d’exécution du mouvement (figure 4.1). Les points programmés
ou appris pour planifier ces trajectoires ou mouvements peuvent être donnés :
— soit dans l’espace articulaire (figure 4.2) : q(T i)
— soit dans l’espace cartésien (figure 4.3) : x(T i)

F IGURE 4.1 – Génération de trajectoire

Prof M. BENBRAHIM 59 M2SI-FSDM


60 G ÉNÉRATION DES TRAJECTOIRES Chap. 4

F IGURE 4.2 – Génération du mouvement dans l’espace articulaire

F IGURE 4.3 – Génération du mouvement dans l’espace opérationnel

Dans le schéma de la figure 4.1, on a :


— q(Ti ) ou x(Ti ) sont les points appris ou programmés par l’opérateur pour spé-
cifier le mouvement désiré pour le robot. Typiquement, les intervalles de temps
∆T = Ti+1 − Ti * 10 ms.
— q(ti ) sont les valeurs de consignes (en coordonnées articulaires) transmises au
régulateur. Ici, les intervalles de temps ∆t = ti+1 − tT i sont de l’ordre de la
ms.
Il est donc nécessaire d’interpoler d’une manière ou d’une autre entre les points
qui ont été appris ou programmés. On distingue différents types de mouvements sui-
vant les applications (autrement dit tâches) :

1. Trajectoire point à point (P.T.P.) : pour la manutention (pick and place), pour
l’assemblage, la soudure par points, etc.
2. Trajectoire opérationnelle : identique à P.T.P. + possibilité d’éviter des obs-
tacles.
3. Mouvement opérationnel : la vitesse doit être contrôlée pour les opérations de
soudure en continu, peinture, dépose de joints, etc

4.1.2 Planification dans l’espace articulaire


Si les points programmés ou appris q(Ti ) sont donnés dans l’espace articulaire Q,
l’interpolation peut être tout naturellement calculée dans ce même espace avec l’avan-

Prof M. BENBRAHIM M2SI-FSDM


Sect. 4.1 G ÉNÉRALITÉS 61

tage et l’inconvénient suivants :


— Avantage : cet espace Q est celui utilisé normalement par les algorithmes de
régulation (qui utilisent les informations proprioceptives). La génération de
trajectoire peut donc être réalisée sous la forme d’un algorithme simple, cal-
culable en temps réel, le mouvement n’est pas affecté pas le passage sur les
configurations singulières,les contraintes de vitesses et de couples maximaux
sont connues avec précision puisqu’elles correspondent aux limites physiques
des actionneurs.
— Inconvénient : la planification des q(Ti ) ne se situe pas dans l’espace naturel de
l’opérateur qui ne dispose d’aucun moyen de prévoir ce que sera la trajectoire
et par conséquent, il y a risque d’avoir des collisions particulièrement dans les
environnements encombrants.
L’algorithme de génération peut se schématiser comme suit :
— t = to
— attendre l’intervalle de régulation suivant ( 1 msec)
— t = t + ∆t
— calcul de q(t)
— si t = tf inal alors fin sinon aller à 2.
Il faut néanmoins s’assurer que les contraintes suivantes soient observées pour
calculer les q(ti ) :
— l’algorithme ne peut pas être itératif car q(ti ) doit être disponible à l’instant ti ,
— les fonctions q(t), q̇(t) et q̈(t) doivent être continues pour éviter des sauts trop
importants des valeurs de consignes,
— les valeurs q̇(ti ) et q̈(ti ) doivent tenir compte des limitations des actionneurs et
des chaînes de transmissions,
— il faut éviter que l’interpolation ne donne lieu à des déviations trop importantes
dans l’espace articulaire.

4.1.3 Planification dans l’espace opérationnel


La génération de mouvement dans l’espace opérationnel permet de contrôler la
géométrie de la trajectoire (mouvement rectiligne par exemple). Par contre :
— elle implique la transformation en coordonnées articulaires de chaque point de
la trajectoire,
— elle peut être mise en échec lorsque la trajectoire calculée passe par une position
singulière,
— elle peut être mise en échec chaque fois que les points de la trajectoire en-
gendrée ne sont pas dans le volume accessible du robot ou chaque fois que la
trajectoire impose une reconfiguration du mécanisme (changement d’aspect en
cours de trajectoire).
Pour la planification de la trajéctoire dans l’espace opérationnel, deux approches
sont possibles et diffèrent suivant l’espace où s’effectue l’interpolation :

Interpolation et régulation cartésienne : on utilise directement les xi selon une


boucle de réguation classique chose qui permet d’avoir une précision de suivi.
Cependant, la transformation x(ti ) ↔ q(ti ) est non univoque et généralement
difficile à réaliser en temps réel. En outre, les limitations des actionneurs ne
sont pas prises en compte au cours de la génération de la trajectoire. Comme

Prof M. BENBRAHIM M2SI-FSDM


62 G ÉNÉRATION DES TRAJECTOIRES Chap. 4

exemple de ces méthodes : méthode de Paul.


Interpolation et régulation articulaire : On effectue d’abord les transformations
x(Ti ) ↔ q(Ti ), et ensuite on interpole par polynômes de degrés peu élevés
pour obtenir les consignes q(ti ). Ce qui présente l’avantage de faire un calcul
en temps réel et de prendre en compte les limitations des actionneurs. Cepen-
dant, il y a le risque d’imprécision du suivi sur les tronçons interpolés. Comme
exemple de ces méthodes celle de Taylor dite bounded deviation - joint path.

4.2 Trajectoires planifiées dans l’espace articulaire

4.2.1 Trajectoires sans contraintes (mouvement P.T.P)

La loi généralement utilisée pour chacun des axes du robot est du type bang-
bang (4.4), ce qui correspond à la solution en temps minimum pour un déplacement
δq donné. Pour tenir compte si nécessaire, des limitations en vitesse, on introduit une
phase de palier en vitesse (4.5). Cette loi présente pour inconvénient le fait d’introduire
des discontinuités importantes en accélération (JERK) provoquant des oscillations du
régulateur qui se manifestent par des vibrations du robot.

F IGURE 4.4 – Loi BANG-BANG

F IGURE 4.5 – Loi BANG-BANG avec palier de vitesse

D’autres lois, dérivées de cette loi BANG-BANG, sont proposées pour diminuer
le JERK sans pour autant allonger outre mesure le temps d’exécution du mouvement.
Les figures 4.6 et 4.7 donnent quelques exemples.

Prof M. BENBRAHIM M2SI-FSDM


Sect. 4.2 T.P. E SPACE ARTICULAIRE 63

F IGURE 4.6 – Lois alternatives à la loi Bang-Bang (1)

F IGURE 4.7 – Lois alternatives à la loi Bang-Bang (2)

Prof M. BENBRAHIM M2SI-FSDM


64 G ÉNÉRATION DES TRAJECTOIRES Chap. 4

4.2.2 Coordination des articulations


Le temps de parcours de chaque articulation prise isolément est une fonction
de la distance a parcourir δq et des contraintes cinématiques. Comme ces éléments
peuvent varier d’une articulation à l’autre, on est confronté au problème de coordina-
tion entre les articulations pour que celles-ci finissent leur mouvement au même ins-
tant. Pour cela, on effectue la synchronisation des mouvements articulaires sur l’axe
nécessitant la durée de parcours la plus longue pour le déplacement qui lui est imparti.
Cet axe sera dit contraignant et il existe deux méthodes de synchronisation :

Méthode proportionnelle sur l’axe contraignant : Pour assurer la synchronisa-


tion de toutes les articulations, leurs lois de vitesse sont obtenues par homo-
thétie de la loi de vitesse de l’axe contraignant. La relation de proportionnalité
pour toute articulation i différente de l’articulation contraignante j est la sui-
vante (figure 4.8) :

∀t ∈ [0, T ] : q̇i (t) = λi q̇j (t) (4.1)


kv
avec λi constant, et le rapport τj = kaj qui correspond à la durée du temps de
j
montée (ou descente) devenant commun à tous les axes. Dans les diagrammes
(q̇, t), les aires comprises sous les trapèzes correspondent aux déplacements q̇i .
En synchronisant les axes, il faut veiller à ne pas changer les valeurs de ces
déplacements : on a donc l’égalité des aires suivante :
T i − τi kv
(Ti − τi )kvi = λi (Tj − τj )kvj ) ⇒ λi = × i
T j − τj kvj

F IGURE 4.8 – Synchronisation suivant la méthode proportionnelle sur l’axe contrai-


gant.

Les contraintes cinématiques de vitesse et d’accélération doivent être respec-


tées pour les nouvelles lois. Elles doivent donc vérifier :

λi kv j ≤ kvi ; λi kaj ≤ k ai

Prof M. BENBRAHIM M2SI-FSDM


Sect. 4.2 T.P. E SPACE ARTICULAIRE 65

F IGURE 4.9 – Illustration des dépassement en vitesse et accélération

Si l’une de ces deux relations n’est pas vérifiée, il y aura un dépassement en


vitesse et/ou en accélération de la loi homothétique. Il est donc nécessaire d’al-
longer le temps de parcours de la loi considérée d’une marge δT : l’articulation
i devient l’articulation contraignante et on est amené à recommencer la deter-
mination des rapports d’homothétie pour les autres articulations (notes λ#i ).
Méthode proportionnelle : Cette méthode permet d’effectuer la synchronisation
des articulations quelle que soit la trajectoire considérée. Cette coordination est
réalisée sans introduction de marge de temps sur l’articulation contraignante
tout en respectant les contraintes cinématiques imposées.
Elle consiste à choisir pour chaque articulation une loi de déplacement simi-
laire à sa loi optimale propre, mais étalée dans le temps pour avoir la même
durée que l’axe contraignant. Malheureusement pour cette méthode, les ins-
tants de commutation τi restent différents pour chaque articulation.Il n’y a plus
de problème de dépassement des limites kv et ka car :

T i − τi
(Ti − τi )kvi = λi (Tj − τi )kvi ) ⇒ λi = ≤1
T j − τi
mais il n’est plus possible de déduire les valeurs de consignes (en position qi et
vitesses q̇i ) des axes synchronisés par une simple proportionnalité calculée sur
les valeurs de consignes de l’axe contraignant.

4.2.3 Trajectoire contrainte (points de passage intermédiaires)


Ce type de trajectoire est contraint par des configurations intermédiaires impo-
sées. Cela peut être le cas si la tâche du manipulateur est définie de manière à éviter
des obstacles et/ou pour des opérations de pick and place simples si on veille à éloi-
gner/approcher l’objet correctement des sites de prise et de dépose. Dans ce dernier
cas, il suffira de spécifier une position intermédiaire sur la normale à la surface de pose

Prof M. BENBRAHIM M2SI-FSDM


66 G ÉNÉRATION DES TRAJECTOIRES Chap. 4

F IGURE 4.10 – Illustration de la méthode proportionnelle

qui passe par le point de prise : en imposant à la pince de passer par cette position inter-
médiaire, on obtiendra un mouvement admissible pour le départ (lift-off). On fera de
même pour la phase d’approche (set-down) nécessaire à la dépose de l’objet manipulé.
De plus, en imposant les temps de parcours relatifs aux phases de lift-off et set-down,
il sera possible de contrôler la vitesse du manipulateur pour ces opérations délicates.
Considérons le cas suivant : On exige la continuité en vitesse et accélération aux
points intermédiaires de lift-off et set-down (figure 4.11).

F IGURE 4.11 – Cas d’un lift-off et d’un set-down

Les durées (t2 −t1 ) et (t4 −t3 ) sont également imposées, tandis que la durée (t3 −
t2 ) pourra être optimisée compte tenu des limitations en vitesse kv et accélérations ka :
on choisira pour tous les axes, une même durée dictée par l’articulation contraignante.
Le tableau suivant résume le nombre de contraintes imposées aux différents points :

Point 1 (initial) 2 (lift-off) 3 (set-down) 4 (final)


position imposée imposée imposée imposée
vitesse imposée imposée
accélération imposée imposée

Il nous faut donc la liberté de choisir 8 paramètres pour pouvoir satisfaire ces

Prof M. BENBRAHIM M2SI-FSDM


Sect. 4.3 T RAJECTOIRES PLANIFIÉES DANS L’ ESPACE CARTÉSIEN 67

contraintes. Une solution à ce problème consiste à prendre pour chaque articulation,


un polynôme d’ordre 7 :

q(t) = a7 q 7 + a6 q 6 + · · · + a1 q 1 + a0

Ceci assure les conditions de continuité et on peut calculer les coefficients ai de


façon à satisfaire les 8 valeurs imposées (4 positions, 2 vitesses et 2 accélérations).
Cette solution présente cependant deux inconvénients majeurs :

1. elle donnera lieu à des déviations (excursions) importantes en raison de l’ordre


élevé des polynômes utilisés,
2. la recherche des extremum, nécessaire au calcul des vitesses et accélérations
maximales pour le respect des limitations kv et ka , est trop compliquée et ne
permet pas d’optimiser la durée (t3 − t2 ).

4.3 Trajectoires planifiées dans l’espace cartésien

4.3.1 Interpolation cartésienne


Réalisée dans l’espace naturel de l’opérateur, l’interpolation cartésienne rend
plus aisée la programmation de trajectoires sans collisions. Deux difficultés appa-
raissent néanmoins
1. si la notion d’interpolation (en ligne droite, en arc de cercle, etc) est évidente
en ce qui concerne la position de l’outil, il n’en est pas de même pour son
orientation ;
2. toute trajectoire comportant un tracé anguleux de l’outil nécessiterait des accé-
lérations infinies : il sera nécessaire de prévoir des raccords pour le tracé de
carrés, rectangles, etc
Pour l’interpolation, il y a plusieurs méthodes. Dans ce cours, on présente une
méthode dite de Paul qui permet de décrire l’interpolation de rotation et transitions
entre segments rectilignes.
Pour l’interpolation en rotation, la tâche est décrite au moyen de la matrice
de transformation homogène U0 qui décrit la position et l’orientation de l’outil (voir
chapitre modélisation géométrique).
Si on prend l’exemple de la figure 4.12, P représente le vecteur position (absolue)
du centre d’outil, A (A pour approach) représente le vecteur unitaire suivant l’axe
d’approche de l’outil considéré ici comme une pince, S (S pour sliding) représente
le vecteur unitaire suivant son axe de fermeture et N (N pour normal) représente le
vecteur unitaire normal à son plan.
Désignons par A0 la matrice homogène correspondant à la configuration présente
et par A1 , celle que l’on désire obtenir après un parcours de durée T. Nous supposons ici
que l’outil doit se déplacer en ligne droite. En définissant un temps normalise λ = Tt ,
le problème posé consiste à trouver une matrice homogène D(λ) telle que D(0) est la
matrice unité et A0 D(1) = A1 .

Prof M. BENBRAHIM M2SI-FSDM


68 G ÉNÉRATION DES TRAJECTOIRES Chap. 4

F IGURE 4.12 – Position/orientation de la pince

Ayant trouvé cette matrice, la configuration de l’outil sera donnée à tout instant
normalisé intermédiaire λ par le produit A0 D(λ).On décide d’interpoler le mouvement
lié à l’orientation de l’outil par le biais de 2 rotations successives (figure xx) :

1. la première d’amplitude finale ϑ, sert à réorienter l’axe d’approche a, de son


orientation initiale a0 vers son orientation finale a1 . Cette rotation s’effectuera
autour d’une direction fixe, perpendiculaire au plan (a0 , a1 ).
2. la deuxième, consiste à faire tourner l’outil autour de la direction (instantanée)
de son axe d’approche. L’amplitude finale de cette rotation vaudra ϕ.

F IGURE 4.13 – Orientation de l’outil via 2 rotations

L’evolution de la translation et des deux angles est choisie linéaire dans le temps :
l’expression de D(λ) sera donc de la forme :

D(λ) = T RAN S(P1 −P0 , λ|P1 −P0 |)(×ROT (z, ψ)×ROT (x, λϑ)×ROT (z, −ψ))×ROT (z, λϕ)

où les facteurs sont des matrices de transformations homogènes élémentaires


correspondant respectivement à :

Prof M. BENBRAHIM M2SI-FSDM


Sect. 4.3 T.P. E SPACE CARTÉSIEN 69

— une translation (sans rotation) d’amplitude λ|P1 − P0 | suivant la direction P1 −


P0 ,
— une rotation d’orientation de l’axe a de l’outil d’amplitude λϑ. et suivant une
direction v faisant un angle ψ avec s0 . Cette rotation peut se décomposer en
trois rotations élémentaires :
1. une rotation d’amplitude fixe ψ autour de l’axe a0 (qui joue le role d’axe z)
pour aligner l’axe s0 sur la direction v = a1 × a0 ,
2. la rotation d’amplitude variable λϑ. autour de v (qui joue maintenant le role
d’axe x),
3. une rotation d’amplitude −ψ, pour ramener s0 dans sa position initiale.
— une rotation de l’outil suivant son axe instantané a (axe qui, après la rotation
précédente, joue le rôle d’axe z).
On observe aisément sur la figure que la valeur constante de l’angle ψ peut se
déduire des produits scalaires : a1 .n0 et a1 .s0 . Les valeurs de ϑ et ϕ s’obtiennent en
identifiant ensuite un à un les éléments de la matrice D(1) à ceux de la matrice produit
(A0 )−1 A1 .
Lors de la transition entre segments rectilignes, pour éviter les discontinuités
de vitesse aux raccords entre segments, il faut accélérer ou décélérer le mouvement
sur une période de transition : on decide donc d’appliquer une accélération constante
aux coordonnées opérationnelles px (λ), py (λ), pz (λ), ϑ(λ) et ϕ(λ) sur un intervalle
de temps 2τ à cheval sur la transition. Si de plus la constante ψ prend des valeurs
différentes sur les deux segments AB et BC (voir figure 4.14), on interpole linéairement
entre ces deux valeurs au cours de la phase de transition.

F IGURE 4.14 – Transition entre segments rectilignes

soit x = (px (λ), py (λ), pz (λ), ϑ(λ), ϕ(λ))# , nous posons :

 
px (B) − px (A)
 py (B) − py (A) 
 
∆B = 
 pz (B) − pz (A) 

 ϑ(B) − ϑ(A) 
ϕ(B) − ϕ(A)

et

Prof M. BENBRAHIM M2SI-FSDM


70 G ÉNÉRATION DES TRAJECTOIRES Chap. 4

 
px (C) − px (B)
 py (C) − py (B) 
 
∆C = 
 pz (C) − pz (B) 

 ϑ(C) − ϑ(B) 
ϕ(C) − ϕ(B)

∆B et ∆C sont donc proportionnels aux vitesses. L’acceleration nécessaire pour


faire la transition sur l’intervalle (TB − τ, TB + τ ) vaut donc :

) *
1 ∆C ∆B
ẍ = −
2τ TC − TB TB − TA

de telle sorte que la vitesse :

) * ) *
t − (TB − τ ) ∆C t − (TB + τ ) ∆B
ẋ = −
2τ TC − TB 2τ TB − TA

5 6
évolue linéairement de la valeur ẋ(TB − τ ) = ∆B
TB −TA
à la valeur ẋ(TB + τ ) =
5 6
∆C
TC −TB
.
L’avantage de cette technique d’interpolation par segments de droites et transi-
tions est d’être progressive : on peut calculer en ligne la transition à effectuer en B,
dès que les coordonnées du point programme C sont fournies. Si aucun point C n’est
encore programmé à l’instant TB − τ , une transition est calculée de façon à arrêter le
mouvement au point B.
Il faut noter que la méthode ne prévoit pas l’optimisation du temps de parcours :
le mouvement est effectué à une vitesse constante indiquée par l’opérateur. Aucun
contrôle n’est effectué quant aux limitations articulaires kv et ka et il faut donc s’at-
tendre à des surprises lorsque l’opérateur choisit une vitesse d’exécution qui dépasse
les possibilités du robot ou lorsqu’il travaille au voisinage d’une configuration singu-
lière.

4.3.2 Interpolation articulaire

L’interpolation cartésienne coûte cher en calcul si chaque point interpolé doit être
transposé (q = f −1 (x)) dans l’espace articulaire. En outre, il est difficile de veiller aux
respects des contraintes de limitations kv et ka . D’où l’idée de ne calculer dans l’es-
pace cartésien qu’un point sur n, de les transposer dans l’espace articulaire et ensuite
d’interpoler plus fin dans cet espace pour subvenir aux besoins du régulateur.
Dans la littérature, plusieurs méthodes existent, citons : la méthode de Lin et la
méthode de Taylor.

Prof M. BENBRAHIM M2SI-FSDM


Sect. 4.4 C ONCLUSION 71

4.4 Conclusion
Dans ce chapitre, nous avons donné un aperçu général sur la génération des tra-
jectoires. Certaines parties ont été traitées avec détails alors que dans d’autres parties,
nous avons donné juste des résumés et le lecteur peut faire une recherche bibiogra-
phique en cas de besoin. Le prochain chapitre sera consacré à la programmation en
robotique.

Prof M. BENBRAHIM M2SI-FSDM


CHAPITRE 5

La programmation des robots


manipulateurs

Un robot manipulateur est une machine programmable capable d’exécuter di-


verses tâches répétitives et, en principe, d’adapter son comportement à certains aléas
et événements perturbant le fonctionnement nominal prévu. Les tâches peuvent être
de type point à point ou de type continu (suivi de courbes, suivi de surfaces). Les pre-
mières correspondent aux procédés les plus répandus dans l’industrie manufacturière
(soudage par résistance, palettisation, manutention, etc) par comparaison aux secondes
(soudage à l’arc, encollage, découpe, projection/ peinture, etc).
Dans ce chapitre, on présentera principalement deux familles de méthodes pour
programmer les robots : les méthodes par apprentissage et les méthodes hors ligne
qui se caractérisent par des durées moindres d’intervention sur site.

5.1 Généralités
Fonctionnellement, un système robotisé se décompose en trois sous ensembles
(Figure 5.1) :

1. le bras manipulateur qui agit sur l’environnement. Son état, mesuré par les
capteurs proprioceptifs, est modifié par les actionneurs ;
2. le système de commande : il comprend les cartes d’axes qui réalisent l’as-
servissement des articulations aux positions de consigne. Elles engendrent les
consignes de vitesse qui sont converties et envoyées aux variateurs pilotant les
actionneurs. Les entrées des cartes d’axes sont calculées par le générateur de
mouvement à partir des consignes articulaires (déplacement des axes du ro-
bot) ou des consignes opérationnelles (translation et rotation de l’outil). Les
systèmes de commande évolués peuvent traiter des données issues de capteurs
extéroceptifs encore appelés capteurs d’environnement et modifier en ligne le
comportement du robot.
3. le système de programmation qui réalise l’interface entre les actions spécifiées
par l’opérateur et le système de commande du robot et des périphériques de la
cellule.

Les fonctions essentielles que doit réaliser un système de programmation de ro-


bots manipulateurs sont les suivantes :

Prof M. BENBRAHIM 73 M2SI-FSDM


74 P ROGRAMMATION Chap. 5

F IGURE 5.1 – Décomposition fonctionnelle d’un système robotisé

— spécifier des mouvements correspondant à la grande diversité d’opérations que


l’on trouve en robotique. Selon la tâche, ces mouvements doivent minimiser les
temps de cycle ou satisfaire des contraintes de vitesse imposées par le procédé.
Ils peuvent être coordonnés avec les mouvements d’axes externes (position-
neurs, convoyeurs ou autres robots) ;
— synchroniser les mouvements du robot, des dispositifs périrobotiques et des
autres équipements de l’atelier ou de la cellule de production ;
— gérer les actions des outils ;
— gérer les communications entrées/sorties ;
— intégrer des informations sensorielles dans les primitives de mouvement : ces
informations proviennent le plus souvent de simples capteurs tout ou rien (dé-
tection de présence, sécurité, etc) ; elles peuvent aussi être fournies par des
capteurs plus évolués permettant de réaliser des tâches en présence d’incerti-
tudes importantes grâce à des commandes référencées capteur (commande en
effort, asservissement en distance) ;
— contrôler l’exécution des programmes ;
— communiquer avec l’opérateur via une interface appropriée.
Deux modes de programmation des trajectoires robot sont couramment utilisés :
la programmation en ligne et la programmation hors-ligne. La méthode princi-
pale de programmation en ligne est la programmation par apprentissage. Il existe deux
méthodes pour la programmation hors-ligne : la programmation par langage et la pro-
grammation graphique à partir d’un système de Conception et Fabrication Assistée par
Ordinateur (CFAO).

5.2 Méthodes d’apprentissage

5.2.1 Principe

Les méthodes de programmation par apprentissage consistent à montrer au ro-


bot ce qu’il doit faire, c’est à dire à amener l’outil sur les poses (les repères) désirées
successives représentant la tâche. Sur chaque pose, on enregistre la position et l’orien-
tation du repère lié au centre d’outil ou bien les positions articulaires correspondantes.
A l’exécution, l’enregistrement est relu.

Prof M. BENBRAHIM M2SI-FSDM


Sect. 5.2 A PPRENTISSAGE 75

Tous les robots disposent en standard d’une interface d’apprentissage et peuvent


être programmés de cette façon. On peut distinguer trois types d’interfaces : les boîtes
à boutons, les syntaxeurs et les pantins. Depuis l’origine de la robotique, l’essor de
l’informatique aidant, ces dispositifs ont considérablement évolué. Ils se sont adaptés
au type d’application : tâches point à point ou tâches continues.

5.2.2 Tâches point à point


Pour les tâches point à point, la boîte à boutons reste le moyen de programma-
tion le plus répandu. La fonction principale des premières boîtes à boutons était une
fonction géométrique puisqu’elles permettaient essentiellement de déplacer le robot à
la pose désirée selon différents modes d’interpolation :

mode articulaire : déplacements axe par axe ;


mode cartésien : translation et rotation de l’outil dans différents référentiels (réfé-
rentiel outil, référentiel atelier ou référentiel quelconque défini par l’opérateur)
comme indiqué sur la figure 5.2.

F IGURE 5.2 – Déplacement selon z

Elles possédaient aussi, selon le domaine d’utilisation du robot :


— des boutons de service pour commander les outils, gérer les points (point sui-
vant, point précédent, point de rebouclage de cycle), spécifier le mode d’inter-
polation entre deux points, modifier les vitesses, etc ;
— des boutons de sécurité : arrêt d’urgence, homme mort (gâchette de sécurité qui
force l’arrêt du robot si elle est relâchée).
Les boîtes à boutons s’appellent maintenant, selon le constructeur, boîtier d’ap-
prentissage, pupitre mobile d’apprentissage, console de programmation, pendant d’ap-
prentissage. Elles offrent des fonctionnalités de programmation qui dépassent large-
ment la seule description géométrique de la trajectoire. Elles disposent d’un écran à
partir duquel l’utilisateur dialogue avec la baie de commande et accède à différentes
fonctions via des menus déroulants, des icônes, des touches reconfigurables (Figure
5.3).
Pratiquement, chaque interaction de l’utilisateur est traduite en une instruction,
un argument ou une donnée visualisable sur l’écran. Tous les paramètres d’une instruc-
tion peuvent ainsi être tout de suite vérifiés.
Les boîtiers d’apprentissage produisent donc un programme textuel, mais de fa-
çon complètement transparente à l’utilisateur, dans le sens où il n’a pas à mémoriser

Prof M. BENBRAHIM M2SI-FSDM


76 P ROGRAMMATION Chap. 5

F IGURE 5.3 – Pendant d’apprentissage R28TB pour les robots Mitsubishi

sa syntaxe ni à éditer des instructions depuis un ordinateur.

5.2.3 Tâches continues


Pour les tâches continues, il est nécessaire de discrétiser la courbe ou la surface
considérée par un ensemble de poses. Plus les poses sont rapprochées, meilleure est
l’approximation. On peut bien entendu utiliser un boîtier d’apprentissage pour déplacer
le robot sur les poses successives et procéder à leur enregistrement. Cependant, si la
discrétisation est fine, le nombre de poses est important et la méthode est longue et
fastidieuse.
Pour des trajectoires complexes ne requérant pas une trop grande précision, on
peut mentionner deux méthodes d’apprentissage :
le guidage manuel du robot implique, sur un robot électrique, que les axes soient
désasservis et les freins électromagnétiques désactivés. Ce mode nécessite aussi
que la mécanique soit réversible et équilibrée pour être maniable par l’opéra-
teur. Il n’est pas sans danger, ni pour l’opérateur au moment des changements
de mode désasservi/ asservi, ni pour la mécanique qui, en cas de mauvais équi-
librage, tombe sous l’effet de son propre poids. A cet égard, cette méthode est
bien adaptée pour les robots de type Scara.
le pantin est une réplique du manipulateur, de même taille (bien que ce ne soit pas
une condition nécessaire) mais plus légère, qui peut être facilement manipulée
par l’opérateur. Il est non motorisé, muni seulement de codeurs sur les axes et
est connecté à la baie de commande du robot à programmer. Il se substitue au
robot lors de la programmation mais peut aussi être utilisé en mode téléopéré
(le robot suit en ligne les mouvements du pantin).
Le principe est simple : on enregistre en mémoire l’image articulaire de la tra-
jectoire réellement suivie par l’outil, monté sur le robot si l’on procède par guidage
manuel ou monté sur le pantin. La trajectoire est ensuite relue lors de l’exécution en
production avec une vitesse qui peut être différente. Selon le nombre, la longueur des
trajectoires, la période d’échantillonnage, il est nécessaire de mettre en oeuvre des
techniques de compression de données pour que la place mémoire où sont stockées les
valeurs codeurs reste de taille raisonnable. La restitution du mouvement doit être faite

Prof M. BENBRAHIM M2SI-FSDM


Sect. 5.3L A PROGRAMMATION HORS LIGNES : LANGAGES DE PROGRAMMATION 77

en temps réel et, selon la précision requise, peut impliquer des traitements particuliers.
Avec ces méthodes, on enregistre donc les mouvements que ferait l’opérateur s’il
réalisait manuellement la tâche, ce qui est une solution intéressante pour programmer
les applications complexes dans lesquelles le métier, le tour de main de l’opérateur,
peut difficilement se mettre en équations.

5.2.4 Avantages et limitation


L’avantage des techniques d’apprentissage est qu’elles sont facilement mises en
oeuvre par un personnel non qualifié. Ce qu’on leur reprochait il y a quelques années
(pas de facilités algorithmiques, pas de facilités d’édition, pas d’intégration possible de
capteurs...) est pratiquement sans objet aujourd’hui puisque, on l’a vu, elles produisent
un véritable langage qui peut être édité, optimisé, adapté... Il reste par contre deux
limitations intrinsèques :
1. le matériel, et donc la cellule de production, restent immobilisés durant toute la
phase de programmation et de mise au point ;
2. la sécurité du personnel et du matériel n’est pas assurée : l’opérateur doit res-
ter proche de l’outil, donc généralement à l’intérieur du volume de travail du
robot, les sécurités de la zone d’isolation étant inhibées durant les phases de
programmation.
Sans résoudre complètement ces problèmes, les méthodes de programmation
hors ligne (PHL) représentent une solution intéressante. Elles permettent, théorique-
ment, de ne pas immobiliser le robot lors de la préparation de la tâche. Deux approches
méthodologiques sont possibles :

1. les langages de programmation textuelle ;


2. les systèmes de programmation graphique à partir de maquettes virtuelles du
robot, de son environnement et des outils.

Le textuel amène les facilités d’édition, de structuration logique des programmes,


etc ; alors que le graphique amène les facilités de désignation des éléments des trajec-
toires, de visualisation, etc.

5.3 La programmation hors lignes : langages de pro-


grammation

5.3.1 Principe
Contrairement à la programmation par apprentissage qui fait référence à un lan-
gage gestuel, la programmation par langage est basée sur un langage textuel. L’intérêt
principal est que le pouvoir d’expression de ce langage est élevé et présente une plus
grande généralité que le langage gestuel. La programmation par langage peut être réa-
lisée directement à partir d’un terminal informatique et permet la génération de pro-
grammes avec une précision beaucoup plus importante au niveau des points de passage
de l’outil.

Prof M. BENBRAHIM M2SI-FSDM


78 P ROGRAMMATION Chap. 5

5.3.2 Niveau de programmation hors lignes


Historiquement, les langages de programmation étaient classés en quatre niveaux
indiquant l’abstraction de description de la tâche et, indirectement, caractérisant les
capacités de raisonnement et de décision mises en oeuvre (l’intelligence du robot).

Niveau articulaire : on y spécifie les déplacements dans l’espace articulaire. Les


langages de ce niveau reprennent les concepts des langages de programmation
des machines outils à commande numérique (MOCN). Ils sont intrinsèquement
limités à des cinématiques simples (robots portiques, robots Scara) puisqu’ils
imposent de raisonner dans l’espace articulaire, mais ils ne nécessitent que peu
de moyens de calcul.
Niveau effecteur : on y spécifie des déplacements dans l’espace cartésien, plus
naturel pour l’utilisateur que l’espace articulaire. Les langages de ce niveau
s’inspirent des langages de programmation traditionnels.
Niveau objet : on y spécifie des actions constituant une séquence complexe de
déplacements et d’opérations sur les objets. Ces actions doivent ensuite être
décomposées en instructions de niveau manipulation.
Niveau objectif : Il désigne l’objectif à atteindre. L’objectif est ensuite traduit en
actions intermédiaires.

Les deux derniers niveaux sont parfois regroupés en un seul niveau appelé niveau
tâche.
Suivant le niveau, les moyens de calcul, la complexité du traitement des infor-
mations fournies par les capteurs extéroceptifs et la complexité des algorithmes de pla-
nification sont donc très différents. Cette classification n’est pas très utile aujourd’hui.
Déjà, du fait que la puissance de calcul des baies de commande s’est banalisée, les
robots manipulateurs ne sont plus programmés au niveau actionneur. Il est ainsi plus
pertinent de parler de mode de programmation explicite, qui correspond aux langages
de manipulation, par opposition au mode de programmation implicite des langages de
niveau tâche, termes qui reflètent mieux l’intelligence du système robotisé.

5.3.3 Mode de programmation explicite

5.3.3.1 Principe

Avec les langages de programmation explicite, l’opérateur structure, grâce à des


instructions de base, la suite des opérations que doit réaliser le robot ainsi que ses com-
munications avec l’environnement. Ces langages, compilés ou interprétés, ressemblent
à du Basic, du Fortran, du Pascal ou du C en ce qui concerne les données et les ins-
tructions de contrôle du programme. Ils disposent en outre de données et d’instruc-
tions spécifiques adaptées à la description des mouvements en robotique. Il s’agit, par
exemple, de données du type vecteur, transformation ou repère et des opérations cor-
respondantes sur les vecteurs et les matrices. Quant aux instructions spécifiques, il
s’agit, entre autres, de l’instruction de déplacement, typiquement : MOVE < pos1 >,
où < pos1 > est une pose (un repère) de l’environnement sur laquelle on veut amener
le centre d’outil. Les déplacements du robot se décrivent donc par des transformations
entre repères (Figure 5.4).

Prof M. BENBRAHIM M2SI-FSDM


Sect. 5.3 L ANGAGES DE PROGRAMMATION 79

F IGURE 5.4 – Les différents repères d’une tâche

En l’absence de standard reconnu, chaque constructeur de robot (ou presque) a


développé son propre langage. Sans être exhaustif, on en cite quelques-uns :
— KRL pour les robots Kuka.
— VAl pour les robots Staubli et Puma.
— Melfa Basic pour les robots Mitsubishi.
— Rapid pour les robots ABB
— Karel pour les robots fanuc
On peut distinguer deux catégories de langages, les langages du type primitives
de mouvements et les langages structurés, ces derniers autorisant, dans une certaine
mesure, une modélisation des objets de l’environnement.

5.3.3.2 Exemple de langage du type primitive : VAL II

VAL II dispose de tous les opérateurs et fonctions usuels des langages de pro-
grammation. Les instructions de contrôle sont sensiblement les mêmes que celles uti-
lisées dans tout langage évolué. VAL II étant un langage créé pour la robotique, il
dispose aussi de fonctions spécifiques : création de transformations, déplacements en
interpolation articulaire et cartésienne, approche et dégagement de points, instructions
de contrôle de la configuration, ouverture/fermeture de pince, etc. On renvoie le lecteur
au manuel de référence VAL II pour une présentation complète et détaillée du langage.

5.3.3.3 Exemple de langage structuré : Melfa Basic IV

Le langage de programmation Melfa Basic IV est un langage structuré permet-


tant la programmation des robots Mitsubishi. Basé sur le langage standard BASIC, le
langage Melfa Basic IV possède, outre que les instructions habituelles du langage BA-
SIC, des instructions spécifiques aux robots comme celles concernant le contrôle des
mouvements et la commande des préhenseurs ainsi que les instructions E/S.
Il est à noter que Melfa Basic IV est un langage simple et facile à apprendre ce
le rend très utile pour les débutants en programmation robotique. Cependant, c’est un
langage qui permet la réalisation de programmes de robot extrêmement complexes.
Melfa basic IV est langage de haut niveau dans la mesure où il peut effectuer des

Prof M. BENBRAHIM M2SI-FSDM


80 P ROGRAMMATION Chap. 5

calculs complexes en toute autonomie grâce à une important bibliothèque intégrée.


Exemple de programme Melfa Basic IV :
Cet exemple montre un processus Pick and Place. Le signal d’entrée M_IN(8)
indique la présence d’une pièce à usiner à la position P1. Si une pièce à usiner est
présente, le signal d’entrée passe à 1 et le processus Pick and Place est exécuté. La
pièce à usiner est prise à la position P1 pour être déposée à la position 2. Si aucune
pièce à usiner n’est présente, le robot reste dans sa position de rappel P_SAFE (Figure
5.5). Le programme Melfa Basic IV associé est donné par le tableau 5.1.

F IGURE 5.5 – Schéma d’un processus Pick and Place

TABLE 5.1 – Programme Melfa Basic IV pour le processus de la figure 5.5

Prof M. BENBRAHIM M2SI-FSDM


Sect. 5.4 L A PROGRAMMATION GRAPHIQUE 81

5.3.3.4 Limitations

Programmer un robot de façon explicite présente un certain nombre de difficultés


et de limitations :
— l’opérateur doit apprendre un ou plusieurs langages ;
— la programmation des déplacements par spécification de repères est difficile car
elle nécessite un raisonnement géométrique dans un espace tridimensionnel.
On continue donc généralement à utiliser la boîte à boutons pour l’apprentis-
sage des poses, lorsque leur définition par le calcul n’est pas immédiate ;
— la programmation des mouvements gardés (dès que la valeur de sortie d’un
capteur dépasse un certain seuil, le robot s’arrête) ou de mouvements référen-
cés capteurs (les mouvements du robot sont asservis pour maintenir constante
la valeur de sortie d’un capteur) peut poser problème quant à l’appréciation
quantitative des données physiques ;
— les incidents doivent être prévus et des stratégies de traitement, de reprise, de
mise en sécurité du robot doivent être intégrées dans le programme ;
— la programmation n’est pas totalement hors ligne : le robot est utilisé durant la
phase d’apprentissage des points de la trajectoire et en phase de mise au point
du programme.

5.3.4 Programmation implicite


Avec une programmation implicite, l’opérateur ne définit pas la suite explicite
des opérations du robot, mais il décrit simplement les grandes étapes de la tâche à
accomplir avec des ordres tels que prendre l’objet A et le mettre dans la boîte B,
par exemple. A partir de cette description, le système, encore appelé planificateur de
tâches, est chargé de déterminer l’ensemble des opérations à réaliser, de trouver leur sé-
quencement en tenant compte du fait qu’elles ne sont généralement pas indépendantes,
d’allouer les ressources et de contrôler l’exécution du programme.
L’avantage de ce mode de programmation est qu’il est accessible à un non-
informaticien et qu’il ne demande pas un expert du domaine puisque, théoriquement,
le planificateur possède déjà cette expertise.

5.4 La programmation graphique


Cette méthode de programmation est une méthode plus pratique pour program-
mer des trajectoires robot sur les pièces en formes complexes. Les logiciels CFAO
actuels permettent de représenter et de modéliser les robots, ainsi que l’environnement.

5.4.1 CAO et robotique


Les systèmes de conception et fabrication assistées par ordinateur (CFAO) sont
maintenant bien introduits dans le monde industriel. Depuis le début des années 80, les
roboticiens ont compris l’apport qu’ils pouvaient attendre des bases de données géo-
métriques tridimensionnelles et des facilités de représentation graphique qu’offraient
ces systèmes. Les premières applications de CAO-robotique ont ainsi vu le jour, tout

Prof M. BENBRAHIM M2SI-FSDM


82 P ROGRAMMATION Chap. 5

d’abord sur des calculateurs main frame, puis sur les stations de travail dont elles uti-
lisent pleinement les avancées en matière d’ergonomie des interfaces, de visualisation
réaliste, de facilité d’utilisation. Ces systèmes ont un double objectif :
— l’aide à la conception, à la simulation et à l’optimisation des cellules robotisées,
grâce à des outils de modélisation des robots et de l’environnement, de place-
ment automatique du robot dans sa cellule, d’analyse du mouvement (trace,
détection de collision, évaluation des temps de cycle, etc) ;
— la programmation hors ligne qui permet, après optimisation et validation des
trajectoires, d’engendrer, à partir des données CAO, un programme téléchar-
geable et exécutable par la baie de commande du robot.
On retrouve ici les deux composantes, conception et fabrication de la démarche
CFAO utilisée pour les machines outils à commande numérique. Parmi les systèmes
actuellement sur le marché, on trouve CATIA-Robotics (Dassault Systèmes).

5.4.2 Méthodologie de la programmation par CAO

La programmation hors ligne, qui conduit à la génération d’un code exécutable


sur site à partir des données CAO, comporte, dans son principe, plusieurs étapes sché-
matisées sur la figure 5.6. On suppose, à ce stade, que le modèle CAO générique de la
cellule robotisée (robot, environnement, outillages, pièces), autrement dit sa maquette
virtuelle , est connu. A partir d’une description géométrique de la tâche à réaliser (re-
pères de travail, repères intermédiaires, etc), on définit, dans une phase de préparation,
les trajectoires CAO nominales. Elles peuvent être optimisées selon des critères propres
à l’application : temps de cycle, anticollision, placement, etc.

F IGURE 5.6 – Méthodologie de programmation hors ligne des robots par CAO

Prof M. BENBRAHIM M2SI-FSDM


Sect. 5.4 P ROGRAMMATION GRAPHIQUE 83

Ces trajectoires sont ensuite habillées avec des informations supplémentaires,


essentiellement non géométriques, fournies par l’utilisateur, telles que la gestion des
entrées/sorties, les ordres d’activation d’outils, les choix de posture, les attentes anti-
collision, la structure logique, etc. La tâche nominale issue de cet habillage contient
donc, entre autres : des informations concernant la trajectographie , des informations
de localisation du robot par rapport à son environnement, ainsi que des repères relatifs
mis en jeu, des informations logiques et une description des interactions avec l’envi-
ronnement.
L’étape suivante est le filtrage ou postprocessing qui a pour fonction :
— d’adapter la tâche nominale CAO à la cellule robotisée réelle. Pour ce faire,
les trajectoires sont corrigées grâce aux informations de la carte d’identité du
robot, c’est-à-dire ses caractéristiques géométriques et cinématiques exactes,
de la carte d’identité de la baie de commande contenant les lois de mouvement,
ainsi que grâce aux données exactes décrivant l’environnement, l’outillage et
les pièces de la cellule réelle ;
— de traduire la tâche corrigée qui, à défaut de standard, a un format spécifique
au système CAO (format neutre du constructeur ou format d’échange), en un
langage ou code au standard de la baie de commande cible.
La tâche corrigée et traduite peut ensuite être téléchargée sur la baie de com-
mande du robot. Pratiquement, il faut procéder à des retouches sur site des trajectoires.
La dernière étape est donc une étape de mise au point, de tests et de validation donnant
pour finir une tâche exécutable.

5.4.3 Avantages
Les avantages d’une programmation hors ligne par CAO-robotique sont nom-
breux :

Disponibilité de la cellule de production : globalement, le temps de programma-


tion d’une gamme reste le même si l’on compare un apprentissage classique et
une PHL. Cependant, la PHL se faisant en temps masqué, le temps d’immobi-
lisation du site est considérablement réduit.
Amélioration de la qualité : dans une programmation par apprentissage, la qua-
lité dépend de l’expérience de l’opérateur, ce qui n’est pas le cas avec la CAO
qui permet une définition exacte des poses désirées. Avec le procédé de soudage
par points, en carrosserie automobile, par exemple, les défauts d’aspect dé-
pendent beaucoup de la précision avec laquelle l’axe des électrodes a été aligné
avec la normale locale aux surfaces en chaque point de soudage : seule l’utilisa-
tion d’un modèle numérique permet de programmer correctement l’orientation
de la pince.
Minimisation de l’effort de programmation en termes de préparation des don-
nées réutilisation de modèles déjà créés lorsqu’il y a différentes variantes d’un
produit ; duplication de tâches lorsqu’une même tâche est affectée à plusieurs
robots ou lorsqu’il s’agit de remplacer un robot en panne ; programmation des
tâches dans des zones difficilement accessibles, etc.
Optimisation des tâches, des temps de cycle et de l’accessibilité sans collision de
toutes les poses notamment, grâce à des outils de placement automatique.

Prof M. BENBRAHIM M2SI-FSDM


84 P ROGRAMMATION Chap. 5

En ce qui concerne les coûts, le fait de pouvoir commencer la programmation


des robots très tôt dans le projet d’automatisation permet d’anticiper les problèmes qui
apparaissent au moment du démarrage de la production, donc de diminuer les retards
qui ont une incidence sur les coûts. Cependant, le coût global de la PHL par CAO reste
difficile à évaluer car il dépend de nombreux facteurs matériels et humains.

5.4.4 Limitations
La limitation essentielle d’une programmation par CAO est que la maquette vir-
tuelle ne représente qu’imparfaitement le comportement réel du robot et de la cellule
robotisée : certains phénomènes physiques trop complexes ne sont pas modélisés (par
exemple, les flexibilités, les déformations des faisceaux de câbles et des gaines d’ame-
née des fluides, etc) ; d’autres phénomènes sont modélisés de façon approchée pour
accélérer les calculs ; enfin, en admettant que les modèles, lorsqu’ils existent, sont bien
caractérisés, il est souvent difficile d’en identifier les paramètres avec exactitude.
Ces difficultés sont à l’origine des écarts que l’on peut observer sur site entre
la trajectoire programmée en CAO et celle effectivement suivie par le robot. Elles
expliquent aussi les différences entre le temps de cycle attendu et celui qui est observé.

5.5 Les cellules robotisées

5.5.1 Cellule robotisée


Quelle que soit l’application envisagée, le ou les robots travaillent dans un en-
vironnement particulier appelé cellule robotisée. C’est l’espace dans lequel sont im-
plantés plusieurs éléments, tels que :
— les robots et les outils qu’ils manipulent (Exemples : préhenseurs, pinces et
torches de soudage, outils de découpe),
— le magasinage (Exemple : convoyeurs),
— les machines outils (Exemples : tours, fraiseuses, presses),
— les dispositifs de positionnement des pièces,
— les axes complémentaires et le matériel statique.
Un exemple de cellule robotisée est donnée par la figure 5.7.
Comme nous l’avons déjà signalé, la programmation hors ligne nécessite que
tous les composants de la cellule soient précisément modélisés afin d’améliorer la pré-
cision absolue du robot. Cette précision absolue qui n’est pas nécessaire lorsque les
applications sont programmées par apprentissage devient alors capitale lorsqu’il s’agit
d’utiliser les méthodes de programmation hors ligne.

5.5.2 Conception de la cellule robotisée


La conception de la cellule comprend les étapes suivantes :

Définition de l’environnement : Cette étape consiste à créer les éléments qui ne


seront pas forcément tous actifs dans la simulation, c’est à dire les fixations,

Prof M. BENBRAHIM M2SI-FSDM


Sect. 5.5 C ELLULES ROBOTISÉES 85

F IGURE 5.7 – Exemple de cellule robotisée

les protections et autres éléments entrant dans la conception de la cellule et,


de ce fait, représentant un obstacle lors du travail de la machine. Ils peuvent
contribuer à la programmation en tenant compte des collisions, par exemple.
Définition des robots : Il s’agit ici de créer les composantes technologiques du
robot. Par exemple, dans le module Catia Robotique, un robot est défini comme
une série de chaînes ouvertes de pièces rigides assemblées les unes aux autres
grâce à des articulations, le tout formant une structure arborescente.
Définition des contrôleurs : Le contrôleur est le système électronique qui calcule
les positions du robot et génère les commandes à ses actionneurs en intégrant
les données de l’environnement. Par exemple dans Catia Robotique, un contrô-
leur, qui n’a pas de représentation graphique propre, est défini par les carac-
téristiques suivantes :a)son type (synchrone ou asynchrone) suivant qu’il pos-
sède ou non la faculté de décoder des instructions par avance, b) ses paramètres
d’exécution : temps de cycle (horloge interne de fonctionnement du contrôleur)
et le nombre d’instructions préprocessées, c) les robots ou axes externes liés,
c’est-à-dire soumis au même système électronique, d)ses commandes externes
correspondant au langage spécifique du contrôleur.

Une fois les robots et les contrôleurs requis entièrement définis, on aborde la
question des performances du modèle. En effet, avant d’utiliser un robot dans une
cellule, il est indispensable de vérifier s’il est bien adapté aux tâches qui lui seront
confiées et il faut satisfaire un certain nombre de critères ; par exemple :

Prof M. BENBRAHIM M2SI-FSDM


86 P ROGRAMMATION Chap. 5

— vérifier qu’il peut supporter un certain nombre de charges statiques ;


— vérifier qu’il peut supporter tel ou tel type de mouvement pour accomplir une
tâche donnée.
Une fois tous ces tests accomplis, les robots qui répondent à ces critères sont
retenus pour participer à l’organisation de la cellule. L’objectif, à ce stade, s’exprime
par le fait que les robots choisis doivent être positionnés aussi précisément que possible
dans la cellule, de façon que :
— le nombre de robots requis pour la tâche soit le mieux adapté ;
— les robots travaillent dans des conditions optimales (faible temps de cycle par
exemple ou loin des butées).
On procède en général par itérations successives, c’est à dire que le premier
placement est grossier, puis, connaissant le travail à réaliser, on demande à la CAO
de fournir les meilleures solutions répondant à un critère de placement du robot. Par
exemple, Catia Robotique possède une fonctionnalité d’aide à l’utilisateur pour choisir
la meilleure position et la meilleure orientation de la base du robot pour un travail
donné.
Afin de réaliser cette étape, les données suivantes doivent être implémentées :
— le centre d’outil du robot, également appelé TCP (Tool Center Point ) ;
— les points de travail que le robot doit atteindre et qui se situent sur la pièce ;
— les paramètres de maillage de l’espace de travail dans lequel se trouvera la base
du robot.
Avec ces paramètres, un calcul fournit les solutions parmi les points de maillage.
Le robot est alors automatiquement positionné sur l’une de ces solutions. Une fois
la conception de la cellule accomplie, la seconde partie du processus, qui consiste à
programmer les robots hors ligne, peut démarrer.

5.5.3 Précision absolue des robots manipulateurs


La précision absolue est un des critères de performance des robots manipulateurs.
Celle-ci caractérise la capacité du robot à positionner et à orienter l’organe terminal sur
une situation programmée et désirée de l’effecteur. L’évaluation de la précision absolue
peut se faire suivant un protocole décrit dans la norme NF E61-103, ISO/DIS 29283.
Cette évaluation repose sur la mesure statique des écarts (position et orientation) entre
la situation programmée et la position atteinte par l’effecteur. Nous retiendrons cepen-
dant que la précision absolue traduit le caractère déterministe de cet écart. Celui-ci est
indépendant de la nature de la trajectoire suivie par le robot mais directement lié à
certains défauts géométriques de la structure.
Pour traduire le comportement du robot et de la cellule, les transformations et
les phénomènes permettant de lier la situation de l’organe terminal à celle d’un réfé-
rentiel de l’environnement doivent être précisément identifiés. Les sources d’erreurs
susceptibles d’influencer la précision statique du robot peuvent être divisées en deux
catégories :

les erreurs d’origine géométrique qui peuvent être eux mêmes divisés en deux
ensembles :
— les paramètres intrinsèques au robot ; ces paramètres interviennent dans la
modélisation des erreurs engendrées, d’une part, par les tolérances d’usi-
nage et d’assemblage des divers composants de la structure mécanique, et

Prof M. BENBRAHIM M2SI-FSDM


Sect. 5.5 C ELLULES ROBOTISÉES 87

d’autre part, par l’offset sur la mesure des valeurs articulaires.


— les paramètres extrinsèques au robot ; ces derniers servent à modéliser, d’une
part, les défauts de localisation du repère lié à la base du robot par rapport
au référentiel de la cellule, et d’autre part, les erreurs de localisation du
repère outil sur l’organe terminal du robot.

les erreurs d’origine non géométrique sont relatifs à la modélisation des erreurs
non géométriques dues :a) à la flexibilité des segments et des articulations liée
à la charge et à la configuration du robot sous l’effet de la gravité, b) aux jeux
mécaniques au niveau de chaque articulation, c) à la connaissance imprécise
des rapports de réduction et d) aux effets de la variation de température.

5.5.4 Etalonnage des robots manipulateurs

Afin de vaincre les problèmes cités dans la section précédente, il est donc né-
cessaire de procéder à ce que l’on convient d’appeler l’étalonnage du robot, ou ca-
librage, afin d’en établir sa carte d’identité (le terme calibrage désigne une opération
de vérification des dimensions d’un objet par comparaison avec un calibre plutôt que
l’évaluation de ses dimensions. Il est donc préférable d’utiliser le terme étalonnage.
Étalonner un robot, c’est à dire calculer avec précision ses paramètres géomé-
triques, nécessite :
— que l’on dispose d’un modèle d’erreurs reliant les erreurs sur les paramètres
géométriques aux erreurs de situation de l’outil ;
— que l’on sache mesurer avec précision (en statique) la position du centre d’outil,
éventuellement de son orientation, dans le repère atelier ;
— qu’à partir du modèle d’erreurs et des mesures, on identifie les erreurs ;
— enfin, que l’on compense ces erreurs, en modifiant si c’est possible les para-
mètres de la baie de commande ou en traitant les consignes dans le postproces-
seur.
Schématiquement, étalonner un robot se fait donc en quatre étapes : modéli-
ser, mesurer, identifier, compenser. Les étapes de modélisation, d’identification et de
compensation sont essentiellement algorithmiques. L’étape de mesure est plus métho-
dologique et nécessite d’intervenir sur le site avec des moyens appropriés.
Une démarche complémentaire de l’étalonnage géométrique consiste à utiliser
des boîtes noires permettant d’intégrer, dans les systèmes de CAO, les mêmes algo-
rithmes que ceux qui sont sur les baies de commande des robots, garantissant ainsi
une meilleure précision de la simulation en termes de géométrie et de temps de cycle.
La démarche RRS (Realistic Robot Simulation), projet privé initialisé en 1991 par
les principaux constructeurs automobiles européens et regroupant les principaux fabri-
cants de robots et offreurs de CAO-robotique, oeuvre en ce sens. Elle a permis aux
constructeurs de robots, tout en protégeant leur savoir-faire, d’introduire dans les sys-
tèmes de CAO leur propre code grâce aux modules RCS (Robot Control Simulating
Modules).

Prof M. BENBRAHIM M2SI-FSDM


88 P ROGRAMMATION Chap. 5

5.5.5 Gestion des interactions avec l’environnement


La baie de commande du robot doit pouvoir communiquer avec les autres équi-
pements de la cellule. On a vu que les programmes d’application disposaient d’instruc-
tions pour gérer les synchronisations, coordonner les mouvements, émettre et recevoir
des commandes tout ou rien et, plus généralement, pour réagir à des événements exté-
rieurs.
Dans bon nombre d’applications industrielles, des capteurs tout ou rien ou des
capteurs plus complexes, mais fonctionnant en détecteurs, suffisent à gérer les inter-
actions entre le robot et l’environnement : détection de présence d’obstacles avec un
proximètre, détection d’un effort trop important de l’outil au contact de l’environne-
ment avec un capteur d’effort, etc. Les capteurs remplissent des fonctions liées à la
sécurité (on parle de mouvements gardés), ce qui se retrouve à des degrés divers dans
toutes les machines programmables.
Cependant, ce qui distingue un robot d’une machine programmable, c’est sa ca-
pacité à percevoir son environnement, à en extraire des informations pertinentes à partir
desquelles il peut prendre des décisions et adapter son comportement : adaptation face
à des aléas de fonctionnement, face à des dispersions de fabrication et de positionne-
ment des objets, face à un environnement mal connu et évolutif, etc. Les capteurs exté-
roceptifs jouent alors un rôle fondamental dans l’élaboration de la commande du robot.
On parle de commande référencée capteur, en ce sens que l’information pertinente ex-
traite permet d’ajuster les mouvements du robot ou les efforts qu’il exerce sur son
environnement : en d’autres termes, le comportement du robot est asservi sur la tâche
à réaliser, grâce à des grandeurs représentatives de l’interaction robot/environnement.
Ces grandeurs sont soit directement mesurées, soit calculées à partir d’un modèle de
l’interaction robot/environnement.
Classiquement, on parle de perception locale et de perception globale :

Perception locale effectue à haute fréquence des mesures relatives entre l’outil
et l’environnement. On peut donc mettre en oeuvre une commande référencée
capteur pour modifier en temps réel la trajectoire nominale.
Perception globale à base de caméras ou de télémètres permet de construire un
modèle de représentation de l’environnement. Ce modèle peut ensuite être ex-
ploité pour localiser un objet dans une scène, faire du tri, de l’inspection ou du
contrôle dimensionnel. Pour ces applications, les temps de traitement néces-
saires au système de vision pour extraire les informations, bien que non négli-
geables, sont compatibles avec les cadences de production. Au plan industriel,
la perception globale est donc utilisable à un niveau stratégique plutôt que pour
la commande temps réel référencée capteur des déplacements de l’outil.

5.5.6 La simulation
Avant de transférer les programmes exécutables sur le contrôleur réel du robot
étudié, les tâches sont simulées dans le système de CFAO, pour vérifier qu’elles ré-
pondent correctement aux besoins de l’atelier et que le comportement du robot est
cohérent.
Par exemple dans Catia Robotique, il est possible d’exécuter une ou plusieurs

Prof M. BENBRAHIM M2SI-FSDM


Sect. 5.6 C ELLULES ROBOTISÉES 89

tâches simultanément sur l’écran graphique. L’opérateur peut interrompre à tout mo-
ment le déroulement de la simulation pour étudier le comportement de tel ou tel élé-
ment de la cellule, ou stocker une scène qui sera reprise par la suite.
La simulation s’appuie sur de puissants outils d’analyse afin d’aider au mieux
l’opérateur dans l’optimisation de la tâche ; rappelons que le site n’est toujours pas
utilisé à ce stade, et donc la production en cours n’est pas freinée. Plusieurs outils
d’analyse permettent d’étudier le comportement du robot au cours de son mouvement
et d’optimiser ses trajets.

5.5.7 Exemple de conception d’une cellule robotisée

Cosimir Robotics est un logiciel permettant la modélisation, la programmation


et la simulation des cellules robotisées. Son environnement est donnée par la figure
5.8. Ainsi, on trouve la maquette virtuelle de la cellule, les programmes des robots, les
coordonnées articuliaires et cartésiennes, les points de passages, les E/S.

F IGURE 5.8 – Environnement de Cosimir Robotics

La première étape dans la création d’un projet de simulation d’une cellule robo-
tisée est la modélisation de la cellule. Après, on passe à la programmation et enfin la
simulation.La figure 5.9 donnent un exemple d’une cellule de peinture robotisée créée
par Cosimir Robotics .
Il faut noter que Cosimir Robotics permet même la modélisation, la programma-
tion et la simulation d’une usine robotisée.

Prof M. BENBRAHIM M2SI-FSDM


90 P ROGRAMMATION Chap. 5

F IGURE 5.9 – Cellule de peinture robotisée

F IGURE 5.10 – Simulation d’une usine robotisée

Prof M. BENBRAHIM M2SI-FSDM


Sect. 5.6 C ONCLUSION 91

5.6 Conclusion
Les systèmes de programmation doivent satisfaire des contraintes de production
toujours plus exigeantes :
— diminuer, voire supprimer, les temps d’immobilisation des robots sur site en
permettant une programmation en temps masqué ;
— améliorer la qualité ;
— diminuer les temps de cycle ;
— assurer la sécurité des personnels et des matériels ;
— être indépendants du robot pour permettre, par exemple, de dupliquer une tâche
sur plusieurs cellules, de remplacer un robot en cas de panne, etc.
Bien que les méthodes par apprentissage ne répondent pas complètement à ces
spécifications, elles ont pris une place que l’on ne leur prédisait pas il y a une dizaine
d’années. Elles permettent à des utilisateurs non-informaticiens de programmer bon
nombre d’opérations qui ne pouvaient l’être à l’époque qu’avec les langages textuels.
On notera aussi l’émergence de la programmation hors ligne à partir de bases de
données CAO-robotique et la mobilisation qu’elle suscite pour passer à une véritable
mise en oeuvre industrielle. Celle-ci exigera des avancées méthodologiques et organi-
sationnelles qui conduiront à rationaliser la chaîne conception-production, à l’instar de
ce qui existe déjà pour les machines outils à commande numérique.

Prof M. BENBRAHIM M2SI-FSDM

Vous aimerez peut-être aussi