crob01 : introduction à là progràmmàtion d’un robot à l ...-+introduction+à+la... · le...

16
CROB01 Page 1 CROB01 : Introduction à là progràmmàtion d’un robot à l’àide du logiciel CIROS Robotics

Upload: lethien

Post on 13-Nov-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

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.