Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
ii
iii
iv
FIGURE No. 28: FIGURE No. 29: FIGURE No. 30: FIGURE No. 31: FIGURE No. 32:
vi
CHAPITRE 1 : INTRODUCTION
Les robots sont de plus en plus prsents dans les industries afin daugmenter leur production et parfois pour augmenter la prcision de certaines manipulations. Ce qui fait du robot un outil trs puissant et utile. Pour assurer une bonne rptabilit et une bonne prcision des manipulations du robot, celui-ci doit tre programm par lutilisateur. Dans ce guide vous trouverez les informations ncessaires pour faire fonctionner un robot Fanuc LR Mate 200iC. Plus prcisment, le guide est divis en quatre parties. Il y aura tout dabord une prsentation des diffrentes mesures de scurit. Ensuite, il y aura une description du robot ainsi que les indications ncessaires pour le dmarrer et le manipuler. Par la suite, il y aura une brve description du logiciel de simulation ROBOGUIDE. Enfin, il y aura une explication des notions de base du langage de programmation KAREL. De plus, en annexe se trouvent des notions supplmentaires sur le robot rel, ROBOGUIDE et le langage Karel. Lannexe contient aussi des tutoriels et un rpertoire des erreurs frquentes ainsi que leurs rsolutions.
Introduction | p. 1
Sassurer que tous les dispositifs de scurit sont prsents et actifs Connatre o sont les arrts durgence Ne jamais porter de cravate, de collier et dautres bijoux ou vtements pouvant se prendre dans le robot en mouvement, lorsque vous tes dans lenveloppe de travail du robot Vrifier que lenvironnement de travail soit propre et sans dbris indsirable. Si cest le cas, contactez le technicien ou le professeur pour lui en aviser. Personne ne doit entrer dans lenveloppe de travail du robot lorsquil est en marche, sauf pour enseigner des positions de travail. Dans ce cas, seule la personne avec le boitier de commande a le droit dentrer dans lenveloppe de travail du robot. Ne jamais dsactiver un dispositif de scurit Dplacer le robot vitesse rduite lors des manipulations en mode manuel Sassurer dtre lextrieur de la cage de suret avant de dplacer le robot.
Pour utiliser le robot en mode automatique, vous devez obligatoirement fermer les portes de la cage du robot, sinon le robot restera immobile. Lors de la premire excution dun programme sur le robot rel, veuillez : 1. Effectuer la trajectoire tape par tape vitesse rduite. 2. Effectuer la trajectoire au complet vitesse rduite 3. Effectuer la trajectoire au complet vitesse normale
Mesure scurit | p. 2
FIGURE No. 1:
FIGURE No. 2:
FIGURE No. 3:
FIGURE No. 4:
FIGURE No. 5:
TABLEAU No. 1: Dtails du robot FANUC LR Mate 200iC Axes 6 Poids maximal de la charge (kg) 5 Rayon de lenveloppe de travail 704 sans outil (mm) Rptabilit (mm) 0.02 Rayon dinterfrence (mm) 181 Degr de mallabilit des J1 340 joints (degrs) J2 200 J3 J4 J5 J6 388 380 240 720
J1 J2 J3 J4 J5 J6 Moment du poignet (N*m) J4 J5 J6 Inertie de la charge du J4 2 poignet (kg*m ) J5 J6 Poids du robot sans charge (kg)
350 350 400 450 450 720 11.9 11.9 6.7 0.3 0.3 0.1 27
Paramtres de Dnavit-Hartenberg du LR-Mate 200IC i ai bi i 1 75 0 -90 2 300 0 180 3 75 0 -90 4 0 -320 90 5 0 0 -90 6 0 -80 180
De plus, le joint 2 du robot est indpendant des autres joints. Cest--dire que si le joint 2 change dorientation, le joint 3, 4, 5, 6 vont rester parallles leur position de dpart, comme le montre la figure ci-dessous
FIGURE No. 7:
Indpendance du joint 2
3 7
6 FIGURE No. 8:
Description Barre du menu principal Boutons des diffrentes fonctions du programme Progress Navigator, le navigateur de progrs Cell Browser, arborescence Teach Panel, simulation de la tlcommande du robot. Barre dtat, montrant les diffrents programmes et le contrleur slectionn workcell, cellule de travail, l o la reprsentation de lenvironnement rel est prsente.
TABLEAU No. 4: Description des diffrents boutons de ROBOGUIDE Icne Description Crer un nouveau fichier Ouvrir un fichier dj existant Retour larrire (Undo) Retour lavant (Redo) Afficher / Masquer la fentre Cell Browser Afficher / Masquer la fentre Process Navigator Afficher laide pour la fentre utilise Excuter le programme MotionPRO
Sauver les informations du systme de ROBOGUIDE Verrouiller ou dverrouiller loutil UTOOL, ceci permet de bouger le point fixe du robot. Activer ou dsactiver la rptition de la fonction Move to Afficher / Masquer la barre doutils rapide pour modifier les coordonns de rfrence du robot. Modifier la vitesse de la trajectoire du robot
Afficher / Masquer la barre doutils rapide pour enregistrer des coordonns dans un programme de simulation. Ouvrir / Fermer loutil au bout du bras du robot Afficher / Masquer la barre doutils rapide pour la fonction Move to Afficher / Masquer la barre doutils rapide pour les Targets Dessiner des nouvelles formes aux pices Afficher / Masquer lenveloppe de travail du robot Afficher / Masquer le Teach Panel Afficher / Masquer les alarmes du robot Afficher la page ayant les informations du robot
Afficher linvite de commande KAREL Enregistrer un fichier AVI de lanimation du robot. Rouler le programme slectionn Mettre sur pause le programme Arrter le programme Rinitialiser un programme Forcer quitter le programme Manipuler les diffrents joints du robot
Afficher / Masquer la fentre Run Panel Afficher / Masquer lditeur de position Afficher / Masquer la fentre doption pour bouger et copier un objet
Afficher les programmes qui sont appels par le programme principale Zoom + Zoom Zoom de la slection Vue de haut Centrer la vue sur lobjet slectionn Changer la direction de la camra Vue du ctdroit Vue de ct gauche Vue de face Vue de derrire
4.2.1.1. Le robot
Llment central de la cellule de travail (WorkCell) est le robot, car le but ultime du logiciel est de pouvoir contrler un robot. lintrieur de la bibliothque du logiciel, il est possible de choisir tous les robots FANUC mis sur le march. Gnralement, les robots sont fixe la base et sont munis de bras pivotant afin deffectuer des manipulations.
Un autre lment essentiel est loutil qui se trouve au bout du bras du robot (End of Arm Tooling), aussi appel EoAT. Loutil fait le lien entre le robot et les pices (Part), il permet de prendre ou de relcher une pice. Il y a plusieurs types doutil, en voici quelques exemples : Pince (Grippers) Aspirateur (Vacuum) Torche soudure (weldtorch)
Les pices sont les lments que lon dsire manipuler avec le robot. Les pices peuvent tre modlises sur un logiciel 3D comme CATIA et tre importes lintrieur de ROBOGUIDE.
Pour tre en mesure de prendre ou de dposer une pice dans le logiciel ROBOGUIDE, la pice doit toujours tre lie avec une fixation. Une fixation, aussi appele fixture en anglais, est un objet sur lequel les pices reposent.
Les obstacles sont les lments qui reprsentent les diffrents objets qui pourraient interfrer avec la trajectoire du robot. Il est important dincorporer les obstacles qui sont prsents dans lenvironnement de travail rel lintrieur du logiciel de simulations pour sassurer que le robot nentre pas en collision avec des objets.
FIGURE No. 9:
Navigateur de procd
Pour accder au navigateur de procds, vous devez aller dans longlet View du menu principal et cliquez sur Navigator. Vous pouvez aussi accder au navigateur de procds en cliquant directement sur le bouton . Le navigateur de procds est spar en trois parties : Define the Cell, 1. Cration dlments pour garnir la cellule de travail, par exemple : 2. Pices 3. Outils de robot 4. Fixations Teach TP Programs 1. Cration dun programme Run Production 1. Rouler le programme 2. Analyser son profil
Larborescence, appele Cell browser en anglais est une fentre o lon retrouve les diffrents lments et les diffrents programmes de la cellule de travail. Larborescence regroupe les lments comme limage cidessous. Robot rel LR Mate 200iC | p. 14
Arborescence
Pour accder au navigateur de procds, vous devez aller dans longlet View du menu principal et cliquez sur Cell Browser. Vous pouvez aussi accder au navigateur de procds en cliquant directement sur le bouton . De plus, vous pouvez ajouter ou supprimer un lment en choisissant une des options possibles lorsque vous cliquez droit sur un lment.
Le boitier de commande appele Teach Pendant en anglais est la reproduction quelques dtails prs de la tlcommande relle du robot. Avec la tlcommande, il est possible de dplacer le robot et de programmer une trajectoire.
Boitier de commande
cliquer sur le bouton . Lutilisation de Teach Pendant sera explique plus loin dans le document.
Pour viter de toujours appuyer la touche shift pour changer la position du robot, il est possible de changer les options pour que la touche shift soit active automatiquement si on clique sur un des boutons encadrs ci-dessus. Pour activer cette option, vous devez aller dans Tools dans le menu principal et cliquez sur option. Une fentre apparaitra et vous devez cocher loption Jog keys automatically apply the SHIFT key comme montre ci-dessous.
Vous pouvez connatre lorientation des diffrents joints lorsque vous cliquez sur longlet Current Position situ au bas de la tlcommande. Si vous slectionnez X,Y,Z au lieu de Joint vous obtiendrez les coordonnes cartsiennes du TeachTool par rapport lorigine du robot. Si vous slectionnez USER vous obtenez les coordonnes du TeachTool par rapport un UFrame slectionn, comme le montre la figure ci-dessous.
Vous pouvez aussi dplacer le robot relativement de la position actuelle en cliquant le bouton Relative. Si vous choisissez loption Tool, vous modifiez lemplacement du TeachTool relativement au positionnement actuel de loutil. Si vous choisissez loption Joint, vous pouvez diminuer ou augmenter langle des joints. Si vous choisissez loption X,Y,Z, vous modifiez lemplacement du TeachTool relativement lorigine du robot. Finalement, si vous choisissez USER, vous modifiez lemplacement du UTool relativement un UFrame slectionn.
sur le bouton . Une fentre apparatra comme montre ci-dessous. Ceci vous donnera loption de choisir lorigine (World), loutil (Tool), lutilisateur (User), les joints (Joints) comme lment de rfrence pour le dplacement. Robot rel LR Mate 200iC | p. 19
cliquer sur le bouton afin dafficher les axes du TeachTool. Ensuite, vous pouvez dplacer la boule verte en glissant la souris sur ses axes. Il est aussi possible de changer lorientation du TeachTool en maintenant la touche SHIFT enfonce et en glissant la souris sur ses axes. De plus, il est aussi possible de bouger librement la boule verte en maintenant la touche Ctrl enfonce ,tout en cliquant sur le TeachTool et tout en dplaant la souris. Vous pouvez changer le point de rfrence de dplacement en cliquant
Vous pouvez dplacer le robot en glissant manuellement le TeachTool, reprsent par une boule verte. Pour ce faire, vous devez
ATTENTION. Si le robot ne se dplace pas lendroit o vous avez boug le TeachTool cest peut-tre, parce que le point est hors de la porte du robot, ou bien que votre axe Z soit orient dans la mauvaise direction.
des joints. Pour ce faire, vous devez cliquer sur le bouton et ensuite glisser votre souris sur les diffrents joints du robot comme montr cidessous.
Manipulation des joints du robot sur ROBOGUIDE Robot rel LR Mate 200iC | p. 20
Barredoutil Move to
Pour utiliser cet outil, vous devez tout dabord slectionner une des options mentionnes ci-dessus, ensuite vous devez cliquer sur une rgion de votre cellule de travail qui correspond lendroit o vous voulez dplacer le bout du bras du robot.
Pour accder loutil de mesure vous devez cliquez sur le bouton . Une fentre contenant les options de mesures comme montres sur la figure ci-dessous souvrira.
Pour mesurer la distance entre deux objets ou la longueur dune pice, il faut premirement cliquer le bouton From et ensuite slectionn le type de surface que vous dsirez slectionner : face, ct, arrte, centre dune face ou le centre dun ct. Aprs, vous devez slectionner lendroit o vous dsirez positionner le point initial de la mesure. Pour choisir le point final de la mesure, vous devez rpter les tapes mentionnes prcdemment en choisissant les caractristiques dsires pour le point final et en cliquant ensuite sur la position du point final.
Pour exporter un fichier vers le robot rel, vous devez premirement cliquer droit sur le fichier en question et ensuite cliquer sur Export/To Robot comme le montre la figure ci-dessous. Robot rel LR Mate 200iC | p. 22
Une fentre, comme le montre la figure ci-dessous, apparatra. Il vous devrez, si ce nest dj pas fait, slectionner le robot vers lequel vous voulez exporter le robot. Finalement, vous devez cliquer sur Export et le fichier devrait normalement tre envoy au robot.
Le programme KAREL peut tre crit lintrieur du programme ROBOGUIDE. En effet, un diteur pour KAREL est incorpor lintrieur du programme ROBOGUIDE. Pour ouvrir un nouveau fichier KAREL il faut aller dans le file browser et cliquez droit sur file et slectionnez New file et cliquez sur KAREL source (.kl) comme le montre la figure NO ci-dessous.
Ceci fait lditeur de programmation KAREL souvrira, comme le montre la figure cidessous. Langage KAREL | p. 24
compiler le programme que vous avez crit en cliquant sur le bouton . Lorsque vous compilez le programme, un fichier dextension .pc ayant le mme nom que votre fichier dextension .kl sera cr. Le fichier dextension .pc est le fichier qui est lu par le contrleur du robot.
Un fichier dextension .kl est alors cr. Par dfaut le nom du fichier est untitle1.kl. . Vous pouvez aussi
Pour excuter le programme dans le logiciel de simulation de ROBOGUIDE afin de voir le robot boug sur lcran, il faut passer par le boitier de commande virtuelle. La procdure est la suivante : Allumer le botier de commande en cliquant sur ON Allez dans le rpertoire des programmes en cliquant sur Select Choisir le programme dsir ayant le nom du programme dsir et appuyer sur la touche ENTER. Le programme sera maintenant slectionn. Maintenez appuyer la touche shift tout en cliquant sur le bouton FWD pour excuter le programme. Le programme devrait maintenant dmarrer sil ny a pas derreur.
Langage KAREL | p. 25
EXEMPLE No. 1: Structure de base du programme PROGRAM nom_fichier Directive du compilateur CONST Dclaration de constantes TYPE Dclaration de types VAR Dclaration de variables BEGIN noncs excutables END nom_fichier
Langage KAREL | p. 26
TABLEAU No. 5:
%CRTDEVICE %DEFGROUP = n %DELAY %ENVIRONMENT filename %INCLUDE filename %LOCKGROUP =n,n %NOABORT = option %NOBUSYLAMP %NOLOCKGROUP %NOPAUSE = option %NOPAUSESHFT %PRIORITY = n %SHADOWVARS %STACKSIZE = n %TIMESLICE = n %TPMOTION %UNINITVARS
Description Specifies that variables will be created in alphabetical order when p-code is loaded. Specifies the default storage for KAREL variables is CMOS RAM. Instructs the translator to put all CMOS variables in SHADOW memory. Specifies a comment of up to 16 characters. During load time, the comment is stored as a program attribute and can be displayed on the SELECT screen of the teach pendant or CRT/KB. Specifies that the CRT/KB user window will be the default in the READ and WRITE statements instead of the TPDISPLAY window. Specifies the default motion group to be used by the translator. Specifies the amount of time the program will be delayed out of every 250 milliseconds. Used by the off-line translator to specify that a particular environment file should be loaded. Specifies files to insert into a program at translation time. Specifies the motion group(s) locked by this task. Specifies a set of conditions which will be prevented from aborting the program. Specifies that the busy lamp will be OFF during execution. Specifies that no motion groups will be locked by this task. Specifies a set of conditions which will be prevented from pausing the program. Specifies that the task is not paused if the teach pendant shift key is released. Specifies the task priority. Specifies that all variables by default are created in SHADOW. Specifies the stack size in long words. Supports round-robin type time slicing for tasks with the same priority. Specifies that task motion is enabled only when the teach pendant is enabled. Specifies that all variables are by default uninitialized.
Langage KAREL | p. 27
EXEMPLE No. 2: Structure de la dclaration de constantes CONST larg_table = 500 long_table = 200 haut_table = 100
EXEMPLE No. 3: Structure de la dclaration de type TYPE new_type_name = STRUCTURE field_name_1 : type_name_1 field_name_2: type_name_2 ... ENDSTRUCTURE
EXEMPLE No. 4: Structure de la rcupration des donnes dune variable situe lintrieur dune structure var_name = new_type_name.field_name_1
Pour rcuprer les donnes dans la structure, il suffit dappeler la structure suivie de la variable dsire sparer par un point . , comme montr dans lexemple NO. 4.
EXEMPLE No. 5: Structure de la dclaration de variables VAR I, length : INTEGER p1, p2, p3, : POSITION c : CONFIG
TABLEAU No. 6: Type de variables possible pour le langage KAREL Type de variable Description tendue BOOLEAN True, false [-2147483648 ; +2147483646] INTEGER Nombre entier REAL Nombre rel [-3,4028236E+38; -1,175494E-38] [0,0] [1,175494E-38; 3,4028236E+38] R STRING Chaine de caractre 0 254 caractres VECTOR Vecteur X : Y : Z : [-3,4028236E+38; Compos de trois valeurs 1,175494E-38] [0,0] [1,175494Erelles 38; 3,4028236E+38] R VECTOR = STRUCTURE X : REAL Y : REAL Z : REAL ENDSTRUCTURE Le type de variable que le tableau ARRAY contient est spcifier Ex : JPOS : ARRAY[6] OF REAL Configuration du robot
ARRAY
CONFIG
XYZWPR
CFG_FLIP : BOOLEAN CFG_LEFT : BOOLEAN CFG_UP : BOOLEAN CFG_TURN_NO1 : INTEGER CFG_TURN_NO2 : INTEGER CFG_TURN_NO3: INTEGER Spcifie la position cartsienne du UTOOL.
Langage KAREL | p. 29
POSITION
XYZWPR = STRUCTURE X: REAL Y: REAL Z: REAL W: REAL P: REAL R: REAL CONFIG_DATA: CONFIG ENDSTRUCTURE
JOINTPOS<n>
POSITION = STRUCTURE NORMAL : VECTOR ORIENT : VECTOR APPROACH : VECTOR LOCATION : VECTOR CONFIG_DATA : CONFIG ENDSTRUCTURE Reprsentation de la position en une matrice contenant les angles des axes du robot. Les angles sont exprims en degr.
Matrice contenant le vecteur normal, dorientation, dapproche et de localisation, ainsi que la configuration du robot.
PATH
JOINTPOS1 : 1 degr de libert JOINTPOS2 : 2 degrs de libert JOINTPOS3 : 3 degrs de libert JOINTPOS4 : 4 degrs de libert JOINTPOS5 : 5 degrs de libert JOINTPOS6 : 6 degrs de libert JOINTPOS7 : 7 degrs de libert JOINTPOS8 : 8 degrs de libert JOINTPOS9 : 9 degrs de libert
EXEMPLE No. 6: Structure de la commande IF IF variable > 10 THEN MOVE TO p1 ELSE MOVE TO p2 ENDIF
seront excuts, sinon, les noncs rattachs la commande ESLE seront excuts. Lexemple qui suit montre la structure de la commande IF.
Il nest pas obligatoire dutiliser la commande ELSE lintrieur de la commande IF. Si elle est absente de la commande If, les noncs qui ne seront pas rencontrs par la condition seront tout simplement ignors.
EXEMPLE No. 7: Premire syntaxe dune boucle FOR FOR variable = a TO b DO Instructions ENDFOR
La boucle FOR est une rptition dfinie, c'est--dire que le nombre de rptitions est connu et fixe.
EXEMPLE No. 8: Deuxime syntaxe dune bouche FOR FOR variable = b DOWNTO a DO Instructions ENDFOR La variable indique dans la boucle FOR doit faire partie du type INTEGER. Lexemple No. 7 montre une boucle FOR qui incrmentera la variable de 1 chaque rptition. Par contre, lexemple No. 8 prsente plutt une boucle FOR qui dcrmente la variable de 1 chaque rptition.
La boucle WHILE est une boucle indfinie, car le nombre de rptitions dpend de la condition spcifier par le programmeur.
Langage KAREL | p. 31
EXEMPLE No. 9: Syntaxe dune boucle WHILE WHILE condition DO Instructions ENDWHILE
Langage KAREL | p. 32
CURPOS
CURPOSE (1,5,1)
Syntaxe : CURPOS (axis_limit_mask, ovr_trv_mask, group_no) Axis_limit_mask : [1 ; 6]* Ovr_trv_mask : [1 ; 6]* *Dans cette version, cescommandes sont ignores Permets une rotation du TCP autour dun vecteur spcifier en restant aux mmes coordonnes
MOVE ABOUT
MOVE TO
Permets dloigner le TCP dun objet en reculant le TCP selon son axe des Z ngatif Permets de changer lorientation dun des axes du robot Permets de dplacer le TCP prs de la position spcifie, soit par une distance spcifie selon laxe des Z ngatif du TCP Dplace le TCP la coordonne spcifie. La variable utilise par cette fonction peut tre de type : POSITON, XYZWPR, XYZWPREXT, JOINTPOS
VAR vector_1 : VECTOR pos_1 : POSITION BEGIN MOVE TO pos_1 vector_1 = ORIENT(pos_1) MOVE ABOUT pos_1 BY 30 END BEGIN MOVE AWAY 50 END BEGIN MOVE AXIS 3 BY 45 END VAR pos_1 : POSITON BEGIN MOVE NEAR pos_1 BY 60 END VAR cord : XYZWPR JPOS : JOINTPOS BEGIN MOVE TO cord MOVE TO JPOS END
Langage KAREL | p. 33
OPEN FILE
Permets de lier un fichier extrieur une variable du type FILE Syntaxe : OPEN FILE variable (attribut, nom_fichier) Attribut : RO : Lecture seulement RW : Lecture et criture AP : Ajouter des donnes un fichier dj existant UD : Mise jour de donnes Permets douvrir les pinces du robot
OPEN HAND
OPEN HAND 1
PATH_LEN
Le chiffre aprs la commande correspond au numro du Robot Output auquel les pinces sont relies. Dtermine le nombre de nuds dans une variable PATH Retourne la position dun nud
PATHPOS
VAR p_len : INTEGER BEGIN p_len = PATHLEN(parcour) END VAR p_len, l : INTEGER BEGIN p_len = PATHLEN(parcour) FOR I = 1 TO p_len DO ENDFOR END
Langage KAREL | p. 34
POS
Retourne les donnes cartsiennes et la configuration du bras du robot une variable du type POSITION Permets de lire des donnes Permets dcrire des donnes
READ
VAR p1 : POSITION c : CONFIG BEGIN CNV_STR_CONF(NUT, 0 ,0,0,c, 0) p1 = POS(450, 0, 450, 0, 0, 0, c) MOVE TO p1 END
WRITE
TABLEAU No. 8: Liste des variables de quelque variable du systme Nom de la variable Description Exemple $GROUP[n].$termtype Permets de changer le type de $GROUP[1].$termtype = 2 terminaison pour un groupe $GROUP[3].$termtype = 1 [n] Les valeurs possibles sont 1 = fine 2 = coarse 3 = nosset 4 = nodecel 5 = vardecel $GROUP[n].$motype Permets de changer le type de $GROUP[1].$motype = 7 mouvement pour un groupe [n] Les valeurs possibles sont 6 = joint 7 = linear 8 = circular $MOTYPE Permets de changer le type de $motype =6 mouvement pour tous les groupes Les valeurs possibles sont 6 = joint 7 = linear 8 = circular
Langage KAREL | p. 35
$SPEED
$TERMTYPE
$UFRAME $UTOOL
Spcifie une vitesse cartsienne en mm/sec au robot Valeur varie entre 0 2000 mm/sec Permets de changer le type de terminaison pour tous les groupes Les valeurs possibles sont 1 = fine 2 = coarse 3 = nosset 4 = nodecel 5 = vardecel Transformation du rfrentiel de la cellule (UFRAME) par rapport celui du robot. Transformation du rfrentiel de leffecteur (TCP) par rapport celui du poignet du robot.
$speed = 1000
$TERMTYPE = 2
EXEMPLE No. 10: Dplacer le robot vers une position prdfinie Dplacer le robot vers de coordonnes prdfinis PROGRAM dec_const CONST --dclaration des constantes larg_table = 500 long_table = 200 haut_table = 1 VAR --dclaration des variables p1 : POSITION c : CONFIG BEGIN CNV_STR_CONF(N U T, 0, 0, 0, c, 0) -- converti un variable --STRING en -- variable CONFIG p1 = POS(larg_table, long_table, haut_table, 180, 0, 0, c) -- assigne les --coordonnes du --point p1 MOVE TO p1 -- bouge le robot la position
Langage KAREL | p. 36
p1 END dec_const EXEMPLE No. 11: Ajout de nuds dans une variable de type PATH PROGRAM test_pht_2 VAR length, I : INTEGER p1 : XYZWPR c : CONFIG path1 : PATH longueur : INTEGER fichier1 : FILE BEGIN CNV_STR_CONF('NUT, 0, 0,0', c, 0) --initialisation de la variable c p1 = POS(475,-190,375,-180,-90,0,c) --initialisation de la position p1 MOVE TO p1 --dplacement vers la position p1 length = PATH_LEN(path1) --dtermine le nombre de noeuds longueur = 30 --initialisation de la variable longueur FOR I= length DOWNTO 1 DO DELETE_NODE(path1, I, 6) --supprime tous les anciens nuds ENDFOR FOR I = 1 TO longueur DO MOVE AXIS 4 BY 1 --bougelaxe 4 de 1 degr APPEND_NODE(path1, 6) --ajoute un nud au PATH path1[i].node_pos= CURPOS(4,1,1) --enregistre la position actuelle au --noeud ENDFOR END test_pht_2
Langage KAREL | p. 37
CHAPITRE 6 : ANNEXE
6.1. Tutoriel pour ROBOGUIDE 6.1.1. Pick and Place
Ce tutoriel vous guidera pas pas pour crer un environnement virtuel qui simulera la trajectoire dun robot lors dune manipulation Pick and place Ouverture du fichier 1. Ouvrez le logiciel ROBOGUIDE 2. Allez dans fichier du menu suprieur du programme et cliquer sur New Cell, une fentre apparatra 3. Slectionnez le logiciel HandlingPRO et cliquez sur Next 4. Donner un nom au fichier, par exemple : tutoriel_PAP. Ensuite, cliquer sur Next 5. Cliquez Next encore et encore, jusqua ce que vous voyez la liste des diffrents robots 6. Choisissez le robot LR Mate 200iC et cliquez Next 7. Cliquez Next jusqu' la fin et ensuite cliquez Finish 8. Vous devriez alors avoir une cellule de travail avec le robot. Modifier les paramtres du robot 1. Allez dans View du menu suprieur du programme et cliquez sur Navigator sil nest pas dj slectionn. Une petite fentre appele Process Navigator souvrira. 2. lintrieur de la section Define the Cell du Process Navigator cliqu sur dit Robot Properties, une fentre avec les proprits du robot souvrira 3. lintrieur de cette fentre, il est possible de modifier la localisation du robot, mais dans le cadre de ce tutoriel nous laisserons le robot lorigine. 4. Cocher Lock All Location Values pour fixer la position du robot et cliquez sur OK Ajouter une pice (Part) 1. lintrieur de la section Define the Cell du Process Navigator cliqu sur Add a Part to the Cell, une fentre avec diffrente option concernant la nature de la pice souvrira. 2. Dans le cadre de ce tutoriel, slectionnez Box Primitive Model et cliquez sur OK. Une fentre avec les proprits de la pice apparatra. 3. Donnez un nom la pice, par exemple : cube Langage KAREL | p. 38
4. Vous pouvez modifier la couleur du cube en cliquant sur la palette de couleur 5. Dans le champ Mass changer la masse pour 3 kg, car le robot peut supporter un maximum de 5 kg en incluant la masse de la pince. 6. Dans les champs Size changez les dimensions pour 29 mm 7. Cliquez sur OK, vous devriez avoir une plateforme (PartRack) surmonte de la pice situe ct du robot. Ajouter un outil au bout du bras du robot (EoAT) 1. lintrieur de la section Define the Cell du Process Navigator cliquez sur Edit End of Arm Tooling, une fentre des proprits de loutil souvrira. 2. Donnez un nom loutil en changeant le champ Name, par exemple : pince. 3. Importer un outil dj existant en cliquant sur le dossier ct du champ CAD File, une fentre pour parcourir le fichier souvrira 4. Aller dans EOATs/grippers et slectionnez le fichier 36005f200.IGS et cliquez ouvrir 5. Changez la masse de la pince pour 2 kg en modifiant le champ Mass 6. Modifiez lchelle de la pice pour 0,2, en modifiant les champs Scale, afin de donner une taille de pince proportionnelle au robot. Ensuite, cliquez sur OK 7. Vous vous apercevrez que la pince nest pas installe correctement. Pour corriger la situation, double-cliquez sur la pince pour faire apparaitre les proprits de loutil et changer la valeur du champ W pour 270. Ceci effectuera une rotation autour de laxe des x de 270. Ensuite, cliquez sur Apply. 8. Il faut maintenant modifier le point de contact du robot avec la pice. Pour ce faire, cliquez sur longlet UTOOL des proprits de la pince et cochez Edit UTOOL. 9. Vous pouvez maintenant entrer les valeurs de la position du point de contact par rapport au rfrentiel situ lextrmit du bras du robot. Dans le cadre de cet exemple, entrez la valeur 170 dans le champ Z et cliquez sur Apply. La sphre verte devrait maintenant se situer au point de contact des pinces 10. Il faut maintenant dterminer lemplacement de la pice lorsque le robot prendra la pice. Pour ce faire, aller dans longlet Parts des proprits de la pince et slectionn sur la pice voulue (cube pour ce tutoriel) et cliquez Apply. 11. Dans le mme onglet, cocher Edit Part Offset. Vous pouvez maintenant modifier la position de la pice par rapport au rfrentiel situ lextrmit du bras du robot. Dans le cadre de Langage KAREL | p. 39
cetexemple, entrez les valeurs X=0, Y=-187.06, Z=0, W=90, P=R=0. Ensuite, cliquez sur Apply. Vous vous apercevrez que la pice disparaitra de la pince du robot, cest normal. 12. Maintenant il faut dterminer linteraction de la pince lors de la simulation. Pour ce faire, allez dans longlet Simulation des proprits de la pince et slectionnez la pice dsir. Ensuite slectionnez Material Handling Clamp pour le champ function et choisissez le fichier 36005f-200-4.IGS dans trajectoire EOATs/grippers en cliquant sur le fichier ct du champ Actuated CAD. Cliquez OK. Ajout une fixation (fixture) pour la position pick 1. Pour rajouter une fixation, cliquez droit sur fixation dans le Cell Browser, allez dans AddFixture et choisissez une option. Dans le cadre de cet exemple, choisissez CAD Library. Une fentre avec la librairie des fixations souvrira. 2. Cliquez le petit + gauche de Fixture pour avoir la liste de tous les types de fixation. Aux fins de ce tutoriel, choisissez le fichier shelf04 et cliquez OK. Une fentre souvrira avec les proprits de la fixation. 3. Donnez un nom la fixation en modifiant le champ Name, par exemple : SHELF. 4. Changez lchelle de la fixation en changeant les Scales pour 0.8 et changez la localisation de la pice pour X=-600, Y=200, Z=W= P= R=0. Ensuite, cliquez sur Apply. 5. Configurez la pice sur la fixation en allant dans longlet Parts des proprits de la fixation, slectionnez la pice dsire, soit cube et cliquez sur Apply. 6. Dans le mme onglet, cocher Edit Part Offset pour modifier la localisation de la pice sur la fixation. Dans le cadre de ce tutoriel, entrez les valeurs X=160, Y=160, Z=510, W=-90, P=0, R=90. Ensuite, cliquez sur Apply 7. Modifier les paramtres de simulation en allant dans longlet Simulation des proprits de la fixation et cliquez sur la pice dsire, soit cube pour ce tutoriel. Ensuite, cochez le champ Allow part to be picked pour autoriser le programme prendre une pice sur la fixation. Ensuite, cliquez sur Apply et ensuite OK. Ajout une fixation (fixture) pour la position place 1. Les tapes sont sensiblement les mmes que la cration de la fixation prcdente. Par contre, cette fixation sera spcialement configure pour permettre le dpt dune pice. 2. Crez une nouvelle fixation, mais au lieu choisir loption CAD Library cliquez plutt sur Box Langage KAREL | p. 40
3. Renommez la fixation pour BOX, changez les dimensions pour X=Y=Z=200 et changez la localisation pour X=400, Y=-300, Z=200, W=P=R=0. Ensuite, cliquez sur Apply. 4. Configurez les paramtres de la pice en allant dans longlet Parts et en slectionnant la pice Cube. Ensuite, cliquez Apply. Cocher les champs Edit Part Offset et entrer X=Y=0, Z=14.58, W=-90, P=0, R=-90. Ensuite, cliquez sur Apply. 5. Configurez les paramtres de simulation en allant dans longlet Simulation. Slectionne la pice cube et cochez le champ Allow part to be placed. Ensuite, cliquez sur Apply et OK. Programme de simulation Pick 1. Pour crer un nouveau programme de simulation, cliquez droit sur programs dans le Cell Browser et cliquez sur Add simulation program. Une fentre de proprit pour le programme apparaitra. 2. Modifiez le nom pour PICK et cliquez Apply ensuite OK. Vous tomberez alors sur la fentre ddition pour le programme de simulation. 3. Bouger le point fixe du robot (la balle verte) prs de la pice sur la fixation Shelf. Pour bouger le point fixe en glissant la souris sur ses axes aprs avoir cliqu le bouton des options principales du programme ROBOGUIDE. Outil de manipulation du point fixe du robot
4. Dans la fentre du programme de simulation, cliquez sur Record pour enregistrer les coordonnes du robot. Une ligne de programme sajoutera. 5. Dans la ligne de programme, changer loption L (linear) pour J (joint), le robot suivra alors un trajet circulaire pour atteindre ce point. 6. Changer loption Fine pour CNT100 si ce nest dj pas fait. Ceci indiquera au robot pass par ce point sans y arrter. 7. Bouger ensuite le robot sur la pice. Pour que les pinces soit exactement lendroit de la pice, double cliquez sur la fixation SHELF allez dans longlet Parts et cliquez sur Move to. La pince du robot se dplacera automatiquement sur la pice. 8. Cliquez sur Record dans menu du programme de simulation. Ensuite, mettez un mouvement linaire L et mettez un mouvement Fine la nouvelle ligne de programme cr. Langage KAREL | p. 41
9. Dplacez les pinces hors du champ de la pice et cliqu encore sur record. 10. Ensuite, changer les paramtres de la ligne de programme pour J et CNT100 11. Slectionn la ligne juste aprs laction o la pice est prise, soit la ligne 3 dans ce cas. Ensuite, cliqu la flche du bouton Inst du menu du programme de simulation et cliqu sur Pickup. Une nouvelle ligne de programme se crera en dessous de la ligne 2. 12. Pour cette ligne de programme, choisissez la pice prise par les pinces, soit cube et slectionnez la fixation et loutil utilis. 13. Slectionne la ligne de programme aprs la commande Pickup et cliquez sur la flche du bouton Inst puis slectionner sur PAYLOAD[1]. Une ligne de programme apparatra aprs la commande Pickup. La commande PAYLOAD servira indiquer le poids supplmentaire que le robot doit soulever lorsquil ramasse lobjet. 14. Cliquez sur X pour fermer la fentre du programme de simulation. Programme de simulation Place 1. Le programme de simulation Place se construira sensiblement de la mme manire que le programme Pick. 2. Cliquez droit sur programs dans le Cell Browser et cliquez sur Add simulation program. Une fentre de proprit pour le programme apparaitra. 3. Modifiez le nom pour PLACE et cliquez Apply ensuite OK. 4. Bouger le point fixe du robot prs de la pice sur la fixation BOX. 5. Cliquez sur Record pour enregistrer les coordonnes du robot. 6. Changer les paramtres de la ligne de programme pour J et CNT100 7. Dplacez les pinces du robot sur la pice de la fixation BOX en utilisant la commande Move to 8. Cliquez su Record et insrez les paramtres L et Fine. 9. Bouger les pinces hors de la porte de la pice. 10. Cliquez sur Record et insrez les paramtres J et CNT100. 11. Slectionnez la ligne de programme aprs avoir dpos la pice. 12. Insrez la commande Drop en cliquant sur la flche du bouton Inst 13. Dans la ligne de programme de la commande Drop, slectionnez la pice, loutil et la fixation appropris 14. Slectionnez la ligne de programme aprs la commande DROP 15. Insrez la commande PAYLOAD [1] en cliquant sur la flche du bouton Inst Langage KAREL | p. 42
16. Sur la ligne de commande PAYLAOD changer le 1 pour un 2. 17. Cliquez sur X pour fermer la fentre du programme de simulation. Programme TP Main 1. Pour crer un nouveau programme TP, cliquez droit sur programs dans le Cell Browser et cliquez sur Add TP program. La tlcommande Teach Panel souvrira. 2. Cliquez droit sur le programme TP dans le Cell Browser et renommez le nom du programme pour MAIN. 3. Cliquez sur ON pour autoriser lcriture sur la manette. 4. Cliquez sur EDIT pour accder la fentre de commande. 5. Cliquez sur NEXT pour accder plus doptions et cliquez sur F1 [INST]. Une liste de commande apparatra. Slectionn Next Page [8] et slectionnez Payload [2]. Cliquez sur ENTER et entrez le nombre du Payload, soit 2, car cest le nombre du Payload lorsque le robot est vide. 6. Cliquez sur F1 [INST] et slectionnez la commande CALL [6]. 7. Slectionnez Call program et choisissez le programme PICK. Cliquez ENTER deux fois de sort que la balise [END] soit slectionne. 8. Cliquez sur F1 [INST] et slectionnez la commande CALL [6]. 9. Slectionnez Call program et choisissez le programme DROP. Cliquez ENTER deux fois de sort que la balise [END] soit slectionne. 10. Cliquez sur F1 [INST] et slectionnez la commande JMP/LBL [6]. Slectionnez JMP LBL[ ] 11. Entrez le nombre du JMP LBL, soit 1. 12. Slectionnez la ligne aprs le PAY LOAD et cliquez sur F5 [EDCMD]. Slectionnez Insert et cliquez ENTER. Une ligne vide apparatra la suite de la commande PAYLOAD. 13. Cliquez sur F1 [INST] et slectionnez la commande JMP/LBL [6]. Slectionnez LBL[ ] 14. Entrez le nombre du LBL, soit 1. Vous avez maintenant une boucle dans votre programme born par les commandes LBL (Label) et JMP LBL (Jump Label 15. Cliquez sur X pour fermer la fentre du programme TP. Roulez le programme 1. Assurez-vous que le programme MAIN et slectionnez et clique sur le bouton montr ci-dessous. FIGURE No. 24: Bouton pour rouler un programme Langage KAREL | p. 43
2. Votre robot devrait alors prendre la pice de la fixation SHELF et la dposer sur la fixation BOX
Langage KAREL | p. 44
Pour changer le type de diviseur de dcimal vous devez : 1. allez dans panneau de configuration 2. cliquez sur la section Horloge, langue et rgion 3. cliquez sur Modifier le format de la date, de lheure ou des nombres 4. une fentre apparaitra comme celle-ci
5. cliquez sur paramtre supplmentaire, une fentre apparatra comme cidessous Erreurs frquentes | p. 45
6. Changez dans la section Symbole dcimal la virgule par un point si besoin 7. Cliquer OK
Si votre programme signale une erreur lorsque vous voulez crer un fichier, il est fort probable que lemplacement du fichier de sauvegarde soit sur un disque rseau au lieu dun disque local. Pour changer lemplacement du fichier de sauvegarde, vous devez : 1. Ouvrir ROBOGUIDE 2. Cliquez sur longlet Tools de la barre doutils du programme 3. Allez dans la section General telle que montre ci-dessous
Erreurs frquentes | p. 46
4. Changer le champ Default Workcell Path pour un emplacement sur un disque local 5. Cliquez sur OK
Si lerreur Need to apply DCS parameter apparait sur votre boitier de commande virtuel, vous devez suivre les instructions suivantes pour vous dfaire de limpasse. 1. Ouvrez le boitier de commande virtuelle dans ROBOGUIDE 2. Cliquez sur menu 3. Dans le menu, slectionnez NEXT pour voir dautre onglet 4. Slectionner System, la fentre des options du systme apparatra
Erreurs frquentes | p. 47
Appliquer un DCS
7. Un mot de passe vous sera demand, alors demandez au responsable de cours ou de laboratoire pour quil inscrive le mot de passe. 8. Vous devez ensuite confirmer les modifications en pesant sur F4 pour OK
Erreurs frquentes | p. 49
9. Redmarrez le contrleur en allant dans Robot/restart controller/cold start du menu principal de ROBOGUIDE.
Parfois, lors de lexcution de certains programmes, le boitier de commande virtuel signal des erreurs. La plupart du temps pour enlever le message derreur il faut seulement peser sur shift et reset. Par contre, parfois ceci ne suffit pas. Dans ce cas il faut appuyer sur licne reset1 du menu de bouton et ensuite peser sur play2 et finalement peser du stop3 comme le montre la figure ci-dessous. FIGURE No. 32: Procdure pour rsoudre les messages derreurs du boitier de commande virtuel 2 3 1
Si le message derreur ne disparait toujours pas alors il faut redmarrer le contrleur virtuel en cliquant sur Robot/Restart Controller/Cold Start.
Erreurs frquentes | p. 50