CPLN – Ecole Technique – Neuchâtel LABORATOIRE DE PRODUCTIQUE ET D’AUTOMATION Table des matières Gay S. / Müller M. 1 07.06.2005 CPLN – Ecole Technique – Neuchâtel LABORATOIRE DE PRODUCTIQUE ET D’AUTOMATION 1. Introduction Dans ce rapport, vous pourrez trouver des informations concernant la prise en main du robot Bosch Scara SR60. Nous avons seulement développé les commandes de bases, c’est-à-dire la manipulation (en mode manuel), ainsi que la programmation à l’aide d’un ordinateur. Vous pourrez aussi y trouver un programme fonctionnel permettant tout d’abord d’aller chercher un outil (ventouse), puis d’aller chercher une pièce (un sugus), ensuite de la déposer à un endroit prédéfini, et enfin, aller reposer l’outil. 2. Description du robot Le robot SR60 est un robot industriel de type Scara (Selective Compliant Articulated Robot Arm). Composé de 4 axes, ce type de robot est très souvent utilisé dans l’industrie pour de multiples applications liées au domaine de la manutention, du pick-and-place, ainsi que pour des opérations de montage et assemblage. 2.1. Caractéristiques techniques Espace opérationnel Rayon max............................................ 600 ............................. mm Angle d’orientation Axe 1 ................... 140 ........................... degré Angle d’orientation Axe 2 ................... 150 ........................... degré Course standard Axe 3 ......................... 200 ............................. mm Angle de rotation Axe 4 ....................... 360 ............................. degré Charge Charge nominale .................................... 2 ............................... kg Charge maximale.................................... 5 ............................... kg Vitesse max. Superposition A1/2 .............................. 4400 ............................ mm/s Axe 1 .................................................... 265 ............................. degré/s Axe 2 .................................................... 350 ............................. degré/s Axe 3 .................................................... 700 ............................. mm/s Axe 4 ................................................... 1100 ............................ degré/s Gay S. / Müller M. 2 07.06.2005 CPLN – Ecole Technique – Neuchâtel LABORATOIRE DE PRODUCTIQUE ET D’AUTOMATION Accélération Axe 1 .................................................... 720 ............................. degré/s2 Axe 2 ................................................... 1400 ............................ degré/s2 Axe 3 .................................................. 10000 ........................... mm/s2 Axe 4 .................................................. 15000 ........................... degré/s2 Précision Tolérance de positionnement ............ 0.025 .......................... mm Tolérance de l’axe 4 ............................ 0.1 ............................ degré Résolution.............................................0.01 ............................ mm 3. Manipulations manuelles du robot 3.1. 1. 2. 3. 4. 5. 6. 7. 3.2. Mise en route du robot (allumage) : Allumez l’installation en commutant l’interrupteur « Haupt Halter » sur 1 Attendez la fin des tests (visibles sur le boîtier de commande PHG) Enclenchez les moteurs du robot en appuyant sur le bouton vert « Steuerung » Mettez le commutateur sur « MANUEL » A l’aide du PHG, entrez dans le mode 1 (Reference points). Pressez les boutons suivants : « Mode », « 1 », . Pour prendre les références, agissez tout d’abord sur les axes 3 et 4, puis les axes 1 et 2. Pour cela, appuyez sur les boutons suivants tout en laissant pressé le bouton « Dead-Man » (gros bouton sur le côté droit du PHG) : - référence axe 3, bouton « 3+ » - référence axe 4, bouton « 4+ » - référence axe 1, bouton « 1+ » - référence axe 2, bouton « 2+ » Sortez du menu en appuyant en même temps sur « SHIFT » et « 1 » Manipulations manuelles des axes : Tout d’abord, il faut commuter sur « MANUEL ». Ensuite, avec la commande PHG, allez le mode 2 (Manuel), et tout en appuyant sur le bouton « Dead-Man », vous pouvez agir sur les 4 axes de manière polaire ou rectangulaire. La touche « Coordonnée » permet de nous donner les coordonnées du point, soit sous forme polaire (JC), soit sous forme rectangulaire (WC). Sous forme rectangulaire, les mouvements du robots se font en suivant les axes X, Y et Z ! Gay S. / Müller M. 3 07.06.2005 CPLN – Ecole Technique – Neuchâtel LABORATOIRE DE PRODUCTIQUE ET D’AUTOMATION Programmation Prise en main du logiciel de programmation 1. Lancez le programme "BAPS Robot BOSCH". 2. Créez un nouveau fichier *.qll ou reprendre la base d'un fichier existant. (il est préférable de reprendre un fichier existant affin de reprendre les paramètres du robot, obligatoire à son fonctionnement). 3. Enregistrez le fichier sous le même nom que celui du programme. Le nom qui se trouve après l'instruction "PROGRAM" doit correspondre au nom du fichier. Exemple: si on veut appeler notre fichier "pince.qll", la ligne "PROGRAM PINCE" doit apparaître dans le programme. 4. Saisies des points à l’intérieur d’un programme : Il y a 3 manières d’utiliser des points dans un programme. La première consiste à inscrire directement dans la ligne de commande (par exemple pour un mouvement) les coordonnées du point. Exemple : - en coordonnées réctangulaires : MOVE TO (, , 200, ) - en coordonnées polaires : MOVE TO @ (-126.24, 105.76, 200, 113.83) Les deuxièmes et troisièmes consistent à déclarer un nom de variable pour ces points. La deuxième manière consiste donc à déclarer le point en assignant des coordonnées à une variable dans le programme même. Exemple : - en coordonnées réctangulaires : POINT : pos1, pos2 pos1=(120,135,200,85) pos2=(144,95,115,90) MOVE TO pos1 MOVE LINEAR TO pos2 - en coordonnées polaires : JC_POINT : @pos3, @pos4 @pos3=@(,,200,) @pos4=@(,,115,) MOVE TO @pos3 MOVE LINEAR TO @pos4 Gay S. / Müller M. 4 07.06.2005 CPLN – Ecole Technique – Neuchâtel LABORATOIRE DE PRODUCTIQUE ET D’AUTOMATION La troisième manière consiste juste à déclarer la variable dans le programme. Si aucune assignation de coordonnée n’a été faite dans le programme, le compilateur va générer un fichier *.PKT dans lequel seront contenus tous les points du programme sans assignation de valeurs. Pour éditer ce fichier PKT, soit on édite directement le fichier depuis l’ordinateur, soit on utilise la commande PHG. Pour ce faire : 1. 2. 3. 4. 5. 6. 7. 8. 9. Au préalable, transferez le fichier PKT généré par le compilateur sur le RHO. Mettez le bouton du RHO en mode « Manuel ». Allez dans le mode 4 « Define/Teach in ». Ensuite définissez le fichier PKT à utiliser avec le mode 4.2 Sélectionner à l’aide des flèches le fichier « PKT » voulu. Puis ENTER. Sélectionner le point voulu à l’aide des flèches et . Soit appuyez soit sur la touche (SHIFT + 3) pour atteindre les commandes manuelles du robot. Avec cela vous aurez la possibilité de déplacer les axes et ainsi d’atteindre la position voulue. Soit vous pouvez directement entrez les coordonnées du point. Pressez la touche (SHIFT + 1) pour revenir en arrière. Pour terminer pressez 3 fois la touche ENTER. Types de fichiers : Fichier *.QLL : Fichier *.IRD : Fichier *.PKT : fichier d’édition de programme fichier du programme compilé fichier contenant les points non assignés du programme (attention, ce fichier ne sera généré que si des points ne sont pas assignés dans le programme) Les fichiers à transférer sur le RHO3 sont les fichiers *.IRD et *.PKT (si existant). Le nom des fichiers QLL, IRD et PKT est identique. Appel de programmes externes : Gay S. / Müller M. 5 07.06.2005 CPLN – Ecole Technique – Neuchâtel LABORATOIRE DE PRODUCTIQUE ET D’AUTOMATION Déclarer le nom du programme externe. Ensuite, pour appeler ce dernier (et l’executer), il suffit de mettre son nom dans le programme. Exemple : EXTERNAL : VENTOUSE, INIT INIT … VENTOUSE … Remarques : Chaque programme externe est indépendant et peut être exécuté séparément. Il faut par ailleurs les compiler de manière individuelle. Programmation : La programmation s’apparente au langage Pascal. Un programme doit contenir les données ci-dessous et dans cet ordre : 1. 2. 3. 4. Paramètres du robot Entête du programme : Le nom du programme (Exemple : PROGRAM VENTOUSE), ce nom correspond au nom du fichier. Déclarations des variables, entrées, sorties, sous-programmes, etc… Déclaration des programmes externes : EXTERNAL : demo, help Déclaration des entrées/sorties : OUTPUT : 1=LED_1, INPUT : 6=SIGNAL_VACUM Déclaration de variables (en fonction du type) : REAL : weigth, length POINT : pos10, pos11 Corps du programme : Il doit contenir au début « BEGIN » et à la fin « PROGRAM_END ». Diverses commandes de programme : WAIT : cette commande interrompt un programme pendant un certain temps. Exemple : WAIT 5 ceci correspond à une interruption de 5 secondes. L’étendue de l’interruption peut être de 0.01 à 32000 secondes. Gay S. / Müller M. 6 07.06.2005 CPLN – Ecole Technique – Neuchâtel LABORATOIRE DE PRODUCTIQUE ET D’AUTOMATION WAIT UNTIL : fonction d’attente jusqu’à ce que la condition soit vraie. Exemple : WAIT UNTIL bouton1=1 RPT : fonction de boucle. Permet de répéter les lignes de programmes contenues entre « RPT 8 TIMES » et « RPT_END ». Exemple : RPT 8 TIMES ; Répète 8 fois la boucle … RPT_END Vitesse et Accélération : A la base, la vitesse préprogrammée est de 25 mm/s pour les interpolations linéaires (et circulaire) et de 10% de la vitesse maximum des axes du robot pour les déplacements PTP (point à point). Il y a plusieurs moyens de se déplacer d’un point à un autre, et pour chaque déplacement, on peut spécifier sa vitesse de déplacement, ou son temps de déplacement ! Pour régler une vitesse de manière globale : Exemple : V_PTP = 0.8 ; vitesse à 80% pour déplacement PTP ou V_PTP = 80% V = 750 ; vitesse à 750 mm/s pour déplacement en interpolation linéaire Pour effectuer un mouvement avec une vitesse prédéfinie. Exemple : MOVE PTP WITH V_PTP=70% TO pos1 MOVE LINEAR WITH V=500 TO pos2 Mais on peut également donner un temps de déplacement (seulement pour les déplacements linéaire et circulaire) : Exemple : MOVE LINEAR WITH T=10 TO pos4 ; déplacement sur pos4 en 10 sec. Ces vitesses peuvent être influencées par un facteur VFACTOR ! (uniquement pour les déplacement linéaire et circulaires) Exemple : VFACTOR = 1.8 Le facteur valant 1.8, les vitesses seront donc multipliées par 1.8 et les temps divisés par 1.8. Gay S. / Müller M. 7 07.06.2005 CPLN – Ecole Technique – Neuchâtel LABORATOIRE DE PRODUCTIQUE ET D’AUTOMATION Exemple : MOVE LINEAR WITH V=500 TO pos MOVE LINEAR WITH T=10 TO pos4 ; vitesse = 500*1.8 = 900mm/s ; temps = 10 / 1.8 = 5.6s VFACTOR n’influence que les valeur indiquée par V= et T= . Si une indication de vitesse ou de temps est fixée par VFIX ou TFIX, alors VFACTOR n’aura aucune influence. Exemple : MOVE LINEAR WITH VFIX = 100 TO pos3 Les accélérations peuvent être programmées uniquement pour des mouvements linéaires et circulaires. Elle définie combien de temps mettra le robot à atteindre la vitesse demandée pour un déplacement. Par défaut, l’accélération est de 10 mm/s2. Exemple : MOVE LINEAR WITH A=15 TO pos3 ; accélération de 15 mm/s2 Pour avoir une valeur fixe non influencée par AFACTOR, utiliser AFIX. Exemple : MOVE LINEAR WITH AFIX=15 TO pos3 AFACTOR fonctionne de la même manière que VFACTOR. L’accélération sera multipliée par ce facteur AFACTOR. Exemple : AFACTOR=2 ; ou AFACTOR=200% MOVE LINEAR WITH A=15 TO pos3 ; A = 15*2 = 30 mm/s2 Il y a la possibilité d’utiliser la commande de vitesse et d’accélération dans la même ligne de commande. Exemple : MOVE LINEAR WITH V=120, A=35 TO pos6 Différents types de mouvements, instructions Vitesses de déplacements et accélérations IF THEN ELSE WAIT Appel de sous programmes Instructions parallèles. Gay S. / Müller M. 8 07.06.2005 B2 CPLN – Ecole Technique – Neuchâtel LABORATOIRE DE PRODUCTIQUE ET D’AUTOMATION CONCLUSIONS : Pour la programmation, il est préférable de posséder des notions de base en langage de programmation Pascal (ou C). Gay S. / Müller M. 9 07.06.2005