Vous êtes sur la page 1sur 32

Table des Matires

I MODELISATION DES SYSTEMES ARTICULES RIGIDES I.1 Introduction I.2 Modlisation gomtrique I.2.1 Coordonnes homognes dun vecteur. I.2.2 Paramtres de Denavit et Hartenberg I.2.3 Modle gomtrique du robot PUMA 560 I.3 Modlisation dynamique I.3.1 Approche dEuler Lagrange I.3.2 Modle dynamique du robot PUMA 560. TD : Etude de cas : robot porte-outil I.4 Conclusion ANNEXE I ANNEXE II I.5 Rfrences TP N1 MANIPULATION TP N2 MANIPULATION TP N3 MANIPULATION
ET ET ET

3 4 4 5 6 9 16 17 25 28 36 37 41 42

COMMANDE COMMANDE COMMANDE

DU ROBOT A DU ROBOT A DU ROBOT A

4DDL IBM 7576 6DDL ABB 7DDL, KUKA

43 48 59

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

I.1 Introduction Le systme articul rigide est caractris par une structure arborescente articul simple ou multiple dont les liaisons sont mobiles les unes par rapport aux autres. Cet ensemble a pour objectif de mener lorgane terminal vers un lieu gomtrique impos par la tche [1]. Gnralement, un robot manipulateur est considr comme un systme articul rigide. Lappellation robot nest pas nouvelle, elle a pour origine le mot robota extrait de la littrature grecque et qui veut dire travail. Nous avons trouv dans la littrature diffrentes dfinitions de ce systme dynamique tel que : Celle donne par JIRA (Japon Industrial Robot Association) : Un robot est un

Chapitre I

systme versatile dot dune mmoire et pouvant effectuer des mouvements comme ceux dun oprateur humain ;
Celle donne par RIA (Robot Institute of America) : Un robot est un

MODELISATION DES SYSTEMES ARTICULES RIGIDES

manipulateur fonction multiple programm pour raliser automatiquement des taches varies ventuellement rptitives.
La synthse de la commande du robot ncessite la connaissance des relations entre ses grandeurs dentres et de sorties. Lensemble de ces quations constitue le modle mathmatique du robot. Si les quations sont extraites de la physique, le modle est appel modle de connaissance, et si ces quations dcoulent des observations disponibles sur le systme, le modle sappelle modle de reprsentation.

I.2 Modlisation gomtrique Tout manipulateur peut tre considr comme une chane de liaisons connectes par des articulations charnires ou glissires. Chaque liaison localise les informations son propre repre. A laide des matrices de passages dordre quatre on peut arriver des informations globales sur le repre de la base appel repre dinertie.

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

I.2.1 Coordonnes homognes dun vecteur. Chaque liaison dun manipulateur fait des rotations ou des translations par rapport au rfrentiel dinertie fixe (par exemple un repre fix la base du robot). Le calcul des coordonnes des liaisons du manipulateur exprimes dans le rfrentiel dinertie de la base est relativement difficile. Cette difficult augmente suivant lordre de la liaison (numro de la liaison) jusqu llment terminal. Pour ne pas alourdir les calculs et ramener toutes les informations gomtriques au repre dinertie de la base, il est judicieux de les localiser leurs articulations correspondantes, et situer chaque liaison son propre rfrentiel. Le passage dun rfrentiel un autre est garanti par des transformations. Lorsquon a uniquement des rotations on se satisfait une matrice de transformation R de troisime ordre, et lorsquil existe une translation autour dun point on est oblig de passer vers une matrice de quatrime ordre pour permettre au rfrentiel de se dplacer un autre rfrentiel en translation. Dans ce cas le vecteur de position p sera augment par une quatrime composante pour avoir un vecteur de position p ' exprim par ses coordonnes homognes :
px p= py pz

La matrice augmente de transformation a la forme suivante : R11 R T = 21 R31 0 R12 R22 R32 0 R13 R23 R33 0 dx dy dz 1

(I.3)

avec R matrice de rotation et d vecteur de translation qui comporte les coordonnes du repre destination dans le repre source. Si T est la matrice de transformation du rfrentiel ( x1 , y1 , z1 ) vers le rfrentiel ( x2 , y2 , z2 ), alors :
p ' x2 y2 z2 = T . p ' x1 y1z1

(I.4)

I.2.2 Paramtres de Denavit et Hartenberg

La convention de Denavit et Hartenberg (DH 1955) est une mthode systmatique. Elle permet le passage entre articulations adjacentes dun systme robotique. Elle concerne les chanes cinmatiques ouvertes o larticulation possde uniquement un degr de libert, et les surfaces adjacentes restent en contact. Pour

(I.1)

cet aspect lutilisation des charnires ou des glissires est indispensable. Le choix adquat des repres dans les liaisons facilite le calcul des matrices homognes de DH et permet darriver exprimer rapidement des informations de llment terminal

Le vecteur homogne correspondant est : px p p' = y pz 1

vers la base ou linverse. Les tapes suivre pour cette technique sont les suivantes : (I.2) 1. Numrotation des segments constitutifs du bras manipulateur de la base vers llment terminal. On associe le rfrentiel zro la base de celui-ci, et lordre

n llment terminal (effecteur) ;


2. Dfinition des axes principaux de chaque segment : Si zi et zi 1 ne se coupent pas et on choisit xi de manire tre la parallle avec laxe perpendiculaire zi et zi 1 .

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

Si zi et zi 1 sont colinaires on choisit xi dans le plan perpendiculaire zi 1 . 3. Fixer les quatre paramtres gomtriques: di , qi , ai et i (voir la figure I.1) pour chaque articulation tel que : di coordonne de lorigine oi sur laxe zi 1 . Pour une glissire di est une variable et pour une charnire di est une constante.

ai cos i dii1 = ai sin i di

(I.7)

La figure I.1 reprsente les paramtres de Denavit et Hartenberg pour les deux repres successifs ( xi 1 , yi 1 , zi 1 ) et ( xi , yi , zi ). Enfin, la matrice de transformation homogne de Denavit et Hartenberg est la suivante : cos i sin i i Ti 1 = 0 0 cos i sin i cos i cos i sin i 0 sin i sin i sin i cos i cos i 0

i est langle que lon obtient par vissage de xi 1 vers xi autour de laxe
zi 1 . Pour une glissire qi est une constante et pour une charnire qi est une variable.

ai est la distance entre les axes zi et zi 1 mesure sur laxe xi ngatif partir de son origine jusqu lintersection avec laxe zi 1 .

ai cos i ai sin i di 1

(I.8)

i est langle entre zi et zi 1 obtenu en vissant zi 1 vers zi autour de xi .

On forme enfin la matrice homogne DH de dplacement qui lie la rotation et la translation. La partie suprieure gauche dfinit la matrice de rotation Rii1 , et le vecteur droit pour la translation dii1 .
Rii1 dii1 i Ti 1 = 0 0 0 1

(I.5)

avec
cos i Rii1 = sin i 0 cos i sin i

cos i cos i sin i

sin i sin i sin i cos i cos i

(I.6)

et Figure I.1 : Systmes de coordonnes et les paramtres de Denavit et Hartenberg

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

I.2.3 Modle gomtrique du robot PUMA 560 Parmi les diffrentes structures de robots manipulateurs (Robot coordonnes : cartsienne, cylindrique, sphrique, etc.), nous avons opt pour larchitecture dun manipulateur la plus utilise en robotique qui est celle dun robot articul PUMA 560 reprsent par la figure I.2. Ce bras de robot manipulateur ralise six degrs de libert caractriss par des mouvements de rotations

Figure I.2 : Bras de robot PUMA 560

Les trois premires articulations de ce manipulateur (Waist, Shoulder, Elbow) caractrisent pour la premire une rotation autour dun axe verticale, la second et la troisime suivant deux axes horizontaux dont les mouvements sont identifis par les variables q1 , q2 et q3 . Les trois dernires articulations (Wrist rotation, Wrist bend, Flange), qui constituent le poignet du bras de robot, sont caractrises par les variables de rotations q4 , q5 et q6 . On admet les hypothses simplificatrices suivantes : Les liaisons du manipulateur sont rigides : Les jeux dans les articulations sont ngligeables. La dfinition des repres associs aux segments suivant la convention de Denavit et Hatrenberg est la suivante : Figure I.3 : Systme de coordonnes des liaisons et les paramtres des articulations pour La reprsentation du bras de robot PUMA 560 suivant la convention de Denavit et Hartenberg est prsente par la Figure I.3 avec une configuration dorigine.

Liaison 1 : Repre ( x0 , y0 , z0 ).
Lorigine est prise dans la liaison 1 lintersection de laxe de la base avec laxe de la liaison 1.

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

10

z0 axe de rotation, + z0 vers le haut.


+ y0 concide avec laxe de la liaison 1 et laxe + z1 . + y1 est en parallle avec la liaison 2.

Liaison 6 : Repre ( x5 , y5 , z5 ).
Lorigine concide avec lorigine du repre ( x4 , y4 , z4 ).

z5 axe de rotation, + z5 vers leffecteur colinaire avec + z6 .


+ y5 concide avec laxe de larticulation 5. + y5 est perpendiculaire laxe de larticulation 5.

Liaison 2 : Repre ( x1 , y1 , z1 ).
Lorigine concide avec lorigine du repre ( x0 , y0 , z0 ).

z1 axe de rotation, + z1 est perpendiculaire la liaison 2 et en parallle laxe + z2 .


+ y1 vers le bas, superpos avec laxe de la base et en parallle avec + y2 . + x1 est en parallle la liaison 2.

Leffecteur : Repre ( x6 , y6 , z6 ).
Lorigine concide avec les origines des repres ( x4 , y4 , z4 ) et ( x5 , y5 , z5 ) + z6 est colinaire avec + z5 .

Liaison 3 : Repre ( x2 , y2 , z2 ).
Lorigine est prise dans la liaison 2 lintersection de laxe de la liaison 2 avec laxe de larticulation 3.

+ y6 est en parallle avec + y5 . + x6 est en parallle avec + x5 . En respectant la position dorigine du robot et la dfinition des repres des liaisons prsentes par la figures I.3, les paramtres du bras de robot PUMA 560 suivant la convention de Denavit et Hartenberg sont reprsents dans le tableau I.1 (Armstrong

z2 axe de rotation, + z2 est perpendiculaire la liaison 2 et laxe + z3 .


+ y2 vers le bas, oppos avec + z3 . + x2 est en parallle avec la liaison 2.

et al., 1986).

Liaison 4 : Repre ( x3 , y3 , z3 ).
Lorigine est prise dans la liaison 3.

z3 axe de rotation, + z3 vers le poignet est perpendiculaire + z4 .


+ y3 est perpendiculaire la liaison 2, en parallle avec + z4 . + x3 est en parallle avec la liaison 2.

Liaison 5 : Repre ( x4 , y4 , z4 ).
Lorigine est prise dans le centre du poignet. Tableau I.1 : Paramtres de Denavit et Hartenberg du bras de Robot PUMA 560.

z4 axe de rotation, + z4 est perpendiculaire la liaison 2 superpos avec + z5 .


+ y4 est oppos + z5 . + x4 en parallle avec la liaison 2.

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

11

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

12

La distance d 6 nest pas prsente dans le tableau I.1. Cette distance varie selon leffecteur utilis pour lapplication (leffecteur est loutil attach au poignet sur la dernire articulation du robot pour la manipulation des objets : par exemple la pince reprsente par la figure I.4). Dans notre application la distance entre la fin de leffecteur et laxe du poignet est suppose nulle d 6 = 0 (Armstrong et al., 1986). La dynamique des trois dernires articulations est ngligeable par rapport aux trois premires. Par consquent, nous nous sommes intresss tudier le mouvement des trois premires articulations du bras de robot PUMA 560 (Waist, Shoulder, Elbow), en fixant les autres la position dorigine (i.e., poignet fix la position dorigine : (I.9.d) (I.9.c)

q4 = 0, q5 =0 et q6 = 0 ).

Les transformations appropries en utilisant le c pour les trois premires articulations considres sont : (I.9.e)

(I.9.a)

A Laide du formalisme de Denavit et Hartenberg nous pouvons calculer facilement les coordonnes de llment terminal (fin de leffecteur) dans le repre ( x0 , y0 , z0 ) fix (I.9.b) la base. La notation simplificatrice r36 signifie le vecteur des coordonnes homognes de llment terminal exprimes dans le repre ( x3 , y3 , z3 ). Avec la supposition (poignet fix la position dorigine : ( q4 = 0, q5 =0 et q6 = 0 ), le vecteur r36 est donn par lquation suivante :

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

13

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

14

Par la transformation de Denavit et Hartenberg T03 , on peut calculer les coordonnes de llment terminal exprimes dans le repre ( x0 , y0 , z0 ) par la formule suivante : I.3 Modlisation dynamique Les modles dynamiques des bras manipulateurs sont dcrits par un ensemble dquations mathmatiques qui portent des informations dynamiques de ces manipulateurs et peuvent tre simules sur un ordinateur dans le but de synthtiser une commande conditionne par des performances dsires. Lensemble des quations dynamiques peut tre dtermin par des lois mcaniques classiques Newtoniennes et Lagrangiennes. Les approches dEuler Lagrange et Newton-Euler permettent donc daboutir aux quations du mouvement des robots.

Notion de torseur : Un torseur est un objet mathmatique servant en mcanique, principalement la mcanique du solide indformable, notamment dans la modlisation des interactions entre des solides et la description de leurs mouvements. Un torseur est constitu de deux champs vectoriels : Enfin, Nous dfinissons le vecteur position de llment terminal exprim dans le repre fix la base ( x0 , y0 , z0 ) comme suit : (I.13) un champ uniforme, dont la valeur en tout point est nomm rsultante, note R ; le champ des moments, dont la valeur en un point P est note M P .

Ces deux champs sont relis par la relation de Varignon : M P = M O + R OP .

A laide du logiciel MatLab et avec les relations du modle gomtrique du robot PUMA 560 obtenues, nous avons pu programmer un simulateur pour lanimation de ce bras de robot. Quelques fentres Windows de ce simulateur sont prsentes dans lannexe I.

Pour dfinir un torseur, il suffit donc de connatre sa rsultante et son moment en un


point. On crit alors : { } = . M O O R

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

15

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

16

avec ED est lnergie de dissipation en cas de prsence de frottement visqueux, Ti est la Notion de tenseur : Lorsque lon dispose dune base dun espace vectoriel, tout vecteur de cet espace peut se dcrire par ses coordonnes dans cette base. De mme, une application linaire entre deux espaces vectoriels, lorsque lon a une base de chacun de ces espaces, peut se dcrire par une matrice. Ainsi, dans une base ( e1 , e2 , e3 ) donne, le vecteur u sera dcrit par ses composantes (u1, u2, u3). Si lon change de base, les composantes (les nombres u1, u2 et u3) changent, mais le vecteur u reste le mme. Le tenseur reprsente lensemble des reprsentations de vecteur est un tenseur dit dordre 1. Une application linaire f dun espace E vers un espace F est dcrite par une matrice
u

force ou le couple gnralis la ime articulation, n est le nombre de degr de libert,

qi est la coordonne gnralise de larticulation i, & q est la drive de la coordonne


i

gnralise et L est le Lagrangien exprim par lquation suivante :

o EC est lnergie cintique totale de toutes les liaisons, EP est lnergie potentielle totale de toutes les liaisons. Lnergie cintique est calcule par lexpression de la vitesse.

dans toutes les bases. Un

M dont les coefficients dpendent de la base de E et de celle de F. Le tenseur


reprsente lensemble des reprsentations de f dans toutes les bases. Une matrice est un tenseur dit dordre 2. Un scalaire est un simple nombre, qui ne dpend daucune base. On dit que le scalaire est un tenseur dordre 0. I.3.1 Approche dEuler Lagrange Le formalisme dEuler-Lagrange et la transformation homogne de Denavit et Hartenberg amnent un algorithme consistant prsenter les quations dynamiques du mouvement. Lapproche dEuler-Lagrange sert modliser et prsenter la dynamique des robots travers les quations du mouvement. Elle sadapte lors des calculs manuels et pour des calculs assists par ordinateur. Lquation dEuler-Lagrange est (Fu et al., 1987 ; Paul, 1981) : et o rii est la coordonne homogne du point i exprime dans le repre Ri. Comme la liaison nest pas flexible, on a

drii = 0 donc : dt

V0i =

dT0i dq j i ri j =1 dq j dt
i

(I.18)

i avec Ti 1 est la matrice de transformation homogne. Sous une criture matricielle, on

peut crire :
i j V0i = U ij q ri j =1 i

(I.19)

T j 1Q jT ji1 U ij = 0 0

ji ji

(I.20)

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

17

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

18

Pour une liaison rotode, on a : o Ii caractrise un moment dinertie dans le cas dune rotation et une masse dans le cas dune translation de lactionneur i. Lnergie cintique totale sera :

Et pour une liaison prismatique :

Lnergie potentielle est dcrite par (Fu et al., 1987)

avec

Lnergie cintique de llment i dans la liaison i est

exprime dans le repre R0. Dans le cas o laxe z0 est orient vers le haut, nous obtiendrons :

En dveloppant lexpression prcdente, on obtient :

o g est la gravit mesur la base du robot. Enfin, lnergie de dissipation est donne par :

Lnergie cintique de la liaison i est :

o f vi le coefficient de frottement visqueux (i=1,n). Lexpression finale du Lagrangien sera :

avec Appliquant la formule dEuler-Lagrange la fonction Lagrangienne donne ci-dessus, on trouve la force ou couple gnralis

Lnergie cintique des actionneurs est dfinie par :

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

19

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

20

G (q) R n est le vecteur de forces et/ou couples dus aux forces de gravitation;
) R n reprsente les effets des frottements visqueux; T (t ) R n est le vecteur de H (q avec forces et/ou couples moteurs. Une autre forme de reprsentation matricielle du modle dynamique (I.35) est la suivante (Armstrong, 1986) :

Avec une autre prsentation, lquation (I.33) devienne :

, q R n reprsentent respectivement les positions, les vitesses et les avec q, q acclrations articulaires;

avec

M (q) R nn est la matrice symtrique dfinie positive des acclrations inertielles dont
llment Mij de cette matrice est linertie de la ime articulation sur la ime articulation et vice versa ; D(q ) R
n n ( n 1) 2

est la matrice des couples de Coriolis ; C (q ) R nn est la

matrice des couples de centrifuges ; G (q) R n est le vecteur des acclrations ) R n reprsente les effets des frottements visqueux ; gravitationnelles ; le vecteur H (q

, q ] R T (t ) R n est le vecteur de forces ou couples gnraliss ; [ q


produit des vitesses gnralises et

n ( n 1) 2

est le vecteur de

n 2 q R est le vecteur de carr des vitesses

gnralises, tel que :

Lcriture matricielle des quations prcdentes donne le modle dynamique global du robot (Seraji, 1988). Ce modle est le suivant :

et

Il existe une mthode directe base sur le principe de conservation dnergie pour Rn , q R n reprsentent respectivement les positions, les vitesses et les avec q R , q
n

calculer rapidement la matrice des couples de Coriolis D et la matrice des couples centrifuges C. Cette mthode est la suivante (Armstrong et al., 1986) Pour la matrice de Coriolis D, le calcul est bas essentiellement sur la formule suivante :

acclrations articulaires; M (q) R nn est la matrice symtrique dfinie positive des acclrations inertielles dont llment Mij de cette matrice est linertie de la ime ) R n est le vecteur de forces articulation sur la jme articulation et vice versa; N (q, q et/ou couples dus aux acclrations de Coriolis et centrifuge;

avec le symbole de Christoffel dfini par :

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

21

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

22

avec g le vecteur de gravit mesur sur base du robot.

Puisque la matrice dinertie est dfinie positive, on aura les proprits suivantes :

et

Enfin, les lments de la matrice centrifuge C sont dfinis par lquation suivante :

) peut tre reprsent par les n Le vecteur des frottements visqueux et secs H (q
lments

i ), i = 1,...., n sous la forme suivante : hi (q


(I.49) avec f et f sont respectivement les coefficients des frottements visqueux et secs de la i
Vi Si

me

articulation.

La perturbation due la porte de la charge reprsente par U m caractrise leffet de la charge m sur le modle dynamique du robot, il est calcul par la matrice Jacobienne. Celle-ci est la drive du vecteur position de llment terminal (fin effecteur). Elle est donne par la formule suivante :

(I.50)

La perturbation due la porte de la charge sera : (I.51)

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

23

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

24

I.3.2 Modle dynamique du robot PUMA 560. Dans cette section, le modle dynamique du bras de robot PUMA 560 est prsent. Les trois dernire articulations de ce manipulateurs qui constituent le poignet (Wrist) sont fixes la position zro (i.e., les positions q4 = 0, q5 =0 et q6 = 0 , les vitesses
+

) : Les lments le la matrice B(q, q

4 = 0, q 5 =0 et q 6 = 0 q

et

les

acclrations

4 = 0, q 5 =0 et q 6 = 0 q

t R

t ). Nous avons adopt labrviation des fonctions trigonomtriques des

coordonnes articulaires du robot en crivant ci , si , cij , sij et cijk pour signifier

cos qi ,sin qi , cos(qi + q j ), et cos(qi + q j + qk ) respectivement.


Le modle dynamique pour les trois premires articulations du bras de robot PUMA 560 est le suivant : (I.52) avec q = [ q1 , q2 , q3 ] le vecteur des coordonnes gnralises, m est le poids de la charge
T

(I.54)

porter, J (q) la matrice Jacobienne et q = [ q1 , q2 ,9.81] .


T

Les lment du vecteur de gravit

G (q) :

Les expressions des lments des matrices M, B et le vecteur G sont les suivants :

Les lments de la matrice dinertie M(q) :

(I.55)

La dmonstration et le calcul des lments des matrices M, B et le vecteur G du (I.53) modle dynamique de ce bras de robot manipulateur est prsent dans la rfrence (Armstrong et al.,1986). La matrice Jacobienne J(q) est obtenue par les formules (I.13) et (I.51). Aprs quelques calcules simples nous trouvons les expressions des lments de la matrice J(q) :

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

25

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

26

Etude de Cas dun robot porte-outil


(Problme dExamen de DEA Robotique 92-93 UMPC-ENSAM, cours A. Barraco)

Le robot tudi est schmatis par un ensemble de solides reprsent par la Figure 1. Le

(I.56)

corps 0 de rfrence (C0 ) est repr par le repre R0 (O0 , x0 , y0 , z0 ) de type galilen. Le corps 1
(C1 ) a un mouvement de rotation autour de laxe (O0 , z0 ) , sachant que le repre li ce corps est R1 (O1 , x1 , y1 , z1 ) . La position relative de (C1 ) par rapport (C0 ) est q1 = ( x0 , x1 ) . Le corps (C2 ) a un mouvement de rotation autour de laxe (O2 , z2 ) , colinaire avec laxe (O1 , x1 ) avec O1O2 = a y1 . Le repre li ce corps est R2 (O2 , x2 , y2 , z2 ) . La position relative de (C2 ) par rapport (C1 ) est q2 = ( x1 , x2 ) . Le corps (C3 ) ralise par rapport (C2 ) un mouvement de translation daxe (O2 , y2 ) dfini par O2 O3 = q4 y2 et un mouvement de rotation autour de (O2 , y2 ) avec un angle q3 = ( x2 , x3 ) . Le repre li ce corps est R3 (O3 , x3 , y3 , z3 ) . Les

avec a2 = 0.4319 m, a3 = 0.0203 m, b2 = 0.2435 m, b3 = 0.0934 m, b4 = 0.4331 m et b6 = 0 m.


Les paramtres physiques du bras de robot PUMA 560 sont reprsents dans lannexe II. Pour plus dinformations voir (Armstrong et al., 1986). Le tableau Ann.II.1 reprsente les masses des diffrentes liaisons du manipulateur ; la masse de la premire liaison nest pas prsente dans ce tableau puisque cette liaison ne fait pas une translation par rapport la base du robot mais seulement une rotation de larticulation 1 autour de laxe z0 (nergie potentielle nulle). La mesure de cette masse nest pas ncessaire. Les diffrents moments dinerties relatifs chaque liaison en respectant les repres des articulations sont reprsents par Le tableau Ann.II.2. La notation simplificatrice Ixx, Iyy et Izz signifi respectivement le moment dinertie suivant laxe x, y et z relatif chaque articulation, et la notation Imoteur le moment dinertie du moteur. Le rapport dengrenage et le couple maximum de chaque articulation sont prsents par le tableau Ann.II.3.

caractristiques massiques, inertielles et gomtriques sont indiques dans la Figure 1. Le point P3 appartient lorgane terminal de (C3 ) , tel que : O3 P3 = bz3

Lobjet de ce problme est de faire ltude gomtrique, cinmatique et dynamique du robot.

1. ETUDE GEOMETRIQUE 1.1 Question : position du point P3 Exprimer dans le repre R1 (O1 , x1 , y1 , z1 ) , le vecteur O1 P3 . Rponse :

1.2 Question : modle gomtrique inverse. On souhaite que le point P3 occupe une position particulire dans lespace, ce qui revient imposer O1 P3 = u , avec u vecteur unitaire non nul dont on connat les projections
dans le repre R0 (O0 , x0 , y0 , z0 ) ; u = u x x0 + u y y0 + u z z0 avec u x , u y , u z 0 et scalaire non nul.

Dterminer le ou les jeux de paramtres, q , qui sont solutions. On commencera par dterminer q 1 puis les autres paramtres. Rponse :

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

27

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

28

Rponse :

2. ETUDE CINEMATIQUE 2.1 Question : Vitesse de Rotation. Donner les expressions des vitesses de rotation de chaque corps (i / 0) avec i [1, 3] , exprimes pour (1/ 0) dans R1 (O1 , x 1 , y 1 , z 1 ) , pour (2 / 0) dans R2 (O2 , x 2 , y 2 , z 2 ) et pour
(3 / 0) dans R3 (O3 , x 3 , y 3 , z 3 ) et dans R2 (O2 , x 2 , y 2 , z 2 ) .

Donner
R2 (O2 , x 2 , y 2 , z 2 ) .

les

expressions

des

drives

galilennes

des

vecteurs

de

la

base

Rponse :

2.2 Question : Vitesses et acclration des diffrents points. Donner les expressions des vitesses galilennes des points : O2 , O3 et P3 exprimes
dans R2 (O2 , x 2 , y 2 , z 2 ) .

Donner lexpression de lacclration galilenne de O3 exprime dans R2 (O2 , x 2 , y 2 , z 2 ) .

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

29

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

30

2.3 Question : Cinmatique inverse.


tels que On suppose que b + q 4 0 . Peut-on trouver des jeux de paramtres q et q , V (P3 , 3 / 0) = u o u

est

un

vecteur

impos

dont

on

connat

les

composantes

dans R2 (O2 , x 2 , y 2 , z 2 ) ?

Rponse :

2.4 Question : Cintique. Donner les expressions des moments cintiques K (O1 , 1/ 0), K (O2 , 2 / 0), K (O3 , 3 / 0) , exprim pour le premier dans R1 (O1 , x 1 , y 1 , z 1 ) et pour les deux autres dans R2 (O2 , x 2 , y 2 , z 2 ) . Donner les expressions des moments dynamiques H (O2 , 2 / 0), H (O3 , 3 / 0) , exprims
dans R2 (O2 , x 2 , y 2 , z 2 ) .

Calculer les nergies cintiques de chaque corps Ti (i / 0) avec i [1, 3] . Rponse :

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

31

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

32

3. ETUDE DYNAMIQUE Chaque liaison est motorise. Entre le corps (C 0 ) et (C 1 ) un moteur exerce sur le corps
(C 1 ) un moment 1 = 1 z 1 , et sur le corps (C 0 ) un moment oppos. Entre le corps (C 1 ) et (C 2 ) un moteur exerce sur le corps (C 2 ) un moment 2 = 2 z 2 , et sur le corps (C 1 ) un

3.3 Question : Formalisme de Lagrange. A partir de lexpression de lnergie cintique calcule la question 2.4 et en utilisant le formalisme de Lagrange, retrouver les deux quations du mouvement de la question 3.2. Rponse :

moment oppos. Entre le corps (C 2 ) et (C 3 ) un moteur exerce sur le corps (C 3 ) un moment 3 = 3 z 3 et un effort t3 = t3 z 3 , et sur le corps (C 2 ) des efforts opposs. On considre galement en P3 un torseur F3 ; M 3 ( P3 ) , reprsentent les actions extrieures loutil. 3.1 Question : Puissance des efforts extrieurs. Calculer la puissance Pmot des efforts des moteurs. Donner lexpression de la puissance Pext des efforts extrieurs en P3 , en fonction de
V ( P3 ) et ( 3 / 0 ) , on ne dveloppera pas cette expression.

Rponse :

3.2 Question : Equations de Newton-Euler. Ecrire lquation de Newton pour le corps (C 3 ) , projete suivant la direction z 3 . Ecrire lquation dEuler pour le corps (C 3 ) , projete suivant la direction z 3 . Rponse :

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

33

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

34

Corps (C1 ) : masse m 1 A1 inertie I1 = 0 0 dfinies dans R 1 0 B1 0 0 0 C1

Corps (C2 ) : masse m 2 0 A2 0 inertie I2 = 0 B2 0 0 0 C 2 dfinies dans R 2 en O2

Corps (C3 ) : masse m 3 0 A3 0 inertie I3 = 0 B3 0 0 0 C 3 dfinies dans R 3 en O3

I.4 Conclusion Les formalismes de Lagrange Euler permettent dtablir un systme dquations diffrentielles reliant les coordonnes gnralises aux forces et/ou couples gnraliss. Cette procdure nous a permit dobtenir les modles dynamiques du robot PUMA 560. Le modle a permis de mettre en vidence la difficult de commander ce

en O1

y1

y0 x1
O1 q1 x0

genre de bras manipulateur, tant donn les fortes non-linarits qui rgissent le
z3
P3 O3

y3 z0 x3 x2
O1

fonctionnement dynamique de ceux-ci.


z1 y1 y0 x1
O2
Corps C2

Nous avons remarqu que le comportement dynamique du robot manipulateur exige une trajectoire spcifique (continue en position, en vitesse et en acclration), permettant ainsi le contrle du robot avec des commandes lisses et physiquement acceptables.

y2

z1 x2
O2 q2 y1

Corps C3

y2 x0 z2

O0

y3

x2 x3
O3 q3 z2

Corps C1 Corps C0

Figure 1 : Description du robot

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

35

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

36

ANNEXE I ANIMATION DU ROBOT PUMA 560 Nous avons ralis un programme en MatLab pour animer le bras de robot PUMA 560 avec une vision 3D. Ce programme nous a permis de visualiser les diffrentes configurations du robot obtenues par les simulations. La figure Ann.I.1 reprsente la fentre du menu. A laide de cette dernire, on peut slectionner les conditions initiales, conditions finales, temps de mouvement et le type des trajectoires de rfrences.

La figure Ann.I.2 reprsente une image dune animation 3D du robot PUMA 560. On peut galement faire des projections de lanimation suivant les deux plans XZ et XY (voir les figures Ann.I.3 et Ann.I.4).

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

37

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

38

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

39

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

40

ANNEXE II PARAMETRES REELS DU ROBOT PUMA 560

I.5 Rfrences [1] T. Madani, Diffrentes Approches de Commande Dcentralise Structure Variable Appliques en Robotique, thse de magistre de E.N.P, Alger, 2002. [2] B. Armstrong, O. Khatib, and J. Burdick, The explicit dynamic model and inertial parameters of the Puma 560 arm, in Proc. International Conference of Robotics and Automation, vol. 1, Washington, USA, pp. 51018, 1986. [3] R. S. Hartenberg and J. Denavit, A kinematic notation for lower pair mechanisms based on matrices, Journal of Applied Mechanics, vol. 77, pp. 215221, June 1955.

[4] D. Orin, R. McGhee, M. Vukobratovic, and G. Hartoch, Kinematics and kinetic


analysis of open-chain linkages utilizing Newton-Euler methods, Mathematical Biosciences International Journal, vol. 43, pp. 107130, Feb. 1979. [5] http://fr.wikipedia.org/wiki/Tenseur#Notion_de_tenseur. [6] http://fr.wikipedia.org/wiki/Torseur.

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

41

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

42

TP N1 Manipulation et Commande du robot 4ddl IBM 7576


1. Description du matriel :
Le robot utilis pour ces travaux pratiques, reprsente un robot manipulateur 4ddl, appel IBM 7576 (Figure 1). Il reprsente le successeur du modle populaire 7545. Il est rapide, assist par ordinateur et fabriqu par la socit Sankyo. Les caractristiques du robot sont reprsentes dans le tableau 1.

Ainsi, 1. 2. 3. 4.

le systme de commande est compos de : la partie de puissance (host) et de de la Figure 2, dont un pupitre est dtach ; la commande du robot (PC AT), un PC (roll-up), permettant dditer, de compiler et de simuler les programmes ; un clavier de commande (Pendant), permettant dagir directement sur les axes et sorties du robot.

Pendant

Partie de commande (PC AT)

Partie de puissance

Figure 1 : Robot IBM 7576 Figure 2 : Armoire de puissance et de commande du robot IBM 7576

Marque: Modle: Type: Axes: Prcision: Capacit: Utilisation:

IBM 7576 Scara 4 800 mm 10 Kg Assemblage

Tableau 1 : Caractristiques de lIBM 7576

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

43

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

44

2. Mise en marche :
Avant de manipuler le robot, on doit suivre les tapes suivantes : mettre la partie puissance et commande sous tension ; taper MENU puis confirmer dans le chemin C:\AML2 ; choisir diter, correspondant au menu 6, puis sur crer (menu 1) pour ouvrir un nouveau fichier (exp : manip1) ;

testi(nentre,[valeur, label]) ; /*retourne la valeur de lentre spcifie et fait un saut ltiquette label si lentre vaut

valeur*/ pallet(ll,lr,ur,n,N) ;
/* dfinit une palette de limites ll,lr,ur,n, dont on accde aux emplacements grce

palletpt(pal,i)*/
Le reste des commandes sont dtailles dans la documentation associe. Expliquez le code du programme ci-dessous, rdig en langage AML2 ;

3. Manipulation avec le Pendant (1 heure):


Pour manipuler le robot en manuel, dans la partie de puissance, il faut se mettre en mode Teach, afin de pouvoir dcouvrir les diffrentes fonctionnalits offertes dans le Pendant (pour plus dinformations sur les touches, veuillez vous rfrer la documentation correspondante). On trouve 48 entres/sorties prsentent dans le systme robotis, dont 24 [1-24] entres et 24 [25-48] sorties. Dterminer le numro de lentre qui reprsente ltat de la lecture du capteur de chariot (capteur activ indiquant la prsence du chariot) ; Dterminer la sortie dcrivant ltat de la pince (1=ouverte ; 0=ferme) pour chacun des robots tudis ; Dterminer les sorties des trois ventouses du robot 2; Dterminer les sorties de chacun des vrins pour les trois robots IBM.

Pt1 : new pt(274,286,10,7.5) ; Pt2 : new pt(0,0,70,0) ; manip: subr(); speed=0.1; If testi(1) eq 1 then begin pmove(Pt1); pmove(Pt1+Pt2); writeo(25,1); pmove(pt1+<0,0,-30,10>); writeo(25,0); end; end;
A partir de ce dernier programme, crire un programme qui permet de faire un mouvement vertical et linaire tout en grant louverture et la fermeture de la pince ou bien

Travail faire : dplacer un plot dun chariot mobile un plateau fixe.


Pour importer les coordonnes du point terminal dans votre programme, appuyer sur F7.

4. Initiation la programmation du robot (1h00 heures):


Les instructions les plus utiles pour le TP 1 sont :

la ventouse. Utiliser un diteur DOS ou bien celui du AML2 pour saisir votre code. Compilez le programme prcdent en saisissant les caractres SY sur linvite des commandes. Lorsque le programme est correctement compil, il faut le tlcharger dans le contrleur (menu 3) en indiquant un numro dapplication (1-7). Sur le module de puissance, passer en mode Auto puis slectionner le numro de votre application, en la tlchargeant grce au bouton Load. Lorsque cette application est tlcharge (arrt du clignotement), vous pouvez dmarrer lexcution en appuyant sur Start. Garder le doigt sur le bouton darrt durgence afin dviter des ventuelles collisions. Le bouton End, arrte automatiquement lexcution du programme aprs la fin du cycle en cours.

point1 : new pt(x,y,z,); /* cration dun point nomm point1 de coordonnes (x,y,z) et dangle de rotation de la
pince*/

programme :subr(a,b,..) ;
/*cration dun sous-programme appel programme. Au mois un seul sous-programme doit exister dans le programme principal et portant le mme nom*/

speed=0.1 ;
/*cest la vitesse maximale choisir pour le mouvement du robot*/

writeo(nsortie, valeur) ;
/*crit la valeur (0 ou 1) dans la sortie spcifie*/

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

45

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

46

5. Programmation avance sur le robot (1h00 heures):


On souhaite que le robot ralise des oprations de dchargement de plots mtalliques. Pour cela il faut : 1. Dtectez la prsence dun chariot mobile aprs lavoir bloquer et indexer en activant les soties correspondantes ; 2. Dchargez les plots du chariot et placer les sur un emplacement de la palette fixe. Utilisez les deux fonctions

TP N2 Simulation et Commande dun Robot 6ddl ABB IRB140


Introduction :

pallet(ll,lr,ur,n,N) ;

et

palletpt(pal,i)

(voir

la

documentation du robot IBM), pour dfinir et accder au emplacement dune palette ; 3. En attendant le passage du chariot, le robot doit raliser la trajectoire de la Figure 3.

Utiliser la documentation fournie pour dcouvrir les fonctions lies la palette.

Le robot IRB 140 de la Figure 4 est un robot manipulateur articul, rigide six degrs de liberts. Afin dassurer une grande robustesse et garantir une prcision constante mme lors de contraintes extrmement leves, laxe 2 utilise la technologie prouve ABB de double palier. Ses 6 axes de travail confrent au robot un rayon daction exceptionnel, permettant le dveloppement de nouvelles opportunits dans le monde de lautomatisation flexible. LIRB 140 peut tre fix au sol, au mur, dans tous les angles et mme suspendu. Extrmement compact avec une hauteur de 800 mm et un poids de 98 Kg, il sintgre parfaitement aux postes de travail de petites dimensions. Avec sa haute vitesse et sa prcision de positionnement de 0,03mm, il est prdestin au chargement et dchargement de machines, lusinage et au montage de petites pices dans lindustrie horlogre, de la microtechnique et de la machine outil, au chargement dinserts et au dchargement des presses injecter, au traitement de surface, ainsi quaux oprations de picking et demballage. Sa capacit de charge de 5 Kg permet un prhenseur dinsrer et de dcharger des pices au cours du mme cycle, ce qui accrot la vitesse de production.

Figure 3 : Trajet du robot

6. Coopration de robots (1h00 heures):


En sinspirant des exercices prcdents, programmez un second robot IBM pour effectuer lopration inverse du premier, savoir le chargement des plots de la palette fixe vers le chariot mobile. Excutez les deux programmes en parallle ?. en dehors de la tche demande au deux robots, chacun deux doit raliser la trajectoire de la Figure 3.

Figure4: Robot ABB IRB-140

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

47

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

48

Larmoire de commande S4Cplus du robot IRB 140

Logiciel de simulation et dapplication convivial et simple dutilisation

La toute gnration de commande S4Cplus de la Figure 5, livre avec le robot IRB 140, encore plus puissante que ces prdcesseurs, constitue une excellente plate-forme pour la cration de nouvelles fonctionnalits grce lutilisation du langage de programmation dapplications trs puissant et convivial dABB, le Rapid. Cette commande, intgre dans une armoire compacte de dimension 950 x 800 x 620 mm et de poids 250 Kg, conjugue compacit, conception modulaire et haute performance. La fiabilit, qui a fait lobjet dune attention toute particulire dans la conception de la commande S4Cplus, permet un fonctionnement prcis et sans faille mme dans un milieu ambiant avec une humidit relative de 95% et des tempratures ambiantes de 52C (valeurs normales dans certaines applications, tel que fonderie). Des variateurs entirement scells, une rduction de 35% des points de soudure, une unit de climatisation spare et un blindage particulirement soign garantissant une immunit leve contre les perturbations lectromagntiques, assurent la commande et au robot un temps moyen de bon fonctionnement (MTBF) remarquable de 50'000 heures. Les deux interfaces rseaux Ethernet permettent lintgration de PC pour la supervision et les rglages des procds. Autre avantage, le langage et la modularit du systme autorisent lajout de nouvelles fonctions et ladaptation aux besoins de chacun. Le PC industriel quipant la S4Cplus, comprenant un microprocesseur de type multiprocesseur Pentium, un Bus PCI RAM dynamique et un disque Flash, permet la commande simultane jusqu 12 axes (6 axes rotatifs robot et 6 axes externes), avec un fonctionnement choix dans les modes dynamique, auto optimis, interpolage daxes, chane de coordination 7 cadres, concept angulaire ou handling automatique.

Loutil logiciel robot de base appel Robot Studio Lite 4.0 de la figure 6, permet lutilisateur dintgrer des fonctions spcifiques aux applications. Le langage ouvert et la modularit du systme simplifie le rajout de nouvelles fonctions ainsi que ladaptation des programmes existants. Avec les fonctionnalits conviviales du dernier logiciel, le dialogue homme-machine dans un langage pseudo cod avec des messages trs clairs et lcriture de programmes robots, mme complexe, est trs simple. A laide dun PC raccord sur le rseau et de ProgramMaker de la figure 4, loutil de programmation ABB, ces programmes peuvent tre crit, adapts et test hors-ligne avant dtre chargs sur la commande S4Cplus. De nouveaux outils de simulation dvelopps sur Windows 98/NT pour la commande S4Cplus simplifient la programmation dapplications et la visualisation du process en 3D. Dautre part ces logiciels de simulation permettent de tester des mouvement complexes dans des milieux encombrs et dobtenir ainsi des donnes prcises sur les temps de cycle. Un setup convivial et rapide facilite lutilisation des logiciels, et permet au robot IRB 140 de sadapter rapidement aux oprations de travail. Si, lors de nouvelles contraintes de production, lutilisation de programmes complmentaires est ncessaire, ceux-ci peuvent tre chargs en cours dutilisation sur la commande du robot. Un logiciel anti-collision avec accouplement de scurit lectronique hypersensible vite toute dtrioration lors de fausses manipulations.

Figure 5 : Armoire de commande S4Cplus

Figure 6 : le Logiciel Robot Studio

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

49

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

50

Interface de communication tendue Seules des commandes pouvant dialoguer avec leur environnement avec de multiples technologies, et quipes des systmes de communication tel que le protocole TCP/IP sur une interface Ethernet avec un rseau PC, ont dans les systmes darchitecture actuels une chance. La commande S4Cplus quipe de srie avec jusqu 1024 entres/sorties numriques, ne gre non seulement le robot avec plus de prcision et une vitesse augmente, mais offre surtout un large ventail de communication avec dautres commandes, automates programmables, PC et bus de communications. Elle peut changer des signaux digitaux en 24 Volts continu ou 120 Volts alternatifs, comprend 3 liaisons srie, 2 interfaces pour rseau Ethernet pour 10/100 Mbits/s avec E/S dportes pour API, bus de terrain CAN/Device Net, Interbus-S et Profibus DB, ainsi que des interfaces process pour support et signaux sur le bras suprieur du robot.

Caractristiques gnrales IRB 140, le mini-robot de ABB pour des temps de cycle court et une qualit irrprochable des pices produites : - 6 Axes rotatifs ; - Grand rayon daction de 810 mm ; - Capacit de charge 5 Kg ; - Encombrement rduit ; - Version unique pour montage au sol, au mur ou suspendu au plafond ; - Hauteur : 800 mm ; - Masse totale : 98 Kg ; - Charge admissible : 5 Kg ; - Version salle blanche : 10 ; - Degr de protection standard / fonderie : IP 54 / IP 67 ; - Commande robot : S4Cplus.

Applications et utilisations

IRB 140, un robot compact et puissant idal pour une large gamme dapplications : - Chargement et dchargement de pices et outils sur machines de prcision ; - Chargement dinserts et dchargement des presses injecter ; - Usinage, traitement de surface, dcoupage et bavurage ; - Technologies de soudage ;
Figure 7 : le logiciel Program Maker

- Montage et assemblage de composants en salle blanche ; - Picking, emballage et conditionnement.

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

51

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

52

Exercice 2 : Simulation graphique du robot IRB 140 sous Studio Lite 4.0 : Objectifs du TP:
A travers ce TP, on devra pouvoir manipuler le robot IRB 140 de la Figure 4 de deux manires diffrentes : manuelle ou automatique, en utilisant soit le joystick du pupitre mobile dapprentissage de la Figure 5 ou par la ralisation des diffrentes tches au robot dans un premier temps, dans un environnement virtuel (Studio Lite, Figure 6), et dans un second temps sur le robot rel en transfrant le fichier de simulation, radapt aprs compilation grce Program Maker (voir Figure 7) au systme de commande S4C. La dure du TP est de 4 heures, rparties suivant les tches demandes comme suit : 1. Manipulation et commande du robot IRB 140 par le biais du pupitre mobile (1 heure) ; 2. Simulation graphique du robot IRB 140 sous Studio Lite 4.0 en dfinissant des trajectoires (1 heure) ; 3. Excution dune tche de prhension (1 heure) ; 4. Coopration des ABB (1 heure). Cinq tapes raliser pour cette partie : Reproduction du robot IRB 140 et son environnement en 3D ; Choix des points de trajectoire (Targets) ; Dfinition des trajets (Paths) ; Dfinition et excution du programme ; Lecture du code avec Program Maker ; Synchronisation des programmes et excution des simulations. Reproduction du robot IRB 140 et son environnement en 3D : Dans cette tape, vous devez reproduire graphiquement le robot et son environnement. Pour cela, dans lespace de travail en 3D du Robot Studio (Figure 9), insrer tous les objets ncessaires pour la reprsentation du robot et de son environnement. Dans la fentre File, cliquez sur Import puis Library et choisissez le rpertoire enviroabb1 ou enviro-abb2, o ils contiennent une srie de fichiers (.rlb) dobjets tels que : le robot virtuel IRB 140 (exp : IRB140-M2000.rlb) ; la palette ; la pince ; la table ; le tapis ; le chariot mobile ; le porte palette ; le plot fixe ; le plot mobile. Pour que la pince soit visible, glisser son icne dans celle du robot (c--d Irb 140M2000) ; Naviguer dans lenvironnement virtuel grce votre souris : deux clicks simultans sur le bouton du milieu et sur le bouton de droite de la souris, vous permettent de naviguer panoramiquement ; un click sur le bouton du milieu et une translation en avant, vous permettent de zoomer en avant ; un click sur le bouton du milieu et une translation en arrire, vous permettent de zoomer en arrire ; La liste de tous les objets prsents dans lespace 3D se trouve dans la fentre Object, gauche de votre cran. Choix des points de trajectoire (Targets) Une fois le dessin est ralis, il faut slectionner les points relatifs aux dplacements du robot, en crant des Targets (Figure 9). Dans un premier exemple, vous allez choisir un point au centre de lemplacement du plot sur la palette, et un point localis au centre dun plot sur le chariot mobile ainsi : Pour choisir avec une prcision vos points, faite un click droit avec la souris lemplacement de la cible et choisissez Examine. Lespace du point sera zoom ; Dans la fentre Create du menu, choisissez Target. Une fentre de coordonnes de translation et de rotation souvre. Ces coordonnes correspondent celles du centre doutil. Ensuite, une fois que vous cliquez sur le bouton gauche de la souris lendroit choisi, les coordonnes du point slectionn vont tre calcules par rapport au centre de loutil (CDO). Validez sur Apply et radapter limage son format initial grce Unexamine ;

Figure 8 : Exemple de Manipulation du Robot IRB 140

Exercice1 : Manipulation et commande du robot IRB 140 par le biais du pupitre mobile :
Dans cette partie, vous allez manipuler le robot partir du pupitre : Dcouvrez les fonctions de manipulation manuelle et automatique du robot ABB ; Dcouvrez les entres/sorties du systme. Combien dE/S sont prsente dans le

systme ? et quoi correspondent-elles ?


Faite manipuler le robot avec le joystick avec diffrentes vitesse. Comment peut-on

rcuprer les coordonnes du point terminal par rapport la base selon les coordonnes cartsienne et articulaire ? ;
Raliser la tche suivante au robot : faite transporter un plot du chariot mobile au plateau fixe. Quelle est la trajectoire optimale et sre pour raliser le dernier

mouvement?

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

53

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

54

Vrifiez que les axes du repre dont lorigine et le CDO ont la mme direction avec leurs quivalents des deux points choisis. Sinon, modifiez le sens de leurs orientations en cliquant droite avec la souris sur licne Target, suivi de Modify puisPosition. Dfinition des trajets (Paths) Dans cette tape, vous devez dfinir le chemin des trajectoires (Figure 9). Pour cela : Choisissez dans la fentre Create, le chemin Path ; Glissez les Targets crs dans lespace de Path ; Remarquez lapparition dun trait entre les diffrents points dans la fentre graphique ; Dfinition et excution du programme Activez le contrleur entre Robot Studio, aprs un click droit sur licne Irb140-M2000 du robot, puis sur Start Controler. Une ligne en vert apparatra en bas de la fentre dexcution, montrant lexcution en mode automatique ; Sur linterface de Robot Studio, dans lespace Program, cliquez droite sur Program Modules et crez un nouveau module, ensuite un nouveau main ; Dans Robot Studio, synchroniser les points et la trajectoire simuls avec le contrleur virtuel, en cliquant sur Synchronise du Path cre; Activez loption Anti Collision dans la fentre graphique (robot collision) ; Excuter ainsi le programme du robot virtuel ABB ; Que remarquez-vous ?

Lecture du code avec Program Maker Pour visualiser le code de lexemple prcdent, vous devez lancer Program Maker 4.0 (figure 10); Dans le Program Maker, vous remarquez lapparition du programme correspondant au trajet simul dans Robot Studio. Vous pouvez ensuite modifier le code. Les syntaxes des diffrentes fonctions utilises sont prsentes sous formes dicnes dans le logiciel et dans le manuel dutilisation de lABB prsent lAIP ; Expliquez brivement le code affich ; Modifiez le programme prcdent afin dviter les diffrentes collisions du robot avec son environnement, en rajoutant deux points intermdiaires. Utilisez linstruction MoveL (Move Linear) pour les mouvements verticaux; Compiler votre programme modifi sous Program Maker ; Dans Robot Studio, partir de langlet Program, synchronisez le code modifi partir de Program Maker au contrleur virtuel, en faisant un click droit sur le Module du programme appropri ; Excuter de nouveau le programme, que constatez-vous ?

Figure 10 : Programmer sous Program Maker

Figure 9 : Planification des trajectoires pour le Robot ABB

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

55

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

56

Excution du programme de simulateur sur le robot rel : Une fois le simulateur test, sauver le programme sous (.prj) dans linvite de commande de Program Maker, ensuite envoyez le travers le rseau lordinateur de lABB correspondant en utilisant le programme de FTP (Figure 11 ; Ouvrez le programme partir du pupitre du robot ; Excuter le programme sur le robot rel en utilisant le pupitre mobile, en mode pas pas, puis en mode automatique.

Exercice 3 : Dchargement de pices :


En utilisant le mme principe de lexercice 2 (simulation et exprimentation), ralisez une tche au robot ABB qui permet de : Bloquer le passage dun chariot mobile aprs avoir actionner un vrin bloqueur (activer la sortie correspondante) ; Dtecter la prsence dun chariot mobile (lire lentre correspondante WAITDI) ; Fixer le chariot mobile (activer la sortie correspondante) ; Dcharger trois plots successivement du chariot vers la palette ; Librer le chariot mobile. Remarque : en attendant larrive du chariot, le robot doit raliser au dessus de la palette le schma de ltoile de la Figure 12.

Figure 12 : Etoile en plots

Exercice 4 : Coopration des deux ABB :


Dans cet exercice, vous devez programmer un deuxime robot ABB, qui effectuera la tche inverse de celui programm lexercice 3, savoir le dchargement de trois plots conscutifs de la palette vers le chariot mobile. La gestion des entres-sorties doit tre pise en considration, ainsi que la tche de fond de la Figure 12 lorsque le chariot est absent.
Figure 11 : Fentre dexcution FTP

Remarque : au lieu de dfinir plusieurs points sur la palette, vous devez dans ce cas dfinir une procdure Palette, qui permet de dduire une matrice demplacements partir dune origine et dune distance constante entre deux emplacements conscutifs sur les axes X et Y. Pour cela, pensez utiliser les fonction CPos (permet de lire les donnes de la position actuelle du CDO) et Offs (permet de dplacer la position du robot).

Exp : pos1 := CPos(\Tool:= toll1\wobj :wobj0) ; La position courante du CDO soit (x,y,z) est stocke dans la variable pos1 MoveL Offs (p1,0,0,20), v1000, 250, tool1; Le robot est amen sur un point qui se trouve 20mm de la position p1 dans la direction de Z. Des exemples sont donnes dans la documentation du robot (3-CPos-1, 3-Offs-1, 3-Offs-2).

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

57

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

58

TP N3 : Manipulation et Commande dun robot 7ddl KUKA KR6 ARC

Caractristiques Techniques du KR 6 ARC


Avec le KR 6 ARC, diverses tches de prcision peuvent tre ralises grce son optimisation pour lArc, telles que, la soudure, la peinture, laspiration, etc. Ce dernier peut supporter une charge allant de 6 kg jusqu 10 kg, dont lespace de tche est de lordre de 1611 mm. Il est constitu de 6 axes soit 6ddl avec une option dun 7me axe linaire. Son poids est de 235kg et il peut se fixer sur un sol ou un axe linaire.

Exercice 1 : Manipulation du Robot KUKA KRC6-ARC Faite dplacer le robot dans ces sept degrs de libert, en utilisant le clavier du pendant ainsi que la sourie (pages 15-24 du manuel de formation KUKA), partir des quatre repres de configuration possibles (Axe par Axe, WORLD, TOOL, BASE). Commentez ?

Exercice 2 : Cration dun centre doutil avec la mthode dapprentissage Le but de cet exercice est de crer un CDO (Centre DOutil) appropri lapplication et loutil prhenseur. Pour cela, nous allons utiliser la pince 3 Mors, quipe dun objet pointu (exp : crayon ), qui nous aidera mieux localiser le CDO.

1. Vrifier dans la liste des outils, les numros disponibles partir de Configurer, Dfinition doutil, Type doutil, Vrifier la liste des outils. 2. Allez ensuite sur Service, Mesurer, Outil, pour donner un nom votre CDO (exemple : Festo-pince avec une tiquette de 4). Enfin, pointez le point dsir dans lespace partir de quatre orientations diffrentes, en choisissant la mthode XYZ-4-Points. 3. Activer ainsi loutil initialis partir de Configurer, Outil / Base actuels. 4. Vrifier et comparer les coordonnes de votre nouveau CDO avec ceux de loutil appel Changeur dj cre et qui reprsente la partie basic de loutil.

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

59

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

60

Exercice 3 : Dfinition dune base utilisateur Dans cet exercice, vous allez dfinir une base utilisateur par rapport la tche du robot. 1. la 1re base utilisateur sera une plaque horizontale fixe sur la table de travail. Allez dans le menu Service, Mesurer, Base, et choisissez la mthode 3-points. Cette dernire permet de dfinir un repre de base partir de trois points distincts. 2. Dans la 1re tape, vous devez donner un nom (exemple : plaque) et un numro votre base. La 2me tape consiste choisir loutil prhenseur avec lequel vous devez dfinir votre base (prenez celui dfini dans lexercice 2). La 3me tape permet de choisir lorigine de votre base aprs placement de lextrmit de votre pince (CDO) sur un coin de la plaque. La 4me tape permet de choisir un point sur laxe X positif (placement>5cm). Enfin la 5me tape permet de choisir un point dans le plan XY avec Y>0. Sauvegardez ainsi votre base. Figure 13 : Structure de la pice Les deux parties intermdiaire et suprieure sont positionnes initialement sur une palette correspondante leur forme gomtrique (Figure 14).
Partie de Base Partie Suprieure Partie Intermdiaire

3. Refaire les deux points prcdents en choisissant la base sur la plaque incline (nom : plaque incline). 4. Vrifiez les coordonnes articulaires et cartsiennes du robot par rapport sa nouvelle base, partir de Visualiser, Position, Cartsien ou Articulaire. Que constatez-vous ? 5. Donnez le sens des axes X, Y, Z dans les nouvelles bases ? 6. Affichez les valeurs incrmentales des 7 positions ?

Exercice 4 : Identification des Entres/Sorties A partir des menus Configurer, E/S et entres et sorties dj dclares ? Technologie, GRIPPER Tech, listez les Figure 14 : Palette Pour crire un programme laide du pendant, il faut revenir sur le navigateur, ouvrir le rpertoire Polytech et ouvrer un nouveau module de programme (page 104). Exercice 5 : Programmation du robot Dans cet exercice, vous allez programmer le robot KUKA en planifiant une trajectoire, afin de raliser des oprations de chargement, dchargement et montage dune pice. Cette pice est compose de trois parties comme le montre la Figure 13. Les tapes du programme sont dcrites comme suit : 1. positionnement initial du robot (HOME) ; 2. dplacement du robot jusqu la position 2 perpendiculaire la partie de base localis dans un chariot mobile (Figure 15). Pour cela, utilisez linstruction PTP (point to point), pages 73-75 du manuel. Cette instruction permet doptimiser le dplacement entre deux point tout en optimisant le nombre de degrs de libert. Pour appeler cette instruction, allez dans le menu Instructions, Mouvement, PTP;

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

61

Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki

62

7. le robot doit descendre linairement la position 6 pour dposer la 1re partie ; 3. attente la prsence dun chariot mobile son emplacement, pour cela il faut bloquer le passage du chariot par le vrin et le fixer partir de lindexeur. Pour cela, il faut activer les sorties correspondantes grce linstruction OUT (Instructions, Logique, OUT, OUT, page 111) et attente dune entre grce linstruction WAITFOR (Instructions, Logique, OUT, WAITFOR, page 110) ; 10. prendre la partie intermdiaire et la transporter jusqu la position 6 ; 11. positionner la 2me partie au dessus de la 1re en affinant la vitesse de descente en mode manuel ; 9. se diriger vers lemplacement de la 2me partie de la pice sur lautre palette fixe ; 8. il doit remonter vers la position 5 ;

4. descente verticale vers la partie de base (position 3) aprs avoir ouvert la pince. La descente tant linaire, vous allez donc utiliser linstruction LIN (Instructions, Mouvement, LIN), dfinie dans les pages 81-84, ainsi que pour activer louverture ou la fermeture de la pince, vous devez utiliser linstruction SET (Technologie, GRIPPER Tech, Prhenseur, pages 117-118);

12. faite un demi tour avec la pince afin de fixer la pice intermdiaire ;

13. allez la position 10 au dessus de la partie suprieure (palette 2), en tablissant un 5. le robot doit prendre ainsi la partie de base et revenir la position 2, en faisant un mouvement linaire. Remarque : quand vous faite de lapprentissage des points en manuel, veuillez affiner la vitesse du robot par rapport la tche raliser , afin dviter dventuels dgts matriels ; 15. revenir sur le mme chemin circulaire et dposer la 3me partie au dessus des deux 6. Ensuite il se dirige un point perpendiculaire lemplacement de dpt de la partie de base sur la palette fixe (position 5). Pour cela, le robot doit effectuer un mouvement circulaire de la position 3 en passant par une position intermdiaire 4. Linstruction approprie est CIRC (Instructions, Mouvement, CIRC, pages 87-91) ; 17. excutez le programme en mode pas pas puis en mode continu (page 105). 16. prendre la pice ainsi monter et la dposer sur la table ; prcdentes ; 14. descendre la position 11 pour prendre la 3me partie ; mouvement circulaire passant par le point 9 ;

1 2

3 4
10

11

Figure 15: Schma du montage


Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki 63 Cours et TP de Robotique de Manipulation, Master SMART, 09-10, R. Merzouki 64