robotique industrielle

32

Click here to load reader

Upload: sofia-bryaj

Post on 25-Nov-2015

101 views

Category:

Documents


16 download

TRANSCRIPT

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

    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 ET COMMANDE DU ROBOT A 4DDL IBM 7576

    TP N2 MANIPULATION ET COMMANDE DU ROBOT A 6DDL ABB

    TP N3 MANIPULATION ET COMMANDE DU ROBOT A 7DDL, KUKA

    3

    4

    4

    5

    6

    9

    16

    17

    25

    28

    36

    37

    41

    42

    43

    48

    59

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

    Chapitre I

    MODELISATION DES SYSTEMES

    ARTICULES RIGIDES

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

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

    (I.2)

    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 :

    x

    y

    z

    pp p

    p

    =

    Le vecteur homogne correspondant est :

    '

    1

    x

    y

    z

    pp

    pp

    =

    (I.1)

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

    La matrice augmente de transformation a la forme suivante :

    11 12 13

    21 22 23

    31 32 33

    0 0 0 1

    x

    y

    z

    R R R dR R R d

    TR R R d

    =

    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 ( 1 1 1, ,x y z ) vers le rfrentiel

    ( 2 2 2, ,x y z ), alors :

    2 2 2 1 1 1

    ' '.x y z x y zp T p=

    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

    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

    vers la base ou linverse.

    Les tapes suivre pour cette technique sont les suivantes :

    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 iz et 1iz ne se coupent pas et on choisit ix de manire tre la parallle avec laxe perpendiculaire iz et 1iz .

    (I.3)

    (I.4)

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

    Si iz et 1iz sont colinaires on choisit ix dans le plan perpendiculaire 1iz .

    3. Fixer les quatre paramtres gomtriques: , , et i i i id q a (voir la figure I.1) pour chaque articulation tel que :

    id coordonne de lorigine io sur laxe 1iz . Pour une glissire id est une variable et pour une charnire id est une constante.

    i est langle que lon obtient par vissage de 1ix vers ix autour de laxe 1iz . Pour une glissire iq est une constante et pour une charnire iq est

    une variable.

    ia est la distance entre les axes iz et 1iz mesure sur laxe ix ngatif partir de son origine jusqu lintersection avec laxe 1iz .

    i est langle entre iz et 1iz obtenu en vissant 1iz vers iz autour de ix .

    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 1iiR , et le

    vecteur droit pour la translation 1iid .

    1 11 0 0 0 1

    i ii i i

    iR d

    T =

    avec

    1

    cos cos sin sin sinsin cos cos sin cos

    0 sin cos

    i i i i iii i i i i i

    i i

    R

    =

    et

    (I.5)

    (I.6)

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

    1

    cossin

    i iii i i

    i

    ad a

    d

    =

    La figure I.1 reprsente les paramtres de Denavit et Hartenberg pour les deux

    repres successifs ( 1 1 1, ,i i ix y z ) et ( , ,i i ix y z ).

    Enfin, la matrice de transformation homogne de Denavit et Hartenberg est la

    suivante :

    1

    cos cos sin sin sin cossin cos cos sin cos sin

    0 sin cos0 0 0 1

    i i i i i i i

    i i i i i i iii

    i i i

    aa

    Td

    =

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

    (I.7)

    (I.8)

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

    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 1 2 3, et q q q . Les trois dernires articulations (Wrist rotation, Wrist bend,

    Flange), qui constituent le poignet du bras de robot, sont caractrises par les

    variables de rotations 4 5 6, et q q q . On admet les hypothses simplificatrices suivantes :

    Les liaisons du manipulateur sont rigides : Les jeux dans les articulations sont ngligeables.

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

    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.

    La dfinition des repres associs aux segments suivant la convention de

    Denavit et Hatrenberg est la suivante :

    Liaison 1 : Repre ( 0 0 0, ,x y z ).

    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 11

    0z axe de rotation, 0z+ vers le haut. 0y+ concide avec laxe de la liaison 1 et laxe 1z+ . 1y+ est en parallle avec la liaison 2.

    Liaison 2 : Repre ( 1 1 1, ,x y z ).

    Lorigine concide avec lorigine du repre ( 0 0 0, ,x y z ).

    1z axe de rotation, 1z+ est perpendiculaire la liaison 2 et en parallle laxe 2z+ . 1y+ vers le bas, superpos avec laxe de la base et en parallle avec 2y+ . 1x+ est en parallle la liaison 2.

    Liaison 3 : Repre ( 2 2 2, ,x y z ).

    Lorigine est prise dans la liaison 2 lintersection de laxe de la liaison 2 avec laxe

    de larticulation 3.

    2z axe de rotation, 2z+ est perpendiculaire la liaison 2 et laxe 3z+ . 2y+ vers le bas, oppos avec 3z+ . 2x+ est en parallle avec la liaison 2.

    Liaison 4 : Repre ( 3 3 3, ,x y z ).

    Lorigine est prise dans la liaison 3.

    3z axe de rotation, 3z+ vers le poignet est perpendiculaire 4z+ . 3y+ est perpendiculaire la liaison 2, en parallle avec 4z+ . 3x+ est en parallle avec la liaison 2.

    Liaison 5 : Repre ( 4 4 4, ,x y z ).

    Lorigine est prise dans le centre du poignet.

    4z axe de rotation, 4z+ est perpendiculaire la liaison 2 superpos avec 5z+ . 4y+ est oppos 5z+ . 4x+ en parallle avec la liaison 2.

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

    Liaison 6 : Repre ( 5 5 5, ,x y z ).

    Lorigine concide avec lorigine du repre ( 4 4 4, ,x y z ).

    5z axe de rotation, 5z+ vers leffecteur colinaire avec 6z+ . 5y+ concide avec laxe de larticulation 5. 5y+ est perpendiculaire laxe de larticulation 5.

    Leffecteur : Repre ( 6 6 6, ,x y z ).

    Lorigine concide avec les origines des repres ( 4 4 4, ,x y z ) et ( 5 5 5, ,x y z )

    6z+ est colinaire avec 5z+ . 6y+ est en parallle avec 5y+ . 6x+ est en parallle avec 5x+ .

    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

    et al., 1986).

    Tableau I.1 : Paramtres de Denavit et Hartenberg du bras de Robot PUMA 560.

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

    La distance 6d 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 6 0d = (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 :

    4 5 60, =0 et 0q q q= = ).

    Les transformations appropries en utilisant le c pour les trois premires

    articulations considres sont :

    (I.9.a)

    (I.9.b)

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

    A Laide du formalisme de Denavit et Hartenberg nous pouvons calculer facilement

    les coordonnes de llment terminal (fin de leffecteur) dans le repre ( 0 0 0, ,x y z ) fix

    la base. La notation simplificatrice 63r signifie le vecteur des coordonnes homognes

    de llment terminal exprimes dans le repre ( 3 3 3, ,x y z ). Avec la supposition

    (poignet fix la position dorigine :

    ( 4 5 60, =0 et 0q q q= = ), le vecteur 63r est donn par lquation suivante :

    (I.9.c)

    (I.9.d)

    (I.9.e)

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

    Par la transformation de Denavit et Hartenberg 30T , on peut calculer les coordonnes

    de llment terminal exprimes dans le repre ( 0 0 0, ,x y z ) par la formule suivante :

    donc

    Enfin, Nous dfinissons le vecteur position de llment terminal exprim dans le

    repre fix la base ( 0 0 0, ,x y z ) comme suit :

    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.

    (I.13)

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

    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

    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 :

    un champ uniforme, dont la valeur en tout point est nomm rsultante, note R

    JG ;

    le champ des moments, dont la valeur en un point P est note PMJJJG . Ces deux champs sont relis par la relation de Varignon : P OM M R OP= +

    JJJG JJJJG JG JJJG.

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

    point. On crit alors :{ }O O

    R

    M =

    JGJJJJG .

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

    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 ( )1 2 3, ,e e eJG JJG JJG donne, le vecteur u

    G 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 uG reste le mme. Le

    tenseur reprsente lensemble des reprsentations de uG

    dans toutes les bases. Un

    vecteur est un tenseur dit dordre 1.

    Une application linaire f dun espace E vers un espace F est dcrite par une matrice

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

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

    avec ED est lnergie de dissipation en cas de prsence de frottement visqueux, Ti est la

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

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

    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.

    o iir est la coordonne homogne du point i exprime dans le repre Ri. Comme la

    liaison nest pas flexible, on a 0i

    idrdt

    = donc :

    00

    1

    iiji i

    ij j

    dqdTV rdq dt=

    = avec 1

    iiT est la matrice de transformation homogne. Sous une criture matricielle, on

    peut crire :

    01

    i

    i iij j i

    jV U q r

    = =

    et

    10 1

    0

    j ij j

    ij

    T Q T j iU

    j i

    =

    (I.18)

    (I.19)

    (I.20)

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

    Pour une liaison rotode, on a :

    Et pour une liaison prismatique :

    Lnergie cintique de llment i dans la liaison i est

    En dveloppant lexpression prcdente, on obtient :

    Lnergie cintique de la liaison i est :

    avec

    Lnergie cintique des actionneurs est dfinie par :

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

    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 :

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

    avec

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

    obtiendrons :

    o g est la gravit mesur la base du robot.

    Enfin, lnergie de dissipation est donne par :

    o vif le coefficient de frottement visqueux (i=1,n). Lexpression finale du Lagrangien

    sera :

    Appliquant la formule dEuler-Lagrange la fonction Lagrangienne donne ci-dessus,

    on trouve la force ou couple gnralis

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

    avec

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

    avec

    Lcriture matricielle des quations prcdentes donne le modle dynamique global du

    robot (Seraji, 1988). Ce modle est le suivant :

    avec , ,n n nq R q R q R reprsentent respectivement les positions, les vitesses et les acclrations articulaires; ( ) n nM q R est la matrice symtrique dfinie positive des acclrations inertielles dont llment Mij de cette matrice est linertie de la ime

    articulation sur la jme articulation et vice versa; ( , ) nN q q R est le vecteur de forces et/ou couples dus aux acclrations de Coriolis et centrifuge;

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

    ( ) nG q R est le vecteur de forces et/ou couples dus aux forces de gravitation; ( ) nH q R reprsente les effets des frottements visqueux; ( ) nT t R est le vecteur de

    forces et/ou couples moteurs.

    Une autre forme de reprsentation matricielle du modle dynamique (I.35) est la

    suivante (Armstrong, 1986) :

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

    ( ) n nM q R 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 ; ( 1)

    2( )n nn

    D q R est la matrice des couples de Coriolis ; ( ) n nC q R est la

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

    ( ) nT t R est le vecteur de forces ou couples gnraliss ; [ ] ( 1)2, n nq q R est le vecteur de produit des vitesses gnralises et 2 nq R est le vecteur de carr des vitesses gnralises, tel que :

    et

    Il existe une mthode directe base sur le principe de conservation dnergie pour

    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 :

    avec le symbole de Christoffel dfini par :

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

    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 :

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

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

    avec fVi et fSi sont respectivement les coefficients des frottements visqueux et secs de la i

    me articulation.

    La perturbation due la porte de la charge reprsente par mU 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 :

    La perturbation due la porte de la charge sera :

    (I.49)

    (I.50)

    (I.51)

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

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

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

    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 4 5 60, =0 et 0q q q= = , les vitesses 4 5 60, =0 et 0q q q= = et les acclrations 4 5 60, =0 et 0q q q= = ,

    t R+ + t ). Nous avons adopt labrviation des fonctions trigonomtriques des coordonnes articulaires du robot en crivant , , , i i ij ij ijkc s c s et c pour signifier

    cos ,sin ,cos( ), cos( )i i i j i j kq q q q et q q q+ + + respectivement. Le modle dynamique pour les trois premires articulations du bras de robot PUMA

    560 est le suivant :

    avec [ ]1 2 3, , Tq q q q= le vecteur des coordonnes gnralises, m est le poids de la charge

    porter, ( )J q la matrice Jacobienne et [ ]1 2, ,9.81 Tq q 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.52)

    (I.53)

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

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

    Les lment du vecteur de gravit ( )G q :

    La dmonstration et le calcul des lments des matrices M, B et le vecteur G du

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

    (I.54)

    (I.55)

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

    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.

    (I.56)

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

    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

    corps 0 de rfrence 0( )C est repr par le repre 0 0 0 0 0( , , , )R O x y zJJG JJG JJG

    de type galilen. Le corps 1

    1( )C a un mouvement de rotation autour de laxe 0 0( , )O zJJG

    , sachant que le repre li ce corps

    est 1 1 1 1 1( , , , )R O x y zJJG JJG JG

    . La position relative de 1( )C par rapport 0( )C est 1 0 1( , )q x x=JJG JJG

    . Le corps

    2( )C a un mouvement de rotation autour de laxe 2 2( , )O zJJG

    , colinaire avec laxe 1 1( , )O xJJG

    avec

    1 2 1O O a y= JJJJJG JJG

    . Le repre li ce corps est 2 2 2 2 2( , , , )R O x y zJJG JJG JJG

    . La position relative de 2( )C par

    rapport 1( )C est 2 1 2( , )q x x=JJG JJG

    . Le corps 3( )C ralise par rapport 2( )C un mouvement de

    translation daxe 2 2( , )O yJJG

    dfini par 2 3 4 2O O q y=JJJJJG JJG

    et un mouvement de rotation autour de

    2 2( , )O yJJG

    avec un angle 3 2 3( , )q x x=JJG JJG

    . Le repre li ce corps est 3 3 3 3 3( , , , )R O x y zJJG JJG JJG

    . Les

    caractristiques massiques, inertielles et gomtriques sont indiques dans la Figure 1.

    Le point 3P appartient lorgane terminal de 3( )C , tel que : 3 3 3O P bz=JJJJJG JJG

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

    1. ETUDE GEOMETRIQUE

    1.1 Question : position du point 3P

    Exprimer dans le repre 1 1 1 1 1( , , , )R O x y zJJG JJG JG

    , le vecteur 1 3O PJJJJG

    . Rponse : 1.2 Question : modle gomtrique inverse.

    On souhaite que le point 3P occupe une position particulire dans lespace, ce qui

    revient imposer 1 3O P u=JJJJG G

    , avec uG vecteur unitaire non nul dont on connat les projections

    dans le repre 0 0 0 0 0( , , , )R O x y zJJG JJG JJG

    ; 0 0 0 avec , , 0x y z x y zu u x u y u z u u u= + + G JJG JJG JJG

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

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

    2. ETUDE CINEMATIQUE

    2.1 Question : Vitesse de Rotation.

    Donner les expressions des vitesses de rotation de chaque corps [ ] JG( /0) avec 1,3i i , exprimes pour ( )JG JJG JJG JJG1 1 1 1 1(1/0) dans , , ,R O x y z , pour ( )JG JJG JJG JJG2 2 2 2 2(2/0) dans , , ,R O x y z et pour

    ( )JG JJG JJG JJG3 3 3 3 3(3/0) dans , , ,R O x y z et ( )JJG JJG JJG2 2 2 2 2dans , , ,R O x y z . Donner les expressions des drives galilennes des vecteurs de la base

    ( )JJG JJG JJG2 2 2 2 2, , ,R O x y z . Rponse : 2.2 Question : Vitesses et acclration des diffrents points.

    Donner les expressions des vitesses galilennes des points : 2 3 3, et O O P exprimes

    ( )JJG JJG JJG2 2 2 2 2dans , , ,R O x y z . Donner lexpression de lacclration galilenne de 3O exprime ( )JJG JJG JJG2 2 2 2 2dans , , ,R O x y z .

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

    Rponse :

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

    2.3 Question : Cinmatique inverse.

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

    JGu est un vecteur impos dont on connat les composantes

    ( )JJG JJG JJG2 2 2 2 2dans , , ,R O x y z ? Rponse :

    2.4 Question : Cintique.

    Donner les expressions des moments cintiquesJJG JJG JJG

    1 2 3( ,1/0), ( ,2/0), ( ,3/0)K O K O K O ,

    exprim pour le premier ( )JJG JJG JJG1 1 1 1 1dans , , ,R O x y z et pour les deux autres ( )JJG JJG JJG2 2 2 2 2dans , , ,R O x y z . Donner les expressions des moments dynamiques

    JJG JJG2 3( ,2/0), ( ,3/0)H O H O , exprims

    ( )JJG JJG JJG2 2 2 2 2dans , , ,R O x y z . Calculer les nergies cintiques de chaque corps [ ]( /0) avec 1,3iT i i .

    Rponse :

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

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

    3. ETUDE DYNAMIQUE

    Chaque liaison est motorise. Entre le corps 0 1( ) et ( ) C C un moteur exerce sur le corps

    1( ) C un moment = JJG JJG

    1 1 1z , et sur le corps 0( )C un moment oppos. Entre le corps

    1 2( ) et ( ) C C un moteur exerce sur le corps 2( )C un moment = JJG JJG

    2 2 2z , et sur le corps 1( )C un

    moment oppos. Entre le corps 2 3( ) et ( ) C C un moteur exerce sur le corps 3( )C un

    moment = JJG JJG3 3 3z et un effort =JG JJG3 3 3t t z , et sur le corps 2( )C des efforts opposs.

    On considre galement en 3P un torseur ( )JJG JJJG3 3 3;F M P , reprsentent les actions extrieures loutil.

    3.1 Question : Puissance des efforts extrieurs.

    Calculer la puissance motP des efforts des moteurs.

    Donner lexpression de la puissance extP des efforts extrieurs en 3P , en fonction de

    ( )JJG 3V P et ( )JG 3/0 , on ne dveloppera pas cette expression. Rponse :

    3.2 Question : Equations de Newton-Euler.

    Ecrire lquation de Newton pour le corps 3( )C , projete suivant la directionJJG

    3z .

    Ecrire lquation dEuler pour le corps 3( )C , projete suivant la directionJJG

    3z .

    Rponse :

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

    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 :

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

    Figure 1 : Description du robot

    0xJJG

    1xJJG

    0yJJG

    1yJJG

    1q

    1O

    1yJJG

    2xJJG

    1zJG

    2yJJG

    2q

    2O

    2zJJG

    3xJJG

    2xJJG

    3yJJG

    3q

    3O

    =

    1

    1

    1

    1 1

    1

    1 1

    Corps (C ) :masse m

    A 0 0inertie I 0 B 0

    0 0 C

    dfinies dans R en O

    =

    2

    2

    2

    2 2

    2

    2 2

    Corps (C ) :masse m

    A 0 0inertie I 0 B 0

    0 0 C

    dfinies dans R en O

    =

    3

    3

    3

    3 3

    3

    3 3

    Corps (C ) :masse m

    A 0 0inertie I 0 B 0

    0 0 C

    dfinies dans R en O

    Corps C2

    Corps C3

    Corps C1

    0zJJG

    0xJJG

    0yJJG

    3zJJG 3y

    JJG

    3xJJG

    3O

    3P

    2zJJG

    2xJJG

    2yJJG

    2O

    0O

    Corps C0

    1zJG

    1xJJG

    1yJJG

    1O

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

    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

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

    fonctionnement dynamique de ceux-ci.

    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.

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

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

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

    ANNEXE II

    PARAMETRES REELS DU ROBOT PUMA 560

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

    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 43

    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.

    Marque: IBM Modle: 7576 Type: Scara Axes: 4 Prcision: 800 mm Capacit: 10 Kg Utilisation: Assemblage

    Figure 1 : Robot IBM 7576

    Tableau 1 : Caractristiques de lIBM 7576

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

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

    sorties du robot.

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

    Pendant

    Partie de puissance

    Partie de commande (PC AT)

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

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

    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.

    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 :

    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 46

    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 ;

    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+);

    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

    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.

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

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

    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.

    Figure 3 : Trajet du robot

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

    TP N2 Simulation et Commande dun Robot 6ddl

    ABB IRB140 Introduction :

    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.

    Figure4: Robot ABB IRB-140

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

    Larmoire de commande S4Cplus du robot IRB 140 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.

    Figure 5 : Armoire de commande S4Cplus

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

    Logiciel de simulation et dapplication convivial et simple dutilisation

    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 6 : le Logiciel Robot Studio

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

    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.

    Figure 7 : le logiciel Program Maker

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

    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 ;

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

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

    Figure 8 : Exemple de Manipulation du Robot IRB 140

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

    Exercice 2 : Simulation graphique du robot IRB 140 sous Studio Lite 4.0 : 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 enviro-abb1 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 140-M2000) ; 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 ;

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

    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 ?

    Figure 9 : Planification des trajectoires pour le Robot ABB

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

    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

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

    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.

    Figure 11 : Fentre dexcution FTP

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

    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.

    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.

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

    Figure 12 : Etoile en plots

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

    TP N3 : Manipulation et Commande dun robot 7ddl

    KUKA KR6 ARC

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

    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 61

    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.

    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 Technologie, GRIPPER Tech, listez les

    entres et sorties dj dclares ?

    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.

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

    Les deux parties intermdiaire et suprieure sont positionnes initialement sur une palette

    correspondante leur forme gomtrique (Figure 14).

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

    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;

    Partie Intermdiaire

    Partie Suprieure Partie de Base

    Figure 13 : Structure de la pice

    Figure 14 : Palette

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

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

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

    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 ;

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

    11

    22

    33

    44

    7755

    66 88 99

    1010

    1111

    11

    22

    33

    44

    7755

    66 88 99

    1010

    1111

    Figure 15: Schma du montage

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

    7. le robot doit descendre linairement la position 6 pour dposer la 1re partie ;

    8. il doit remonter vers la position 5 ;

    9. se diriger vers lemplacement de la 2me partie de la pice sur lautre palette fixe ;

    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 ;

    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

    mouvement circulaire passant par le point 9 ;

    14. descendre la position 11 pour prendre la 3me partie ;

    15. revenir sur le mme chemin circulaire et dposer la 3me partie au dessus des deux

    prcdentes ;

    16. prendre la pice ainsi monter et la dposer sur la table ;

    17. excutez le programme en mode pas pas puis en mode continu (page 105).