Vous êtes sur la page 1sur 85

page 1

R RO OB BO OT TI IQ QU UE E


ISTIA, Universit Angers
Jean-Louis Boimond
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
1.1 Dfinitions
1.2 Constituants d'un robot
1.3 Classification des robots
1.4 Caractristiques d'un robot
1.5 Les gnrations de robot
1.6 Programmation des robots

2 DEGR DE LIBERTS - ARCHITECTURE
2.1 Positionnement d'un solide dans l'espace
2.2 Liaison
2.3 Mcanismes
2.4 Morphologie des robots manipulateurs

3 MODLE GOMTRIQUE D'UN ROBOT EN CHANE SIMPLE
3.1 Ncessit d'un modle
3.2 Coordonnes oprationnelles
3.3 Translation et rotation
3.4 Matrices de transformation homogne
3.5 Obtention du modle gomtrique
3.6 Paramtres de Denavit-Hartenberg modifi
3.7 Exemple
3.8 Exercice
3.9 Inversion du modle gomtrique - Mthode de Paul
3.10 Solutions multiples Espace de travail Aspects

4 GNRATION DE MOUVEMENT

5 DESCRIPTION PRATIQUE DU ROBOT STUBLI RX 90
5.1 Description gnrale
5.2 Mise en route du systme
5.3 Mise en position initiale du bras du robot
5.4 Arrt du systme

6 MISE EN MOUVEMENT DU BRAS DU ROBOT STUBLI RX 90
6.1 Les modes de dplacement
6.2 Contrle du robot partir du pendant
6.3 Contrle du robot partir dun programme

page 2
7 DESCRIPTION PRATIQUE DES ROBOTS FANUC LR MATE 100 IB ET ARC MATE 100 IB
7.1 Description gnrale
7.2 Mise en route du systme
7.3 Arrt du systme

8 MISE EN MOUVEMENT DU BRAS DES ROBOTS FANUC LR MATE 100 IB ET ARC MATE
100 IB
8.1 Les modes de dplacement
8.2 Mise en mouvement en mode manuel
8.3 Mise en mouvement en mode programme
8.4 Quelques instructions de mouvement
8.5 Entres/Sorties
8.6 Structures algorithmiques de base
8.7 Sous-programme
8.8 Exemple de programme

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, http://hp2gra.u-strasbg.fr/library/teaching/robotics/
7) Introduction to Robotics Mechanics and Control, 2
th
edition, John 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, cinmatiques
1
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 s'en fait 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 :

1
cinmatique : partie de la mcanique qui tudie les mouvements des corps, abstraction faite des forces qui les produisent.
page 3
- La versatilit
2
: 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.

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 deux robots industriels : un robot Stubli de la gamme RX, un
robot FANUC ARC (6 axes) ou LR (5 axes).

Une synthse sur le thme de la robotique est faite dans un article crit par B. Espiau (INRIA
Rhne-Alpes) et intitul La robotique : Histoire et perspectives. Ce document est disponible sur le
WEB l'adresse http://www.inrialpes.fr/bip/Bip-2000/article-long.html.


1.2 Constituants d'un robot

Vocabulaire :


2
versatilit : caractre versatile (changeant).
Actionneur (moteur)

Corps (segment)

Base (socle)
Axe (articulation)

Organe terminal
(outil)
page 4

On distingue classiquement 4 parties principales dans un robot manipulateur :


















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 autonomes)
3
. 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 :

6 0 m .

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

3
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.
actionneurs
systme mcanique
articul (S.M.A.)
+ un organe terminal
(voire plusieurs)
capteurs

systme de commande
et de traitement
de l'information
environnement
informations proprioceptives
informations
extroceptives
page 5
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).



Figure : Symbole de l'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 : Symbole de l'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 avec 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 proprioceptifs
4
lorsqu'ils mesurent l'tat interne du robot

4
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.
page 6
(positions et vitesses des articulations) et extroceptifs
5
lorsqu'ils recueillent des informations sur
l'environnement (dtection de prsence, de contact, mesure de distance, vision artificielle).

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

5
information extroceptive : information issue de rcepteurs sensoriels situs la surface du corps et stimuls par des agents
extrieurs l'organisme (chaleur, piqre).
page 7
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,
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. Lespace de travail dextre (dextrous
6

workspace) est le volume de lespace que le robot peut atteindre avec toutes les orientations
possibles de leffecteur (organe 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.


6
dextrous signifie adroit, habile.
page 8
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.
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 DEGR DE LIBERTS - ARCHITECTURE

2.1 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 9


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 (cf. figure suivante). 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 le cas prsent, selon la convention (z, y, z), comme suit :
- On fait une rotation d'un angle , appel lacet (yaw en anglais), autour de l'axe Oz,
- On fait une rotation d'un angle , appel tangage (pitch en anglais), autour de l'axe Oy',
- On fait 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).
page 10


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

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 pantographe
7
est un mcanisme en chane
ferme.

Pour reprsenter un mcanisme, on dispose de 2 mthodes :
- Le schma cinmatique
8
: 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 :


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


Dfinition (degr de libert, d.d.l.) : Le nombre de d.d.l. d'un mcanisme est le nombre de paramtres
indpendants qui permettent de dfinir la position du mcanisme un instant donn du mouvement.

Exemples :
Chanes simples ouvertes





Chanes complexes



Dfinition (redondant) : Un robot est redondant lorsque le nombre de d.d.l. du mcanisme est infrieur
au nombre d'articulations indpendantes (motorises). Cette proprit permet de prserver les capacits
page 12
de dplacement de l'organe terminal en prsence d'obstacles, le (ou les) d.d.l. supplmentaire(s) autorisant
leur contournement.


2.4 Morphologie des robots manipulateurs

Ce paragraphe est relatif aux chanes ouvertes simples. 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
dplacements linaires ou planaires : 3 liaisons prismatiques d'axes parallles, par exemple, ou 3 liaisons
rotodes d'axes parallles)).


page 13

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.



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 :
page 14
- 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.



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 MODLE GOMTRIQUE D'UN ROBOT EN CHANE SIMPLE

3.1 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.
page 15


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




On a une relation matricielle du type : ) (q f X = avec
|
|
|

\
|
=
z
y
x
X ,
|
|
|

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

Exercice :
page 16


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

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 :
) ( X g q = ,

correspondant au modle gomtrique inverse (on a
1
= f g ).

Exercice : Soit le manipulateur RR plan dcrit dans la figure suivante.



1) Etablir le modle gomtrique direct.

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

3.2 Coordonnes oprationnelles

page 17
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 :




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
1
R , sur les axes du repre
0
R (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 :

Repre initial
|
|
|

\
|
33 32 31
23 22 21
13 12 11
0
0
0
1 1 1
a a a
a a a
a a a
z
y
x
z y x
r
r
r
r r r
. Cette matrice de rotation vrifie 6 relations parmi les 9
paramtres ( savoir 0 , 1 1
1
1 1
1
1 1
1
1 = = = = = = z y z x y x z y x
9
).

9

2
31
2
21
2
11
1 a a a x + + = et
32 31 22 21 12 11 1
1 a a a a a a y x + + = .
page 18
Le vecteur de base 1 x de la base
1
R s'exprime dans la base
0
R par la relation :
0 31 0 21 0 11 1
z a y a x a x
r r r r
+ + = , le vecteur
|
|
|

\
|
31
21
11
a
a
a
reprsente le vecteur unitaire
1
x
r
(du repre
1
R )
suivant les axes
0 0 0
, , z y x
r r r
(du repre
0
R ).

3.3 Translation et rotation
On peut montrer que la position du repre de base
1
R se dduit de celle du repre de base
0
R par
une translation et une rotation.



Le but est d'exprimer dans le repre de base
0
R les coordonnes du point P ayant pour coordonnes
( )
1 1 1
, , Z Y X dans le repre de base
1
R (c--d : ( )
t
Z Y X P O
1 1 1
1 /
1
= ), sachant que l'origine du repre
1
R ,
c'est--dire
1
O , a pour coordonnes ( ) c b a , , dans le repre
0
R .

On a :
|
|
|

\
|
=
1
1
1
1 / 1
Z
Y
X
P O , c'est--dire
1 1 1 1 1 1 1
z Z y Y x X P O + + = .
On a :

.
1
1
1
33 32 31
23 22 21
13 12 11
1 / 1 01 0 / 1 0
0 / 1 0 / 1 0 0 / 0
|
|
|

\
|

|
|
|

\
|
+
|
|
|

\
|
=
+ =
+ =
Z
Y
X
a a a
a a a
a a a
c
b
a
P O R O O
P O O O P O


La matrice de rotation, note
1 0
R ,
|
|
|

\
|
33 32 31
23 22 21
13 12 11
a a a
a a a
a a a
contient les vecteurs de base de
1
R , cest--dire
1 1 1
, , z y x
r r r
, exprims dans la base
0
R , cest--dire en fonction des vecteurs
0 0 0
, , z y x
r r r
.

Par exemple, la position du repre de base
1
R pourra se dduire de celle du repre de base
0
R travers :
page 19
- une translation
1 0
O O ,
- des rotations autour des 3 axes ( 0
0
0 , , z y x ) du repre
0
R , auxquelles on peut associer
respectivement les matrices lmentaires de rotations suivantes : ) , (
0
0 01 x
x R , ) , (
0
0 01 y
y R et
) , (
0
0 01 z
z R , dfinies plus loin dans cette section. On a alors :
) , ( ) , ( ) , (
0 0 0
0 01 0 01 0 01 1 0 z y x
z R y R x R R = .


Cas d'une simple translation



On a :

.
1 0 0
0 1 0
0 0 1
0
0
1
1
1
1
1
1
1 / 1 01 0 / 1 0 0 / 0
|
|
|

\
|
+ =
|
|
|

\
|

|
|
|

\
|
+
|
|
|

\
|
=
+ =
Z
Y L
X
Z
Y
X
L
P O R O O P O

La matrice (vecteur) de translation opre selon l'axe
0
y .
La matrice de rotation (d'angle nul) est telle que :
0 1 0 1 0 1
, , z z y y x x = = = .

Matrices de rotation : Cas particulier de 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
0
x
autour de l'axe 0 x .


On a :
|
|
|

\
|
=
) ( cos ) ( sin 0
) ( sin ) ( cos 0
0 0 1
) , (
0 0
0 0 0
0 01
x x
x x x
x R

,
page 20
soient 0
0
1 0
0 1
0 1 ) cos( ) sin( , ) sin( ) cos( ,
0 0 0 0
z y z z y y x x
x x x x
+ = + = = .

Remarque : On a 0 , 1 1
1
1 1
1
1 1
1
1 = = = = = = z y z x y x z y x .

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

Exprimons dans le repre
0
R les coordonnes ( )
1 1 1
, , Z Y X du point P dans le repre
1
R , sachant que
l'origine
1
O du repre
1
R a pour coordonnes ( ) c b a , , dans le repre
0
R .
On a :

.
) cos( ) sin(
) sin( ) cos(
) cos( ) sin( 0
) sin( ) cos( 0
0 0 1
1 1
1 1
1
1
1
1
1 / 1 01 0 / 1 0
0 / 1 0 / 1 0 0 / 0
0 0
0 0
0 0
0 0
|
|
|

\
|
+ +
+
+
=
|
|
|

\
|

|
|
|

\
|
+
|
|
|

\
|
=
+ =
+ =
Z Y c
Z Y b
X a
Z
Y
X
c
b
a
P O R O O
P O O O P O
x x
x x
x x
x x






Exercice : Exprimer les matrices de rotations ) , (
0
0 01 y
y R et ) , (
0
0 01 z
z R .

Remarques :
- Le produit de matrice de rotation n'est pas toujours commutatif :
12 23 23 12
R R R R .
- L'inverse de
12
R est donn par
t
R
12
:
t
R R R
12 21
1
12
= =

(i.e.,
12
R est une matrice orthogonale
10
).
- La combinaison de translation est commutative :
( ) , ( ) , ( ) , ( ) , ( a x n Translatio b y n Translatio b y n Translatio a x n Translatio = ), l'inversion est obtenue
par simple changement de signe : ( ) ) , ( ) , (
1
a x n Translatio a x n Translatio =

.

3.4 Matrice de transformation homogne
La prsence conjointe de produits et de sommes dans l'quation vectorielle
1 / 1 01 0 / 1 0 0 / 0
P O R O O P O + =
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 :
|
|
|

\
|
=
c
b
a
M 0 ,
alors la reprsentation du point M l'aide de coordonnes homognes est faite avec un quaternion, i.e.,

10
Une matrice A est orthogonale si la matrice inverse est gale la matrice transpose : Id A A A A
t t
= = . Une
matrice A est orthogonale si, et seulement si, les vecteurs lignes sont orthonormaux.
page 21
|
|
|
|
|

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

Soit la matrice de transformation homogne
01
T correspondant la matrice partitionne suivante :


|
|

\
|
=
1 0 0 0
) 1 , 3 (
) 3 , 3 (
01 01
01
t R
T .
Remarquons que le facteur d'chelle est unitaire ( 1 = w ).
La matrice
01
T reprsente la transformation permettant de passer du repre
1
R au repre
0
R .


En effet, elle permet d'exprimer dans le repre
0
R les coordonnes d'un vecteur exprimes dans le
repre
1
R . Autrement dit, on a :
|
|
|
|
|

\
|
=
|
|
|
|
|

\
|
1 1
1
1
1
01
0
0
0
Z
Y
X
T
Z
Y
X
.

Cas de transformations homognes

D'une simple translation
On note ) , ( a x Trans la matrice de transformation homogne correspondant une translation de a
selon l'axe x .
rotation
translation
page 22


On a :

|
|
|
|
|

\
|
=
1 0 0 0
1 0 0
0 1 0
0 0 1
c
b
a
T
ij
.
On a :

.
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1
) , ( ) , ( ) , (
|
|
|
|
|

\
|

|
|
|
|
|

\
|

|
|
|
|
|

\
|
=
=
c
b
a
c z Trans b y Trans a x Trans T
i i i ij

Soit
|
|
|

\
|
z
y
x
les coordonnes d'un point M dans le repre
j
R (c--d :
|
|
|

\
|
=
z
y
x
M O
j
j
/
), alors les
coordonnes du point M dans le repre
i
R sont :
|
|
|
|
|

\
|
+
+
+
=
|
|
|
|
|

\
|

|
|
|
|
|

\
|
=
1 1 1 0 0 0
1 0 0
0 1 0
0 0 1
/
c z
b y
a x
z
y
x
c
b
a
M T
j ij
.

D'une simple rotation
On note ) , ( x Rot la matrice de rotation d'un angle autour de l'axe x .



page 23
On a :
|
|
|
|
|

\
|
=
|
|
|
|
|

\
|

= =
1 0 0 0
0
0 ) , (
0
1 0 0 0
0 ) cos( ) sin( 0
0 ) sin( ) cos( 0
0 0 0 1
) , (
i i j i
i i
i i
i i ij
x R
x Rot T



.
Soit
|
|
|

\
|
z
y
x
les coordonnes d'un point M dans le repre
j
R , alors les coordonnes du point M dans
le repre
i
R sont :
|
|
|
|
|

\
|
+

=
|
|
|
|
|

\
|

|
|
|
|
|

\
|

=
1
) cos( ) sin(
) sin( ) cos(
1 1 0 0 0
0 ) cos( ) sin( 0
0 ) sin( ) cos( 0
0 0 0 1
/
z y
z y
x
z
y
x
M T
i i
i i
i i
i i
j ij




.

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

\
|

|
|

\
|
=
|
|

\
|
=
1 0 0 0
0
0
0
1 0 0 0 1 0 0 0
) 3 , 3 (
) 1 , 3 ( ) 1 , 3 ( ) 3 , 3 ( A
t I t A
T .
translation rotation

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


On a :
n n n
T T T T
, 1 12 01 0
= L .

Soit
|
|
|

\
|
=
z
y
x
M O
n
n
/
, alors
|
|
|

\
|

z
y
x
T
n 0
exprime les coordonnes du point M dans le repre
0
R (c--d :
n
n n
M O T M O
/
0
0 /
0
= ).

page 24
Exercice : Calculer la matrice de transformation homogne
ij
T correspondant au changement de repres
suivant :




3.5 Obtention du modle gomtrique direct

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 :
) (q f X = . (cf. 3.1)
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 modifi
11
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 1 + n
corps, nots
n
C C , ,
0
L , et de n articulations ( 1 n ). Le corps
0
C dsigne le socle (la base) du
robot, le corps
n
C le corps portant l'organe terminal.

Le repre
j
R est li au corps
j
C du robot.

La variable de l'articulation j, qui lie le corps
j
C au corps
1 j
C , est note
j
q .

11
La convention de Denavit-Hartenberg (non modifi) est telle que laxe
j
z du repre
j
R est confondu avec laxe n 1 + j
(et non j) du robot.
page 25


Dtermination du repre
j
R (li au corps
j
C ) :
- L'axe
j j
z o est port par l'axe de rotation, ou de translation, de l'articulation j.
- L'axe
j j
x o est port par la perpendiculaire commune aux axes
j j
z o et
1 1 + + j j
z o . Si les axes
j j
z o
et
1 1 + + j j
z o sont parallles, le choix de
j j
x o n'est pas unique, il est alors dict par des
considrations de symtrie ou de simplicit.



Passage du repre
1 j
R au repre
j
R , dtermination des paramtres de Denavit-Hartenberg
modifi :
page 26
Le passage du repre
1 j
R au repre
j
R s'exprime en fonction des 4 paramtres suivants :
- On note
j
l'angle de rotation entre les axes
1 j
z et
j
z autour de l'axe
1 j
x ,
- On note
j
d la distance entre
1 j
z et
j
z mesure le long de l'axe
1 j
x ,
- On note
j
l'angle de rotation entre les axes
1 j
x et
j
x autour de l'axe
j
z ,
- On note
j
r la distance entre
1 j
x et
j
x mesure le long de l'axe
j
z .




Remarque : La variable articulaire
j
q , associe l'articulation j, est soit
j
, soit
j
r , selon que cette
articulation est respectivement de type rotode ou prismatique, ce qui se traduit par la relation :
j j j j j
r q + = ) 1 (
avec 0 =
j
si l'articulation j est rotode et 1 =
j
si elle est prismatique.
Autrement dit, si l'articulation est une rotation alors

=
constants sont , ,
variable est
j j j
j j
r d
q

.
Si l'articulation est une translation alors

=
constants sont , ,
variable est
j j j
j j
d
r q

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

.

Le passage du repre
1 j
R au repre
j
R se fait travers 4 tapes :
- Une rotation d'angle
j
autour de l'axe
1 j
x ,
- Une translation de distance
j
d mesure le long de l'axe
1 j
x ,
- Une rotation d'angle
j
autour de l'axe
j
z ,
- Une translation de distance
j
r mesure le long de l'axe
j
z .
page 27

Il en rsulte la matrice de transformation homogne
j j
T
, 1
suivante :

.
1 0 0 0
) cos( ) cos( ) cos( ) sin( ) sin( ) sin(
) sin( ) sin( ) cos( ) cos( ) sin( ) cos(
0 ) sin( ) cos(
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 ) cos( ) sin(
0 0 ) sin( ) cos(
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1
1 0 0 0
0 ) cos( ) sin( 0
0 ) sin( ) cos( 0
0 0 0 1
) , ( ) , ( ) , ( ) , (
1 1 , 1
|
|
|
|
|

\
|

=
|
|
|
|
|

\
|

|
|
|
|
|

\
|

|
|
|
|
|

\
|

|
|
|
|
|

\
|

=
=

j j j j j j j
j j j j j j j
j j j
j
j j
j j j
j j
j j
j j j j j j j j j j
r
r
d
r
d
r z Trans z Rot d x Trans x Rot T










Remarques :
- Pour la dfinition du repre de rfrence
0
R , le choix le plus simple consiste prendre
0
R
confondu avec le repre
1
R quand 0
1
= q (voir 3.6, 1
er
figure).
- Pour une articulation j prismatique, l'axe
j
z 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 180 , 90 , 0 . Lorsque les axes
1 j
z et
j
z sont parallles (
j
= 0
ou 180), il y a une infinit de perpendiculaires communes entre
1 j
z et
j
z . On place le point
j
O
tel que 0 =
j
r .
Lorsque les axes
1 j
z et
j
z sont perpendiculaires (
0
90 =
j
), le point
j
O est plac
lintersection des axes
1 j
z et
j
z , ainsi on a : 0 =
j
d .
- La transformation inverse est obtenue par la formule suivante :
) , ( ) , ( ) , ( ) , (
1 1 1 , j j j j j j j j j j
x Rot d x Trans z Rot r z Trans T =

,
soit
|
|
|
|
|

\
|

1 0 0 0
) sin(
) cos(
, 1
1 ,
j
j j
t
j j
j j
j j
r
d A
d
T

.
On a :
t
j j j j j j
A A A
, 1
1
, 1 1 ,


= = , 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 la cas d'une chane simple ouverte, il peut tre reprsent par la matrice
n
T
, 0
qui se
calcule par :
page 28
) ( ) ( ) (
, 1 2 2 , 1 1 1 , 0 , 0 n n n n
q T q T q T T

= L .
Le modle gomtrique direct du robot peut se reprsenter aussi par la relation :
) (q f X = ,
o X est le vecteur des coordonnes oprationnelles exprimes dans le repre de rfrence
0
R , et q les
variables articulaires.
La matrice
n
T
, 0
reprsente la position et l'orientation, exprimes dans le repre de rfrence
0
R , 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 :
) ( X g q = .

3.7 Exemple

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


et de faon schmatique dans la figure suivante. Afin de se 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).
13
Paul R.C.P., Robot
Manipulators: Mathematics, Programming and Control, MIT Press, Cambridge, USA, 1981.
page 29

De faon pratique, il s'agit de placer :
- Les axes
j
z sur les axes des diffrentes articulations,
- Puis, les axes
j
x selon les conventions dcrites prcdemment (perpendiculaire commune aux
axes
1
,
+ j j
z z ).
Une fois les diffrents repres
n
R R , ,
0
L dfinis, on dtermine les paramtres gomtriques lis chacun
des repres
j
R par rapport
1 j
R .

1) Retrouver les paramtres de Denavit-Hartenberg modifi du robot lists ci-dessous.

j
j

j

d
j


j

r
j

1 0 0 0 q
1
0
2 0
0
D
2
q
2
0
3 0 0 D
3
q
3
0
4 1 0 0 0 q
4

paramtres de Denavit-Hartenberg

2) Calculer la matrice
4 , 0
T dans le cas o le robot est dans sa configuration initiale, c'est--dire, lorsque
0
4 3 2 1
= = = = q q q q (voir figure prcdente).

3) Retrouver, l'aide de la matrice
4 , 0
T , la situation de l'organe terminal par rapport au repre
0
R lorsque
le robot est dans sa configuration initiale.

page 30
4) Dduire lexpression de la matrice
4 , 0
T partir de la posture du robot correspondant
0 ,
2
,
2
, 0
4 3 2 1
= = = = q q q q

.

3.8 Exercice

Il sagit d'tablir le modle gomtrique direct du robot RX-90. Ce robot est un bras manipulateur
industriel Stubli (voir la figure suivante).



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 31


1) Etablir les paramtres de Denavit-Hartenberg modifi du robot.
2) Proposer un programme (MatLab ou Scilab) qui calcule la matrice
6 , 0
T tant donn les paramtres
6 1
, , q q K . Calculer la matrice
6 , 0
T dans le cas o :
- Le robot est dans sa configuration initiale, c'est--dire, lorsque 0
6 2 1
= = = = q q q L (voir figure
prcdente).
- Le bras du robot est tendu la verticale (vue de profil du robot dans la figure suivante) :

page 32


- Le bras du robot est tendu l'horizontale selon laxe
0
x (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 33


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

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
Paul
13
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. Notons que de telles mthodes sont
pnalisantes du point de vue du temps de calcul.

Exemples (simples)

1
er
exemple

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


On a le modle gomtrique direct suivant :

=
=
) sin(
) cos(
1 2
1 2
q q y
q q x
.
Une dmarche analytique simple permet de dterminer le modle gomtrique inverse. On a :
|

\
|
= =
x
y
Arctg q
x
y
q tg
1 1
) ( ,
et
2 2
2
2
2
2 2
y x q q y x + = = + .

2
e
exemple

Soit le manipulateur RR plan dcrit dans la figure suivante.



On a le modle gomtrique direct suivant :

+ + =
+ + =
) sin( ) sin(
) cos( ) cos(
2 1 2 1 1
2 1 2 1 1
q q l q l y
q q l q l x
,
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)
page 35
on a : ) cos( 2
2 2 2
c b c b a + = .

Compltons le schma du modle gomtrique direct :


On a les relations suivantes :
2 2 2
y x L + = ,
et ) cos( 2
2 1
2
2
2
1
2
l l l l L + = avec
2
q + = (d'aprs le thorme de Pythagore gnralis),
d'o
) cos( 2
2 2 1
2
2
2
1
2 2
q l l l l y x + + = + (on a : ) cos( ) cos( a a = + ), (1)
soit
( )
2 1
2
2
2
1
2 2
2
2
) cos(
l l
l l y x
q
+ +
= ,
sachant que a q = cos avec [ ] ) ( 1 , 1 a os Arc q a = , il en rsulte que
( )
|
|

\
| + +
=
2 1
2
2
2
1
2 2
2
2 l l
l l y x
os Arc q , sous rserve que
( )
1
2
1
2 1
2
2
2
1
2 2

+ +

l l
l l y x
.
Remarques :
- La condition
( )
1
2
1
2 1
2
2
2
1
2 2

+ +

l l
l l y x
indique que la position du point P doit tre atteignable.
- Lorsque
2
q est positif (resp., ngatif), le robot a une posture coude bas (resp., coude haut), voir figure
ci-dessous.
page 36


D'autre part, en dveloppant les expressions ) cos(
2 1
q q + et ) sin(
2 1
q q +
14
dans le systme correspondant
au modle gomtrique direct, on obtient :

= + +
= +
y q q l l q q l
x q q l q q l l
) sin( )) cos( ( ) cos( ) sin(
) sin( ) sin( ) cos( )) cos( (
1 2 2 1 1 2 2
1 2 2 1 2 2 1
.
Calculons le dterminant de ce systme d'quations linaires par rapport aux 2 inconnues ) cos(
1
q et
) sin(
1
q , on a :
2 2
2 2 1
2
2
2
1
2 2 1 2 2
2 2 2 2 1
) cos( 2
) cos( ) sin(
) sin( ) cos(
y x q l l l l
q l l q l
q l q l l
+ = + + =
+
+
(cf. Eq. (1)),
soient, via la mthode de Cramer,
2 2
2 2 1
2 2
1
) cos(
) sin(
) cos(
y x
q l l y
q l x
q
+
+

= et
2 2
2 2
2 2 1
1
) sin(
) cos(
) sin(
y x
y q l
x q l l
q
+
+
= ,
soient
( )
( ). ) sin( )) cos( (
1
) sin(
, ) sin( )) cos( (
1
) cos(
2 2 2 2 1 2 2 1
2 2 2 2 1 2 2 1
q l x q l l y
y x
q
q l y q l l x
y x
q
+
+
=
+ +
+
=

Il en rsulte :
|
|

\
|
+ +
+
=
) sin( )) cos( (
) sin( )) cos( (
2 2 2 2 1
2 2 2 2 1
1
q l y q l l x
q l x q l l y
Arctg q .

Ainsi, on aboutit au modle gomtrique inverse suivant :

( )
.
2
cos
,
) sin( )) cos( (
) sin( )) cos( (
2 1
2
2
2
1
2 2
2
2 2 2 2 1
2 2 2 2 1
1
|
|

\
| + +
=
|
|

\
|
+ +
+
=
l l
l l y x
Ar q
q l y q l l x
q l x q l l y
Arctg q


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

14
) sin( ) cos( ) cos( ) sin( ) sin( ), sin( ) sin( ) cos( ) cos( ) cos( b a b a b a b a b a b a + = + = +
page 37




Mthode de Paul

Dans le cas de robots gomtrie simple (pour lesquels la plupart des distances d
j
et r
j
sont nulles et les
angles
j
et
j
sont gaux
2
, 0

), le modle gomtrique inverse (M.G.I.) peut tre obtenu
analytiquement via la mthode de Paul.

Prsentation

Considrons le robot dcrit par la matrice de transformation suivante :

) ( ) ( ) (
, 1 2 2 , 1 1 1 , 0 , 0 n n n n
q T q T q T T

= L .

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

(
(
(
(

=
1 0 0 0
0
z z z z
y y y y
x x x x
P A N S
P A N S
P A N S
U .

Rappel (cf. 2) : On a :
-
0 0 0
z S y S x S x
z y x n
+ + = ,
0 0 0
z N y N x N y
z y x n
+ + = ,
0 0 0
z A y A x A z
z y x n
+ + = , (3 paramtres
(indpendants) pour dfinir l'orientation du repre
n
R par rapport au repre de base).
-
0 0 0 0
z P y P x P O O
z y x n
+ + = (3 paramtres (indpendants) pour dfinir la position du point P).

Le M.G.I. est obtenu en rsolvant l'quation matricielle suivante :

) ( ) ( ) (
, 1 2 2 , 1 1 1 , 0 0 n n n
q T q T q T U

= L . (2)

La mthode de Paul permet la dtermination de
1
q , puis
2
q et ainsi de suite jusqu'
n
q . Il s'agit de
dplacer l'une aprs l'autre chacune des variables articulaires (
n
q q , ,
1
L ) dans le membre de gauche de
page 38
l'quation. Pour cela, on multiplie par
1 , j j
T (en prenant successivement n j , , 1 L = ) de part et d'autre
dans l'quation.

Considrons un robot 6 d.d.l. ( 6 = n ). Appliquons la mthode :
- Pr-multiplier l'quation prcdente par
0 , 1
T , soit :
) ( ) ( ) (
6 6 , 5 2 2 , 1 0 1 0 , 1
q T q T U q T = L . (3)
Les lments situs dans le membre de gauche sont soient indpendants, soient fonctions de
1
q .
Les lments situs dans le membre de droite sont soient constants, soient fonctions de
6 2
, , q q L .
- Dduire
1
q de l'quation prcdente.
- Pr-multiplier l'quation prcdente par
1 , 2
T , soit :
) ( ) ( ) ( ) (
6 6 , 5 3 3 , 2 0 1 0 , 1 2 1 , 2
q T q T U q T q T = L .
- En dduire
2
q .
- Continuer cette procdure pour en dduire
6 3
, , q q L .

En rsum, on utilise les quations suivantes pour calculer les variables articulaires :

) ( ) (
) ( ) ( ) (
) ( ) ( ) ( ) (
) ( ) ( ) ( ) ( ) (
) ( ) ( ) ( ) ( ) ( ) (
) ( ) ( ) ( ) ( ) ( ) (
6 6 , 5 4 5 4 , 5
6 6 , 5 5 5 , 4 3 4 3 , 4
6 6 , 5 5 5 , 4 4 4 , 3 2 3 2 , 3
6 6 , 5 5 5 , 4 4 4 , 3 3 3 , 2 1 2 1 , 2
6 6 , 5 5 5 , 4 4 4 , 3 3 3 , 2 2 2 , 1 0 1 0 , 1
6 6 , 5 5 5 , 4 4 4 , 3 3 3 , 2 2 2 , 1 1 1 , 0 0
q T U q T
q T q T U q T
q T q T q T U q T
q T q T q T q T U q T
q T q T q T q T q T U q T
q T q T q T q T q T q T U
=
=
=
=
=
=


avec
1 1 , 6 ,
= =
j j j j j
U T T U pour
4 , 3 , 2 , 1 = j
.

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 :
- Y r X
i
= ,
- Z Y X
i i
= + ) cos( ) sin( ,
-

= +
= +
2 ) cos( 2 ) sin( 2
1 ) cos( 1 ) sin( 1
Z Y X
Z Y X
i i
i i


,
-

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

page 39



Cette structure est caractrise par les valeurs des paramtres suivants :


= = =
= = =
). ( 0 ) sin( , 0 ) sin(
, 0
, 0
6 5
6 5 4
6 5 5
redondant non robot
d r d

.

La position du point P (centre du poignet) est fonction des variables articulaires
3 2 1
, , q q q . 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
3 2 1
, , q q q , il permet de dterminer les
paramtres
3 2 1
, , q q q .
- L'autre, appel problme d'orientation, est fonction de
6 5 4
, , q q q , il permet de dterminer les
paramtres
6 5 4
, , q q q .

Equation de position

Puisque
6 5 4
O O O = = , on a :
(
(
(
(

=
(
(
(
(

1
0
0
0
1
4 3 3 2 2 1 1 0
T T T T
P
P
P
z
y
x
(Eq. correspondant la partie position de l'Eq. (2)).
On obtient les valeurs de variables
3 2 1
, , q q q en pr-multipliant successivement cette quation par
3 , 2 , 1 ,
0
= j T
j
, 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 :

page 40
[ ] ) (
6 0
q A A N S = ,

soit encore,

[ ] ) , , ( ) , , (
6 5 4 6 3 3 2 1 0 3
q q q A A N S q q q A = .

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

[ ] ) , , (
6 5 4 6 3
q q q A H G F = .

La matrice [ ] H G F est connue sachant que les paramtres
3 2 1
, , q q q ont t pralablement
dtermins. Aussi, on obtient successivement les paramtres
6 5 4
, , q q q en pr-multipliant successivement
l'quation prcdente par
3 4
A , puis par
4 5
A .

Application de la mthode de Paul au cas du robot Stubli

Equation de position

On a :
[ ]
[ ]
.
1
) sin( ) cos(
) cos( ) sin( ) sin(
) cos( ) sin( ) cos(
,
1
0
0
0
1
2 3 2
2 3 2 1
2 3 2 1
4 3 3 2 2 1 1 0
(
(
(
(

+
+ +
+ +
=
(
(
(
(

=
(
(
(
(




a d
a d
a d
T T T T
P
P
P
z
y
x


- Pr-multiplication par la matrice
0 1
T , on obtient :
(
(
(
(

=
(
(
(
(

1
0
0
0
1
4 3 3 2 2 1 0 1
T T T
P
P
P
T
z
y
x
.
Rappel : On a :
(
(
(
(


=
1 0 0 0
0 1 0 0
0 0 ) cos( ) sin(
0 0 ) sin( ) cos(
1 1
1 1
1 0


T , d'o
(
(
(
(

=
1 0 0 0
0 1 0 0
0 0 ) cos( ) sin(
0 0 ) sin( ) cos(
1 1
1 1
0 1


T (cf. 3.6),
et
page 41
.
1
) sin( ) cos(
0
) cos( ) sin(
1
0
0
1 0 0 0
) sin( 0 ) cos( ) sin(
0 1 0 0
) cos( 0 ) sin( ) cos(
1
0
0
0
1 0 0 0
0 0 ) cos( ) sin(
1 0 0
0 0 ) sin( ) cos(
1 0 0 0
0 1 0 0
0 0 ) cos( ) sin(
0 ) sin( ) cos(
1 0 0 0
0 0 ) cos( ) sin(
0 1 0 0
0 0 ) sin( ) cos(
1
0
0
0
2 3 2
2 3 2
2 3 2 3 2
2 3 2 3 2
4 4
4 4
3 3
3 3
2 2
2 2
4 3 3 2 2 1
(
(
(
(

+
+ +
=
(
(
(
(

(
(
(
(

+ +
+ +
=
(
(
(
(

(
(
(
(

(
(
(
(

(
(
(
(

=
(
(
(
(












a d
a d
d
a
a
d
a
T T T

Il en rsulte les quations suivantes :

+ =
= +
+ + = +
) sin( ) cos(
0 ) cos( ) sin(
) cos( ) sin( ) sin( ) cos(
2 3 2
1 1
2 3 2 1 1



a d P
P P
a d P P
z
y x
y x
.

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

+ =
|
|

\
|
=
=
1
'
1
1
1
1
) cos(
) sin(
x
y
x
y
P
P
Arctg
P
P
.


- Pr-multiplication par la matrice
1 2
T , on obtient :
(
(
(
(

=
(
(
(
(


1
0
0
0
1
4 3 3 2 0 1 1 2
T T
P
P
P
T T
z
y
x
.
Rappel : On a :
(
(
(
(

=
1 0 0 0
0 0 ) cos( ) sin(
0 1 0 0
0 0 ) sin( ) cos(
2 2
2 2
2 1


T , d'o
(
(
(
(

=
1 0 0 0
0 0 1 0
0 ) cos( 0 ) sin(
0 ) sin( 0 ) cos(
2 2
2 2
1 2


T ,
on obtient alors :
page 42
.
1
) cos( ) sin(
) cos( ) ) sin( ) (cos( ) sin(
) sin( ) ) sin( ) (cos( ) cos(
1
) cos( ) sin(
) sin( ) cos(
1 0 0 0
0 0 1 0
0 ) cos( 0 ) sin(
0 ) sin( 0 ) cos(
1 1 0 0 0
0 1 0 0
0 0 ) cos( ) sin(
0 0 ) sin( ) cos(
1 0 0 0
0 0 1 0
0 ) cos( 0 ) sin(
0 ) sin( 0 ) cos(
1
1 1
2 1 1 2
2 1 1 2
1 1
1 1
2 2
2 2
1 1
1 1
2 2
2 2
0 1 1 2
(
(
(
(

+
+
+
=
(
(
(
(

+
+

(
(
(
(

=
(
(
(
(

(
(
(
(

(
(
(
(

=
(
(
(
(


y x
z y x
z y x
z
y x
y x
z
y
x
z
y
x
P P
P P P
P P P
P
P P
P P
P
P
P
P
P
P
T T












Par ailleurs, on a :
(
(
(
(

+
=
(
(
(
(

(
(
(
(


=
(
(
(
(


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



d
a d
d
a
T T .
Aussi, on a :

(
(
(
(

+
=
(
(
(
(

+
+
+
1
0
) cos(
) sin(
1
) cos( ) sin(
) cos( ) ) sin( ) (cos( ) sin(
) sin( ) ) sin( ) (cos( ) cos(
3
3
1 1
2 1 1 2
2 1 1 2




d
a d
P P
P P P
P P P
y x
z y x
z y x
,

soit
y x
P P b ) sin( ) cos(
1 1 1
+ = , il en rsulte les quations suivantes :

+ =
=
z
z
P b d
a P b d
) cos( ) sin( ) cos(
) sin( ) cos( ) sin(
2 1 2 3
2 1 2 3


. (4)

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

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

z z
P a b a a P b d + + + = ,

soit l'expression :

Z Y X = + ) cos( ) sin(
2 2
avec
2 2 2
1
2
1
; 2 ; 2 a P b d Z b a Y P a X
z z
= = = .

On en dduit la valeur suivante du paramtre
2
:

+
+
=
+
+ +
=
2 2
2 2 2
2
2 2
2 2 2
2
) cos(
) sin(
Y X
Z Y X X Z Y
Y X
Z Y X Y Z X

avec 1 = ,

page 43
sachant que

|
|

\
|
=
) cos(
) sin(
2
2
2

Arctg .

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

|
|

\
|
+

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

z
z
P b
a P b
Arctg .

Equation d'orientation

Une fois obtenus les paramtres
3 2 1
, , q q q , le calcul des paramtres
6 5 4
, , q q q se fait partir de la
relation :

[ ] H G F q q q A = ) , , (
6 5 4 6 3
(5)

avec
[ ] [ ] A N S q q q A H G F = ) , , (
3 2 1 0 3
.

Calcul pralable de
0 3
A :
|
|
|

\
|

|
|
|

\
|

|
|
|

\
|
= =
1 0 0
0 ) cos( ) sin(
0 ) sin( ) cos(
0 1 0
) cos( 0 ) sin(
) sin( 0 ) cos(
1 0 0
0 ) cos( ) sin(
0 ) sin( ) cos(
1 1
1 1
2 2
2 2
3 3
3 3
0 1 1 2 2 3 0 3






A A A A ,
|
|
|

\
|



=
0 ) cos( ) sin(
) cos( ) cos( ) sin( ) sin( ) sin( ) sin( ) cos( ) sin( ) cos( ) sin( ) cos( ) sin( ) cos( ) cos( ) cos( ) sin(
) cos( ) sin( ) sin( ) cos( ) sin( ) sin( ) sin( ) sin( ) cos( ) cos( ) cos( ) sin( ) sin( ) cos( ) cos( ) cos(
1 1
2 3 2 3 1 2 3 1 2 3 1 2 3 1 2 3
2 3 2 3 1 2 3 1 2 3 1 2 3 1 2 3




Calcul de la matrice [ ] [ ] A N S A H G F =
0 3
:

On a :
|
|
|

\
|
+
+ + +
+ + +
=
(
(
(

=
(
(
(

=
y x
z y x
z y x
z
y
x
z
y
x
S S
S S S
S S S
S
S
S
A
F
F
F
F
) cos( ) sin(
) cos( ) ) sin( ) (cos( ) sin(
) sin( ) ) sin( ) (cos( ) cos(
1 1
3 2 1 1 3 2
3 2 1 1 3 2
0 3



,
de mme, on a
|
|
|

\
|
+
+ + +
+ + +
=
(
(
(

=
(
(
(

=
y x
z y x
z y x
z
y
x
z
y
x
N N
N N N
N N N
N
N
N
A
G
G
G
G
) cos( ) sin(
) cos( ) ) sin( ) (cos( ) sin(
) sin( ) ) sin( ) (cos( ) cos(
1 1
3 2 1 1 3 2
3 2 1 1 3 2
0 3



,
et
|
|
|

\
|
+
+ + +
+ + +
=
(
(
(

=
(
(
(

=
y x
z y x
z y x
z
y
x
z
y
x
A A
A A A
A A A
A
A
A
A
H
H
H
H
) cos( ) sin(
) cos( ) ) sin( ) (cos( ) sin(
) sin( ) ) sin( ) (cos( ) cos(
1 1
3 2 1 1 3 2
3 2 1 1 3 2
0 3



.
page 44

- Pr-multiplication de l'quation (5) par la matrice
3 4
A , on obtient :
[ ] H G F A q q q A A
3 4 6 5 4 6 3 3 4
) , , ( = ,
avec
|
|
|

\
|

=
0 1 0
) cos( 0 ) sin(
) sin( 0 ) cos(
4 4
4 4
3 4


A .
Il en rsulte le systme suivant :

|
|
|

\
|

=
|
|
|

\
|

+ + +
+ + +
) cos( ) sin( ) sin( ) cos( ) sin(
0 ) cos( ) sin(
) sin( ) sin( ) cos( ) cos( ) cos(
) cos( ) sin( ) cos( ) sin( ) cos( ) sin(
) sin( ) cos( ) sin( ) cos( ) sin( ) cos(
5 6 5 6 5
6 6
5 6 5 6 5
4 4 4 4 4 4
4 4 4 4 4 4





y y y
z x z x z x
z x z x z x
H G F
H H G G F F
H H G G F F
.
L'lment (2, 3), savoir ( 0 ) cos( ) sin(
4 4
= +
z x
H H ), permet de dduire le paramtre
4
. En
effet, on a :

+ =
|
|

\
|
=
=
4
'
4
4
4
4
) cos(
) sin(
x
z
x
z
H
H
Arctg
H
H
.
Les lments (1,3) et (3,3) permettent de dduire le paramtre
5
. En effet, on a :

=
= +
) cos(
) sin( ) sin( ) cos(
5
5 4 4


y
z x
H
H H
,
soit
|
|

\
|

+
=
y
z x
H
H H
Arctg
) sin( ) cos(
4 4
5

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

= +
= +
) cos( ) cos( ) sin(
) sin( ) cos( ) sin(
6 4 4
6 4 4


z x
z x
G G
F F
,
soit
|
|

\
|
+
+
=
z x
z x
G G
F F
Arctg
) cos( ) sin(
) cos( ) sin(
4 4
4 4
6


.

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 ( 0
6 1
= = = L ) du robot (cf. 3.8) o
les arguments de la fonction Arctg utiliss pour dterminer le paramtre
4
sont nuls
( 0 = =
z x
H H ), 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
.

A titre d'exercice, proposer un programme (MatLab ou Scilab) qui calcule ces solutions tant donn
les matrices d'orientation (S, N, A) et de position (P).

page 45
1
+
1


1 :
2
+ = 1 :
2
= 1 :
2
+ = 1 :
2
=
3

3

3

3


4
+
4

4
+
4

4
+
4

4
+
4

5

5

5

5

5

5

5

5

6

6

6

6

6

6

6

6


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
3 2 1
, ,
en fonction d'une position souhaite du point P (centre du poignet). A titre de vrification, considrer
la configuration initiale du robot (voir 3.8) et retrouver, parmi les 4 solutions possibles, le jeu de
paramtres 0
3 2 1
= = = (rappel : m d a 45 , 0 = = ).

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 (
6
O = ) selon l'axe
6
z
r
), 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
6 1
, , L .

Soient, par exemple :

X (mm) Y Z y () p r
598,629 -372,697 518,632 -23,395 93,034 47,881

1
()
2

3

4

5

6

-33,064 -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,
Z Y X
P P P , , , partir de
celles du point F, c'est--dire, Z Y X , , (issues de la baie de commande).


3.10 Solutions multiples Espace de travail Aspects

x
6

page 46
On a vu prcdemment que le M.G.D. d'un robot peut se reprsenter l'aide de l'application :
) (q f X = ,
cette application tant dfinie de l'espace articulaire (Q) vers l'espace oprationnel (X), tous deux de
dimension 6 n .

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
m i A
i
1 ), ( = , appels aspects
15
, 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 ) (
i
A f ) 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 :
n i q q q f x
n i i
1 ) , , , (
2 1
= = K .
On dfinit le modle cinmatique, relatif aux vitesses, du type ) (q g X &
&
= , dcrit par l'quation matricielle
n n suivante :
|
|
|

\
|
|
|
|
|
|
|

\
|

=
|
|
|

\
|
n
n
n n
n
n
q
q
q
f
q
f
q
f
q
f
x
x
&
M
&
L
M O M
L
&
M
&
1
1
1
1
1
1
,
soit encore,
q J X &
&
= ,
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 manipulateur
16
.

Espace de travail Aspects

Le domaine articulaire Q admissible est en gnral un hyperparalllpipde dfini par :
n i q q q
i i i
1
max min
= ,

15
Borrel P., Contribution la modlisation gomtrique des robots manipulateurs ; application la conception assiste par
ordinateur, Thse d'Etat, USTL Montpellier, juillet 1986.
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 47
o
min
i
q et
max
i
q reprsentent les butes prsentes au niveau de l'articulation i.

L'quation 0 ) ( det = q J dfinit une partition de l'espace articulaire Q en m domaines disjoints
m i A
i
1 ), ( = , appels aspects. Ainsi un aspect est dfini par la relation :
tante cons )]) ( ([det , = q J de Signe A q
i

avec les proprits suivantes :
). ( ) (
, , 1 , ) ( ) (
1
i
m
i
j i
A Q
m j i A A
U
K
=
=
= =

Remarque : Les configurations pour lesquelles 0 ) ( det = q J sont appeles configurations singulires,
ou singularits, du mcanisme.

Dfinissons le sous-domaine, not (
i
X ), du domaine oprationnel (X) des points q de (
i
A ) images par
l'application f, soit :
) ( Im ) (
i i
A X = .
En gnral, les domaines (
i
X ) ne sont pas disjoints (i.e., ) ( ) ( ) ( ,
j i
X X j i j i ), contrairement
aux domaines (
i
A ).
L'espace oprationnel (X) correspond alors l'union des m images d'aspects, soit :
) ( Im ) (
1
i
m
i
A X
U
=
= .
Pour un point ) (
i
A q , le manipulateur est dit dans la configuration, ou la posture, numro i. Par
exemple, soit le point ) ( ) ( ) (
k j i
X X X x , alors ce point est l'image d'un point de (
i
A ), d'un point de
(
j
A ) et d'un point de (
k
A ), 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
1
x vers un point
2
x . 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 L l l = =
2 1
.
page 48


Dfinition des aspects

Soit le M.G.D. suivant :

= + + =
= + + =
) , ( ) sin( ) sin(
) , ( ) cos( ) cos(
2 1 2 2 1 1 2
2 1 1 2 1 1 1
q q f q q L q L x
q q f q q L q L x
,
avec pour contraintes :
90 100 , 90 0
2 1
q q .
On a la matrice Jacobienne suivante :
|
|

\
|
+ + +
+ +
=

=
) cos( ) cos( ) cos(
) sin( ) sin( ) sin(
2 1 2 1 1
2 1 2 1 1
q q L q q L q L
q q L q q L q L
q
f
J ,
il en rsulte que :
) sin( det
2
2
q L J = .
Sachant que 0 det = J entrane 0
2
= q , il s'ensuit la sparation du domaine articulaire (Q) en deux
aspects (
1
A ) et (
2
A ) selon la figure suivante :














L'aspect (
1
A ), domaine reprsent en trait gras, correspond 0 det > J , soit 0
2
> q , et la posture coude
bas (reprsent en trait gras) du manipulateur. L'aspect (
2
A ), domaine reprsent en trait fin, correspond
0 det < J , soit 0
2
< q , et la posture coude haut (reprsent en trait fin) du manipulateur. Dans
q
2

q
1

(A
1
)
(A
2
)
90
90
-100
0
page 49
l'espace cartsien, la posture en trait gras est l'image de
1
Q , tandis que la posture en trait fin est l'image de
2
Q .

Gnration de l'espace de travail

Pour construire les domaines (
1
X ) et (
2
X ), images respectivement de (
1
A ) et (
2
A ), il suffit de se
dplacer sur la frontire des aspects et de tracer gomtriquement l'volution de l'extrmit P du
manipulateur. Le domaine atteint par l'extrmit du manipulateur tant le domaine ) ( ) ( ) (
2 1
X X X = ,
voir la figure suivante.


Trois cas sont considrer pour les solutions du M.G.I. :
- ) ( ) (
2
X X P : le M.G.I. a une solution dans (
1
A ), le manipulateur est en posture coude bas.
- ) ( ) (
1
X X P : le M.G.I. a une solution dans (
2
A ), le manipulateur est en posture coude haut.
- ) ( ) (
2 1
X X P : le M.G.I. a 2 solutions, l'une dans (
1
A ), l'autre dans (
2
A ), le manipulateur peut
prendre les 2 postures.

Ralisation de trajectoires entre deux points I et F

Soient les points :
2 2 1 1 1
), ( ) ( ), ( ) ( I X X F X X I et ) ( ) (
2 1 2
X X F .

- Considrons la trajectoire
1 1
F I , il est impossible de rallier
1
I et
1
F 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
1
I et
1
F .
- Considrons la trajectoire
2 2
F I , la trajectoire rectiligne entre les points
2
I et
2
F est ralisable,
aussi bien en posture coude haut qu'en posture coude bas.
- Considrons la trajectoire
1 2
F I , la trajectoire rectiligne entre les points
2
I et
1
F est ralisable si
au point
2
I le manipulateur est en posture coude bas. Dans le cas contraire il y aura
reconfiguration.
page 50


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 (oprationnel) (afin de situer
l'organe terminal), soit dans l'espace des configurations (articulaire) du robot (afin d'indiquer les valeurs
des paramtres de liaison).

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 peut 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 des
configurations : 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 51


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.

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


page 52
5 DESCRIPTION PRATIQUE DU ROBOT STUBLI RX 90




5.1 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 53


Quelques caractristiques du robot RX 90 :


Nombre de degrs de libert 4, 5 ou 6
Charge transportable nominale 6 Kg
Charge transportable maximale 12 Kg
Rayon d'action 985 mm
Rptabilit +/- 0,02 mm
Langage de programmation V+


Axe 1 2 3 4 5 6
Amplitude () 320
(+/- 160)
275
(+/- 137,5)
285
(+/- 142,5)
540
(+/- 270)
225
(+120/-105)
540
(+/- 270)
Vitesse nominale
(/s)
236 200 286 401 320 580
Vitesse maximale
(/s)
356 356 296 409 480 1125

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

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


























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

Le pendant est le botier permettant de commander manuellement le robot, il se compose comme suit :
Contrle de la
puissance de la baie de
commande
Arrt durgence
Mode auto/manu
Mode local/rseau
Contrle de la
puissance du bras
Mise en route /
Arrt puissance
Indicateur de dfaut
page 55





La commande manuelle du robot se fait partir du pendant, la commande automatique se faisant au
clavier via des commandes spcifiques.
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 (c--d, lapparition du prompt . lcran du
terminal).
Arrt durgence Arrt du bras
page 56
- 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
suivante), on a :
|
|
|
|
|

\
|
=
1 0 0 0
9 , 0 1 0 0
0 0 1 0
0 0 0 1
6 , 0
T . Les valeurs articulaires correspondantes sont :
0 ,
2
,
2
, 0
6 5 4 3 2 1
= = = = = =

.








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 jamais 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.
page 57
- Mettre linterrupteur gnral, situ au dos de la baie de commande, sur 0.


6 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, concrtement le socle). Les
rotations RX, RY, RZ se font par rapport ces coordonnes (voir figure suivante).

Le mode Tool

Tout dplacement est rapport aux coordonnes doutil (Tool). Laxe X est align avec la rainure rotative
situe dans la flasque. Les rotations RX, RY, RZ se font par rapport ces coordonnes (voir figure
suivante).

page 58
Le mode Joint

Le dplacement articulaire seffectue autour des 6 diffrents axes (voir figure suivante).

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

En ce qui nous concerne, on slectionnera le mode Joint.

La barre de vitesse permet de choisir la vitesse et le sens (+/-) du dplacement manuel :








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.

Nous verrons au 6.3.3.b la manire de dfinir des points de passage (appels variables points) du bras du
robot.

6.3 Contrle du robot partir dun programme
Sens du dplacement
Rapide
Rapide
Lent
page 59

Il existe 3 prompts lcran :
- Le prompt . pour le mode Commande. On fournit au robot des instructions du type DIR,
FDIR, FORMAT, etc
- Le prompt * pour le mode Excution. On fournit des instructions du type ABORT,
EXECUTE, PANIC, RETRY, XSTEP, etc
- 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 :















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.
Mode Commande
(mode utilis par
dfaut)
(.)
EX nom.pg Mode Excution

(*)
Arrt du
programme
Mode Editeur

( ?)
Appui
sur F4
SEE
Nom.pg
page 60
- 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.
- 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 :









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













Remarque : En fait, les programme 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 standard un langage :

Mode COMMAND
Mode INSERT Mode REPLACE
ESC ESC
I
R
F9 F10 F11 F12
<shift-F9> : Coupe la ligne sur
laquelle se trouve le curseur
<shift-F10> : Colle le contenu du buffer
lemplacement du curseur
<F9> : Copie la ligne sur laquelle
se trouve le curseur
<F10> : Colle la dernire ligne entre dans le
buffer lemplacement du curseur
page 61
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 :
- mathmatiques : +, -, *, /, MOD,
- relationnels : <, <=, = =, <>, >=, >,
- logiques : 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
page 62

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
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 dans une variable A (de type point) le point de passage
courant du bras du robot (atteint par exemple via le pendant) consiste taper au clavier :
HERE A (enter)
X/JT1 Y/JT2 Z/JT3 y/JT4 p/JT5 r/JT6
120 12 -80 85 -40 0
CHANGE ? (enter)

Linstruction SET B = A permet daffecter la variable point B la valeur A (qui est sous-
entendu 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.

Les variables relles ou entires (entre 16 777 216 et 16 777 215) :
Exemples : A = 12
B = 2.356
C = B

Les variables chanes dfinies par un $ en premire position :
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)

page 63
Pour renommer un programme, taper RENAME nom du nouveau prog = nom de lancien prog
(enter)
Pour supprimer :
- le programme Nom.pg, taper : DELETEP nom.pg (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\

- 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
page 64

Linstruction FCOPY permet de copier un fichier (situ sur une disquette et/ou un disque), par
exemple :
FCOPY fichier cible = fichier source

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) paralllement l'axe le
plus proche du rfrentiel de base (World) ( savoir X, Y ou Z). 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) :







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

Axe World Z
page 65
1) Linstruction MOVE point (prcde de DO si excution 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) :









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









2) L'instruction 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).











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












APPRO A, 50
Axe Z du repre outil
MOVE A
A
50 mm
APPROS A, 50
Axe Z outil
MOVE A
A
50 mm


A
B
MOVE B


A
B
MOVES B
page 66
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.














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


Instructions de mouvements de la pince :

OPENI ; permet douvrir la pince,
CLOSEI ; permet de fermer la pince.

________________________________________________________________________

Important : Par dfaut les mouvement 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.
________________________________________________________________________
Etc ,
Axe Z outil
DEPART 50
50 mm
page 67

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 40 % alors que la vitesse moniteur est de 80
%, alors la vitesse rsultante du manipulateur sera de 32 % de la vitesse nominale du robot. Il en va de
mme pour une vitesse exprime en mm/sec (notez que celle si sera respecte que pour une vitesse
moniteur gale 100 %).

Par exemple :
- SPEED 50 ALWAYS vitesse de 50 % 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.

Les sous-programmes ____________________________________________________

Seule la notion de sous-programmes sans paramtres 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
page 68
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.

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
page 69
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.


7 DESCRIPTION PRATIQUE 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 70
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 71

Plage de mouvement () Vitesse nominale (/s)
J1 : 320 240
J2 : 185 270
J3 : 365 240
J4 : 240 330
J5 : 400 480

Plage de mouvement () Vitesse nominale (/s)
J1 : 340 150
J2 : 250 160
J3 : 315 170
J4 : 380 400
J5 : 280 400
J6 : 720 520

Face avant de la baie de commande




Face avant de la baie de commande




1. Slecteur des 3 modes (AUTO, T1, T2)
2. Bouton darrt durgence
3. Sectionneur robot tour (interrupteur de
scurit)


1. Slecteur des 3 modes (AUTO, T1, T2)
2. Relchement de lalarme
3. Bouton de dpart
4. Bouton de mise sous tension
5. 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 .

2
3
4 5
1
1
2
3
page 72
Utile pour afficher
la position du robot
page 73
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 74

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, 1
er
figure - 1 ) sur ON .


7.3 Arrt du systme

Afin darrter le systme, il faut :
page 75

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 .



8 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

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

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 77
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 et les touches de
rotation, ou de translation, selon le mode de dplacement choisi.

Touches de translation :

Touches de rotation :

Remarques :
- Les touches ajustent la vitesse du mouvement slectionn.
- Appuyer sur la touche pour connatre la position du robot.

Exemples :
page 78

JOINT (articulaire) USER (cartsien) TOOL (outil)
Rotation de la 3me
articulation :
Appuyer sur +
Translation selon l'axe Ox du
repre fixe :
Appuyer sur +
Rotation selon l'axe Oy du
repre outil :
Appuyer sur +


8.3 Mise en mouvement en mode programme

Les touches du mode programme :





Select


Enter


Step




Bouton darrt
durgence



Shift

Forward







8.3.1 Excution dun programme
1. Appuyer sur la touche pour accder la liste des programmes.
2. Se positionner sur le programme souhait laide des touches et presser la touche pour
visualiser les lignes du programme slectionn.
3. Appuyer simultanment sur les touches et pour excuter le programme.

Exemples d'excution de programmes :

Robot LR Mate 100 IB Robot ARC Mate 100 IB
Excuter le programme TP Excuter le programme Prgtest1


page 79
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 et pour excuter une ligne du programme.
3. Appuyer sur la touche pour quitter le mode pas pas.


8.3.2 Arrt dun programme
Le relchement de la touche suspend l'excution du programme. On sort du programme en
appuyant sur le bouton , il sensuit un accs la liste des programmes disponibles.

8.3.3 Cration dun programme
Pour accder au menu des programmes, appuyer sur la touche . Appuyer sur la touche -
CREATE pour crer un nouveau programme.
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 . Il reste dfinir les
diffrents paramtres de linstruction de mouvement.

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



8.4.1 Structure de mouvement 1

Le chemin dun mouvement jusqu une position dfinie est spcifie par la structure de mouvement.
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.

(Joint)
(Linaire)
(Circulaire)
page 81


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 82


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 Structure des donnes 2 et 3 de position

L'information de position dcrit l'emplacement du centre outil lorsqu'une instruction de mouvement est
ajoute un programme. L'information sur la position est effectue pour sept composants, comme
indiqu ci-dessous.

P[n] = (X, Y, Z, W, P, R, config)

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 autour de X, Y et de 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.
Il existe deux types denregistrement de position :

Commande de position P[n] Registre de position PR[x]
page 83
n est le numro de position. Une commande de
position stocke linformation sur la position
actuelle du bras du robot.
x est le numro du registre de position. Un
registre de position stocke linformation sur la
position dans un emplacement de stockage
spar du programme.


8.4.3 Trajectoire de positionnement 5

La trajectoire de positionnement 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 Y = 712.501 Z = 357.396
W = 103.041 P = -60.693 R = 124.391
J1 = 87.957 J2 = -23.175 J3 = -24.453
J4 = -72.955 J5 = 44.234 J6 = 89.797

NB : yaW correspond l'angle de lacet, Pitch l'angle de tangage et Roll langle de roulis.
page 84
Prendre la posture que vous souhaitez mmoriser. Appuyer sur la touche -POINT.
Se dplacer dans le menu avec les touches , 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 - POSITION pour entrer les coordonnes de la position
dsire (appuyer sur la touche - 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
Appuyer sur la touche pour accder au menu des entres/sorties et slectionner I/O laide des
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 cette
page, 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 85
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 , choisir CALL. Slectionner le sous-programme
dans la liste donne laide des flches puis appuyer sur .


8.8 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