CROB01 : Introduction à là progràmmàtion d un robot à l àide du logiciel CIROS Robotics CROB01 Page 1
1. But du module Le but de ce module est de se familiariser avec l environnement du logiciel CIROS Robotics et de réaliser des programmes simples pour piloter un robot «Mitsubishi RV-2AJ». Ces programmes pourront être simulés mais pas transférés dans les robots disponibles au CTA. 2. Présentation du logiciel CIROS Robotics Le logiciel va vous permettre d écrire et de simuler des programmes pour différents types de robots. Des modèles d entrainement existent pour les stations Festo MPS mais aussi pour d autres applications industrielles, avec différents types de robots. Ces modèles vont d une application simple à la programmation complète d une station. Il est possible de réaliser des programmes en utilisant les langages de programmation des robots Mitsubishi : MRL, MELFA BASIC IV et V. En plus d un robot, il est possible de simuler des détecteurs, des actionneurs, des objets, Le logiciel comporte une aide bien fournie. Toutefois, celle-ci n est pas toujours en français mais en anglais, voir en allemand. Remarque importante La licence du programme est assez restrictive. En effet, vous ne pouvez pas enregistrer les environnements que vous avez créés (Workcell) ni transférer votre programme dans le robot. Pour bénéficier de toutes les fonctions, il faut utiliser le logiciel CIROS Studio. Les environnements créés avec CIROS Studio ne peuvent être ouverts avec CIROS Robotics. Il faut voir CIROS Robotics comme un logiciel d apprentissage et d écriture de programmes. CROB01 Page 2
3. Présentation des modèles d introduction et premiers programmes 3.1 Présentation Le logiciel CIROS Robotics contient des exemples de programmes de niveaux différents et avec plusieurs types de robots. Pour se familiariser avec le logiciel et la programmation, il est préférable de réaliser le modèle d introduction. Pour ouvrir le modèle, il faut : Lancer l aide («F1») Cliquer sur Modèles Cliquer sur Modèle d introduction Cliquer sur Modèle FirstSteps-NextSteps Sélectionner, dans la fenêtre de droite, le modèle désiré. CROB01 Page 3
Les modèles d introduction proposés ne permettent pas de d utiliser le robot «Mitsubishi RV-2SDB» disponible au CTA. Il faut choisir le robot «RV-2AJ» Dans tous les cas, 2 types de modèles sont proposés : Open reference model : le modèle protégé en écriture du répertoire CIROS est ouvert. Open user model : si le modèle est présent dans le répertoire utilisateur, il est ouvert. Si le modèle est introuvable, il y est copié à partir du répertoire de référence puis ouvert dans CIROS. Le langage de programmation du robot «RV-2AJ» (Melfa Basic 4) est légèrement différent de celui du robot «RV-2SDB» (Melfa Basic 5). Il est néanmoins assez facile de passer d un langage à l autre. Pour plus d informations, il faut se reporter à l aide sur les commandes. 3.2 Modèle «RV-2AJ FirstSteps» Lorsque vous ouvrez le fichier «RV-2AJ FirstSteps», l écran de la page suivante apparait. L écran est divisé en 4 zones principales : La zone 1 représente la barre des menus et les icônes permettant dans travailler avec le programme. La zone 2 représente le modèle, c est-à-dire le robot avec lequel nous allons travailler et son environnement. La zone 3 contient le programme du robot. La zone 4 contient la liste de positions mémorisées qui seront utilisées dans le programme. D autres fenêtres peuvent être ouvertes. Citons par exemple les entrées et sorties du robot ainsi que ses coordonnées. Le contenu de ces fenêtres sera approfondi au fur et à mesure de votre progression dans les exercices. CROB01 Page 4
1 2 3 4 CROB01 Page 5
Une fois le projet ouvert, vous pouvez lancer une simulation du programme. Pour cela, appuyez sur «F5» ou dans le menu «Simulation Start». Lors de l exécution, les instructions sont surlignées en bleu au fur et à mesure qu on avance dans le programme. Cela peut vous aider à en comprendre le fonctionnement. 3.3 Premier programme Enoncé Le premier exercice consiste à aller chercher le cube rouge (position initiale : P1) et de le déplacer vers la position P7 en passant par la position initiale (P10). Une fois la pièce déposée, le robot retourne à sa position initiale. Pour savoir quel élément correspond à quelle position, il suffit de cliquer sur la position définie (fenêtre position) et un repère apparait dans le modèle. N.B. : Les positions initiales des cubes et des emplacements ou les poser sont déjà définies. Il ne faut pas modifier les positions existantes dans le programme si on veut que les exercices fonctionnent. Premières commandes Pour cet exercice, vous devrez utiliser les commandes suivantes : MOV : déplacement de la position actuelle à la position de destination. Ex : MOV p1, -40 Si le paramètre «-40» (facultatif) est défini, alors le robot se déplacera à une distance de -40 sur l axe Z par rapport à sa position de destination. MVS : déplacement linéaire de la position actuelle à la position de destination. Ex : MVS p1 CROB01 Page 6
1 : le robot est à sa position de départ 2 : le robot de déplace 40 mm au-dessous de la position P1 3 : le robot se déplace de manière linéaire vers P1 initiale initiale HOPEN / HCLOSE : commande l ouverture / fermeture de la pince. Ex : HOPEN 1 Le chiffre 1 signifie que l on commande la pince n 1. DLY : utilisée seule, cette commande cause une temporisation. Ex : DLY 0.5 Avec de passer à l instruction suivante, une temporisation de 0.5 seconde est effectuée. OVRD : cette instruction défini la vitesse du robot pour le programme. Elle s exprime en % Ex : OVRD 50 Le robot se déplacera à 50 % de sa vitesse. END : marque la fin de l exécution du programme N.B. : Pour obtenir de l aide ou des informations complémentaires sur les commandes, sélectionner la commande avec la souris et appuyer sur «F1». Compilation et simulation Une fois que votre programme est écrit, il faut le compiler (programming compile ou «ALT+F9»). S il y a des erreurs ou des avertissements, un message avec un lien de l erreur vers le programme apparaît. Lorsque le programme est compilé, vous pouvez l exécuter (Simulation Start ou «F5»). Un mode pas à pas est également disponible (icône next step ou «F10»). CROB01 Page 7
Exercice Créer un programme où tous les cubes doivent être amenés de leur position d origine vers l extrémité droite de la station. Le robot retourne alors vers sa position initiale. 3.4 Modèle «RV-2AJ NextSteps» L exemple est pratiquement identique au précédent. La différence vient du fait qu un écran se trouve entre les deux endroits où l on peut placer les pièces. Dans ce cas, il faut penser à éviter l obstacle lors du déplacement des pièces. N.B. : Dans l exemple de base, rien ne se passe si l on traverse le mur. Il est néanmoins possible de définir des collisions. C est ce que nous ferons au point suivant. 3.5 Définir des collisions Afin que l exercice ait plus de sens, il est nécessaire que le programme puisse gérer les collisions entre le robot et le mur. Définition Voici la marche à suivre pour définir des collisions entre le mur et le reste de l environnement. Passer en mode Edition (modeling Edit mode ou «CTRL + E») Cliquer sur le mur (il devient de couleur verte, avec un système d axe à son origine. Cliquer sur l icône «Select elements for collision detection» apparait : ). La fenêtre ci-dessous Dans la colonne «Test group», cliquer sur «All Objects» puis «Manage Collision Groups». La fenêtre ci-dessous apparait. CROB01 Page 8
Sélectionner l objet qui va être un obstacle. Dans notre cas, c est Wall. Cliquer ensuite sur «New» et donner un nom au groupe de collision que l on vient de créer (ex : Mur) puis cliquer sur «OK». Fermer la fenêtre en cliquant sur «Close». Dans la fenêtre «Collision Detection», le groupe «Mur» apparait dans la colonne «Test Groupe». Cliquer sur «Mur» dans la première colonne puis «All Objects» dans le seconde et enfin sur «>>». La collision «Mur <-> <All Objects>» est maintenant définie. Options Les options vont nous permettre de choisir les actions à effectuer lors d une collision. Dans notre exemple, nous allons tout sélectionner (couleur, message, suspension de la simulation). Maintenant, lancer l exercice et observer ce qui se passe lorsque le robot entre en collision avec le mur (au besoin, bouger le mur!). CROB01 Page 9
4. Nouvelles fonctions et exercices supplémentaires Pour les exercices qui vont suivre, nous utiliserons le modèle «RV-2AJ FirstSteps» 4.1 Apprendre des positions Vous pouvez apprendre au robot de nouvelles positions que vous pourrez utiliser par la suite dans votre programme. Pour cela, sélectionner la fenêtre du modèle puis aller dans «Programming Teach In». La fenêtre «Jog Operation» s ouvre. Vous pouvez maintenant définir une nouvelle position le robot. «Jog Override» permet de modifier la vitesse de déplacement. Une fois que vous avez défini votre position, cliquer sur «Insert Position» pour la faire apparaitre dans la liste des postions. 4.2 Créer un obstacle et définir une détection de collision Nous allons créer une boite qui se trouvera entre les deux zones où les pièces peuvent être posées et ensuite définir des collisions entre la boite et les autres objets. Création de la boite Menu Modeling Model Libraries Ajouter l objet «Box» dans «Miscellaneous Primitive» La boite apparait en dessous du robot. CROB01 Page 10
Editer les propriétés de la boite (position, dimensions, ) Menu Modeling Model Explorer Sélectionner box Base. Dans la fenêtre de droite, clic droit sur «Box» puis «properties» (voir figure ci-dessous). Une nouvelle fenêtre s ouvre comprenant entre autre les options suivantes : General : permet de définir les dimensions de la boite Pose : permet de spécifier les coordonnées du point d insertion. Vizualisation : permet de modifier la couleur. CROB01 Page 11
Pour l exercice que nous allons réaliser, entrer les valeurs suivantes : Point d insertion : X = 140 mm Y = - 50 mm Z = 220 mm Dimensions : X : 180 mm Y : 115 mm Z : 75 mm Couleur : Violet Gestion de la collision Créer un groupe de collision appelé «Obstacle» et qui comprend la boite que nous venons de créer. Définir une collision entre ce groupe et tous les objets. Suspendre la simulation en cas de collision. Exercice Créer un programme qui amène le cube rouge en P9 tout en évitant l obstacle que nous avons inséré. 4.3 Utilisation des entrées du robot Le programme permet d utiliser les entrées et sorties du robot. Un exemple d entrée pourrait être le signal d un détecteur de couleur qui déterminerait la couleur des pièces à déplacer. Pour accéder aux entrées du robot, utiliser le menu Modeling Model Explorer RV-2Aj Inputs. Renommer respectivement les trois premières entrées Rouge, Vert et Bleu. CROB01 Page 12
N.B. : Puisque aucun détecteur ne correspond à ces entrées, il va falloir, lorsqu on les interroge, pouvoir leur donner une valeur. Pour cela, il faut : Aller dans le menu Modeling Model Explorer Faire un clic droit sur «FirstSteps RV-2AJ» Sélectionner «properties» Aller dans «Messages and Errors» et choisir «Yes» Grace à cela, nous allons pouvoir simuler une information indiquant la couleur des pièces à déplacer. Exercice Nous allons réaliser un exercice ou il faut tester la couleur d une pièce lorsque le robot la saisi. En fonction de sa couleur, la pièce sera acheminée à des positions différentes. Le robot se déplace de sa position initiale vers la pièce située en P1. Si la pièce est rouge (entrée Rouge = 1), alors la pièce est amenée en P7, si le test est négatif, la pièce est amenée en P8 Pour réaliser ce programme, nous allons devoir utiliser l instruction «IF THEN ELSE» dont voici un exemple d utilisation : CROB01 Page 13
160 if M_IN(0)= 1 then. 250 else. 340 endif 4.4 Simulation d un détecteur de couleur Le principe est le même que celui de l exercice précédent mais cette fois, nous allons introduire dans le modèle un détecteur de couleur. Ce dernier pourra nous renseigner sur la couleur des pièces. Insérer un détecteur de couleur Le programme contient une bibliothèque de détecteurs de tous types. Pour insérer un détecteur de couleur, il faut aller dans le menu Modeling Model Libraries Miscellaneous Sensors Color Sensor Add. Les coordonnées du point d insertion nécessaires au bon déroulement de l exercice sont les suivantes : X : -180 mm Y : 150 mm Z : 450 mm R : -180 Y : -180 CROB01 Page 14
Connecter les sorties du détecteur aux entrées du robot Pour que le programme puisse traiter les informations provenant du détecteur, il faut raccorder les sorties de ce détecteur aux entrées du robot. Pour cela, il faut : Aller dans le menu Modeling Model Explorer. Ouvrir le menu color Sensor output et le menu RV-2AJ Input. Relier la sortie 1 du détecteur à l entrée 1 du robot par glisser/ déposer. Faite de même avec les autres entrées / sorties. De base, le détecteur peut reconnaitre trois couleurs : rouge, vert et bleu. Pour accéder à ces propriétés, aller dans Modeling Model Explorer ColorSensor Clic droit Properties. CROB01 Page 15
La sortie 0 correspond à la couleur bleu. La sortie 1 correspond à la couleur verte. La sortie 2 correspond à la couleur rouge. Exercice 1 Reprendre le programme précédent mais cette fois, c est le détecteur qui doit déterminer la couleur de la pièce qui se trouve en P1. N.B. : Pour cet exercice, vous pouvez modifier la couleur des pièces à déplacer de manière à rendre la simulation plus réaliste. Exercice 2 Reprendre l exercice précédent. Si la pièce en P1 est : Rouge : la pièce est déplacée en P7, Verte : la pièce est déplacée en P8, Bleu : la pièce est déplacée en P9, Autre : la pièce est déplacée en P5. CROB01 Page 16