CROB01 - Introduction à La Programmation d'Un Robot à l'Aide Du Logiciel CIROS Robotics
-
Upload
ahmed-boubaker -
Category
Documents
-
view
10 -
download
1
Transcript of CROB01 - Introduction à La Programmation d'Un Robot à l'Aide Du Logiciel CIROS Robotics
CROB01 Page 1
CROB01 : Introduction à là progràmmàtion d’un robot à l’àide du logiciel CIROS Robotics
CROB01 Page 2
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 3
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 4
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 5
1
2 3 4
CROB01 Page 6
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 7
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 »).
1 : le robot est à sa position de
départ
2 : le robot de déplace 40 mm
au-dessous de la position P1
initiale
3 : le robot se déplace de
manière linéaire vers P1
initiale
CROB01 Page 8
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 » ). La fenêtre ci-dessous
apparait :
Dans la colonne « Test group », cliquer sur « All Objects » puis « Manage Collision Groups ».
La fenêtre ci-dessous apparait.
CROB01 Page 9
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 10
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 11
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 12
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 13
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 14
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 15
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 16
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.