Académique Documents
Professionnel Documents
Culture Documents
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
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
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.
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.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
à 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-
On peut classer les robots d’un point de vue fonctionnel ou d’après leur structure
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.
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.
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
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
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
où
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 )
λ
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.
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.
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.4 La vitesse
x = f (x)
ẋ = 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.
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).
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 :
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.
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.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.
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.
1 Em
a=
2 Nopt Im
où
— 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.
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.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
ê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.
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
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.
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
F IGURE 3.3 – Chaîne cinématique simple d’un robot manipulateurs ayant six liaisons
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
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 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
3.2.3 Transformations 3D
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
B
+ B B B
,#
pA = xA yA zA 1
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 ;
— 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 :
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
1. Cosinus directeurs
2. Angles de Braynt
3. Angles d’Euler
4. Quaternions
X = f (q)
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 .
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.
q = f −1 (x)
x = q2 cos(q1 )
y = q2 sin(q1 )
y y
tan(q1 ) = ⇒ q1 = arctan( )
x x
et
-
x2 + y 2 = q22 ⇒ q2 = x2 + y 2
Exemple2 :
x = l1 cos(q1 ) + l2 cos(q1 + q2 )
y = l1 sin(q1 ) + l2 sin(q1 + q2 )
L2 = x 2 + y 2
et
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 :
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).
. .
. l1 + l2 cos(q2 ) −l2 sin(q2 ) .
. . = l12 + l12 + 2l1 l2 cos(q2 ) = x2 + y 2
. l2 sin(q2 ) l1 + l2 cos(q2 ) .
soit
il en résulte :
) *
y(l1 + l2 cos(q2 )) − xl2 sin(q2 )
q1 = arctan
x(l1 + l2 cos(q2 )) + yl2 sin(q2 )
) *
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
0
Tn =0 T1 (q1 ) ×1 T2 (q2 ) × · · · ×n−1 Tn (qn )
0 0 0 1
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 )
— En déduire q2 .
— Continuer cette procédure pour en déduire q3 , · · · , q6 .
X = f (q)
xi = f (q1 , · · · , qn ), i = 1, · · · , n
qi,min ≤ qi ≤ qi,max , i = 1, · · · , n
∀q ∈ Ai , sgn(detJ(q)) = constant
Ai PAj = ∅, ∀i, j = 1, · · · , m
et m
/
Q= Ai
i=1
Xi = Im(Ai )
m
/
X= Im(Ai )
i=1
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,
0
Tn (q) = Z −1 ×a TEd × E−1
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).
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
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
Si = sin qi
Ci = cos qi
Si+j = sin(qi + qj )
Ci+j = cos(qi + qj )
0
T6 (θ1 , · · · , θ6 ) =0 T1 (θ1 ) ×1 T2 (θ2 ) × · · · ×5 T6 (θ6 )
Sx Nx Ax Px
S y Ny Ay P y
U0 =
S z Nz Az P z
0 0 0 1
alors
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
nous donne :
A- Equation de position
Puisque O4 , O5 et O6 sont confondus, on a :
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
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 :
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 :
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
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
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ù :
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
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.
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)
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
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.
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.
λi kv j ≤ kvi ; λi kaj ≤ k ai
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.
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).
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 :
Il nous faut donc la liberté de choisir 8 paramètres pour pouvoir satisfaire ces
q(t) = a7 q 7 + a6 q 6 + · · · + a1 q 1 + a0
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) :
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, λϕ)
px (B) − px (A)
py (B) − py (A)
∆B =
pz (B) − pz (A)
ϑ(B) − ϑ(A)
ϕ(B) − ϕ(A)
et
px (C) − px (B)
py (C) − py (B)
∆C =
pz (C) − pz (B)
ϑ(C) − ϑ(B)
ϕ(C) − ϕ(B)
) *
1 ∆C ∆B
ẍ = −
2τ TC − TB TB − TA
) * ) *
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.
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.
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.
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.
5.2.1 Principe
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.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.
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.1 Principe
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.4 Limitations
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).
F IGURE 5.6 – Méthodologie de programmation hors ligne des robots par CAO
5.4.3 Avantages
Les avantages d’une programmation hors ligne par CAO-robotique sont nom-
breux :
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é.
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 :
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
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.
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).
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
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.
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.
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.