Vous êtes sur la page 1sur 82

ROBOTIQUE

Jean-Louis Boimond
Universit Angers
La robotique peut tre dfinie comme l'ensemble des techniques et tudes tendant concevoir des
systmes mcaniques, informatiques ou mixtes, capables de se substituer l'Homme dans ses fonctions
motrices, sensorielles et intellectuelles.
1

GNRALITS .................................................................................................................................................................... 2
1.1
Dfinitions ..................................................................................................................................................................... 2
1.2
Constituants d'un robot .................................................................................................................................................. 3
1.3
Classification des robots ................................................................................................................................................ 6
1.4
Caractristiques d'un robot ............................................................................................................................................ 7
1.5
Les gnrations de robot ................................................................................................................................................ 7
1.6
Programmation des robots ............................................................................................................................................. 8

DEGR DE LIBERTS - ARCHITECTURE ...................................................................................................................... 8


2.1
Positionnement d'un solide dans l'espace ...................................................................................................................... 8
2.2
Liaison ........................................................................................................................................................................... 9
2.3
Mcanismes ................................................................................................................................................................. 10
2.4
Morphologie des robots manipulateurs ....................................................................................................................... 10

MODLE GOMTRIQUE D'UN ROBOT EN CHANE SIMPLE ................................................................................ 13


3.1
Ncessit d'un modle ................................................................................................................................................. 13
3.2
Coordonnes oprationnelles ....................................................................................................................................... 15
3.3
Translation et rotation ................................................................................................................................................. 16
3.4
Matrice de transformation homogne .......................................................................................................................... 19
3.5
Obtention du modle gomtrique direct .................................................................................................................... 22
3.6
Paramtres de Denavit-Hartenberg modifi ................................................................................................................ 23
3.7
Exemple ....................................................................................................................................................................... 27
3.8
Exercice ....................................................................................................................................................................... 28
3.9
Inversion du modle gomtrique - Mthode de Paul ................................................................................................. 32
3.10 Solutions multiples Espace de travail Aspects ...................................................................................................... 44

GNRATION DE MOUVEMENT .................................................................................................................................. 48

DESCRIPTION DU ROBOT STUBLI RX 90 ................................................................................................................ 49


5.1
Description gnrale .................................................................................................................................................... 49
5.2
Mise en route du systme ............................................................................................................................................ 52
5.3
Mise en position initiale du bras du robot ................................................................................................................... 53
5.4
Arrt du systme .......................................................................................................................................................... 53

MISE EN MOUVEMENT DU BRAS DU ROBOT STUBLI RX 90 .............................................................................. 54


6.1
Les modes de dplacement .......................................................................................................................................... 54
6.2
Contrle du robot partir du pendant .......................................................................................................................... 55
6.3
Contrle du robot partir dun programme ................................................................................................................. 55
6.3.1
Le programme du robot existe dj ..................................................................................................................... 56
6.3.2
Lditeur SEE ...................................................................................................................................................... 56
6.3.3
Quelques commandes .......................................................................................................................................... 57

DESCRIPTION DES ROBOTS FANUC LR MATE 100 IB ET ARC MATE 100 IB ...................................................... 66
7.1
Description gnrale .................................................................................................................................................... 67
7.2
Mise en route du systme ............................................................................................................................................ 70
7.3
Arrt du systme .......................................................................................................................................................... 71

MISE EN MOUVEMENT DU BRAS DES ROBOTS FANUC LR MATE 100 IB ET ARC MATE 100 IB ................... 72
8.1
Les modes de dplacement .......................................................................................................................................... 72
8.2
Mise en mouvement en mode manuel ......................................................................................................................... 73
8.3
Mise en mouvement en mode programme................................................................................................................... 75
8.3.1
Excution dun programme ................................................................................................................................. 75
page 1

8.3.2
Arrt dun programme ......................................................................................................................................... 76
8.3.3
Cration dun programme .................................................................................................................................... 76
8.4
Quelques instructions de mouvement .......................................................................................................................... 76
8.4.1
Structure de mouvement ...................................................................................................................................... 77
8.4.2
Donnes de position ............................................................................................................................................ 79
8.4.3
Trajectoire de positionnement ............................................................................................................................. 80
8.5
Entres/Sorties ............................................................................................................................................................. 81
8.6
Structures algorithmiques de base ............................................................................................................................... 81
8.7
Sous-programme ......................................................................................................................................................... 82
8.8
Exemple de programme ............................................................................................................................................... 82

Bibliographies :
1) Modeling, Identification & Control of Robots, W. Khalil, E. Dombre, Hermes Penton Science 2002,
480 pages
2) Robotique. Aspects fondamentaux, J.-P. Lallemand, S. Zeghloul, Masson 1994, 312 pages
3) Modlisation et commande des robots, W. Khalil, G. Lebret, Cours EI3 Automatique de l'ECN 94/95
4) Cours de robotique, J.-L. Ferrier, DESS ASC
5) Robots. Principes et contrle, C. Vibet, Ellipses 1987, 207 pages
6) Cours de robotique, J. Gangloff, ENSPS 3A, 221 pages
7) Introduction to Robotics Mechanics and Control, 2th edition, J. J. Craig, Addison-Wesley Publishing
Company, 1989, 450 pages.
1

GNRALITS

Pour concevoir, simuler ou commander un robot, il est ncessaire, entre autres, de disposer de modles du
mcanisme. Plusieurs niveaux de modlisation sont possibles. Ils dpendent des spcifications du cahier
des charges de l'application envisage : il en dcoule des modles gomtriques, cinmatiques1 et
dynamiques partir desquels peuvent tre engendrs les mouvements du robot, ou bien des modles
statiques qui dcrivent les interactions du mcanisme avec son environnement.
L'obtention de ces diffrents modles n'est pas aise, la difficult variant selon la complexit de la
cinmatique de la chane articule. Entrent en ligne de compte le nombre de degrs de libert, le type des
articulations mais aussi le fait que la chane peut tre ouverte simple, arborescente ou ferme.
1.1

Dfinitions

Le Petit Larousse dfinit un robot comme tant un appareil automatique capable de manipuler des
objets, ou d'excuter des oprations selon un programme fixe ou modifiable.
En fait, l'image que chacun se fait dun robot est gnralement vague, souvent un robot est dfini comme
un manipulateur automatique cycles programmables.
Pour mriter le nom de robot, un systme doit possder une certaine flexibilit, caractrise par les
proprits suivantes :
- La versatilit2 : Un robot doit avoir la capacit de pouvoir excuter une varit de tches, ou la
mme tche de diffrente manire ;
- L'auto-adaptativit : Un robot doit pouvoir s'adapter un environnement changeant au cours de
l'excution de ses tches.

cinmatique : partie de la mcanique qui tudie les mouvements des corps, abstraction faite des forces qui les
produisent.
versatilit : caractre versatile (changeant).
page 2

L'Association Franaise de Normalisation (A.F.N.O.R.) dfinit un robot comme tant un systme


mcanique de type manipulateur command en position, reprogrammable, polyvalent (i.e., usages
multiples), plusieurs degrs de libert, capable de manipuler des matriaux, des pices, des outils et
des dispositifs spcialiss, au cours de mouvements variables et programms pour l'excution d'une
varit de tches. Il a souvent l'apparence d'un, ou plusieurs, bras se terminant par un poignet. Son unit
de commande utilise, notamment, un dispositif de mmoire et ventuellement de perception et
d'adaptation l'environnement et aux circonstances. Ces machines polyvalentes sont gnralement
tudies pour effectuer la mme fonction de faon cyclique et peuvent tre adaptes d'autres fonctions
sans modification permanente du matriel.
Historique :
1947 : Premier manipulateur lectrique tlopr.
1954 : Premier robot programmable.
1961 : Utilisation dun robot industriel, commercialis par la socit Unimation (USA), sur une
chane de montage de General Motors.
1961 : Premier robot avec contrle en effort.
1963 : Utilisation de la vision pour commander un robot.
Pour illustrer ce cours, nous utiliserons 3 robots industriels : 1 robot Stubli de la gamme RX, 2 robots
FANUC (ARC (6 axes) et LR (5 axes)).

Deux documents sont accessibles dans le rpertoire \public\Jean-Louis Boimond\Robotique : lun,


crit par B. Espiau (INRIA Rhne-Alpes), est intitul La robotique : Histoire et perspectives,
lautre, dit en 2004 dans le journal du CNRS, est intitul Les robots sont sur tous les fronts.

1.2

Constituants d'un robot

Vocabulaire :

Actionneur (moteur)

Axe (articulation)

Corps (segment)

Organe terminal
(outil)

Base (socle)

page 3

On distingue classiquement 4 parties principales dans un robot manipulateur :


informations proprioceptives

actionneurs

systme mcanique
articul (S.M.A.)
+ un organe terminal
(voire plusieurs)

capteurs

environnement

systme de commande
et de traitement
de l'information

informations
extroceptives

Sous le terme organe terminal, on regroupe tout dispositif destin manipuler des objets (dispositifs de
serrage, dispositifs magntiques, dpression, ), ou les transformer (outils, torche de soudage,
pistolet de peinture, ). En d'autres termes, il s'agit d'une interface permettant au robot d'interagir avec
son environnement. Un organe terminal peut tre multi-fonctionnel, au sens o il peut tre quip de
plusieurs dispositifs ayant des fonctionnalits diffrentes. Il peut aussi tre mono-fonctionnel, mais
interchangeable. Un robot, enfin, peut-tre multi-bras, chacun des bras portant un organe terminal
diffrent. On utilisera indiffremment le terme organe terminal, prhenseur, outil ou effecteur pour
nommer le dispositif d'interaction fix l'extrmit mobile de la structure mcanique.

Le systme mcanique articul (S.M.A.) est un mcanisme ayant une structure plus ou moins
proche de celle du bras humain. Il permet de remplacer, ou de prolonger, son action (le terme
manipulateur exclut implicitement les robots mobiles autonomes3). Son rle est d'amener
l'organe terminal dans une situation (position et orientation) donne, selon des caractristiques de
vitesse et d'acclration donnes. Son architecture est une chane cinmatique de corps,
gnralement rigides (ou supposs comme tels), assembls par des liaisons appeles articulations.
Sa motorisation est ralise par des actionneurs lectriques, pneumatiques ou hydrauliques qui
transmettent leurs mouvements aux articulations par des systmes appropris.
Prcisons la notion d'articulation : Une articulation lie deux corps successifs en limitant le nombre
de degr de libert (notion prcise au 2.2) de l'un par rapport l'autre. Soit m le nombre de degr
de libert rsultant, encore appel mobilit de l'articulation. La mobilit dune articulation est telle
que :
0 m 6.

Lorsque m = 1 ; ce qui est frquemment le cas en robotique, l'articulation est dite simple : soit
rotode, soit prismatique.

Articulation rotode : Il s'agit d'une articulation de type pivot, note R, rduisant le


mouvement entre deux corps une rotation autour d'un axe qui leur est commun. La situation
relative entre les deux corps est donne par l'angle autour de cet axe (voir la figure suivante).
Les caractristiques propres aux robots mobiles ne sont pas prises en compte dans ce cours. La mobilit d'un robot
permet notamment d'augmenter son espace de travail.
page 4

Figure : Reprsentation dune articulation rotode.

Articulation prismatique : Il s'agit d'une articulation de type glissire, note P, rduisant le


mouvement entre deux corps une translation le long d'un axe commun. La situation relative
entre les deux corps est mesure par la distance le long de cet axe (voir la figure suivante).

Figure : Reprsentation dune articulation prismatique.


Remarque : Une articulation complexe, i.e., avec une mobilit suprieure 1, peut toujours se
ramener une combinaison d'articulations prismatique ou rotode. Par exemple, une rotule est
obtenue avec trois articulations rotodes dont les axes sont concourants.

Pour tre anim, le S.M.A. comporte des moteurs le plus souvent associs des transmissions
(courroies crantes), l'ensemble constitue les actionneurs. Les actionneurs utilisent frquemment
des moteurs lectriques aimant permanent, courant continu, commande par l'induit (la tension
n'est continue qu'en moyenne car en gnral l'alimentation est un hacheur de tension frquence
leve ; bien souvent la vitesse de rgime leve du moteur fait qu'il est suivi d'un rducteur, ce qui
permet d'amplifier le couple moteur). On trouve de plus en plus de moteurs commutation
lectronique (sans balais), ou, pour de petits robots, des moteurs pas pas.
Pour les robots devant manipuler de trs lourdes charges (par exemple, une pelle mcanique), les
actionneurs sont le plus souvent hydrauliques, agissant en translation (vrin hydraulique) ou en
rotation (moteur hydraulique).
Les actionneurs pneumatiques sont d'un usage gnral pour les manipulateurs cycles (robots tout
ou rien). Un manipulateur cycles est un S.M.A. avec un nombre limit de degrs de libert
permettant une succession de mouvements contrls uniquement par des capteurs de fin de course
rglables manuellement la course dsire (asservissement en position difficile d la
compressibilit de l'air).

La perception permet de grer les relations entre le robot et son environnement. Les organes de
perception sont des capteurs dits proprioceptifs4 lorsqu'ils mesurent l'tat interne du robot
(positions et vitesses des articulations) et extroceptifs5 lorsqu'ils recueillent des informations sur
l'environnement (dtection de prsence, de contact, mesure de distance, vision artificielle).

proprioception : sensibilit propre aux os, aux muscles, aux tendons et aux articulations et qui renseigne sur la statique,
l'quilibration, le dplacement du corps dans l'espace, etc.
information extroceptive : information issue de rcepteurs sensoriels situs la surface du corps et stimuls par des agents
extrieurs l'organisme (chaleur, piqre).
page 5

La partie commande synthtise les consignes des asservissements pilotant les actionneurs, partir
de la fonction de perception et des ordres de l'utilisateur.

S'ajoutent cela :
- L'interface homme-machine travers laquelle l'utilisateur programme les tches que le robot doit
excuter,
- Le poste de travail, ou l'environnement dans lequel volue le robot.
La robotique est une science pluridisciplinaire qui requiert, notamment, des
connaissances en mcanique, automatique, lectronique, lectrotechnique,
traitement du signal, communications, informatique.

1.3

Classification des robots

On retiendra pour notre part 3 types de robot :


- Les manipulateurs :
- Les trajectoires sont non quelconques dans l'espace,
- Les positions sont discrtes avec 2 ou 3 valeurs par axe,
- La commande est squentielle.
- Les tlmanipulateurs, appareils de manipulation distance (pelle mcanique, pont roulant), apparus
vers 1945 aux USA :
- Les trajectoires peuvent tre quelconques dans l'espace,
- Les trajectoires sont dfinies de manire instantane par l'oprateur,
gnralement partir d'un pupitre de commande (joystick).
- Les robots :
- Les trajectoires peuvent tre quelconques dans l'espace,
- L'excution est automatique,
- Les informations extroceptives peuvent modifier le comportement du robot.
Pour cette dernire classe, on peut distinguer :
1. Les robots manipulateurs industriels, chargs de manipuler, soient :
Des pices : Stockage dstockage,
Palettisation dpalettisation,
Chargement dchargement de machine-outil,
Manipulation d'prouvettes,
Assemblage de pices,
Des outils : Soudure en continu ou par points,
Peinture,
Collage,
Ebavurage.
2. Les robots didactiques, qui sont des versions au format rduit des prcdents robots. La
technologie est diffrente, de mme que les constructeurs. Ils ont un rle de formation et
d'enseignement, ils peuvent aussi tre utiliss pour effectuer des tests de faisabilit d'un poste
robotis.
3. Les robots mobiles autonomes : Les possibilits sont plus vastes, du fait de leur mobilit.
Notamment, ils peuvent tre utiliss en zone dangereuse (nuclaire, incendie, scurit civile,
page 6

dminage), inaccessible (ocanographie, spatial). De tels robots font appel des capteurs et
des logiciels sophistiqus. On peut distinguer 2 types de locomotion : Les robots marcheurs
qui imitent la dmarche humaine, et les robots mobiles qui ressemblent plus des vhicules.
Dans ce cours, on se restreint aux robots manipulateurs.

1.4

Caractristiques d'un robot

Un robot doit tre choisi en fonction de l'application qu'on lui rserve. Voici quelques paramtres
prendre, ventuellement, en compte :
- La charge maximum transportable (de quelques kilos quelques tonnes), dterminer dans les
conditions les plus dfavorables (en longation maximum).
- Larchitecture du S.M.A., le choix est guid par la tche raliser (quelle est la rigidit de la
structure ? ).
- Le volume de travail, dfini comme l'ensemble des points atteignables par l'organe terminal. Tous
les mouvements ne sont pas possibles en tout point du volume de travail. Lespace de travail
(reachable workspace), galement appel espace de travail maximal, est le volume de lespace
que le robot peut atteindre via au moins une orientation de lorgane terminal. Lespace de travail
dextre (dextrous6 workspace) est le volume de lespace que le robot peut atteindre avec toutes les
orientations possibles de lorgane terminal. Cet espace de travail est un sous-ensemble de lespace
de travail maximal.
- Le positionnement absolu, correspondant lerreur entre un point souhait (rel) dfini par une
position et une orientation dans lespace cartsien et le point atteint et calcul via le modle
gomtrique inverse du robot. Cette erreur est due au modle utilis, la quantification de la
mesure de position, la flexibilit du systme mcanique. En gnral, lerreur de positionnement
absolu, galement appele prcision, est de lordre de 1 mm.
- La rptabilit, ce paramtre caractrise la capacit que le robot a retourner vers un point
(position, orientation) donn. La rptabilit correspond l'erreur maximun de positionnement sur
un point prdfini dans le cas de trajectoires rptitives. En gnral, la rptabilit est de lordre
de 0,1 mm.
- La vitesse de dplacement (vitesse maximum en longation maximum), acclration.
- La masse du robot.
- Le cot du robot.
- La maintenance.

1.5

Les gnrations de robot

Des progressions s'oprent dans tous les domaines :

- Mcanique,
- Micro-informatique,
- Energtique,
- Capteurs actionneurs.

A l'heure actuelle, on peut distinguer 3 gnrations de robots :


1. Le robot est passif : Il est capable d'excuter une tche qui peut tre complexe, mais de
manire rptitive, il ne doit pas y avoir de modifications intempestives de l'environnement.
L'auto-adaptativit est trs faible. De nombreux robots sont encore de cette gnration.

dextrous signifie adroit, habile.


page 7

2. Le robot devient actif : Il devient capable d'avoir une image de son environnement, et donc de
choisir le bon comportement (sachant que les diffrentes configurations ont t prvues). Le
robot peut se calibrer tout seul.
3. Le robot devient intelligent : Le robot est capable d'tablir des stratgies, ce qui fait appel
des capteurs sophistiqus, et souvent l'intelligence artificielle.

1.6

Programmation des robots

Classiquement, 2 tapes sont utilises pour faire en sorte qu'un robot connaisse la tche excuter.
1. L'apprentissage :
- Enregistrement dans une mmoire de la trajectoire excuter, sous contrle d'un oprateur
humain,
- Pantin : Structure mcanique identique celle du robot, qui est dplace et qui mmorise les
points pertinents ,
- Syntaxeur : Un manche de pilotage (joystick) commande les dplacements de l'organe terminal,
- Bote boutons : Un interrupteur par actionneur.
2. La gnration de trajectoires et les oprations raliser le long de ces trajectoires, ce qui permet de
dfinir la tche raliser : On fait appel un logiciel qui, partir du modle du robot, et des
trajectoires raliser, labore la succession des commandes des actionneurs. Les langages de
programmation les plus courants sont : WAVE, VAL (Unimate), LM (Hitachi). Nous utiliserons pour
notre part les langages associs au robot Stubli RX 90 (langage V+) et au robot FANUC ARC ou LR.

2
2.1

DEGR DE LIBERTS - ARCHITECTURE


Positionnement d'un solide dans l'espace

La position d'un solide dans l'espace requiert 6 paramtres indpendants (cf. figure suivante) :
- 3 paramtres indpendants dfinissent la position d'un point, not P, du solide (coordonnes
cartsiennes, cylindriques, sphriques, , dans la base du repre fixe),
- 3 paramtres indpendants dterminent l'orientation du solide autour du point P (angles d'Euler,
paramtres d'Euler, ).

page 8

Exemple d'orientation d'un repre (utilisation des angles d'Euler) :


L'orientation d'un repre orthonorm (li au solide) par rapport au repre fixe est spcifie par 3 angles
(psi), (thta) et (phi), correspondant une squence de 3 rotations. De tels angles sont trs utiliss en
mcanique. Ils permettent une dfinition minimum de l'orientation (3 paramtres), par contre, ils
apprhendent difficilement le cas de composition de mouvement.
Les angles sont dfinis dans la figure suivante, selon la convention (z, y, z), comme suit, soient :
- une rotation d'un angle , appel lacet (yaw en anglais), autour de l'axe Oz,
- une rotation d'un angle , appel tangage (pitch en anglais), autour de l'axe Oy',
- une rotation d'un angle , appel roulis (roll en anglais), autour de l'axe Oz''.

On verra en TP que l'on dispose via la console du robot de la situation (position et orientation) du repre
terminal (outil), travers les coordonnes X, Y, Z du point d'origine du repre terminal (i.e., la flasque) et
des angles d'Euler (, , ) selon la convention (z, y, z) pour le robot Stubli RX 90 (cf. Manuel
Formation V+1 (CS7), p.3-19, , 3-22), selon la convention (x, y, z) pour le robot FANUC ARC ou LR
(cf. Manuel de mise en service du FANUC, p. 3-50).
Un solide peut galement tre repr par les coordonnes de 3 points (non situs sur une droite du solide).
Il en rsulte 9 paramtres (3 coordonnes par point) non indpendants (3 quations expriment
l'invariabilit de la distance entre les 3 points). Notons que de par le lien tablit par ces quations, il reste
6 paramtres indpendants.
On dit qu'un solide situ dans l'espace possde 6 degrs de libert (d.d.l.). Rciproquement, il faut 6
variables de commande indpendantes pour placer de manire quelconque un solide dans l'espace.
En pratique, les robots les plus courants sont dots de 6 d.d.l., i.e., d'au moins 6 actionneurs, ce qui
permet de spcifier de manire quelconque la situation (position et orientation) de leurs organes
terminaux.

2.2

Liaison

Une liaison entre 2 solides indformables (en thorie) limite le d.d.l. d'un solide par rapport l'autre. On
appelle d.d.l. de la liaison le nombre de paramtres indpendants permettant de dfinir la localisation
(position et orientation) d'un solide par rapport l'autre dans tout dplacement (compatible avec la
liaison).
page 9

Exemples :
- Un cube sur un plan a 3 d.d.l. : 2 pour fixer les coordonnes d'un point dans le plan, 1 pour
dterminer son orientation dans le plan.
- Une sphre sur un plan a 5 d.d.l. : 2 pour fixer les coordonnes d'un point dans le plan, 3 pour
dterminer son orientation dans le plan.
- Une porte par rapport au mur a 1 d.d.l.

2.3

Mcanismes

On appelle mcanisme un ensemble de solides relis 2 2 par des liaisons. On distingue 2 types de
mcanismes :
- Les mcanismes en chane simple ouverte (ou en srie). Lorsque l'on parcourt le mcanisme, on
ne repasse jamais 2 fois sur la mme liaison, ou sur le mme solide. Ce type de systme est le plus
rpandu.
- Les mcanismes en chane complexe, i.e., tout ce qui n'est pas en srie (au moins un solide avec
plus de 2 liaisons). De tels systmes se subdivisent en 2 groupes : les chanes structures en
arbre, et les chanes fermes (dont l'avantage est d'tre a priori plus rigide, plus prcis, capable de
manipuler de lourdes charges). A titre d'exemple, le pantographe7 est un mcanisme en chane
ferme.
Pour reprsenter un mcanisme, on dispose de 2 mthodes :
- Le schma cinmatique8 : On utilise la reprsentation normalise des liaisons pour reprsenter le
mcanisme, soit en perspective, soit en projection.
- Le graphe, non normalis. A titre d'exemples, considrons quelques mcanismes :

2.4

Morphologie des robots manipulateurs

Ce paragraphe est relatif aux chanes simples ouvertes. Afin de dnombrer les diffrentes architectures
possibles, on ne considre que 2 paramtres : le type d'articulation (rotode (R) ou prismatique (P)) et
l'angle que font deux axes articulaires successifs (0 ou 90 ; sauf cas trs particulier, les axes conscutifs
d'un robot sont soit parallles, soit perpendiculaires).
On convient d'appeler les 3 premiers d.d.l. le porteur du robot. Les d.d.l. rsiduels forment le poignet,
caractris par des dimensions beaucoup plus petites et une plus faible masse.
Sont schmatises dans la figure qui suit les 12 morphologies possibles de porteur (ces morphologies sont
non redondantes (on limine a priori les structures limitant les mouvements du porteur des
7

Un pantographe est un instrument form de 4 tiges articules, servant reproduire mcaniquement un dessin, le cas
chant une chelle diffrente.
Relatif au mouvement.
page 10

dplacements linaires ou planaires : 3 liaisons prismatiques d'axes parallles, par exemple, ou 3 liaisons
rotodes d'axes parallles)).

Dans la pratique, on trouve les 5 structures suivantes :


- Les porteurs anthropomorphes (RRR), et plus prcisment la premire structure de cette classe (cf.
figure prcdente), comme par exemple les robots FANUC (LR, ARC), STUBLI RX, ACMA
(V80 et SR400), UNIMATION (PUMA), SCEMI (6P-01), AID (V5), CINCINNATI (T3-7XX),
AKR 3000, ASEA (IRB6 et 60), KUKA (IR600), AXEA (V08) ;
- Les porteurs sphriques (RRP) comme par exemple les robots STANFORD, UNIMATION (1000,
2000, 4000), PSA (BARNABE) ;
- Les porteurs toriques (RPR) et plus prcisment la premire structure de cette classe, comme par
exemple les robots ACMA (H80), les robots de type SCARA (IBM, AXERA, ADEPT, ) ;
- Les porteurs cylindriques (RPP) comme par exemple les robots ACMA (TH8), MANTEC (A, I et
M), CINCINNATI (T3-363) ;
- Les porteurs cartsiens (PPP) comme par exemple les robots ACMA (P80), IBM (7565),
SORMEL (CADRATIC), OLIVETTI (SIGMA).
La structure RRR dont les 3 axes sont concourants forme ainsi une rotule et s'utilise plus gnralement
comme un poignet. D'autres types de poignets de un trois axes sont reprsents sur la figure suivante.

page 11

Dans la pratique, le poignet de type rotule est trs rpandu. Le robot, obtenu en lui associant un porteur
3 d.d.l., est la structure la plus classique 6 d.d.l.. Elle permet d'assurer un dcouplage entre la position et
l'orientation de l'organe terminal :
- Le porteur a pour rle de fixer la position du point d'intersection, not P, des axes des 3 dernires
articulations (centre du poignet) ; cette position (P) ne dpend que de la configuration des solides
(corps) 1, 2 et 3 (i.e., du porteur),
- Le poignet est destin l'orientation de l'organe terminal (pince, outil).
Voir la figure suivante.

page 12

Cette structure de robot poignet de type rotule correspond celle des robots Stubli RX-90 et FANUC
ARC ou LR que nous considrerons en TP.

3
3.1

MODLE GOMTRIQUE D'UN ROBOT EN CHANE SIMPLE


Ncessit d'un modle

La conception et la commande des robots ncessitent le calcul de certains modles mathmatiques, tels
que :
- Les modles de transformation entre l'espace oprationnel (dans lequel est dfinie la situation de
l'organe terminal) et l'espace articulaire (dans lequel est dfinie la configuration du robot). Parmi
ces modles, on distingue :
- Les modles gomtriques direct et inverse qui expriment la situation de l'organe terminal
en fonction de la configuration du mcanisme et inversement,
- Les modles cinmatiques direct et inverse qui expriment la vitesse de l'organe terminal en
fonction de la vitesse articulaire et inversement,
- Les modles dynamiques dfinissant les quations du mouvement du robot, qui permettent
d'tablir les relations entre les couples ou forces exercs par les actionneurs et les positions,
vitesses et acclrations des articulations.
Dfinir les diffrentes tches d'un robot rclame de pouvoir positionner l'organe terminal par rapport un
repre de rfrence. En effet :
- Les informations proprioceptives (issues du S.M.A.) sont gnralement dfinies dans des repres
lis aux diffrents solides du robot.

- La position atteindre est souvent dfinie dans un repre li au socle du robot,


- L'objet saisir peut tre dfini dans un repre mobile indpendant du robot (par exemple, des
pices prendre sur un tapis roulant),
- Les informations extroceptives (issues de l'environnement) sont dfinies dans divers repres.
Aussi, il faut un rfrentiel commun afin de ramener les diverses informations dans un mme
rfrentiel, notamment pour concevoir les consignes des actionneurs.

page 13

x
q1


On a une relation matricielle du type : X f (q) avec X y , q q2 ,
z
q

3
o f est une fonction vectorielle statique (la variable temporelle n'intervient pas). Dans le cas de l'exemple
prcdent, on a : q1 t1 , q 2 2 , q3 t 3 .

Exercice : Ecrire le modle gomtrique direct du manipulateur, soit la relation : X f (q) .


La convention, rappele ci-dessous, permet de connatre le sens positif, ou ngatif, dun angle (le repre
tant suppos orthonorm).

Ecriture du modle gomtrique inverse : Connaissant la position du point X (coordonne


oprationnelle), on veut connatre les variables articulaires q (actionneurs, coordonne articulaire). Pour
connatre le vecteur q conduisant une position donne du point X, il faut disposer d'une relation du
type :
q g(X) ,
1
correspondant au modle gomtrique inverse (on a : g f ).

page 14

Exercice : Soit le manipulateur RR plan dcrit ci-dessous.

1) Etablir le modle gomtrique direct.


2) Raliser un programme (MatLab ou Scilab) permettant de reprsenter lespace de travail maximal
(espace atteignable travers au moins une orientation) du robot sachant que l1 l 2 10 cm et
0 q1 90, 100 q2 90 .
3.2

Coordonnes oprationnelles

Plusieurs possibilits existent pour la dfinition du vecteur X selon les mthodes utilises pour spcifier
la position et l'orientation. Par exemple, si lorientation est spcifie laide des cosinus directeurs
(dcrits ci-dessous), on aura :

a) En gnral, on dfinit la position d'un point du repre li l'organe terminal via des coordonnes
cartsiennes (3 longueurs), cylindriques (2 longueurs + 1 angle) ou sphriques (1 longueur + 2
angles).
Exemple des coordonnes cylindriques pour positionner le point O1 (origine du repre R1 )
dans le repre R0 :

page 15

b) Il existe diffrentes possibilits pour dfinir l'orientation de l'organe terminal :


- Les angles d'Euler,
- D'autres types d'angles (Bryant, ),
- Les cosinus directeurs. Leur utilisation revient considrer l'ensemble des projections des
vecteurs units ports par les axes du repre R1 , sur les axes du repre R0 (repres
orthonorms). Il en rsulte 3 3 paramtres, en effet :
- 6 relations sont ncessaires pour indiquer que la base est orthonorme (3 pour indiquer
des normes unitaires + 3 pour indiquer l'orthogonalit de la base),
- et 3 paramtres pour dcrire l'orientation du repre.
Construction des cosinus directeurs :
On sintresse lorientation du repre R1 par rapport au repre R0 . Le vecteur de base x 1 de la

base R1 s'exprime dans la base R0 par la relation : x1 a11 x0 a21 y0 a31 z 0 , le vecteur

a11 a21 a31 t reprsente le vecteur unitaire x1 (du repre R1 ) suivant les axes x0 , y 0 , z0 (du
repre R0 ). De mme, les vecteurs y 1 et z 1 sexpriment dans la base R0 par les relations :

y1 a12 x0 a22 y0 a32 z 0 et z 1 a13 x0 a23 y0 a33 z 0 . On aboutit alors la matrice de


rotation suivante :

x0

y0

z0

x1

a11

a 21
a
31

y1
a12
a 22
a32

z1
a13

a 23 . Cette matrice de rotation vrifie 6 relations parmi les 9 paramtres (


a33

savoir, x1 y1 z1 1, x1 y1 x1 z1 y1 z1 0 9).
3.3

Translation et rotation

2
2
x1 a112 a21
a31
et x1 y1 a11 a12 a21 a22 a31 a32 .

page 16

On peut montrer que la situation (position et orientation) du repre de base R1 se dduit de celle
du repre de base R0 par une translation et une rotation.

Le but est d'exprimer dans le repre de base R0 les coordonnes du point P ayant pour coordonnes

X 1 , Y1 , Z1

dans le repre de base R1 (cest--dire, O1 P / 1 X 1 Y1 Z1 ), sachant que l'origine du repre


t

R1 , c'est--dire O1 , a pour coordonnes a, b, c dans le repre R0 .

X1

On a : O1 P / 1 Y1 , c'est--dire, O1 P X 1 x1 Y1 y1 Z1 z1 .
Z
1
On a : O0 P / 0 O0 O1 / 0 O1 P / 0
O0 O1 / 0 R01 O1 P / 1
a a11 a12 a13 X 1


b a 21 a 22 a 23 Y1 .
c a

31 a32 a33 Z 1

a11 a12 a13

La matrice de rotation, note R01 , a 21 a 22 a 23 contient les vecteurs de base de R1 , cest--dire


a

31 a32 a33


x1 , y1 , z1 , exprims dans la base R0 , cest--dire en fonction des vecteurs x 0 , y 0 , z 0 .
Par exemple, la position du repre de base R1 pourra se dduire de celle du repre de base R0 travers :
- une translation O0 O1 ,
- des rotations autour des 3 axes ( x 0 , y 0 , z 0 ) du repre R0 , auxquelles on peut associer
respectivement les matrices lmentaires de rotations suivantes : R01 ( x0 , x0 ) , R01 ( y0 , y0 ) et

R01 ( z 0 , z0 ) , dfinies plus loin dans cette section. On a alors :

R01 R01 ( x0 , x0 ) R01 ( y0 , y0 ) R01 ( z 0 , z0 ) .

Cas d'une simple translation


page 17

O0 P / 0 O0 O1 / 0 R01 O1 P / 1
On a :
0 1 0 0 X1 X1

L 0 1 0 Y1 L Y1 .
0 0 0 1 Z Z

1 1

La matrice (vecteur) de translation opre selon l'axe y 0 .


La matrice de rotation (d'angle nul) est telle que : x1 x0 , y1 y0 , z1 z0 .

Cas particulier dune rotation autour d'un axe

Par convention, on considre que l'articulation rotode d'un robot se fait autour d'un des 3 axes d'un repre
orthonorm. Soit, par exemple, une rotation d'angle x0 autour de l'axe x 0 , comme indiqu ci-dessous.

0
0

On a : R01 ( x0 , x0 ) 0 cos ( x0 ) sin ( x0 ) ,

0 sin ( x0 ) cos ( x0 )

soient x1 x 0 , y1 cos( x0 ) y 0 sin( x0 ) z 0 , z1 sin( x0 ) y 0 cos( x0 ) z 0 .


Remarque : On a x1 y1 z1 1, x1 y1 x1 z1 y1 z1 0 .

Exemple d'une translation et d'une rotation autour de l'axe x 0

Exprimons dans le repre R0 les coordonnes X 1 , Y1 , Z1 du point P dans le repre R1 , sachant que
l'origine O1 du repre R1 a pour coordonnes a, b, c dans le repre R0 .

page 18

O0 P / 0 O0 O1 / 0 O1 P / 0

On a :

O0 O1 / 0 R01 ( x0 , x0 ) O1 P / 1
X1
0
0
a 1


b 0 cos( x0 ) sin( x0 ) Y1
c 0 sin( ) cos( ) Z
x0
x0

1

a X1

b cos( x0 ) Y1 sin( x0 ) Z1 .

c sin( x0 ) Y1 cos( x0 ) Z1

Exercice : Exprimer les matrices de rotation R01 ( y0 , y0 ) et R01 ( z 0 , z0 ) .


Remarques :
- Le produit de matrice de rotation n'est pas toujours commutatif : R12 R23 R23 R12 .
- L'inverse de R12 est donn par R12t : R121 R21 R12t (i.e., R12 est une matrice orthogonale10).
- La combinaison de translation est commutative :
Translation( x, a) Translation( y, b) Translation( y, b) Translation( x, a) , l'inversion est obtenue
par simple changement de signe : Translation( x, a) Translation( x,a) .
1

3.4

Matrice de transformation homogne

La prsence conjointe de produits et de sommes dans l'quation vectorielle O0 P / 0 O0O1 / 0 R01 O1 P / 1


est peu commode pour effectuer des calculs systmatiques, dus par exemple des changements successifs
de repres. On lui prfre une reprsentation matricielle de dimension 4, base sur les coordonnes
homognes.
La reprsentation en coordonnes homognes consiste doter toute notation vectorielle d'un facteur
d'chelle en introduisant une coordonne supplmentaire. Soit par exemple, un point M de l'espace,
rapport trois axes rectangulaires, donn par la relation :
a

0M b ,
c

alors la reprsentation du point M l'aide de coordonnes homognes est faite avec un quaternion, i.e.,
x

x
y
z
y
0M , avec a , b , c .
z
w
w
w

w

Soit la matrice de transformation homogne T01 correspondant la matrice partitionne suivante :

R
T01 01( 3, 3)
000
10

( 3 ,1 )
.
1

t 01

Une matrice A est orthogonale si la matrice inverse est gale la matrice transpose :
matrice A est orthogonale si, et seulement si, les vecteurs lignes sont orthonormaux.

rotation
translation

A A t A t A Id . Une
page 19

Remarquons que le facteur d'chelle est unitaire ( w 1 ).


La matrice T01 reprsente la transformation permettant de passer du repre R1 au repre R0 .

En effet, elle permet d'exprimer dans le repre R0 les coordonnes d'un vecteur exprimes dans le repre
R1 . Autrement dit, on a :
X0
X1


Y0
Y1
Z T01 Z .
0
1
1
1

Cas de transformations homognes


D'une simple translation
On note Trans( x0 , a) la matrice de transformation homogne correspondant une translation de a
selon l'axe x 0 . Considrons lexemple suivant :

0
On a : Tij
0

0 0 a

1 0 b
.
0 1 c

0 0 1

page 20

On a : Tij Trans( xi , a ) Trans( y i , b) Trans( z i , c)


1 0 0 a 1 0 0 0 1 0



0 1 0 0 0 1 0 b 0 1

0 0 1 0 0 0 1 0 0 0



0 0 0 1 0 0 0 1 0 0

0
0
1
0

0
.
c

Soit x, y, z les coordonnes d'un point M dans le repre R j (cest--dire, O j M / j

les coordonnes du point M dans le repre Ri sont : Tij M / j

x

y ), alors
z

0 0 a x x a

1 0 b y y b
.

0 1 c z z c

0 0 1 1 1

D'une simple rotation


On note Rot ( x0 , ) la matrice de rotation d'un angle autour de l'axe x 0 . Considrons l'exemple
suivant :

0
0
1

0 cos( i ) sin( i )
On a : Tij Rot ( xi , i )
0 sin( i ) cos( i )

0
0
0

Soit x, y, z les coordonnes d'un point M dans

dans le repre Ri sont : Tij M / j

0

0

0

1 0

Ri j ( xi , i )
0

0
.
0

le repre R j , alors les coordonnes du point M

0
0
1

0 cos( i ) sin( i )

0 sin( i ) cos( i )

0
0
0

0 x
x

0 y cos( i ) y sin( i ) z
.

0 z sin( i ) y cos( i ) z

1 1
1

Une matrice de transformation peut se dcomposer en 2 matrices de transformation :

page 21

t (3,1) A(3,3)
A(3,3) t (3,1) I


T
0 0 0 1 0 0 0 1

0 0 0
translation

0
.
0

rotation

Remarque : Le produit de matrices de transformation homogne n'est pas commutatif, du fait de la non
commutativit de la rotation.

On a :

T0 n T01 T12 Tn1, n .

x
x


y
y
Soit On M / n , alors T0 n exprime les coordonnes du point M dans le repre R0 (cest--dire,
z
z


1
1


O0 M / 0 T0 n On M / n ).
Exercice : Calculer la matrice de transformation homogne Tij correspondant au changement de repres
suivant :

3.5

Obtention du modle gomtrique direct

page 22

On s'intresse la relation liant l'espace articulaire associ aux diffrentes liaisons du robot avec l'espace
oprationnel dans lequel est dfinie la situation de l'organe terminal. Cette relation s'exprime l'aide de
l'quation suivante :
(cf. 3.1)
X f (q) .
La mthode propose utilise les matrices de transformation homogne. On associe un repre chaque
solide du robot, en commenant par le socle. Si une articulation a plusieurs degrs de liberts (d.d.l.), 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 homogne des diffrents repres associs
au solide du robot. Notons que l'criture des matrices de transformation homogne n'est pas unique (il
existe une infinit de faon de lier une repre un solide).
3.6

Paramtres de Denavit-Hartenberg modifi

Les paramtres de Denavit-Hartenberg modifi11 permettent de disposer d'un paramtrage des liaisons tel
que les matrices de passage aient toutes la mme forme littrale, ce qui facilite les calculs.
La mthode qui suit s'applique lorsque le robot correspond une chane simple ouverte et que ses
articulations sont rotodes, ou prismatiques (ce qui est le cas en gnral). Les corps constituant le robot
sont supposs parfaitement rigides et connects par des articulations idales (pas de jeu mcanique, pas
d'lasticit).

Notations :
On numrote les solides par ordre croissant en partant du socle. Ainsi le robot est compos de n 1
corps, nots C 0 , , C n , et de n articulations ( n 1 ). Le corps C 0 dsigne le socle (la base) du
robot, le corps C n le corps portant l'organe terminal.
Le repre R j est li au corps C j du robot.
La variable de l'articulation j, qui lie le corps C j au corps C j 1 , est note q j .

11

La convention de Denavit-Hartenberg (non modifi) est telle que laxe

z j du repre R j est confondu avec laxe n

j 1 (et non j) du robot.


page 23

Dtermination du repre R j (li au corps C j ) :


- L'axe o j z j est port par l'axe de rotation, ou de translation, de l'articulation j.
- L'axe o j x j est port par la perpendiculaire commune aux axes o j z j et o j 1 z j 1 . Si les axes o j z j
et o j 1 z j 1 sont parallles, le choix de o j x j n'est pas unique, il est alors dict par des
considrations de symtrie ou de simplicit.

Passage du repre R j 1 au repre R j , dtermination des paramtres de Denavit-Hartenberg


modifi :
Le passage du repre R j 1 au repre R j s'exprime en fonction des 4 paramtres suivants :
page 24

- On note j l'angle de rotation entre les axes z j 1 et z j autour de l'axe x j 1 (passage de R j 1


R1),
- On note d j la distance entre z j 1 et z j mesure le long de l'axe x j 1 (passage de R1 R2),
- On note j l'angle de rotation entre les axes x j 1 et x j autour de l'axe z j (passage de R2 R3),
- On note rj la distance entre x j 1 et x j mesure le long de l'axe z j (passage de R3 R j ).

De ces 4 changements de repres successifs, il rsulte la matrice de transformation homogne T j 1, j


suivante :

T j 1, j Rot ( x j 1 , j ) Trans( x j 1 , d j ) Rot ( z j , j ) Trans( z j , r j )


0
0
0 1 0 0 d j cos( j ) sin( j )
1



0 cos( j ) sin( j ) 0 0 1 0 0 sin( j ) cos( j )

0 sin( j ) cos( j ) 0 0 0 1 0 0
0



0
0
0
1 0 0 0 1 0
0

cos( j )
sin( j )
0
dj

cos( j ) sin( j ) cos( j ) cos( j ) sin( j ) r j sin( j )

.
sin( j ) sin( j ) sin( j ) cos( j ) cos( j ) r j cos( j )

0
0
0
1

0 0 1

0 0 0

1 0 0

0 1 0

1 0 0
0 1 rj

0 0 1
0 0

page 25

Remarque : La variable articulaire q j , associe l'articulation j, est soit j , soit rj , selon que cette
articulation est respectivement de type rotode ou prismatique, ce qui se traduit par la relation :

q j (1 j ) j j r j
avec j 0 si l'articulation j est rotode et j 1 si elle est prismatique.

q j j est variable
Autrement dit, si l'articulation est une rotation alors
.
j , d j , r j sont constants
q j r j est variable
Si l'articulation est une translation alors
.

,
d
,

sont
constants
j
j
j

Bien souvent, la rotation d'angle j est multiple de .


2
Remarques :
- Pour la dfinition du repre de rfrence R0 , le choix le plus simple consiste prendre R0
confondu avec le repre R1 quand q1 0 (voir 3.6, 1er figure).
- Pour une articulation j prismatique, l'axe z j est parallle l'axe de l'articulation mais la position
de cet axe dans l'espace peut tre quelconque.
- Bien souvent, les deux axes de liaisons conscutifs d'un robot sont orthogonaux ou parallles, il en
rsulte un angle gale 0, 90, 180 . Lorsque les axes z j 1 et z j sont parallles ( j = 0
ou 180), il y a une infinit de perpendiculaires communes entre z j 1 et z j . On place le point O j
tel que r j 0 .
Lorsque les axes z j 1 et z j sont perpendiculaires ( j 900 ), le point O j est plac
lintersection des axes z j 1 et z j , ainsi on a : d j 0 .
- La transformation inverse est obtenue par la formule suivante :

T j , j 1 Trans( z j ,r j ) Rot ( z j , j ) Trans( x j 1 ,d j ) Rot ( x j 1 , j ) ,

soit T j , j 1

t
j 1, j

d j cos( j )

d j sin( j ) .

rj

0
1

On a : A j , j 1 A j 11, j Atj 1, j , cf. Remarques situes la fin de 3.3.


Obtention des modles gomtriques direct et inverse
Le modle gomtrique direct est l'ensemble des relations qui permettent d'exprimer la situation de
l'organe terminal, les coordonnes oprationnelles, du robot en fonction de ses coordonnes articulaires
(cf. 3.5). Dans le cas d'une chane simple ouverte, il peut tre reprsent par la matrice T0, n qui se
calcule par :

T0, n T0, 1 (q1 ) T1, 2 (q2 ) Tn1, n (qn ) .


page 26

Le modle gomtrique direct du robot peut se reprsenter aussi par la relation :

X f (q) ,
o X est le vecteur des coordonnes oprationnelles exprimes dans le repre de rfrence R0 , et q les
variables articulaires.
La matrice T0, n reprsente la position et l'orientation, exprimes dans le repre de rfrence R0 , de
l'organe terminal du robot.
Le modle gomtrique inverse est le problme inverse qui permet de connatre les variables articulaires
en fonction de la situation de l'organe terminal, ce qui peut se reprsenter par la relation :
q g (X ) .
3.7

Exemple

On se propose d'tablir le modle gomtrique direct du robot SCARA12 4 degrs de liberts reprsent,
dans sa configuration initiale, dans la figure suivante :

et de faon schmatique dans la figure suivante. Afin de faciliter la tche, les diffrents repres
permettant d'tablir les paramtres de Denavit-Hartenberg modifi sont reprsents.

12

SCARA : Selective Compliance Articulated Robot for Assembly (compliance : conforme).


page 27

Les repres associs sont tels que :


- Les axes z j sont sur les axes des diffrentes articulations,
- Les axes x j sont perpendiculaires aux axes z j , z j 1 .
Les repres R0 , , Rn tant dfinis, on dtermine les paramtres gomtriques lis chacun des repres
R j par rapport R j 1 .
1) Retrouver les paramtres de Denavit-Hartenberg modifi du robot lists ci-dessous.
j
0
0
0
1

j
1
2
3
4

j
0

0
0

dj
0
D2
D3
0

j
q1
q2
q3
0

rj
0
0
0
q4

2) Calculer la matrice T0, 4 dans le cas o le robot est dans sa configuration initiale, c'est--dire, lorsque

q1 q 2 q3 q 4 0 (voir figure prcdente).


3) Retrouver, l'aide de la matrice T0, 4 , la situation de l'organe terminal par rapport au repre R0 lorsque
le robot est dans sa configuration initiale.
4) Dduire lexpression de la matrice T0, 4 partir de la posture du robot correspondant
q1 0, q2

3.8

, q3

, q4 0 .

Exercice

Il sagit d'tablir le modle gomtrique direct du robot industriel Stubli RX-90 (voir la figure suivante).
page 28

L'paule du robot (articulations 1, 2 et 3) est du type RRR, le poignet est du type rotule, c'est--dire, est
tel que les articulations 4, 5 et 6 sont de type rotode dont les axes se coupent en un mme point.
La configuration initiale du robot est donne par la figure suivante. Afin de vous faciliter la tche, les
diffrents repres permettant d'tablir les paramtres de Denavit-Hartenberg modifi sont reprsents.

page 29

1) Etablir les paramtres de Denavit-Hartenberg modifi du robot.


2) Proposer un programme (MatLab ou Scilab) qui calcule la matrice T0, 6 tant donn les paramtres

q1 ,, q6 . Calculer la matrice T0, 6 dans le cas o :


- Le robot est dans sa configuration initiale, c'est--dire, lorsque q1 q 2 q6 0 (voir figure
prcdente).
- Le bras du robot est tendu la verticale (vue de profil du robot dans la figure suivante) :

page 30

- Le bras du robot est tendu l'horizontale selon laxe x0 (vue de profil du robot dans la figure
suivante) :

- Le bras du robot est pli avec la pince en bas, comme reprsent dans la figure suivante :

page 31

3) Pour chacun des cas, retrouver, l'aide de la matrice T0, 6 , la position et l'orientation de l'organe
terminal par rapport au repre R0 .
3.9

Inversion du modle gomtrique - Mthode de Paul

Il s'agit de dterminer les coordonnes articulaires q permettant d'obtenir une situation dsire pour
l'organe terminal et spcifie par les coordonnes oprationnelles X (cf. fin du 3.6).
Il n'existe pas de mthode systmatique d'inversion du modle gomtrique. Lorsqu'elle existe, la forme
explicite, issue d'une inversion mathmatique, qui donne toutes les solutions possibles au problme
inverse (il y a rarement unicit de la solution) constitue le modle gomtrique inverse. Il existe un
certain nombre de mthodes pour calculer le modle gomtrique inverse, notamment la mthode de
Paul13 qui traite sparment chaque cas particulier et qui convient pour la plupart des robots industriels.
Lorsque le modle gomtrique inverse n'existe pas, c'est--dire qu'il n'existe pas une forme explicite, on
peut calculer une solution particulire du problme inverse par des procdures numriques, qui est une
solution locale au sens o elle dpend des conditions initiales (voir TD sur lutilisation de la mthode de
Newton). Notons que de telles mthodes peuvent tre pnalisantes du point de vue du temps de calcul.
Exemples (simples)

1er exemple

Soit le manipulateur voluant dans un plan et dcrit dans la figure suivante.

x q2 cos(q1 )
On a le modle gomtrique direct suivant :
.
y q2 sin(q1 )
Une dmarche analytique simple permet de dterminer le modle gomtrique inverse. On a :
y
y
tg (q1 ) q1 Arctg ,
x
x
et x 2 y 2 q 22 q 2 x 2 y 2 .

2e exemple

13

Paul R.C.P., Robot Manipulators: Mathematics, Programming and Control, MIT Press, Cambridge, USA, 1981.
page 32

Soit le manipulateur RR plan dcrit ci-dessous.

x l1 cos(q1 ) l 2 cos(q1 q 2 )
On a le modle gomtrique direct suivant :
,
y l1 sin(q1 ) l 2 sin(q1 q 2 )
soit un systme de 2 quations 2 inconnues.
Une dmarche analytique, procdant par substitution, permet de dterminer le modle gomtrique
inverse.
Rappel (Thorme de Pythagore gnralis) :

On a : a 2 b 2 c 2 2 b c cos( ) .
Compltons le schma du modle gomtrique direct :

On a les relations suivantes :

L2 x 2 y 2
et

L2 l12 l 22 2 l1 l 2 cos( ) avec q2 (d'aprs le thorme de Pythagore gnralis),


page 33

d'o

x 2 y 2 l12 l 22 2 l1 l 2 cos(q 2 ) (on a : cos( a) cos(a) ),


soit

x 2 y 2 l12 l 22
,
2 l1 l 2
sachant que cos q a avec a 1, 1 q Arcos (a) , il en rsulte que
cos(q 2 )

(1)

x 2 y 2 l12 l 22
x 2 y 2 l12 l 22
, sous rserve que 1
1 .
q2 Arcos
2 l1 l 2
2 l1 l 2

Remarques :
x 2 y 2 l12 l 22
- La condition 1
1 indique que la position du point P doit tre atteignable.
2 l1 l 2
- Lorsque q2 est positif (resp., ngatif), le robot a une posture coude bas (resp., coude haut), voir figure
ci-dessous.

D'autre part, en dveloppant les expressions cos(q1 q2 ) et sin(q1 q2 )


au modle gomtrique direct, on obtient :

14

dans le systme correspondant

(l1 l 2 cos(q2 )) cos(q1 ) l 2 sin(q2 ) sin(q1 ) x


.

l 2 sin(q2 ) cos(q1 ) (l1 l 2 cos(q2 )) sin(q1 ) y


Calculons le dterminant de ce systme d'quations linaires par rapport aux 2 inconnues cos(q1 ) et
sin(q1 ) , on a :

l1 l 2 cos(q2 )

l 2 sin(q2 )

l 2 sin(q2 )

l1 l 2 cos(q2 )

l12 l 22 2 l1 l 2 cos(q2 ) x 2 y 2 (cf. Eq. (1)),

soient, via la mthode de Cramer,

x
cos(q1 )

l 2 sin(q 2 )

y l1 l 2 cos(q 2 )
x y
2

et sin(q1 )

l1 l 2 cos(q 2 )

l 2 sin(q 2 )

x y
2

soient

14

cos(a b) cos(a) cos(b) sin(a) sin(b), sin(a b) sin(a) cos(b) cos(a) sin(b) .
page 34

1
x (l1 l 2 cos(q 2 )) y l 2 sin(q 2 ) ,
x y2
1
y (l1 l 2 cos(q 2 )) x l 2 sin(q 2 ) .
sin(q1 ) 2
x y2
Il en rsulte :
y (l1 l 2 cos(q2 )) x l 2 sin(q2 )
.
q1 Arctg
x (l1 l 2 cos(q2 )) y l 2 sin(q2 )
cos(q1 )

Ainsi, on aboutit au modle gomtrique inverse suivant :

y (l1 l 2 cos(q 2 )) x l 2 sin(q 2 )


,
q1 Arctg
x (l1 l 2 cos(q 2 )) y l 2 sin(q 2 )
x 2 y 2 l12 l 22
.
q 2 Arcos
2 l1 l 2

On remarque qu'il y a 2 solutions, correspondant 2 postures diffrentes du bras (sous rserve qu'il n'y ait
pas de butes sur les articulations) : L'une est dite coude haut , l'autre coude bas (cf. figure
suivante).

Mthode de Paul
Dans le cas de robots gomtrie simple (pour lesquels la plupart des distances dj et rj sont nulles et les
angles j et j sont gaux 0, ), le modle gomtrique inverse (M.G.I.) peut tre obtenu
2
analytiquement via la mthode de Paul.

Prsentation

Considrons le robot dcrit par la matrice de transformation suivante :

T0, n T0, 1 (q1 ) T1, 2 (q2 ) Tn1, n (qn ) .


Soit U 0 la situation du repre Rn (li l'organe terminal) dcrit par :

page 35

S x
S
U0 y
S z

Nx
Ny
Nz

Ax
Ay
Az

Px
Py
.
Pz

Rappel (cf. 2) : On a :
- xn S x x0 S y y0 S z z 0 , y n N x x0 N y y0 N z z 0 , z n Ax x0 Ay y0 Az z 0 , (3 paramtres
(indpendants) pour dfinir l'orientation du repre Rn par rapport au repre de base).
- O0 On Px x0 Py y0 Pz z 0 (3 paramtres (indpendants) pour dfinir la position du point P).
Le M.G.I. est obtenu en rsolvant l'quation matricielle suivante :

U 0 T0, 1 (q1 ) T1, 2 (q2 ) Tn1, n (qn ) .

(2)

La mthode de Paul permet la dtermination de q1 , puis q 2 et ainsi de suite jusqu' q n . Il s'agit de


dplacer l'une aprs l'autre chacune des variables articulaires ( q1 , , q n ) dans le membre de gauche de
l'quation. Pour cela, on multiplie par T j , j 1 (en prenant successivement j 1,, n ) de part et d'autre
dans l'quation.
Considrons un robot 6 d.d.l. ( n 6 ). Appliquons la mthode :
- Pr-multiplier l'quation prcdente par T1, 0 , soit :

T1, 0 (q1 ) U 0 T1, 2 (q2 ) T5, 6 (q6 ) .

(3)

Les lments situs dans le membre de gauche sont, soient indpendants, soient fonctions de q1 .
Les lments situs dans le membre de droite sont, soient constants, soient fonctions de q 2 , , q 6 .
- Dduire q1 de l'quation prcdente.
- Pr-multiplier l'quation prcdente par T2, 1 , soit :

T2, 1 (q2 ) T1, 0 (q1 ) U 0 T2, 3 (q3 ) T5, 6 (q6 ) .


- En dduire q 2 .
- Continuer cette procdure pour en dduire q3 ,, q6 .
En rsum, on utilise les quations suivantes pour calculer les variables articulaires :

U 0 T0, 1 (q1 ) T1, 2 (q 2 ) T2, 3 (q3 ) T3, 4 (q 4 ) T4, 5 (q5 ) T5, 6 (q6 )
T1, 0 (q1 ) U 0 T1, 2 (q 2 ) T2, 3 (q3 ) T3, 4 (q 4 ) T4, 5 (q5 ) T5, 6 (q6 )
T2, 1 (q 2 ) U 1 T2, 3 (q3 ) T3, 4 (q 4 ) T4, 5 (q5 ) T5, 6 (q6 )
T3, 2 (q3 ) U 2 T3, 4 (q 4 ) T4, 5 (q5 ) T5, 6 (q6 )
T4, 3 (q 4 ) U 3 T4, 5 (q5 ) T5, 6 (q6 )
T5, 4 (q5 ) U 4 T5, 6 (q6 )
avec U j T j , 6 T j , j 1 U j 1 pour j 1,2,3,4 .

page 36

La rsolution de ces quations est intuitive, mais fait intervenir (en principe) quelques types d'quations
dont la solution analytique est connue ; par exemple du type :
- X ri Y ,
( )
( )
,
X 1 sin( i ) Y1 cos( i ) Z1
-
.
X 2 sin( i ) Y 2 cos( i ) Z 2

Cas d'un robot 6 d.d.l. ayant un poignet

La mthode de Paul dcrite par la suite peut s'appliquer dans le cas de robots industriels 6 d.d.l. ayant
un poignet. A titre d'exemple, elle sera applique au robot Stubli RX 90. On appelle P le point
d'intersection des axes concourants des 3 dernires articulations (voir figure suivante).

Cette structure est caractrise par les valeurs des paramtres suivants :

d 5 r5 d 6 0,

4 5 6 0,

sin( ) 0, sin( ) 0 (robot non redondant).


5
6

La position du point P (centre du poignet) est fonction des variables articulaires q1 , q 2 , q3 . Aussi, ce type
de structure de robot permet de dcomposer le problme du calcul des 6 variables articulaires en 2
problmes :
- L'un, appel problme de position, est fonction de q1 , q 2 , q3 , il permet de dterminer les
paramtres q1 , q 2 , q3 .
- L'autre, appel problme d'orientation, est fonction de q 4 , q5 , q 6 , il permet de dterminer les
paramtres q 4 , q5 , q 6 .
Equation de position

page 37

Puisque O4 O5 O6 , on a :

Px
0
P

y T0 1 T1 2 T2 3 T3 4 0 (Eq. correspondant la partie position de l'Eq. (2)).
Pz
0


1
1
On aboutit un systme de 4 quations sachant que la dernire quation nest pas pertinente.
On obtient les valeurs de variables q1 , q 2 , q3 en pr-multipliant successivement cette quation par
T j 0 , j 1, 2, 3 , ceci afin d'isoler et de dterminer de manire squentielle les variables articulaires.
Equation d'orientation
L'quation correspondant la partie orientation de l'Eq. (2) s'crit :

A A0 6 (q) ,

soit encore,

A3 0 (q1 , q2 , q3 ) S

A A3 6 (q4 , q5 , q6 ) .

Afin de simplifier l'criture de cette quation, on pose :

G H A3 6 (q4 , q5 , q6 ) .

G H est connue sachant que les paramtres q1 , q 2 , q3 ont t pralablement


dtermins. Aussi, on obtient successivement les paramtres q 4 , q5 , q 6 en pr-multipliant successivement
l'quation prcdente par A4 3 , puis par A5 4 . Pour cela, on dispose dun systme de 16 quations sachant
que les 4 dernires quations ne sont pas pertinentes.
La matrice

Application de la mthode de Paul au cas du robot Stubli


Equation de position
On a :
Px
0
P

y T0 1 T1 2 T2 3 T3 4 0,
Pz
0


1
1
cos(1 ) d sin( 2 3 ) a cos( 2 )
sin( ) d sin( ) a cos( )
1
2
3
2

d cos( 2 3 ) a sin( 2 )

- Pr-multiplication par la matrice T1 0 , on obtient :


page 38

Px
0
P
0
T1 0 y T1 2 T2 3 T3 4 .
Pz
0


1
1
Rappel : On a :
cos(1 ) sin(1 ) 0 0
cos(1 ) sin(1 )
sin( ) cos( ) 0 0
sin( ) cos( )
1
1
1
1

, d'o T1 0
T0 1
0
0
0
1 0
0

0
0 1
0
0
0
et

0 0
0 0
(cf. 3.6),
1 0

0 1

0
0
T1 2 T2 3 T3 4 ,
0

1
cos(

sin(
2 ) 0 0 cos( 3 ) sin( 3 ) 0 a cos( 4 ) sin( 4 ) 0
0 0

0
0
1 0 sin( 3 ) cos( 3 ) 0 0 0
0
1 d 0

,
sin( 2 ) cos( 2 ) 0 0 0
0
1 0 sin( 4 ) cos( 4 )
0
0 0




0
0
0 1 0
0
0 1 0
0
0
1 1

cos( 2 3 ) sin( 2 3 ) 0 a cos( 2 ) 0 d sin( 2 3 ) a cos( 2 )

0
0
1
0
0

sin( 2 3 ) cos( 2 3 ) 0 a sin( 2 ) 0 d cos( 2 3 ) a sin( 2 )

0
0
0
1
1

Il en rsulte les quations suivantes :

cos(1 ) Px sin(1 ) Py d sin( 2 3 ) a cos( 2 )

.
sin(1 ) Px cos(1 ) Py 0

Pz d cos( 2 3 ) a sin( 2 )

La deuxime quation permet de dduire la valeur 1 . En effet, on a :

sin(1 ) Py

cos(1 ) Px

Py

1 Arctg
Px .
'
1 1

- Pr-multiplication par la matrice T2 1 , on obtient :

Px
0
P
0
y

T2 1 T1 0
T2 3 T3 4 .
Pz
0


1
1
Rappel : On a :
page 39

cos( 2 ) sin( 2 ) 0 0
cos( 2 ) 0 sin( 2 ) 0

sin( ) 0 cos( ) 0
0
0
1 0
2
2
,
, d'o T2 1
T1 2
sin( 2 ) cos( 2 ) 0 0

0
1
0
0

0
0
0 1
0
0
0
1

on obtient alors :
Px cos( 2 ) 0 sin( 2 ) 0 cos(1 ) sin(1 ) 0 0 Px
P sin( ) 0 cos( ) 0 sin( ) cos( ) 0 0 P
2
2
1
1

y ,
T2 1 T1 0 y
Pz
0
1
0
0 0
0
1 0 Pz



0
0
0
1 0
0
0 1 1
1
cos( 2 ) 0 sin( 2 ) 0 cos(1 ) Px sin(1 ) Py
sin( ) 0 cos( ) 0 sin( ) P cos( ) P
2
2
1
x
1
y

0
1
0
0
Pz

0
0
0
1
1

cos( 2 ) (cos(1 ) Px sin(1 ) Py ) sin( 2 ) Pz


sin( ) (cos( ) P sin( ) P ) cos( ) P
2
1
x
1
y
2
z

sin(1 ) Px cos(1 ) Py

0 cos( 3 ) sin( 3 ) 0 a 0 d sin( 3 ) a


0 sin( ) cos( ) 0 0 d d cos( )
3
3
3

Par ailleurs, on a : T2 3 T3 4
.
0 0

0
1 0 0
0

0
0 1 1
1
1 0

Aussi, on a :
cos( 2 ) (cos(1 ) Px sin(1 ) Py ) sin( 2 ) Pz d sin( 3 ) a
sin( ) (cos( ) P sin( ) P ) cos( ) P d cos( )
2
1
x
1
y
2
z
3

sin(1 ) Px cos(1 ) Py
0

1
1

soit b1 cos(1 ) Px sin(1 ) Py , il en rsulte les quations suivantes :

d sin( 3 ) cos( 2 ) b1 sin( 2 ) Pz a


.

d cos( 3 ) sin( 2 ) b1 cos( 2 ) Pz

(4)

En sommant ces 2 quations, pralablement mises au carr, on obtient l'quation suivante :

d 2 b12 Pz2 a 2 2 a b1 cos( 2 ) 2 a Pz sin( 2 ) ,


soit

2 a Pz sin( 2 ) 2 a b1 cos( 2 ) b12 Pz2 (sachant que a d ),


soit l'expression :
page 40

X sin( 2 ) Y cos( 2 ) Z avec X 2 a Pz ; Y 2 a b1 ; Z b12 Pz2 .


On en dduit la valeur suivante du paramtre 2 :

X Z Y X 2 Y 2 Z2
sin( 2 )
X 2 Y 2
avec 1 ,

2
2
2
cos( ) Y Z X X Y Z
2

X 2 Y 2
soit
X Z Y X 2 Y 2 Z2
.
Y Z X X 2 Y 2 Z2

2 Arctg

A partir du systme d'quations (4) et connaissant la valeur du paramtre 2 , on dduit la


valeur du paramtre 3 , soit :

b cos( 2 ) Pz sin( 2 ) a
.
3 Arctg 1
b1 sin( 2 ) Pz cos( 2 )
Equation d'orientation
Une fois obtenus les paramtres q1 , q 2 , q3 , le calcul des paramtres q 4 , q5 , q 6 se fait partir de la
relation :

A3 6 (q4 , q5 , q6 ) F G H
avec

A3 0

G H A3 0 (q1 , q2 , q3 ) S

(5)

A .

Calcul pralable de A3 0 :
cos( 3 ) sin( 3 ) 0 cos( 2 ) 0 sin( 2 ) cos(1 ) sin(1 ) 0

A3 2 A2 1 A1 0 sin( 3 ) cos( 3 ) 0 sin( 2 ) 0 cos( 2 ) sin(1 ) cos(1 ) 0 ,

0
0
1
0
1
0
0
0
1

cos(3 ) cos( 2 ) sin(1 ) sin(3 ) sin( 2 ) sin(1 ) cos(3 ) sin( 2 ) sin(3 ) cos( 2 )
cos(3 ) cos( 2 ) cos(1 ) sin(3 ) sin( 2 ) cos(1 )

sin(3 ) cos( 2 ) cos(1 ) cos(3 ) sin( 2 ) cos(1 ) sin(3 ) cos( 2 ) sin(1 ) cos(3 ) sin( 2 ) sin(1 ) sin(3 ) sin( 2 ) cos(3 ) cos( 2 )

sin(1 )
cos(1 )
0

Calcul de la matrice F G H A3 0 S

A :

On a :

page 41

Fx
S x cos( 2 3 ) (cos(1 ) S x sin(1 ) S y ) sin( 2 3 ) S z

F Fy A3 0 S y sin( 2 3 ) (cos(1 ) S x sin(1 ) S y ) cos( 2 3 ) S z ,

Fz
S z
sin(1 ) S x cos(1 ) S y

de mme, on a
G x
N x cos( 2 3 ) (cos(1 ) N x sin(1 ) N y ) sin( 2 3 ) N z

G G y A3 0 N y sin( 2 3 ) (cos(1 ) N x sin(1 ) N y ) cos( 2 3 ) N z ,

G z
N z
sin(1 ) N x cos(1 ) N y

et
H x
Ax cos( 2 3 ) (cos(1 ) Ax sin(1 ) Ay ) sin( 2 3 ) Az

H H y A3 0 Ay sin( 2 3 ) (cos(1 ) Ax sin(1 ) Ay ) cos( 2 3 ) Az .

H z
Az
sin(1 ) Ax cos(1 ) Ay

- Pr-multiplication de l'quation (5) par la matrice A4 3 , on obtient :

A4 3 A3 6 (q4 , q5 , q6 ) A4 3 F G H ,

avec

cos( 4 ) 0 sin( 4 )

A4 3 sin( 4 ) 0 cos( 4 ) .

0
1
0

Il en rsulte le systme suivant :


cos( 4 ) Fx sin( 4 ) Fz

sin( 4 ) Fx cos( 4 ) Fz

Fy

cos( 4 )Gx sin( 4 )Gz


sin( 4 )Gx cos( 4 )Gz
Gy

cos( 4 ) H x sin( 4 ) H z cos(5 ) cos( 6 ) cos(5 ) sin( 6 ) sin(5 )



.
sin( 4 ) H x cos( 4 ) H z
sin( 6 )
cos( 6 )
0
sin( ) cos( ) sin( ) sin( ) cos( )
Hy
5
6
5
6
5

L'lment (2, 3), savoir ( sin( 4 ) H x cos( 4 ) H z 0 ), permet de dduire le paramtre 4 . En


effet, on a :
H
sin( 4 ) H z
4 Arctg z

Hx .
cos( 4 ) H x
'
4 4
Les lments (1,3) et (3,3) permettent de dduire le paramtre 5 . En effet, on a :

cos( 4 ) H x sin( 4 ) H z sin( 5 )


,

H y cos( 5 )

soit
cos( 4 ) H x sin( 4 ) H z
.
5 Arctg

H
y

Enfin, les lments (2,1) et (2,2) permettent de dduire le paramtre 6 . En effet, on a :


sin( 4 ) Fx cos( 4 ) Fz sin( 6 )
,

sin( 4 )G x cos( 4 )G z cos( 6 )


soit
sin( 4 ) Fx cos( 4 ) Fz
.
6 Arctg
sin( 4 )G x cos( 4 )G z
page 42

Nombre de solutions du M.G.I. :


Il existe 8 solutions, dans le cas gnral, correspondant au M.G.I. du robot Stubli RX-90. Notons
que certaines positions dites singulires du robot occasionnent un nombre infini de solutions. C'est
par exemple, le cas de la configuration initiale sans offset ( 1 6 0 ) du robot (cf. 3.8) o
les arguments de la fonction Arctg utiliss pour dterminer le paramtre 4 sont nuls
H x H z 0 , ce qui rend ce paramtre indtermin. Le choix de la valeur de ce paramtre tant
libre, on assigne frquemment la valeur courante 4 du robot. Notons que ce choix fixe alors la
valeur du paramtre 6 .

2 : 1

2 : 1

2 : 1

2 : 1

Notons que certaines solutions peuvent correspondre des configurations non accessibles du fait de
contraintes (limitations angulaires) au niveau des variables articulaires.
Exercice :
1) Raliser un programme - MatLab ou Scilab - permettant de calculer les 4 jeux de paramtres 1 , 2 , 3
en fonction d'une position souhaite du point P (centre du poignet), savoir PX , PY , PZ . A titre de
vrification, considrer la configuration initiale du robot (voir 3.8) et retrouver, parmi les 4 solutions
possibles, le jeu de paramtres 1 2 3 0 (rappel : a d 0,45 m ).
2) La baie de commande du robot Stabli RX 90 fournit diffrentes informations, notamment :
(en mode World) la situation de l'organe terminal, c'est--dire, de la flasque (point F situ 8,5

cm du point P ( O6 ) selon l'axe z 6 ), travers 6 informations :


- la position de la flasque : les coordonnes X, Y, Z en mm ;
- l'orientation de la flasque : les angles y, p, r (lacet (yaw en anglais), tangage (pitch) et
roulis (roll)), en degr, correspondant respectivement aux 3 angles d'Euler , , selon
la convention (z, y, z), dcrits au 2.1.
(en mode Joint) les valeurs angulaires des 6 articulations, notes 1 , , 6 .
Soient, par exemple :
X (mm)

y ()

r
page 43

598,629
1 ()
-33,064

-372,697

518,632

-23,395

93,034

47,881

-65,607

141,025

29,283

20,053

19,586

Il s'agit de retrouver les valeurs des paramtres 1, 2, 3 partir des informations donnant la
situation de la flasque F, c'est--dire, partir de X, Y, Z, y, p, r. Pour cela, complter le programme
prcdent en permettant de dduire les coordonnes du point P, c'est--dire, PX , PY , PZ , partir de
celles du point F, c'est--dire, X , Y , Z (issues de la baie de commande).
3) En supposant que vous disposez du script correspondant au MGI calculant les 8 solutions possibles de
1 , 2 ,, 6 , donner la fonction amont raliser afin de dduire la situation du point P (paramtre
dentre du MGI) partir de celle du point F, cest--dire, X , Y , Z , y, p, r .
3.10 Solutions multiples Espace de travail Aspects
On a vu prcdemment que le M.G.D. d'un robot peut se reprsenter l'aide de l'application :

X f (q) ,
cette application tant dfinie de l'espace articulaire (Q) vers l'espace oprationnel (X), tous deux de
dimension n 6 .
Cette application n'est pas biunivoque, i.e., un lment de Q correspond une seule image dans X, par
contre un lment de X pourra tre l'image de plusieurs lments de Q. Dans le cas du robot Stabli RX
90, il existe (au maximum) 8 solutions possibles pour attendre un point de l'espace oprationnel.
Dans la pratique, cette non proprit peut poser des problmes, par exemple, dans le cas o des obstacles
sont proximit du robot, ce qui peut amener devoir raliser des trajectoires rectilignes. Or, la
ralisation d'une trajectoire rectiligne peut s'avrer irralisable 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, nots
( Ai ), i 1 m , appels aspects15, dans lesquels l'application f sera biunivoque. Ainsi dans chacun de ces
domaines, il est assur que chaque point de l'espace oprationnel correspondant (soit f ( Ai ) ) soit
atteignable travers une seule et mme configuration (posture) possible.
Dcrivons la mthode permettant le calcul de ces domaines.
Soit le M.G.D. dcrit sous la forme :

xi f i (q1 , q 2 , , q n )

i 1 n.

On dfinit le modle cinmatique, relatif aux vitesses, du type X g (q ) , dcrit par l'quation matricielle

n n suivante :

15

Borrel P., Contribution la modlisation gomtrique des robots manipulateurs ; application la conception
assiste par ordinateur, Thse d'Etat, USTL Montpellier, juillet 1986.
page 44

f1
x1 q1


x f n
n
q
1

f1
qn

fn

qn

q
1
,

q n

soit encore,

X J q ,
o J est la matrice Jacobienne du M.G.D.
Il s'avre que l'application f est biunivoque dans un domaine restreint de Q, si dans ce domaine le
dterminant de la matrice J garde un signe constant, ce qui permet une description exhaustive de l'espace
oprationnel de travail du manipulateur16.
Espace de travail Aspects
Le domaine articulaire Q admissible est en gnral un hyperparalllpipde dfini par :

qimin qi qimax

i 1 n,

o qimin et qimax reprsentent les butes prsentes au niveau de l'articulation i.


L'quation det J (q) 0 dfinit une partition de l'espace articulaire Q en m domaines disjoints

( Ai ), i 1 m , appels aspects. Ainsi un aspect est dfini par la relation :


q Ai , Signe de ([det J (q)]) constante
avec les proprits suivantes :

( Ai ) ( A j )

i, j 1,, m

(Q) ( Ai ).
i 1

Remarque : Les configurations pour lesquelles det J (q) 0 sont appeles configurations singulires,
ou singularits, du mcanisme.
Dfinissons le sous-domaine, not ( X i ), du domaine oprationnel (X) des points q de ( Ai ) images par
l'application f, soit :

( X i ) Im ( Ai ) .
En gnral, les domaines ( X i ) ne sont pas disjoints (i.e., i, j (i j ) ( X i ) ( X j ) ), contrairement
aux domaines ( Ai ).
L'espace oprationnel (X) correspond alors l'union des m images d'aspects, soit :
m

( X ) Im ( Ai ) .
i 1

16

Ce rsultat s'applique pour la plupart des robots industriels, plus prcisment pour les robots dits non cuspidals
(voir Modeling, Identification & Control of Robots, W. Khalil, E. Dombre, Hermes Penton Science 2002 pour plus de
dtails).
page 45

Pour un point q ( Ai ) , le manipulateur est dit dans la configuration, ou la posture, numro i. Par
exemple, soit le point x ( X i ) ( X j ) ( X k ) , alors ce point est l'image d'un point de ( Ai ), d'un point
de ( A j ) 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 rsoudre le problme du transfert dans une posture donne du manipulateur
d'un point x1 vers un point x 2 . Notamment, on peut se poser la question de savoir si les deux points
peuvent tre rallis par une trajectoire quelconque, par exemple rectiligne.
Exemple
Reprenons le manipulateur RR considr dans l'exemple 2 du 3.9, avec l1 l 2 L .

Dfinition des aspects

Soit le M.G.D. suivant :

x1 L cos(q1 ) L cos(q1 q2 ) f1 (q1 , q2 )


,

x2 L sin(q1 ) L sin(q1 q2 ) f 2 (q1 , q2 )


avec pour contraintes :

0 q1 90, 100 q2 90 .
On a la matrice Jacobienne suivante :

f L sin(q1 ) L sin(q1 q2 ) L sin(q1 q2 )


,

q L cos(q1 ) L cos(q1 q2 ) L cos(q1 q2 )

il en rsulte que :

det J L2 sin(q2 ) .
Sachant que det J 0 entrane q 2 0 , il s'ensuit la sparation du domaine articulaire (Q) en deux
aspects ( A1 ) et ( A2 ) selon la figure suivante :
q2
90
(A1)
90

0
(A2)

-100

q1

page 46

L'aspect ( A1 ), domaine reprsent en trait gras, correspond det J 0 , soit q 2 0 , et la posture coude
bas (reprsent en trait gras) du manipulateur. L'aspect ( A2 ), domaine reprsent en trait fin, correspond
det J 0 , soit q 2 0 , et la posture coude haut (reprsent en trait fin) du manipulateur. Dans
l'espace cartsien, la posture en trait gras est l'image de Q1 , tandis que la posture en trait fin est l'image de
Q2 .

Gnration de l'espace de travail

Pour construire les domaines ( X 1 ) et ( X 2 ), images respectivement de ( A1 ) et ( A2 ), il est possible


dappliquer une mthode de Monte-Carlo pour reprsenter l'volution de l'extrmit P du manipulateur.
Le domaine atteint par l'extrmit du manipulateur tant le domaine ( X ) ( X 1 ) ( X 2 ) , voir la figure
suivante.

Trois cas sont considrer pour les solutions du M.G.I. :


- P ( X ) ( X 2 ) : le M.G.I. a une solution dans ( A1 ), le manipulateur est en posture coude bas.
- P ( X ) ( X 1 ) : le M.G.I. a une solution dans ( A2 ), le manipulateur est en posture coude haut.
- P ( X 1 ) ( X 2 ) : le M.G.I. a 2 solutions, l'une dans ( A1 ), l'autre dans ( A2 ), le manipulateur peut
prendre les 2 postures.

Ralisation de trajectoires entre deux points I et F

Soient les points : I1 ( X ) ( X 1 ), F1 ( X ) ( X 2 ), I 2 et F2 ( X 1 ) ( X 2 ) .


- Considrons la trajectoire I1 F1 , il est impossible de rallier I 1 et F1 sans reconfiguration. La
trajectoire passe ncessairement par un point de la frontire commune, il est en particulier
impossible de raliser la trajectoire rectiligne entre les points I 1 et F1 .
page 47

- Considrons la trajectoire I 2 F2 , la trajectoire rectiligne entre les points I 2 et F2 est ralisable,


aussi bien en posture coude haut qu'en posture coude bas.
- Considrons la trajectoire I 2 F1 , la trajectoire rectiligne entre les points I 2 et F1 est ralisable si
au point I 2 le manipulateur est en posture coude bas. Dans le cas contraire il y aura
reconfiguration.
4

GNRATION DE MOUVEMENT

La tche de dplacement d'un robot est spcifie en dfinissant un chemin que le robot doit suivre. Un
chemin est une squence de points dfinis soit dans l'espace des tches (espace oprationnel) (afin de
situer l'organe terminal), soit dans l'espace articulaire (espace des configurations) du robot (afin
d'indiquer les valeurs des paramtres des articulations).
Ces points peuvent tre :
- programms par apprentissage,
- issus d'une base de donnes d'un systme de CAO,
Le problme de la gnration de mouvement est de calculer les squences souhaites (consigne) de
variables articulaires ou de variables lies l'organe terminal qui assurent le passage du robot par le
chemin dsir.
Les trajectoires d'un robot peuvent tre classifies comme suit :
- les mouvements entre 2 points avec des mouvements libres entre les points,
- les mouvements entre 2 points via une squence de points intermdiaires dsirs, spcifis
notamment pour viter les obstacles ; la trajectoire est libre entre les points intermdiaires,
- les mouvements entre 2 points, la trajectoire tant contrainte entre les points (trajectoire rectiligne
par exemple),
- les mouvements entre 2 points via des points intermdiaires, la trajectoire tant contrainte entre les
points intermdiaires.
Dans les deux premiers cas, la gnration de mouvement peut se faire directement dans l'espace
articulaire : elle se traduit par une squence de positions articulaires constituant les consignes des
asservissements.
Dans les deux derniers cas, la trajectoire tant fixe tout instant dans l'espace oprationnel, il est
prfrable de raisonner dans cet espace. La loi de commande engendre doit ensuite tre transforme en
consignes articulaires par le changeur de coordonnes.
Ces 2 approches gnration de mouvement dans l'espace articulaire et gnration de mouvement dans
l'espace oprationnel sont schmatises sur les figures suivantes.

page 48

La gnration de mouvement dans l'espace articulaire prsente plusieurs avantages :


- le mouvement est minimal sur chaque articulation,
- elle ncessite moins de calcul en ligne (au sens o il n'y a pas de changeur de coordonnes),
- le mouvement n'est pas affect par le passage sur les configurations singulires,
- les contraintes de vitesse et de couples maximaux sont connues avec prcision puisqu'elles
correspondent aux limites physiques des actionneurs.

En contrepartie, la gomtrie de la trajectoire dans l'espace oprationnel ne peut tre impose. Entre 2
points donns, l'organe terminal se dplace de faon imprvisible mais rptitive (ce qui peut occasionner
des collisions lorsque le robot volue dans un environnement encombr). Ce type de mouvement est par
consquent appropri pour raliser des dplacements rapides dans un espace dgag.

5.1

La gnration de mouvement dans l'espace oprationnel permet de contrler la gomtrie de la


trajectoire (mouvement rectiligne par exemple). Par contre :
- elle implique la transformation en coordonnes articulaires de chaque point de la trajectoire,
- elle peut tre mise en chec lorsque la trajectoire calcule passe par une position singulire,
- elle peut tre mise en chec chaque fois que les points de la trajectoire engendre ne sont pas dans
le volume accessible du robot ou chaque fois que la trajectoire impose une reconfiguration du
mcanisme (changement d'aspect en cours de trajectoire).

DESCRIPTION DU ROBOT STUBLI RX 90

Description gnrale

Les robots de la famille RX srie 90 sont du type polyarticul 6 degrs de libert. Ils se composent, voir
figure ci-dessous, dun organe mcanique bras (A F) et dune baie de commande (H) (voir
documentation Caractristiques Baie de Commande CS7 pour plus dtails), le tout tant reli par un
cble de liaison (G).
Le bras est constitu de segments relis entre eux par des articulations. Chaque articulation constitue un
axe autour duquel deux segments pivotent. Les mouvements des articulations du robot sont gnrs par
des servomoteurs (moteurs asservis) sans balais, coupls des rsolveurs (capteurs de prcision). Les
diffrents lments du bras du robot sont le pied (A), lpaule (B), le bras (C), le coude (D), lavant-bras
(E) et le poignet (F) (voir figure ci-dessous). Lensemble bras du robot contient la motorisation, les freins,
les mcanismes de transmission du mouvement, le faisceau de cbles, les circuits pneumatique et
lectrique pour lutilisateur et le systme dquilibrage (effectu par un systme intgr de ressorts) du
bras.
page 49

Quelques caractristiques du robot RX 90 :


Nombre de degrs de libert
Charge transportable nominale
Charge transportable maximale
Rayon d'action
Rptabilit
Langage de programmation
Axe

4, 5 ou 6
6 Kg
12 Kg
985 mm
+/- 0,02 mm
V+

320

275

285

540

225

540

(+/- 160)

(+/- 137,5)

(+/- 142,5)

(+/- 270)

(+120/-105)

(+/- 270)

Vitesse nominale
(/s)

236

200

286

401

320

580

Vitesse maximale
(/s)

356

356

296

409

480

1125

Amplitude ()

Les amplitudes () indiques ci-dessus sont exprimes relativement la configuration initiale du robot
(issue dune commande READY).

page 50

La face avant de la baie de commande CS7 se prsente comme suit :

Contrle de la
puissance de la baie de
commande

Arrt durgence

Mode auto/manu

Contrle de la
puissance du bras

Mise en route /
Arrt puissance
Mode local/rseau

Indicateur de dfaut

Elle permet la mise en marche, larrt, la signalisation,


Le pendant est le botier situ sur la face avant de la baie de commande et reli par un cble suffisamment
long pour accder au bras du robot. Il permet de commander manuellement le robot, il se compose
comme suit :

page 51

Arrt du bras

Arrt durgence

Slection du
pendant ou du
clavier

La commande manuelle du robot se fait partir du pendant, la commande automatique se faisant au


clavier via des commandes spcifiques. Lactivation du pendant, ou du clavier, se fait en appuyant sur le
bouton Comp/Pwr du pendant.
Le pendant va permettre de dfinir des points de passage (appels variables points) du bras du robot (cf.
6.3.3.b).

Rgles de scurit :
- Personne ne doit tre dans laire de travail du bras du robot ;
- La phase de test du robot seffectue toujours en vitesse faible (SPEED 10) ;
- Durant la phase de test du robot, tre prt appuyer sur le bouton Run/Hold du pendant pour
arrter le bras.

5.2

Mise en route du systme


- Mettre linterrupteur gnral (de couleur rouge), situ au dos de la baie de commande, sur 1.
Vrifier que le voyant Power, situ sur la face avant, est allum.
- Mettre lcran du terminal en fonctionnement.
- Notons que le commutateur Pendant/Terminal/Network, situ sur la face avant de la baie, est
positionn sur Terminal, ce qui rend le terminal actif.
- Attendre la fin du dmarrage du systme, cest--dire, lapparition du prompt . lcran du
terminal.
page 52

- Afin de demander la mise sous puissance du bras du robot, au choix :


- Taper au clavier linstruction ENABLE POWER (enter),
- Ou, appuyer sur le bouton Comp/Pwr du pendant.
- Dans les 15 secondes qui suivent, mettre la puissance sur le bras, en appuyant sur le bouton Arm
Power On (qui clignote) de la face avant de la baie. La puissance est signale par la prsence
sur la face avant de la baie du voyant Arm Power. Dans le cas contraire et si le voyant Fault est
allum, vrifiez que les boutons darrt durgence du pendant et de la face avant de la baie ne
sont pas enclenchs et que le dblocage des freins (situ sur le pied du robot) est sur 0.
- Le systme est prt accepter vos commandes. Si le terminal est actif, mettre une vitesse faible,
en tapant au clavier linstruction SPEED 10 (enter).
5.3

Mise en position initiale du bras du robot

La configuration initiale du robot correspond une position verticale du bras du robot (voir figure
1 0 0 0

0 1 0 0
suivante), on a : T0, 6
, cf. 3.8. Les valeurs articulaires correspondantes sont :
0 0 1 0,9

0 0 0 1

1 0, 2 , 3 , 4 5 6 0 .
2
2

A laide du terminal, taper au clavier (en mode Commande, signal par le prompt . ) les instructions :
SPEED 10 (enter)
DO READY (enter)
Remarque : le prfixe DO permet une excution de la commande, en loccurrence READY, en mode
commande.
5.4

Arrt du systme
- Larrt immdiat du bras (en mouvement) est ralis en appuyant sur le bouton Run/Hold du
pendant (larrt aprs linstruction en cours dexcution se fait en tapant au clavier linstruction
ABORT (enter)).
- La coupure de la puissance du bras est ralise, au choix :
- En appuyant sur le bouton darrt durgence de la face avant de la baie ou celui du
pendant.
- En tapant linstruction DISABLE POWER (enter) au clavier.
Attention : Ne pas couper la puissance de la baie de commande (via linterrupteur gnral
situ au dos de la baie de commande) quand le bras est sous puissance.
- Couper lalimentation de lcran du terminal.
- Mettre linterrupteur gnral, situ au dos de la baie de commande, sur 0.
page 53

MISE EN MOUVEMENT DU BRAS DU ROBOT STUBLI RX 90

Une fois la mise en route du systme effectue (cf. 5.2), on dispose de 2 moyens pour mettre le bras en
mouvement : Soit via le pendant, soit via lexcution dun programme ( laide du terminal).
Avant cela, dcrivons les diffrents modes de dplacements possibles du bras.
6.1

Les modes de dplacement

La situation (position et orientation) de lorgane terminal dun robot est dtermine partir de 6
paramtres.

Le mode World

Tout dplacement est rapport aux coordonnes universelles (World), correspondant au repre
(cf.
3.8) reprsent par les vecteurs X, Y, Z dans la figure suivante. Les rotations RX, RY, RZ se font par
rapport ces coordonnes.

Le mode Tool

Tout dplacement est rapport aux coordonnes doutil (Tool), correspondant au repre
(cf. 3.8)
reprsent par les vecteurs X, Y, Z dans la figure suivante. Laxe X est align avec la rainure rotative
situe dans la flasque. Les rotations RX, RY, RZ se font par rapport ces coordonnes.

Le mode Joint
page 54

Le dplacement articulaire seffectue autour des 6 diffrents axes selon les valeurs de
3.8), voir la figure suivante.

6.2

(cf.

Contrle du robot partir du pendant

Les modes de dplacement (cf. 6.1) sont slectionns laide de la touche Man/Halt du pendant.
Aprs la mise sous tension du systme, le systme est en mode World. Lappui successif sur cette touche
permet le passage dun mode lautre (World Tool Joint World).
Une fois le mode de dplacement slectionn, on peut choisir laxe sur lequel on veut se dplacer laide
des touches X/1, Y/2, Z/3, RX/4, RY/5, RZ/6. Les lettres X, Y et Z reprsentent les 3 axes ; RX, RY, RZ
reprsentent les rotations autour de ces axes. Les chiffres 1 6 reprsentent, dans le contexte du mode
Joint, les 6 axes du robot.
La barre de vitesse permet de choisir la vitesse et le sens (+/-) du dplacement manuel :
Sens du dplacement
Rapide

Lent

Rapide

La touche Slow du pendant permet de choisir entre deux plages de vitesses diffrentes des barres de
vitesses : On peut choisir une vitesse de dplacement normale ou lente.
6.3

Contrle du robot partir dun programme

Il existe 3 prompts lcran :


- Le prompt . pour le mode Commande. On fournit au robot des instructions du type DIR,
FDIR, FORMAT,
- Le prompt * pour le mode Excution. On fournit des instructions du type ABORT,
EXECUTE, PANIC, RETRY, XSTEP,
page 55

- Le prompt ? pour le mode Editeur. On fournit des instructions programme, ou des


commandes diteur.
On peut passer dun mode lautre de la manire suivante :

EX nom.pg

Mode Commande
(mode utilis par
dfaut)
(.)

Mode Excution
(*)

Arrt du
programme
SEE
Nom.pg

Appui
sur F4

Mode Editeur
( ?)

Remarque : Le prfixe DO com permet lexcution de linstruction com en mode Commande (par
exemple DO READY).
6.3.1

Le programme du robot existe dj

Pour excuter le programme nom.pg (situ dans la mmoire vive de la machine), utiliser linstruction
EXECUTE nom.pg (enter). Le nom du programme doit commencer par une lettre et comporte au
maximum 15 caractres.
Le fait de taper, avant dutiliser linstruction EXECUTE ou en cours dexcution du programme,
linstruction ENABLE TRACE (enter) fait apparatre lcran les diffrentes instructions au fur et
mesure de leurs excutions. Linstruction DISABLE TRACE (enter) permet un retour en mode normal.
Linstruction XSTEP nom.pg (enter) permet lexcution du programme en mode pas pas. Le fait de
taper X (enter) permet dexcuter le pas suivant.
Notons que la touche Run/Hold du pendant provoque un arrt immdiat du mouvement du bras, ainsi
que du programme, alors que linstruction ABORT (enter) tape au clavier provoque larrt qu la fin
de linstruction en cours.
La reprise du cycle se fait via linstruction RETRY (enter).
6.3.2

Lditeur SEE

Linstruction SEE nom.pg (enter) provoque le passage du mode Commande au mode Editeur. SEE est
un diteur pleine page qui permet, en insrant, ou modifiant des instructions, de crer un programme.
Appuyer sur la touche F4 pour quitter lditeur.
Cet diteur a 3 modes ddition : COMMAND, INSERT, REPLACE.
- Le mode COMMAND est celui par dfaut. Dans ce mode, le code programme nest pas entr,
seules les commandes spciales diteur peuvent aboutir.
- Le mode INSERT permet partir de lemplacement du curseur linsertion de nouveaux
caractres dans le programme.

page 56

- Le mode REPLACE permet partir de lemplacement du curseur le remplacement du texte


existant par un nouveau texte.
En mode COMMAND, on peut lire les donnes (il est possible de supprimer un ou des caractres en
appuyant sur la touche D).
Pour crire ou remplacer, il suffit de taper sur la touche I (mode INSERT) ou R (mode REPLACE).
Schmatiquement, on a :
Mode COMMAND

R
ESC

ESC

Mode INSERT

Mode REPLACE

Remarque : Lors de lcriture dun programme, on peut effectuer des copier/coller :


<shift-F9> : Coupe la ligne sur
laquelle se trouve le curseur

F9

<shift-F10> : Colle le contenu du buffer


lemplacement du curseur

F10

<F9> : Copie la ligne sur laquelle


se trouve le curseur

F11

F12

<F10> : Colle la dernire ligne entre dans le


buffer lemplacement du curseur

Remarque : En fait, les programmes gnrs sont sous forme de fichiers texte, ce qui permet lutilisation
dun traitement de texte tel que le Bloc-notes (NotePad) de Windows.

6.3.3

Quelques commandes

La programmation du robot se fait via le langage V+, qui est un langage de programmation interprt,
structur de haut niveau, multitche. Seuls quelques lments de base sont donns.
Le signe ; permet dinsrer un commentaire.
a) Elments standard de programmation
Listons tout dabord les lments standards un langage :
1) Les identificateurs commencent obligatoirement par un caractre alphabtique, suivi dun nombre
quelconque de lettres, chiffres ou points (qui jouent le rle du _ en Pascal, C). Ils nont pas tre
dclars, le type tant donn par le contexte (3 types sont possibles (voir ci-dessous)).
2) Il existe diffrentes classes doprateurs, notamment des oprateurs :
page 57

- mathmatiques :
- relationnels :
- logiques :

+, -, *, /, MOD,
<, <=, = =, <>, >=, >,
AND, OR, NOT.

3) Structures algorithmiques (les plus classiques)


Linstruction GOTO permet une excution non squentielle des instructions. Elle permet, par
exemple, la cration de boucle via lutilisation de label et de linstruction GOTO label.
Structure CASE OF
CASE 2*i + 1 OF
VALUE 1, 2:
:
VALUE 3:
:
ANY; (sans mettre :)
:
END
Structure IF THEN ELSE END
IF (i MOD 2 == 0) OR (i > j) THEN
:
ELSE
:
END
Structure FOR END
FOR i = max TO min STEP -1
T[i]=i
END
Structure WHILE DO END
WHILE (i < max) AND (t[i] <> 0) DO
:
END
Structure DO UNTIL
DO
:
UNTIL t[i] == 0
Linstruction WAIT condition interrompt lexcution du programme jusqu ce que lexpression
condition (par exemple, SIG 1002) soit valide.

b) Dclarations de variables
Il existe 3 types de variables :

Une variable de type point permet de mmoriser un point du bras du robot, dfini par 6
paramtres indpendants : 3 pour la position, 3 pour lorientation. Une variable de type point
page 58

peut tre considre comme un repre donn par son origine et son orientation, ou comme une
transformation entre deux repres.
Une manire simple pour mmoriser la situation de lorgane terminal, correspondant au point de
passage courant du bras du robot (atteint par exemple via le pendant), dans une variable A (de
type point) consiste taper au clavier :
HERE A (enter)
X
Y
Z
374 520 355
Change ? (enter)

y
55

p
134

r
1

Ainsi, la variable point A contient les donnes


situation de lorgane terminal (c--d, de R6).

, permettant ainsi de mmoriser la

Une autre variable de type point existe. Elle permet de mmoriser la posture du bras du robot
(en mmorisant les variables J1, J2, , J6), et donc galement la situation de lorgane terminal
(ce que faisait la prcdente variable point). Pour cela, lidentifiant de la variable doit
commencer par un dise (#). Par exemple :
HERE #A (enter)
J1
J2
J3
54
72
164
Change ? (enter)

J4
181

J5
-40

J6
-182

permet de mmoriser la posture courante du bras du robot dans la variable #A (attention, la


variable cre est #A et non A).
Linstruction SET B = A permet daffecter la variable point B la valeur A (correspondant
un point).
Linstruction SET C = HERE permet daffecter la variable point C le point de passage
courant du bras du robot.
Linstruction SET loc1 = TRANS(550, 450, 750, 0, 180, 45) permet daffecter la variable
point loc1 le point correspondant aux coordonnes oprationnelles X = 550 mm, Y = 450 mm,
Z = 750 mm, y(aw) = 0, p(itch) = 180, r(oll) = 45.
Linstruction SET #loc2=#PPOINT(80, -20, 120, 0, 76, -182) permet daffecter la variable
point #loc2 le point correspondant aux coordonnes articulaires JT1 = 80, JT2 = -20, ,
JT6 = -182 (attention, les # sont obligatoires et il ny a pas despace de part et dautre du signe
=).
Linstruction SET arrivee = DEST permet daffecter la variable point arrivee le point de
destination courante du bras du robot.
Linstruction POINT X permet de crer une variable point X en introduisant directement au
clavier ses coordonnes (sans se rfrer la position courante du bras du robot).

Les variables relles ou entires (entre 16 777 216 et 16 777 215) :


Exemple : A = 12
B = 2.356
C=B

Les variables chanes dfinies par un $ en premire position :


page 59

Exemple :

$rponse = Rpondre par Oui ou Non

c) Commandes associes la mmoire vive


Les programmes, ainsi que les variables, doivent tre placs dans la mmoire vive de la machine afin
dtre excuts.
Pour visualiser les titres des programmes situs dans le rpertoire courant, taper DIR (enter).
Pour visualiser les contenus (instructions disponibles uniquement en mode Commande) :
- du programme nom.pg, taper :
LISTP nom.pg (enter),
- des coordonnes des points A et #B, taper :
LISTL A,#B (enter),
- des variables relles X et Y, taper :
LISTR X, Y (enter),
- des variables chanes $rponse et $nom, taper :
LISTS $rponse, $nom (enter).
Pour copier un programme, taper COPY nom du nouveau prog = nom de lancien prog (enter)
Pour renommer un programme, taper RENAME nom du nouveau prog = nom de lancien prog
(enter)
Pour supprimer :
- le programme Nom.pg, taper :
DELETEP nom (enter),
- les coordonnes du point nom_point, taper : DELETEL nom_point (enter),
- la variable relle var_relle, taper :
DELETER var_relle (enter),
- la variable chane $var_chane, taper :
DELETES $var_chaine (enter).
Pour vrifier lexistence du programme toto.pg, taper : TESTP toto.pg (enter).
Linstruction ZERO permet de vider le contenu total de la mmoire vive.
d) Oprations de sauvegarde sur une disquette ou un disque dur
Les programmes, ainsi que les variables, peuvent tre sauvegards sur une disquette et/ou un disque dur.
Pour sauvegarder, sur une disquette et/ou un disque, un programme, appel nom, et ses variables
associes ventuelles, on utilise linstruction STORE nom. Il en rsulte un fichier nom.V2.
On utilise les instructions STOREP, STOREL, STORER, STORES pour sauvegarder uniquement
respectivement des programmes, des points, des rels, des chanes.
Pour charger un fichier (situ sur une disquette et/ou un disque) en mmoire vive, on utilise
linstruction LOAD. Par exemple :
LOAD nom.pg charge le fichier nom.pg situ dans le rpertoire courant en mmoire vive.
Linstruction FDIRECTORY permet :
- De visualiser les fichiers contenus dans le rpertoire courant.
- De crer un rpertoire partir du rpertoire courant :
Exemple : Crer le rpertoire c:\DESS\TD, sachant que le rpertoire courant est c:\, taper :
FDIR/C c:\DESS\
puis
FDIR/C c:\DESS\TD\
page 60

- De supprimer un rpertoire partir du rpertoire courant :


Exemple : Supprimer le rpertoire TD, situ dans le rpertoire DESS, taper :
FDIR/D c:\DESS\TD\
Linstruction CD permet de changer de rpertoire du disque dur (c :) ou de la disquette (a :), par
exemple :
CD=c:\Repertoire1\Repertoire2\
Remarque : CD .. permet de remonter dun rpertoire.
Linstruction FLIST permet de visualiser le contenu dun fichier (situ sur une disquette et/ou un
disque), par exemple :
FLIST c:\nom.pg
Linstruction FDELETE permet de supprimer un fichier (situ sur une disquette et/ou un disque), par
exemple :
FDELETE nom.pg
Linstruction FCOPY permet de copier un fichier (situ sur une disquette et/ou un disque), par
exemple :
FCOPY fichier cible = fichier source
Attention, lordre des fichiers cible et source est invers par rapport DOS !
Linstruction FRENAME permet de changer le nom dun fichier (situ sur une disquette et/ou un
disque), par exemple :
FRENAME nouveau nom fichier = ancien nom fichier
e) Quelques instructions programme
Les mouvements _________________________________________________________
(DO) READY (DO permet une excution en mode Commande) remet le bras du robot dans sa
configuration initiale.

Linstruction WHERE permet de connatre la configuration du robot et ltat du prhenseur au


moment o cette instruction est excute. Par exemple, si la variable A de type point est prsente, on
peut afficher ses valeurs via linstruction WHERE A.
L'instruction ALIGN permet de placer l'axe Z du repre outil (terminal), correspondant laxe ,
paralllement l'axe le plus proche du rfrentiel de base (World) ( savoir
ou ). Cette
instruction vite de faire de nombreuses manipulations via le pendant afin de rendre l'axe Z du repre
outil colinaire avec, par exemple, l'axe Z du repre de base (World) :
Axe World Z

page 61

On spcifie toujours la destination du repre terminal, et ventuellement des contraintes sur la faon
datteindre la destination (par exemple en ligne droite). La destination est toujours un point (ou un
repre), ainsi le mouvement impose datteindre une position donne, avec une orientation donne. Il
nexiste pas de moyen de demander un mouvement en laissant libre, par exemple, lun des angles
dorientation.
L'instruction ABOVE (resp. BELOW) permet de forcer le coude (3me articulation) tre en position
haute (resp. basse), tout en conservant la mme position et la mme orientation du repre outil.
Cinq types de primitives de mouvement sont lists ci-dessous : MOVE(S), APPRO(S), DEPART(S),
DRIVE, DELAY.
1) Linstruction MOVE point, ou MOVE #point, (prcde de DO si lexcution est en mode
commande) ordonne un dplacement du repre outil du robot vers le point spcifi selon une
trajectoire non impose par lutilisateur (dpendante de la morphologie du manipulateur) :

B
MOVE B

A
Linstruction MOVES point, ou MOVES #point, (prcde de DO si lexcution est en mode
commande) est similaire l'instruction prcdente, mais est telle que la trajectoire de lorigine du
repre terminal est une droite :

MOVES B

A
2) L'instruction APPRO point, distance, ou APPRO #point, distance, gnralement suivie de
l'instruction MOVE, permet au robot dapprocher le point spcifi, en restant en retrait de la distance
spcifie (en mm), selon l'axe Z du repre outil (voir lien avec l'instruction ALIGN).
Axe Z du repre outil
APPRO A, 50

50 mm
MOVE A
A

page 62

L'instruction APPROS est similaire l'instruction prcdente, mais est telle que la trajectoire de
lorigine du repre terminal est une droite :
Axe Z outil
APPROS A, 50

50 mm
MOVE A
A

3) L'instruction DEPART distance ralise la fonction inverse de l'instruction APPRO ; elle permet de se
dgager de la distance indique (en mm) selon l'axe Z du repre outil, par rapport la position
courante (i.e., la position juste avant l'excution de l'instruction DEPART).
Soit B la position juste avant lexcution de linstruction DEPART 50 . Soit A la position du
repre outil rsultant du mouvement, alors linstruction APPRO A, 50 permet de retourner en B.

Axe Z outil
Etc ,

50 mm
DEPART 50

L'instruction DEPARTS est similaire l'instruction prcdente, mais est telle que la trajectoire de
lorigine du repre terminal est une droite.
4) Linstruction DRIVE articulation, angle, pourcentage de vitesse (prcde de DO si lexcution est
en mode commande) permet dassurer un dplacement articulaire suivant larticulation dsigne. Par
exemple :
DRIVE 1, 30, 50
cre un dplacement suivant larticulation 1 de 30 degrs 50% de la vitesse moniteur.
5) DELAY temps permet au robot de sarrter pendant le temps stipul dans linstruction. Ce temps doit
tre exprim en seconde et ne peut tre infrieur 16 ms.
Soit par exemple, linstruction : DELAY 30

Linstruction DELAY est considre comme une instruction de mouvement sans dplacement
(soit encore un mouvement vers le point courant).
page 63

Instructions de mouvements de la pince :


OPENI
CLOSEI

; permet douvrir la pince,


; permet de fermer la pince.

________________________________________________________________________
Important : Par dfaut les mouvements du bras du robot sont asynchrones, autrement dit une
instruction de mouvement se termine ds que le mouvement est entam. Aussi, le programme se
poursuit avec lvaluation de linstruction suivante, sauf si celle-ci est elle-mme une instruction de
mouvement (rappelons que cest le cas de linstruction DELAY). Cette notion - qui existe dans tous
langages de programmation de haut niveau de robots - constitue une diffrence essentielle entre la
programmation dun robot et la programmation dune application informatique classique.
________________________________________________________________________
Pour que le programme ne se poursuive quaprs achvement du mouvement, il faut le demander
explicitement laide de linstruction BREAK. En effet, cette instruction suspend l'excution du
programme jusqu' ce que le mouvement ait atteint sa destination. Cette instruction est utile pour
viter l'excution d'instructions de calculs, de gestions entres/sorties, (autres que des instructions
de mouvements), situes entre deux mouvements.
Comparons par exemple les 2 portions de code suivantes :
MOVE A

MOVE A

TYPE le mouvement commence

TYPE le mouvement commence


BREAK
TYPE le mouvement est termin

On peut galement donner des indications de vitesse, soit en pourcentage de la vitesse maximale pour
un mouvement en articulaire, soit en millimtres par seconde pour un mouvement en cartsien.
Il est possible dintroduire, au sein du programme, des instructions de vitesse. Ces vitesses sont
systmatiquement multiplies par la vitesse dite moniteur , introduite au clavier avant lexcution
du programme.
Ainsi, si la vitesse indique dans le programme est de
alors que la vitesse moniteur est de
, alors la vitesse rsultante du manipulateur sera de
de la vitesse nominale du robot.
Il en va de mme pour une vitesse exprime en mm/sec (noter que celle si sera respecte que pour une
vitesse moniteur gale
).
Par exemple :
- SPEED 50 ALWAYS vitesse de
de la vitesse moniteur pour un mouvement en
articulaire. Si ALWAYS nest pas indiqu, seul le prochain mouvement en articulaire est
concern. Sinon, lindication est valable jusqu la prochaine indication de vitesse en articulaire.
- SPEED 500 MMPS ALWAYS vitesse de 500 mm/sec pour un mouvement en cartsien. Si
ALWAYS nest pas indiqu, seul le prochain mouvement en cartsien est concern. Sinon,
lindication est valable jusqu la prochaine indication de vitesse en cartsien.
page 64

Les sous-programmes ____________________________________________________


Seule la notion de sous-programmes sans paramtre existe. Un sous-programme est dfini par un
identificateur et se termine par RETURN. Lappel du sous-programme seffectue par linstruction CALL
nom_programme. Toutes les variables sont globales.
Par exemple, linstruction :
CALL prg.pg( )
permet dappeler le programme prg.pg.

Entres/sortie cran/clavier ________________________________________________


La commande PROMPT permet la lecture de donnes introduites au clavier.
Par exemple, linstruction :
PROMPT Donner la position : , x, y, z
est telle que le message Donner la position : saffiche lcran et le programme attend que trois
valeurs soient introduites avant de poursuivre.
La commande TYPE permet dcrire lcran un message.
Par exemple, linstruction :
TYPE La vitesse est : , v, et lacceleration est : , gamma
permet lcriture lcran du message entre , accompagn des valeurs des variables v et gamma.

Entres/sorties digitales (tout ou rien) _______________________________________


En gnral, un robot interagit avec dautres systmes. Cest le cas du robot situ en salle 215, au sens o
le robot communique avec le systme de transfert.
Programmation des sorties :
Les adresses des sorties sont 1 pour la sortie n1, 2 pour la sortie n2, , 8 pour la sortie n8
(sachant que les sorties 7 et 8 sont gnralement rserves et que le nombre de sorties peut tre
tendu).
Linstruction SIG permet dcrire (dactionner le contact) sur une sortie digitale. Par exemple,
linstruction :
SIG 2, -1, 4
permet de mettre ltat 1 les sorties n 2 et 4, et ltat 0 la sortie 1.
Linstruction RESET remet zro toutes les sorties.
Les entres :
Les adresses des entres sont 1001 pour lentre n1, 1002 pour lentre n2, , 10012 pour
lentre n12 (leur nombre peut tre tendu).
Linstruction SIG permet de lire l'tat des entres digitales.
Par exemple, linstruction :
SIG 1002, 1004
permet la lecture des entres 2 et 4.
page 65

Scrutation des entres :


WAIT SIG(1001)

; attendre que E1 soit l'tat 1

WAIT SIG(1001) AND SIG(-1002)

; attendre que E1 soit l'tat 1 et E2 l'tat 0

WAIT SIG(1001) OR SIG(1002)

; attendre que E1 ou E2 soit l'tat 1

IF SIG(1001) THEN

; si E1 est ltat 1 alors

Raction aux entres :


Linstruction
REACT 1001, SPRG1
permet lexcution du sous-programme SPRG1 si E1 est l'tat 1. Le mouvement en cours ne sera
pas interrompu. Si le sous-programme contient des instructions de mouvement, elles ne seront
excutes qu la fin du mouvement en cours. Le retour au programme interrompu seffectue sur
linstruction qui suit linstruction aprs laquelle le droutement a eu lieu.
Linstruction
REACTI 1002, SPRG2
permet daller immdiatement excuter le sous-programme SPRG2 si E2 est l'tat 1. Le
mouvement en cours est interrompu. Aprs excution de SPRG2, le programme interrompu est
poursuivi linstruction suivante, aussi le mouvement interrompu nest pas termin. Pour terminer
le mouvement, le programmeur peut, par exemple, mmoriser la destination au moment de
linterruption et demander lexcution du mouvement la fin du sous-programme SPRG2.

DESCRIPTION DES ROBOTS FANUC LR MATE 100 IB ET ARC MATE 100 IB


Robot 5 axes LR Mate 100 IB

Robot 6 axes ARC Mate 100 IB

page 66

Ces deux robots se situent au sein de la chane de production du hall de technologie :

7.1

Description gnrale

Le robot FANUC LR Mate 100 IB est un


robot lectrique 5 axes destin au chargement
dchargement de machine, la soudure et la
manutention. Sa petite taille et ses capacits
sont adaptes pour les petites applications
industrielles et les utilisations en laboratoire.
Le robot LR Mate 100 IB est conu pour tre
fiable dans les environnements svres.

Le Robot FANUC ARC Mate 100 IB est un


robot lectrique 6 axes destin aux applications,
prcises et rapides, de soudure et dcoupe. Bas
sur une construction simple et fiable, le robot
ARC Mate 100 IB dernire gnration de robot
soudure ARC, a un design compact avec des
vitesses et une plage de mouvement accrues. La
conception flexible et compacte simplifie
lintgration, augmente les possibilits d'accs
dans des espaces confins et permet une
installation dense de robots et de leurs
priphriques.

Quelques caractristiques :

Robot LR Mate 100 IB

Robot ARC Mate 100 IB

Charge maximale : 3-5 kg


Charge laxe J3 : 12 Kg
Rayon daction (mm) : 620
Rptabilit : +/- 0.04 mm

Charge maximale : 6 kg
Charge laxe J3 : 12 Kg
Rayon daction (mm) : 1373
Rptabilit : +/- 0.08 mm
page 67

Plage de mouvement () Vitesse nominale (/s)


J1 : 320
J2 : 185
J3 : 365
J4 : 240
J5 : 400

Plage de mouvement ()

240
270
240
330
480

J1 : 340
J2 : 250
J3 : 315
J4 : 380
J5 : 280
J6 : 720

Face avant de la baie de commande

150
160
170
400
400
520

Face avant de la baie de commande

1
2

Vitesse nominale (/s)

1. Slecteur des 3 modes (AUTO, T1, T2)


2. Bouton darrt durgence
3. Sectionneur robot tour (interrupteur de
scurit)

1.
2.
3.
4.
5.

Slecteur des 3 modes (AUTO, T1, T2)


Relchement de lalarme
Bouton de dpart
Bouton de mise sous tension
Bouton darrt durgence

Description du pendant
Le pendant est connect la carte PC, situe dans le contrleur, par un cble et constitue linterface entre
le logiciel Handling tool et loprateur.
Les oprations suivantes peuvent tre ralises avec le pendant :
Bouger le robot manuellement (cf. 8.2.),
Crer un programme (cf. 8.3.3.),
Excuter un test (cf. 8.3.1.).
NB : Les codes derreurs et remdes sont accessibles dans les annexes A1-A2-A3 du Manuel de mise
en service du FANUC .

page 68

Utile pour afficher


la position du robot

page 69

7.2

Mise en route du systme

Rgles de scurit :
Personne ne doit tre dans lespace de travail du bras du robot.
La phase de test du robot seffectue toujours en vitesse rduite : Se mettre en mode T1
(vitesse < 250 mm/s).
Etre prt appuyer sur le bouton arrt durgence durant la phase de test du robot.

Le corps mort :
Linterrupteur du corps mort (voir 3 figure ci-dessous) est utilis comme un moyen
dactiver les mouvements. Lorsque le pendant est activ, il faut appuyer sur linterrupteur
du corps mort pour autoriser les mouvements. En le relchant, le robot stoppe
immdiatement, cest galement le cas lors dun appui sur le bouton d'arrt d'urgence 2 .
Noter que le robot stoppe galement lorsque linterrupteur du corps mort est trop
comprim par loprateur.
Pour entrer dans lenceinte :
Pour accder aux robots, maintenir appuyer le bouton demande daccs, situ ct de la porte, et
tirer la manette de manire ouvrir la porte. L'ouverture de la porte empche le mouvement du bras des
robots (une lumire rouge apparat au-dessus de l'armoire de mise en route).
Pour permettre la mise en mouvement du bras des robots : fermer la porte, puis r-armer l'enceinte
laide du bouton vert situ quelques pas et droite de la porte (la lumire rouge s'teint).

Attention : En mode T1 (voir slecteur situ sur la baie de commande), le bras des robots peut
tre mis en mouvement vitesse rduite lorsque la porte est ouverte. Ceci permet dtre proche du
bras du robot et ainsi de programmer des mouvements prcis.

Mise en route gnrale :


1. ARMOIRE DE MISE EN ROUTE (GAUCHE)

page 70

Sur le ct de l'armoire, mettre l'Intersectionneur


transitique sur la position ON .

Sur la face avant de larmoire, appuyer sur le bouton


vert Mise en nergie.

Ouvrir l'armoire du bas et positionner le commutateur


sur TP l'aide de la cl.

Sur le ct de l'armoire, ouvrir la vanne de l'air


comprim (celle du bas !!).

!!!

2. BAIE DE COMMANDE

Positionner la cl (la mme pour les 2 baies de


commande) sur T1 .

Positionner le Sectionneur robot sur ON .

Uniquement pour le robot ARC Mate 100 IB (robot de


droite) : Appuyer sur le bouton de mise sous tension.

3. PENDANT
Positionner linterrupteur dactivation et de dsactivation (cf. 7.2, 1er figure - 1 ) sur ON .

7.3

Arrt du systme

Afin darrter le systme, il faut :


page 71

Excuter le programme TP afin de remettre le robot en configuration initiale.

Au niveau du pendant :
Positionner linterrupteur dactivation et de dsactivation sur OFF .
Au niveau de la baie de commande :
Uniquement pour la baie de commande du robot ARC Mate 100 IB (6 axes) : Appuyer sur le bouton
de mise hors tension.
Mettre le Sectionneur robot sur la position OFF .
Positionner la cl (la mme pour les 2 baies de commande) sur AUTO .
Au niveau de larmoire de mise en route :
Sur le ct de l'armoire, fermer la vanne de l'air comprim.
Ouvrir larmoire de mise en route et positionner le commutateur sur SIMUL laide de la cl.
Sur le ct de l'armoire, mettre l'intersectionneur transitique sur la position OFF .

MISE EN MOUVEMENT DU BRAS DES ROBOTS FANUC LR MATE 100 IB ET ARC


MATE 100 IB

Une fois la mise en route gnrale effectue, on dispose de 2 moyens pour mettre le bras en
mouvement : soit manuellement via le pendant, soit automatiquement via lexcution dun programme (
laide du terminal). Dcrivons les diffrents modes de dplacements possibles du bras.
8.1

Les modes de dplacement


Le mode JOINT

Dans un dplacement JOINT, on peut dplacer chaque axe du robot indpendamment.

Robot ARC Mate 100 IB


Remarque : Le dplacement de J2 entrane un dplacement de J3.

Le mode XYZ - USER

page 72

Dans un mouvement cartsien, le centre outil du robot effectue des translations selon les axes X, Y et Z du
repre utilisateur (correspondant au repre ). Le robot effectue des rotations doutil autour des axes x, y
et z du repre outil (correspondant au repre ).

Robot ARC Mate 100 IB

Le mode TOOL

Lors du mouvement de loutil, le centre outil (TCP) se dplace selon les axes X, Y et Z du systme de
coordonnes outil dfini pour le poignet du robot. Le robot effectue des rotations doutil autour des axes
x, y et z du repre outil. Le repre est fix loutil, les dplacements se font par rapport loutil.

Robot ARC Mate 100 IB

8.2

Mise en mouvement en mode manuel

page 73

Les touches du mode manuel :

Bouton darrt
durgence

Shift

Shift

Touche RESET

Touches de translation

Touche COORD pour


choisir le mode de

Touches de rotation

dplacement
Boutons vitesse +/Fonctionnement :
1. Prendre le pendant en appuyant sur linterrupteur du corps mort.
2. Les modes de dplacement sont slectionns laide de la touche
du pendant, lappui successif
permettant le passage dun mode lautre (JOINT, USER, TOOL). Le systme de coordonnes
slectionn est affich dans le coin suprieur gauche du pendant.
3. Appuyer sur la touche
pour enlever le mode FAULT (indicateur situ en haut et gauche du
pendant) d au dclenchement dune alarme.
4. On peut choisir laxe sur lequel on veut se dplacer en maintenant la touche
rotation, ou de translation, selon le mode de dplacement choisi.

et les touches de

Touches de translation :
Touches de rotation :
Remarques :
- Les touches
- Appuyer sur la touche

ajustent la vitesse du mouvement slectionn.


pour connatre la position du robot.

Exemples :
page 74

JOINT (articulaire)

USER (cartsien)

TOOL (outil)

Rotation de la 3me
articulation :

Translation selon l'axe Ox du


repre fixe :

Rotation selon l'axe Oy du


repre outil :

Appuyer sur

Appuyer sur

Appuyer sur

8.3

Mise en mouvement en mode programme

Les touches du mode programme :

Bouton darrt
durgence

Select

Enter
Shift
Step

8.3.1

Forward

Excution dun programme

1. Appuyer sur la touche

pour accder la liste des programmes.

2. Se positionner sur le programme souhait laide des touches


visualiser les lignes du programme slectionn.
3. Appuyer simultanment sur les touches

et

et presser la touche

pour

pour excuter le programme.

Exemples d'excution de programmes :


Robot LR Mate 100 IB
Excuter le programme TP

Robot ARC Mate 100 IB


Excuter le programme Prgtest1

page 75

Remarque : Il est possible dexcuter un programme en mode pas pas en slectionnant le mode step,
pour cela :
1. Appuyer sur la touche

. Le voyant STEP sallume en haut gauche du pendant.

2. Appuyer simultanment sur les touches


3. Appuyer sur la touche

8.3.2

pour excuter une ligne du programme.

pour quitter le mode pas pas.

Arrt dun programme

Le relchement de la touche
appuyant sur le bouton
8.3.3

et

suspend l'excution du programme. On sort du programme en


, il sensuit un accs la liste des programmes disponibles.

Cration dun programme

Pour accder au menu des programmes, appuyer sur la touche


CREATE pour crer un nouveau programme.

. Appuyer sur la touche

Pour entrer le nom du programme, utiliser les flches


-

de manire avoir accs aux options :

words, ce qui permet la slection dun mot prdfini,


upper case, ce qui permet la slection de lettres majuscules,
lower case, ce qui permet la slection de lettres minuscules,
option, ce qui permet dinsrer, deffacer, ...

Valider le nom du programme par un appui sur la touche

Appuyer sur la touche

- EDIT pour diter un programme.

Appuyer sur la touche

- POINT pour afficher le menu dinstruction standard de mouvements.

Slectionner linstruction de mouvement souhaite en appuyant sur la touche


diffrents paramtres de linstruction de mouvement.

. Il reste dfinir les

Voir p. 5.21 du Manuel de mise en service du FANUC pour insrer, dtruire une ligne de commande.
Rappel : W pour yaW signifie lacet, P pour Pitch signifie tangage, R pour Roll signifie roulis.
8.4

Quelques instructions de mouvement

Une instruction de mouvement dplace le bras du robot une position spcifie, dans les limites de la
zone de travail, avec une rapidit et un mode de mouvement prdfinis. Dans une instruction de
mouvement, les items numrs ci-dessous doivent tre spcifis. La structure dune instruction de
mouvement est indique dans la figure qui suit.

page 76

1. Structure de mouvement : Spcifie la faon de contrler le chemin de dplacement jusqu une


position donne.
2. Structure des donnes de position : Registre qui permet d'enregistrer les donnes de position.
3. Donnes de position : Spcifie une position vers laquelle le robot doit se dplacer.
4. Vitesse : Spcifie la vitesse du robot.
5. Trajectoire de positionnement : Dfinit la mthode avec laquelle le robot termine son mouvement.

(Joint)
(Linaire)
(Circulaire)

8.4.1

Structure de mouvement

Le chemin dun mouvement jusqu une position dfinie est spcifie par la structure de mouvement 1 .
Trois types de mouvement sont possibles :
Mouvement Joint (J)
Le mode de mouvement JOINT est le mode de base pour dplacer le robot dans une position spcifique.
Le robot acclre le long, ou autour, de tous les axes, bouge une vitesse spcifie, dclre, et sarrte.
La trajectoire de mouvement est, habituellement, non linaire. Un pourcentage de vitesse maximum est
dfini comme vitesse de mouvement JOINT.

page 77

Lorsque le type de mouvement est JOINT, la vitesse est spcifie ainsi :


Un pourcentage de 1 100 % de la vitesse maximum doit tre dfini.
Lorsque lunit de mesure est la seconde, spcifier une valeur de 0,1 3200 sec, reprsentant le
temps pris pour un mouvement.
Lorsque lunit de mesure est la milliseconde, spcifier une valeur de 1 32000 msec, reprsentant
le temps pris pour un mouvement.
Mouvement linaire (L)
Le mode de mouvement Linaire contrle la trajectoire du centre outil par une droite allant dun point de
dpart un point final. La structure du mouvement est spcifie de faon apprendre une position finale.
Pour la spcification de vitesse linaire, loption dsire doit tre choisie en mm/sec, cm/min ou
inch/min.

Lopration de rotation est un procd de mouvement par lequel loutil est tourn autour de la pointe du
centre outil, depuis la position de dpart la position cible, en utilisant une opration linaire. La vitesse
est spcifie en deg/sec. Le point est command linairement.

page 78

Mouvement circulaire (C)


Le mode de mouvement Circulaire contrle la trajectoire du centre outil depuis le point de dpart
jusquau dernier point en passant par un point de passage intermdiaire. Le point de passage et le point
cible sont indiqus dans une instruction. Pour la spcification de la vitesse circulaire, loption dsire doit
tre choisie en mm/sec, cm/min ou inch/min.

8.4.2

Donnes de position

Il existe deux types denregistrement de position 2 :


Commande de position P[n]
Registre de position PR[x]
n est le numro de position. Une commande de x est le numro du registre de position. Un
position stocke linformation sur la position registre de position stocke linformation sur la
actuelle du bras du robot.
position dans un emplacement de stockage
spar du programme.
L'information de position 3 dcrit l'emplacement du centre outil, elle est effectue par le biais de 7
composantes, comme indiqu ci-dessous :
[ ]

).

Les composants d'emplacement ou de localisation (X, Y, Z) dcrivent l'emplacement tridimensionnel de


la position. Les composants d'orientation (W, P, R) dcrivent la rotation respectivement autour de X, Y,
page 79

Z. Le composant de configuration (config) dcrit l'tat des axes lorsque le robot arrive la position de
destination. L'orientation des axes du poignet la position de destination reste la mme mais l'orientation
des autres axes peut changer.
8.4.3

Trajectoire de positionnement

La trajectoire de positionnement 5 dfinit la mthode avec laquelle le robot termine son mouvement
dans une instruction. Deux sortes de positionnement de trajectoire sont possibles : FINE et CNT.
Positionnement de trajectoire FINE
JP[i] 50% FINE : Lorsque le positionnement de trajectoire
FINE est spcifi, le robot sarrte un point de destination avant de repartir jusquau point suivant.
Positionnement de trajectoire CNT
JP[i] 50% CNT50 : Lorsque le positionnement de trajectoire
CNT est spcifi, le robot sapproche du point de destination mais ne sarrte pas et continue jusquau
point suivant.
La proximit laquelle le robot doit sapprocher du point de destination peut tre dfinie en spcifiant
une valeur de 0 100.
Sur CNT0, le robot est au plus prs avec une dclration maximum.
Sur CNT100, le robot est au plus loin avec une dclration minimum.

Lorsquune instruction comme une instruction dattente est apprise, le robot sarrte
au point cible pour excuter cette instruction.

Exemple : Dplacement du robot ARC Mate sur une position souhaite


Position :

X = 210.574
W = 103.041
J1 = 87.957
J4 = -72.955

Y = 712.501
P = -60.693
J2 = -23.175
J5 = 44.234

Z = 357.396
R = 124.391
J3 = -24.453
J6 = 89.797

NB : yaW correspond l'angle de lacet, Pitch l'angle de tangage et Roll langle de roulis.
page 80

Prendre la posture que vous souhaitez mmoriser. Appuyer sur la touche


Se dplacer dans le menu avec les touches

-POINT.

appuyer sur la touche

pour slectionner la

commande voulue. Pour raliser un mouvement simple, on choisit : JP [..] 100% FINE
Pour modifier les diffrentes caractristiques, se dplacer sur la ligne de commande laide des touches
.
Slectionner P [..] et appuyer sur la touche
dsire (appuyer sur la touche

- POSITION pour entrer les coordonnes de la position

- REPRE pour slectionner le repre souhait, soit le repre USER

(X, Y, Z, W, P, R), soit le repre JOINT (J1, ..., J6)).


Appuyer sur la touche

- DONE pour enregistrer les coordonnes entres.

NB : Voir le manuel (section 5-18) en ce qui concerne les modifications d'un programme (insrer,
effacer, ...).

8.5

Entres/Sorties
pour accder au menu des entres/sorties et slectionner I/O laide des

Appuyer sur la touche


touches

, valider votre choix en appuyant sur la touche

Appuyer sur la touche

- TYPE pour accder aux diffrentes entres/sorties.

Exemple : Accder aux E/S du robot


Appuyer sur la touche
- TYPE, choisir ROBOT laide des touches
et
. Sur la page
rsultante, sont listes toutes les E/S automates du robot dans des registres de type RO [..] = ,
notamment louverture et la fermeture de la pince.
Pour insrer une E/S dans un programme :
Lors de ldition dun programme (pour cela appuyer sur la touche EDIT), appuyer sur la toucher
INST (appuyer, si ncessaire, sur la touche NEXT pour accder INST), choisir I/O laide des touches
et presser

Exemple : Ouverture et fermeture de la pince


Choisir les registres RO [..]=, entrer le numro du registre (RO [1]) pour la pince.
Ouverture de la pince RO [1 : FERMETURE PINCE] = OFF
Fermeture de la pince RO [1 : FERMETURE PINCE] = ON

8.6

Structures algorithmiques de base


page 81

Instruction de branchement inconditionnel : JMP LBL[x]


Instruction de branchement conditionnel : IF RO [1 : FERMETURE PINCE] = OFF
Instructions WAIT : WAIT (sec)
WAIT RO [1 : FERMETURE PINCE] = OFF

8.7

Sous-programme

Pour faire appel au sous-programme program, insrer linstruction CALL program en appuyant sur la
touche

- INST, ensuite laide des flches

dans la liste donne laide des flches

8.8

choisir CALL. Slectionner le sous-programme

puis appuyer sur

Exemple de programme

Dplacement de tubes de stylo


RO [1 : FERMETURE PINCE] = OFF
JPR [6 : depart] 100% FINE
JPR [7 : POS STYLO] 100% FINE
RO [1 : FERMETURE PINCE] = ON
JPR [8 : SOULEVE] 100% FINE
JPR [9 : TOURME] 100% FINE
JPR [10 : DEPLACE 1] 100% FINE
JPR [11 : DPELACE 2] 100% FINE
RO [1 : FERMETURE PINCE] = OFF
JPR [12] 100% FINE
JPR [13] 100% FINE
JPR [14] 100% FINE
RO [1 : FERMETURE PINCE] = ON
JPR [15] 100% FINE
JPR [16] 100% FINE
JPR [17] 100% FINE
JPR [18] 100% FINE
RO [1 : FERMETURE PINCE] = OFF
JPR [19] 100% FINE
CALL TP
END

page 82

Vous aimerez peut-être aussi