23
1

Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Embed Size (px)

Citation preview

Page 1: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

1

Page 2: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Travaux Pratiques de RobotiqueISIFC 3emeAnnee

Nicolas CHAILLET - Micky RAKOTONDRABE - Nicolas ANDREFF

document telechargeable surhttp://www.femto-st.fr/˜micky.rakotondrabe/teaching.php

Page 3: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Table des matieres

1 Regles de securite 4

2 Notions fondamentales de reperes 52.1 Definition des reperes fondamentaux des robots . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Concatenation de reperes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 Saisie de reperes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 TP1 - Programmation du robot STAUBLI RX90 83.1 But de la manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.2 Materiels utilises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.3 Programmation d’une tache de pick-and-place . . . . . . . . . . . . . . . . . . . . . . . 9

3.4 Programmation d’une tache dans un repere relatif a une palette . . . . . . . . . . . . . . 9

3.5 Changement d’outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Sujet de TP2 - Etude de la robotisation d’une tache de pick-and-place de composantsd’horlogerie pilotee par un systeme de vision artificielle : robot Pocket-Delta 104.1 But de la manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2 Programme de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.1 Etude du systeme web embarque dans le robot destine a son pilotage . . . . . . . 11

4.2.2 Programmation du capteur de vision . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.3 Ecriture de la tache de pick-and-place du robot . . . . . . . . . . . . . . . . . . 11

4.2.4 Conclure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.3 Fichiers utilises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Sujet de TP3 - Programmation du robot ABB IRB 340 125.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5.2 Materiels utilises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5.3 Programmation simple pour se familiariser . . . . . . . . . . . . . . . . . . . . . . . . . 12

5.4 Programmation de trajectoire complexe . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5.5 Prise au vol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Sujet de TP4 - Programmation du robot MITSUBISHI RP-1AH : assemblage de composant

2

Page 4: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

d’une montre 146.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146.2 Materiels utilises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146.3 Programmation du robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7 Sujet de TP5 - Programmation en ligne du robot FANUC : cellule de controle 167.1 But de la manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167.2 Materiels utilises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167.3 Question 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167.4 Question 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

A Quelques commandes de V+ 17

B Quelques commandes de RAPID 19

C Quelques commandes de MELFA BASIC 4 22

3

Page 5: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Chapitre 1

Regles de securite

REGLE 1

Veiller a ce qu’il n’y ait personne dans l’enveloppe de travail d’un robot en fonctionnement.

REGLE 2

Lors de l’execution d’un programme, demarrer toujours le robot en vitesse lente. Apres le deroulementcomplet d’un cycle, il y a toujours l’opportunite d’augmenter la vitesse progressivement jusqu’a la valeurfinale desiree. Toutefois, une vitesse moniteur superieure a 30% de la capacite maximale est interdite.

REGLE 3

Lors de la mise au point d’un programme, l’operateur devra toujours se tenir pret a appuyer sur le boutonpoussoir qui provoque l’arret immediat du bras et, en derniere ressource, appuyer sur un des boutons”ARRET D’URGENCE”. Le premier essai d’un programme doit toujours se faire sous la direction del’enseignant et donc avec son approbation. Dans la mesure du possible, il est fortement conseille del’executer en pas a pas dans ce cas.

REGLE 4

Chaque fois que l’on deplace le robot a l’aide du pendant d’apprentissage, selectionner une vitesse faible.

REGLE 5

(Interdit aux etudiants) Avant toute intervention sur le bras, couper, si possible, l’alimentation du bras.

REGLE 6

(Interdit aux etudiants) Avant toute intervention dans l’armoire de l’unite de commande, couperl’alimentation generale.

4

Page 6: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Chapitre 2

Notions fondamentales de reperes

2.1 Definition des reperes fondamentaux des robots

L’espace de travail d’un robot est defini par rapport a un repere inherent au robot, son repere de base(Fig. 2.1). Les explications donnees ici le sont en langage V+, mais les idees restent generiques.

FIG. 2.1: Repere associe a la base du robot (WORLD).

Aussi tous les objets, emplacements, trajectoires seront-ils definis dans ce repere. Ainsi, l’instructionHERE fournit la position et l’orientation du repere outil (TOOL) dans le repere de base (WORLD).

exemple :X Y Z y p r

500 10 100 180 30 0Cela signifie que pour retrouver le repere outil, il faut translater le repere de base de 500 mm suivant

X, de 10 mm suivant Y, de 100 mm suivant Z, puis tourner de 180 degres suivant Z, 30 degres suivant Y,0 degre suivant Z (les axes X, Y et Z indiques ici etant ceux du repere fixe WORLD).

Par ailleurs, comme l’objectif est de faire suivre une trajectoire a l’outil, il est nettement plus simpled’associer les mouvements au repere outil. Ainsi les fonctions de mouvement (APPRO, DEPART ...)sont directement definies dans le repere outil (Fig. 2.2).

Exemple :DEPART 50, s’ecarte de la position actuelle de 50 mm suivant l’axe Z du repere outil.Il faut noter qu’a la mise sous tension du robot, le repere outil est defini comme etant un repere

propre au dernier axe. Le robot ”ignore” le type d’outil qu’il possede et bien sur ses caracteristiquesgeometriques. Afin que la commande soit ”consciente” de la presence d’un outil et donc fournisse laposition dans l’espace du bout de l’outil reel, il faut lui indiquer les caracteristiques de cet outil. Cetteoperation s’effectue en utilisant la commande TOOL TRANS(x,y,z,α,β,γ). Apres avoir effectue cette

5

Page 7: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

FIG. 2.2: Repere associe a l’outil du robot (TOOL).

commande, l’ensemble des instructions de mouvement s’applique au centre de l’outil.

2.2 Concatenation de reperes

Lorsque l’on programme un robot pour une tache repetitive, comme poser un objet sur un emplacementd’un magasin par exemple, il est nettement plus confortable de travailler dans le repere R1 du magasinque dans le repere de base du robot.

Il est ainsi nettement plus confortable de donner l’ordre :”Aller a la position P1 definie dans le repere R1 (lui-meme defini dans le repere de base).”Cette operation est realisee par l’ordre :MOVE R1:P1

6

-��

6

-��

6

-��

-?

WORLD

R1P1

FIG. 2.3: Concatenation de reperes.

Bien sur on peut concatener plusieurs reperes successivementMOVE R1:R2:R3:P1mais au detriment du temps de calcul, ce qui quelquefois peut poser des problemes. Dans l’exemple

precedent, R2 est bien sur defini dans R1 et R3 dans R2 etc...

2.3 Saisie de reperes

Il existe trois facons de definir un repere. La premiere consiste a positionner (position et orientation)le repere outil du robot sur le repere que l’on veut saisir. L’instruction HERE rep1, donnera a rep1 lescoordonnees du repere.

Noter que la concatenation de reperes peut aussi servir lors de la saisie. Par exemple HERE A:Bdefinit le repere B dans le repere A.

6

Page 8: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Cette methode est rapidement entachee d’erreurs. En effet, le moindre ecart sur l’orientation pro-voque une grande erreur si le point a atteindre est eloigne du centre du repere.

La deuxieme methode, beaucoup plus precise et donc a preferer, consiste a definir un repere par troispoints. C’est l’instruction FRAME qui realise cette operation.

Enfin la troisieme methode consiste a definir manuellement la position de ce repere dans le repereWORLD en entrant directement ses coordonnees au clavier. En pratique, cette methode est souventinemployable car on ne connait pas a priori les coordonnees du repere a definir par rapport au repereWORLD du robot.

Noter que l’instruction ”MOVE A” ne veux pas dire ”aller au point A” mais ”positionner le repereoutil du robot en coıncidence exacte (position et orientation) sur le repere A”.

7

Page 9: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Chapitre 3

TP1 - Programmation du robot STAUBLIRX90

3.1 But de la manipulation

Le but de cette manipulation est d’acquerir les notions de base de programmation en ligne du robotanthropomorphe RX90 (6 axes), en utilisant le langage V+, par :

• la realisation de programme de pick-and-place,

• l’utilisation de repere relatif a une palette et de faire une tache de pick-and-place dans ce repere,

• le changement de repere outil.

L’expression pick-and-place est synonyme de prise-depose.

3.2 Materiels utilises

• Le robot STAUBLI RX90 (Fig. 3.1). Quelques fonctions qui peuvent etre utilisees sont donneesen annexe- A.

Les robots Staubli RX90 est un robot a 6 axes (a poignet a trois axes concourants) et 6 degres deliberte. Les performances techniques de ce robot (Staubli Unimation) permettent de couvrir un grandnombre d’applications telles que manutention, assemblage, controle, etc . . .

La charge transportable nominale est de 2,5 kg pour le RX90. A vitesse redute, la charge transpor-table maximale est de 4,5 kg. Le rayon d’action du RX90 est de 985 mm et sa repetabilite est de 0,02mm. Son langage de programmation est le V+.

8

Page 10: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

FIG. 3.1: Robot Staubli RX90.

3.3 Programmation d’une tache de pick-and-place

Pour vous habituer aux materiel et logiciel, realiser une tache de pick-and-place de goupille. Les notionsde APPROCHE et DEPART d’un point seront particulierement appliquees.

3.4 Programmation d’une tache dans un repere relatif a une palette

• Creer d’abord un repere relatif a la palette-1.

• Faites ensuite la tache de pick-and-place de quelques goupilles placees dans cette palette en utili-sant les mouvements relativement au repere nouvellement cree.

3.5 Changement d’outil

• Ajouter un nouvel outil, une pointe mise a votre disposition, a la pince (organe terminal) du robot.

• Realiser le decalage du repere outil en prenant 4 points puis en utilisant un fichier de calcul .xlsmis a votre disposition. Verifier ensuite si le decalage du repere outil est convenable.

9

Page 11: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Chapitre 4

Sujet de TP2 - Etude de la robotisationd’une tache de pick-and-place decomposants d’horlogerie pilotee par unsysteme de vision artificielle : robotPocket-Delta

4.1 But de la manipulation

Le but de la manipulation qui est proposee ici est de mettre en uvre une tache de manipulation d’un rubisde montre, pilotee par un systeme de vision artificielle (COGNEX). Les interactions entre le systeme devision, le robot pocket delta (societe ASYRIL - CH) et le PC de programmation se font par ETHERNET.Le systeme de vision, une fois programme est autonome, de meme que le robot.

10

Page 12: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

4.2 Programme de travail

4.2.1 Etude du systeme web embarque dans le robot destine a son pilotage

Etudier le systeme d’interface web du robot. Quelle sont vos conclusions ?

4.2.2 Programmation du capteur de vision

Calibration du systeme vision + robot

Apprendre au systeme de vision a reconnaıtre la ventouse du robot Executer la procedure de calibration- A quoi sert-elle ?

Apprentissage du modele d’une piece (rubis de montre) et test

Decrire l’utilite et la fonction des differents parametres du modele. Expliquer pourquoi le modele enquestion est stocke sur le disque du PC ?

4.2.3 Ecriture de la tache de pick-and-place du robot

Vous pourrez vous inspirer des autres programmes qui ont ete deja realises. Pour acceder aux ordresdisponibles dans la bibliotheque du robot, taper le mot-cle ”robotinterface” et les options disponiblesapparaıtront dans une fenetre pop-up. L’explication des parametres et leur type se fait de la mememaniere. Il en va de meme pour acceder aux ordre du systeme de vision (”visioninterface”).

4.2.4 Conclure

4.3 Fichiers utilises

Utiliser le fichier correspondant au programme 2 dans l’environnement de programmation C Sharp duPC. Pour cela, renommer au depart le fichier original program2 TPs ARIA.cs en program2.cs. En finde TPs, le sauvegarder sous un nom qui permettra d’identifier le l’annee, le groupe et le binome.

11

Page 13: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Chapitre 5

Sujet de TP3 - Programmation du robotABB IRB 340

5.1 Introduction

On desire, par l’intermediaire de ce TP, aborder les deux aspects suivants :

• l’utilisation d’un robot delta (structure parallele),

• realiser un mouvement complexe (trajectoire complexe) du robot,

• introduction a une application complete de prise-depose (pick-and-place) au vol avec reconnais-sance visuelle du vrac 2D d’entree.

5.2 Materiels utilises

Il s’agit ici d’une structure cinematique parallele (Fig. 5.1-a). C’est une structure de type Delta, a 4axes, generant 4 degres de liberte operationnels identiques a ceux des structures SCARA. Integre danssa cellule (convoyeurs et systemes de vision), ce robot est bien adapte aux taches de prise-depose a lavolee.

Avec une charge transportable nominale de 1 kg et une repetabilite de ±50 µm, ce robot est capablede travailler a 150 prises par minute (temps de cycle de 0,4 seconde). Son espace de travail est donne parla figure Fig. 5.1-b.

Le langage de programmation de ce robot est le langage RAPID. Quelques fonctions de ce langagequi peuvent etre utiles sont donnees en annexe- B.

5.3 Programmation simple pour se familiariser

Dans un premier temps, pour se familiariser avec le robot et le langage, realiser le programme suivant :

• lors de l’appui du bouton poussoir, depart du robot d’un point initial en meme temps le tapis-1ainsi que l’eclairage se mettent en marche,

• prise d’un objet sur le tapis-2 en utilisant l’aspiration pneumatique,

12

Page 14: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

(a) (b)

FIG. 5.1: Espace de travail du robot ABB IRB 340.

• depose de l’objet sur le tapis-1 en utilisant le souffle pneumatique,

• retour vers le point initial puis le tapis-1 ainsi que l’eclairage s’arretent.

5.4 Programmation de trajectoire complexe

Dans certaines applications, il est necessaire que les robots suivent des trajectoires complexes :mouvement intra-tubulaire, suivi de contour d’une surface complexe, enroulement de bobines par lerobot, etc. Dans ces cas, une programmation hors ligne est souvent utilisee afin d’eviter de calculer ala main la trajectoire. Dans ce TP, nous allons programmer en ligne le suivi de trajectoire complexe durobot.

Realiser un programme qui fait une trajectoire de spirale du robot.

5.5 Prise au vol

Cette partie sera seulement une demonstration faite par l’assistant TP. Il s’agit d’une prise-deposed’objets sur les tapis en fonctionnement. Les cameras sont utilises pour detecter la presence des ob-jets.

13

Page 15: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Chapitre 6

Sujet de TP4 - Programmation du robotMITSUBISHI RP-1AH : assemblage decomposant d’une montre

6.1 Introduction

Le but de ce TP est :

• de decouvrir la manipulation des objets avec un robot SCARA a bras joints,

• de decouvrir la manipulation de composant d’une montre par une goutte d’eau, appelee egalementmanipulation par adhesion.

La manipulation utilise la force capillaire pour effectuer l’assemblage d’un pignon d’une montreavec le corps de ce dernier. La goutte d’eau mise en place sur l’outil permettra de prendre (par adhesion)le pignon. En effet, lorsqu’on manipule des objets dont les dimensions sont petites (les micro-objets),les forces d’adhesions deviennent preponderantes par rapport a la force gravitationnelle. Ces forcesd’adhesion, appelees egalement forces surfaciques, sont :

• la force electrostatique (exemple : une vis qui adhere a un tourne-vis),

• la force capillaire,

• et les forces de Van Der Waals qui sont plus reliees .

Si dans la plupart des cas ces forces sont sources de difficulte a faire du microassemlage ou de lamicromanipulation, dans certaines situations, elles peuvent etre utilisees pour reussir des taches parti-culieres.

6.2 Materiels utilises

Le robot Mitsubishi RP1-AH possede 4 axes et une cinematique de type ”SCARA double bras” (Fig. 6.1-a). C’est un robot de pick & place et d’assemblage de tres petite taille qui allie precision et rapidite et quipermet notamment des operations de manipulation de tres petites pieces. Les performances techniquesdu RP1-AH sont resumees par la Fig. 6.1-b. Son langage de programmation est le ”MELFA BASIC IV”.

Quelques fonctions du langage MELFA BASIC 4 qui peuvent etre utiles sont donnees en annexe- C.

14

Page 16: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

(a) (b)

FIG. 6.1: Robot Mitsubish RP1-AH.

6.3 Programmation du robot

• realiser une tache de pick-and-place d’une goupille sur une palette,

• creer un nouveau projet et realiser le programme qui permet de prendre un mini-pignon grace aune goutte d’eau puis de le deposer sur le corsp d’une montre,

• s’il vous reste du temps, realisation d’une tache de pick-and-place d’une palette a une autre paletteen utilisant la fonction PLT (palette).

15

Page 17: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Chapitre 7

Sujet de TP5 - Programmation en ligne durobot FANUC : cellule de controle

7.1 But de la manipulation

...........

7.2 Materiels utilises

.................

7.3 Question 1

.................

7.4 Question 2

.................

16

Page 18: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Annexe A

Quelques commandes de V+

La Table A.1 donne quelques commandes utilisee en V+. D’autres commandes sont disponibles dans ladocumentation qui vient avec la baie de commande.

TAB. A.1: Commandes V+

HERE A Affectation au point des coordonnees du robot actuelPOINT A Affectation au point A les coordonnees X,Y,Z,Y,P,RCHANGE ? (seulement en mode commande)X,Y,Z,Y,P,RCHANGE ?SET A=B Affectation au point A les coordonnees du point BSET B=SHIFT(A BY 150,10,-100)

Le point B est obtenu par decalage de 150, 10 et -10 respective-ment suivant X,Y et Z des coordonnees du point A

MOVE P1 Deplacer vers le point A. Toutes les articulations bougent enmeme temsp afin d’optimiser le temps.

MOVES P1 Deplacer vers le point A. L’outil du robot suit une ligne droiteafin d’optimiser la longueur de la trajectoire.

BREAK Assure que l’instruction precedente a ete realisee avant de passera la suivante

APPRO P1,50 Instruction, generalement suivie de MOVE, qui permet des’approcher de 50mm par rapport au point P1 et ceci suivant l’axeZ de l’outil

DEPART 50 Permet au robot de partir du point actuel en se deplacant suivantl’axe Z-outil d’une valeur de 50mm

OPENI Ouverture immediate de la pince pneumatiqueCLOSEI Fermeture immediate de la pince pneumatiqueSPEED V UNITE ALWAYS Modifie la vitesse en V% si l’UNITE n’est pas indique. Unite en

mmps (mm/s) et ips (inch/s)DELA 180 Permet de s’arreter pendant le temps stipule en secondes. Il doit

etre superieur a 16ms;COMMENTAIRES le ’;’ indique que le texte qui suit est un commenatireCALL SP3 Appel du sous-programme SP3GOTO 10 Appel l’etiquette 10

17

Page 19: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

TAB. A.2: Commandes V+, suite

IF CONDITION THEN Utiliser avec :... >ELSE >= ou =>... ==END <> (different)

<= ou =<AND, OR, NOT

IF CONDITION GOTO ETI-QUETTEFOR T=1 TO 10 STEP 2...ENDWHILE CONDITION...ENDDO...UNTILEX TOTO,N,M Execution du programme TOTO n fois de suite (un nombre

negatif signifie indefiniment)a partir du pas de programme N◦m,seulement pour la premiere boucle

XSTEP TOTO,N,M Meme principe que le precedent mais pas a pas. Le fait de taperX suivi de RETURN execute le pas suivant

SEE TOTO Creer ou editer un programme. A l’interieur du programme, taperi, pour insertion de commande. r permet de remplacer du texteexistant. F4 permet de quitter le programme

DIR Visualise les titres des programmesLISTP PROG1,PROG2 Liste le contenu des programmesLISTL Liste les points et leurs coordonneesCOPY TOTO=TUTU Copie une double du programme TUTUDELETEP TOTO Supprime le programme TOTODELETEL A Supprime le point ADO INSTRUCTION Execution d’une instruction en mode commandeTOOL TRANS(DX,DY,DZ) Deplacer le repere outil de 100mm suivant l’axe Z-outilREADY Placer le robot dans la position de reposLOAD A:TOTO.LC Charge le fichier TOTO.LC de la disquette vers la RAMEN PO Mise en puissance de la partie operative (ENable POwer)DIS PO Extinction de la puissance de la partie operative (DISable POwer)WHERE Permet de connaıtre la position actuelle du robot et du prehenseurZERO Vide le contenu total de la RAMSETREP1=FRAME(P1,P2,P3,P4)

Cree un repere appele REP1 dont l’axe X passe par P1 et P2, l’axeY perpendiculaire a l’axe X et passant par P3, P4 etant l’origine

MOVE REP1:A Se deplacer relativement au repere REP1. Les coordonnees dupoint A sont donnes dans ce dernier.

MOVE REP1:A,50 MOVE REP1:REP2:A

18

Page 20: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Annexe B

Quelques commandes de RAPID

L’exemple suivant donne la structure d’un programme en langage RAPID.

-------------------------------------------------------------%%%

VERSION:1LANGUAGE:ENGLISH

%%%

MODULE ESSAI% toutes les declarations sont faites dans cette parties

CONST num imax:=50;CONST robtarget p1:=[[0,0,-862],[0,-1,0,0],

[0,0,0,0],[9E+09,9E+09,9E+09,0,0,0]];VAR num i:=0;VAR robtarget p2;

PROC main()% la procedure principale est inseree dans cette patrie

MOVEL p1,vmax,z10,tool0;WHILE i<imax DOp2:=OFFS(p1,i,0,0);MOVEL p2,vmax,z10,tool0;i:=i+5;ENDWHILE

ENDPROC % fin de la procedure principale

ENDMODULE % fin du programme-------------------------------------------------------------

Outre le programme principal, il est possible de faire des sous-programmes. Ces sous-programmespeuvent etre appeles dans le programme principal. Voici quelques commandes pouvant etre utiles pourle TP.

19

Page 21: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

CONST robtarget p1:=[[x,y,z],[q1,q2,q3,q4],[0,0,0,0],[9E+09,9E+09,9E+09,0,0,0]];→ declaration d’une constante de position de robot . Les coordonnees du point sont donnes par

[x,y,z] et [q1,q2,q3,q4] (orientation sous forme quaternion).

VAR robtarget p1;→ declaration d’une variable de position de robot.

CONST num alfa=:1;→ declaration d’une constante numerique.

VAR num i;→ declaration d’une variable numerique.

MOVEL p1,vmax,z10,tool0;→ permet de positionner le robot, vers la position p1, suivant une trajectoire lineaire. Le deplacement

se fait avec une vitesse vmax, des donnees de la zone z10 et l’outil tool10.

MOVEJ p1,vmax,z10,tool0;→ permet de positionner le robot, vers la position p1, plus rapidement (pour l’optimisation du

temps, toutes les articulations1 bougent en meme temps). Le deplacement se fait avec une vitesse vmax,des donnees de la zone z10 et l’outil tool10.

WHILE i<x max DO.....ENDWHILE→ utilisation des conditions.

p2:=OFFS(p1,50,50,-50);→ le point p2 est obtenue par un decalage des coordonnees du point p1 de X=50; Y=50 et Z=-50.

WAITTIME 10;→ delai de 10 secondes.

WAITDI SensorCP,1;→ attente d’un appui sur le bouton poussoir SensorCP.

WAITDI SensorCP,0;→ attente d’un relachement du bouton poussoir SensorCP.

SETDO doPICK1BACK, 1;→ mise en marche de l’eclairage.

1MOVEJ : J comme Joint qui veut dire articulation.

20

Page 22: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

SETDO doPICK1BACK, 0;→ arret de l’eclairage.

SETDO doPICK1START, 1;→ mise en marche du tapis-1.

SETDO doPICK1START, 0;→ arret du tapis-1.

SETGO VACBLOW,0;→ arret de la pneumatique sur l’effceteur.

SETGO VACBLOW,1;→ aspiration pneumatique sur l’effceteur, utilisee pour une prise d’objet.

SETGO VACBLOW,2;→ souffle pneumatique sur l’effceteur, utilise pour une depose d’objet.

Les fonctions mathematiques tels que cos(.), sin(.), abs(.) ainsi que les operations arithmetiques +,−, / et ∗ sont utilisables dans RAPID.

21

Page 23: Travaux Pratiques de Robotique - sites.femto-st.frsites.femto-st.fr/~micky.rakotondrabe//enseignementFile/TP_ISIFC... · Travaux Pratiques de Robotique ISIFC 3eme` Annee´ Nicolas

Annexe C

Quelques commandes de MELFA BASIC 4

COSIROP est un environnement de developpement qui prend en compte notamment l’ecriture de pro-gramme en .MB4 (l’interpreteur MELFA BASIC 4) et l’enregistrement de coordonnees de robots en.POS (base de donnees). La Table C.1 donne quelques commandes de base en MELFA BASIC 4.

TAB. C.1: Commandes MELFA BASIC 4

base (,,,,,,,) Utilisation du repere WORLDou base P Nbaseservo on mise a un de la baie de commandespd 50 mettre la vitesse a 50% de la valeur maximalemvs p1 aller vers le point p1mvs p1,10 aller a distance 10mm du point p1 suivant l’axe Z de l’outildly 2 delai de 2sgosub *SP1 aller au sous programme subprog*SP1 debut d’un sous-programme subprogreturn fin du sous-programme subprogM out(4)=1M out(5)=0 ouverture de la pince pneumatiqueM out(4)=0M out(5)=1 fermeture de la pince pneumatiqueend fin du programme principal

22