TP 1 Robotique 20 Confi
TP 1 Robotique 20 Confi
TP 1 Robotique 20 Confi
1
1 Objectif du Travail Pratique
Les travaux pratiques des systèmes de production couvrent le domaine de programmation et mise
en route des systèmes automatisés de production SAP. L’objectif est de programmer la cellule d’usinage
de l’ENSAM. La programmation se fait de manière hiérarchique, avant de programmer le superviseur de
la cellule, il faut programmer les différentes machines de cette cellule (MOCN, Robots, Convoyeur …).
Cette manipulation aborde la programmation de Robots (Robot Mitsubishi RV-2AJ) à l’aide du logiciel
COSIMIR Educationnel et du langage Melpha Basic VI. Le langage Melpha Basic VI est un dérivé du
Basic, il comporte des instructions spécifiques à la programmation des robots comme MOV P1.
Cependant, avant d’entamer l’écriture des programmes, il faut constituer une liste des positions vers
lesquels le robot doit se déplacer, c’est le teaching.
Dans un premier temps nous allons présenter le robot RV2AJ, les différentes fenêtres de son
interface et nous allons effectuer un teaching qui nous permettra de créer un premier programme robot.
Dans un deuxième temps nous allons présenter les différentes instructions du Melpha Basic VI ce qui vous
permettra de créer un premier programme Pick and Place. Dans un troisième temps nous allons utiliser les
fonctions de simulation de COSIMIR Educationnel pour simuler ce programme.
2
2.1 Créer un projet avec COSIMIR Educationnel :
Avant d’écrire le programme du robot et de définir la liste des positions avec COSIMIR
Educationnel vous devez Créer un Projet et définir le type de robot et la configuration.
1- Démarrer COSIMIR Educationnel et sélectionnez la commande File/Project wizard. ce qui
affichera la boite de dialogue Project wizard:
2- Saisir le Nom du Projet désiré dans le champ approprié. La boîte du dialogue affichera par
défaut le nom du projet "UNTITLED". Dans l'exemple le nom du projet est "DÉMO". Vous pouvez
entrer n’importe quel nom. Comme Nom de Programme saisir par exemple "3". Pour chaque nouveau
projet que vous créez, COSIMIR Educationnel créera un nouveau répertoire avec le nom du projet.
COSIMIR Educationnel utilise ce répertoire pour stocker tous les programmes qui appartiennent à votre
projet. Le nom du programme est le nom que COSIMIR Educationnel utilise pour télécharger le
programme dans le contrôleur du robot.
Saisir votre nom dans le champ "Créée par", vos initiales dans "Initiales", et une description
courte de la tâche exécutée par le projet dans "Description". Enfin, appuyer sur le bouton "Next> ". Cela
affichera la boite de dialogue étape 2 de Project wisard.
3
3- Sélectionnez le type du robot RV2AJ, à partir de la liste "Type du Robot". Sélectionnez 1 dans
le champs "I/O Cartes d’Interface ", 1 dans le champ "outils terminal" et le Melpha Basic IV dans le
champ "Langage de programmation" ce qui permettra d’ouvrir de la fenêtre de programmation appropriée.
Appuyer sur le bouton finish, pour créer le projet.
2.2 L’interface utilisateur du logiciel
Suite à la création du projet, plusieurs fichiers (programme et liste des positions) sont créés dans le
répertoire "projet", différents fenêtres seront ouvertes sur votre écran :
• Une fenêtre de la station robotisée,
• Une fenêtre vide pour l’édition du programme du robot,
• La fenêtre de la liste des positions associée au projet,
• Une fenêtre des messages d’erreur.
Les types de fenêtre les plus importantes de l’interface utilisateur COSIMIR Educationnel sont
décrites ci-dessous.
1 La fenêtre station robotisée : Une vue du robot et de la station qu’il équipe est représentée
graphiquement dans cette fenêtre. Vous pouvez ouvrir des fenêtres supplémentaires avec des vues de
différentes cellules au moyen de command New à partir du menu View.
2 La fenêtre Programme du Robot : C’est une fenêtre d’édition des programmes de haut niveau
en langage de programmation natif du robot. Le titre de la fenêtre contient le nom du robot considéré.
3 La fenêtre Liste des Position du robot : Cette fenêtre affiche la liste des positions du robot. Le
titre de la fenêtre contient le nom du robot considéré.
2.3 Définir une liste des positions
Dans cette section nous allons utiliser la fenêtre Teach-In pour effectuer un teaching, ce qui nous
permettra par la suite de créer un premier programme robot Pick and Place.
La fenêtre Teach-In : La fenêtre Teach-In contient les noms des articulations du robot et deux
petits boutons pour déplacer les articulations individuelles du robot. De cette façon, la réaction d'un vrai
robot est simulée.
4
Si vous continuez à appuyer sur le bouton, le robot accélère jusqu'à la vitesse de consigne, la
vitesse décélère régulièrement jusqu’à une vitesse de 0 après avoir relâché le bouton.
Pour ouvrir la fenêtre Teach-In appuyer sur F8 ou choisir le command Teach-In à partir menu
Extras.
Pour créer le programme robot Pick and Place nous avons besoin de trois positions P1position
initiale, P2 position du Pick et P3 position du Place.
Accepter la position initiale du robot comme première position de la liste des positions. Utilisez le
raccourci CTRL+F2 pour accepter la position courante du robot dans la liste. Ça sera le P1.
Sélectionner la dernière entrée libre dans la liste des positions et utiliser le raccourci CTRL+F2
une deuxième fois. Cette position devrait être modifiée. Sélectionnez la position en cliquant sur l'entrée
avec le bouton gauche de la souris et choisissez la commande Properties du menu Edit pour ouvrir la
boîte du dialogue Position List Entry. Changez la position comme suit:
Position (x,y,z): 300 mm, 180 mm, 0 mm
Orientation (A/P, B/R): 0°, 180°
Double cliquer sur la position d'entrée P2 dans la liste des positions pour déplacer le robot à cette
position.
Sélectionner le mode XYZ et cliquer sur le bouton mouvement dans la Direction Y- dans le sens
négatif. Sauvegardez la nouvelle position du robot dans la liste des positions en sélectionnant la dernière
entrée libre en utilisant le raccourci CTRL+F2. Ça sera le P3.
Sauvegardez la liste des positions. Choisir la commande Reset Workcell du menu Edit.
2.4 Ajouter une pièce et la manipuler
Dans cette section nous allons utiliser les fonctions de simulation de COSIMIR Educationnel pour
ajouter une pièce et des entrées sorties à la station robotisée et simuler le programme que nous avons
réalisé.
Ajoutez un Box à partir de la bibliothèque des modèles “Miscellaneous Primitives” à la station
robotisée. Modifier les propriétés de cet élément dans la boîte de dialogue Properties comme suit:
Pos. (x,y,z): 275 mm, 150 mm, 0 mm
Dim. (x,y,z): 50 mm, 50 mm, 50 mm
Visualization. choisir le rouge comme couleur
Noter bien : les Propriétés dans la boîte de dialogue contiennent les propriétés de l'élément
sélectionné (Robot, pièce, pince, etc.). Pour modifier les dimensions de l’objet “Box” sélectionner la base
et cet objet et aller sur général.
Dans le Model Explorer renommez l'objet " Box " et lui donner le nom "Pièce"
5
Pour que la pièce soit saisie par le robot, il faut assigner un grip point à cette pièce. Ajoutez un
grip point à la pièce en choisissant la commande New/Grip Point du context menu du Model Explorer.
Pour ouvrir le menu de contexte approprié choisir la Base de la section de l'objet pièce et cliquer le bouton
droit de la souris. Renommez le grip point à "pièce".
6
Modifier la position et l’orientation du grip point par rapport au système de coordonnée de la
section dans la boîte de dialogue Properties comme suit.
Pos. (x,y,z): 25 mm, 25 mm, 25 mm,
Ori. (r,p,y): 180°, 0°, 180°,
Maintenant, le grip point est dans le centre de la pièce. Exécuter le programme Pick and Place.
3 Programmer le robot
Dans cette partie nous allons d’abord présenter les différentes instructions du Melpha Basic VI,
ensuite nous allons utiliser les trois points que nous avons ajoute dans le liste des positions pour créer un
premier programme Pick and Place.
3.1 Presentations de MELFA-BASIC-IV
Avant de programmer le robot, nous allons présenter, dans le paragraphe suivant, les différentes
commandes du langage MELFA-BASIC IV.
1 REM (commentaire) : Fonction: Emploie les chaînes de caractères suivantes en tant que
commentaires.
Format : REM [<Comment>] <Comment> permet d’ajouter des commentaires dans le texte du
programme pour expliquer les différentes commandes. REM peut être abrégée pour être une marque de
citation simple ('), même après une autre commande sur la même ligne.
Reference Programme
10 REM ***MAIN PROGRAM***
20 MOV P1 ' Move to P1
2 SERVO (Servo) : Fonction : Commande la mise en route ou l’arrêt du servo.
Format : SERVO ON, SERVO OFF : Commande d’alimentation du servo pour tous les axes.
Reference Program
10 SERVO ON ' Servo ON
20 IF M_SVO<>0 THEN GOTO 20 ' Wait for servo ON
3 MOV (déplace) : Fonction : Emploi l'opération commune d'interpolation, mouvements de la
position actuelle à la position de destination.
Format : MOV<Target Position> [[<Close Distance>] [<Interpolation Type>]] <Target Position>
C’est la position cible pour l'opération d'interpolation. <Close Distance> Si cette valeur est indiquée, la
position finale est une position séparée de la position cible par la distance algébrique indiquée, dans la
direction de l'axe Z de l’outil.
Référence Programme
10 MOV P1, -50
20 MOV P1
4 MVC (Déplace C) : Fonction : Effectue l'interpolation 3D circulaire dans l'ordre du point de
début, du point 1 de passage, du point 2 de passage et du point de début.
Format : MVC<Start point>, <Transit point 1>, <Transit point 2>
<Start point> Le point de début et le point final pour un cercle.
7
<Transit point 1> Point 1 de passage pour un arc circulaire.
<Transit point 2> Point 2 de passage pour un arc circulaire.
Dans le mouvement circulaire d'interpolation, un cercle est formé par 3 points, et l’outil fait un
tour complet (360 degrés)
Référence Programme
10 MVC P1, P2, P3
5 MVR (Déplace R) : Fonction : Effectue le mouvement circulaire à trois dimensions
d'interpolation du point de début au point final par l'intermédiaire des points de passage.
Format: MVR<Start point>, <Transit point>, <End point>
<Start Point> le point de départ pour l'arc circulaire.
<Transit Point> Point de passage pour l'arc circulaire.
<End Point> Point final pour l'arc circulaire.
dans le mouvement circulaire d'interpolation, un cercle est formé par trois points, et le robot se
déplace du point de départ au point final.
Référence Programme
10 MVR P1,P2,P3
6 MVS (Déplace S) : Fonction : Effectue le mouvement linéaire d'interpolation de la position
actuelle à la position cible.
Format : MVS < Target Position> [<Close distance>] ou MVS<Separation Distance>
< Target Position> La position finale pour l'interpolation linéaire.
<Close Distance> Si cette valeur est indiquée, la position finale est une position séparée par la
distance indiquée de la position cible dans la direction de l'axe Z de l'outil.
<Separation Distance> Si cette valeur est indiquée, le robot se déplacera de sa position de départ à
une position séparée par la valeur indiquée dans la direction de l'axe Z de l'outil.
Reference Programme
10 MVS P4, -50
30 MVS ,50
7 SPD (vitesse) : Fonction : Indique la vitesse pour les mouvements linéaires (MVS) et
circulaires du robot (MVC).
Format : SPD<Designated speed> <Designated Speed> Indiquez la vitesse comme nombre reel.
Unité : [ mm/s ]
Référence Programme
10 SPD 100
20 MVS P1
8 HOPEN/HCLOSE (pince ouverte/pince fermée) : Fonction : Commande l’ouverture ou
la fermeture de la pince
Format: HOPEN<Hand No.> HCLOSE<Hand No.> <Hand No.> sélectionne une valeur
numérique entre 1 et 8
8
Référence Programme
10 HOPEN 1 ' ouverture pince 1.
20 HCLOSE 2 ' fermeture pince 2.
9 WAIT (attente) : Fonction : Attend que la variable considéré atteigne la valeur indiquée.
Format: WAIT<Numeric value> = <Numeric constant> <Numeric value> Désigne une variable
M. <Numeric constant> Désigne une constante numérique. Cette commande assure une attente d'entrée
de signal. Par exemple ; attendre que la porte soit ouverte.
Reference Program
10WAIT M_IN (1) = 1
20WAIT M_01 = 100
10 DLY (Délai) : Fonction : Quand elle utilisé comme commande simple : Au temps désigné,
elle cause un retard. Quand elle utilisé comme sortie d’impulsion additionnelle : ça Indique un temps de
sortie pour une impulsion
Format : DLY <Time> <Time> Désigne le temps de retard ou le temps de sortie d’un signal.
Unité : [seconde]. La valeur minimum est de 0.05 seconde.
Référence Programme
10 DLY 30 ' retard de 30 secondes
11 IF THEN ELSE (Si alors sinon) : Fonction : Un processus est choisi et exécuté selon les
résultats d'une expression.
Format: IF <Expression> THEN <Process 1> [ELSE <Process 2>] <Expression> Désigne une
expression sous forme d’une comparaison ou une expression logique. <Process 1> est le processus qui se
réalise après THEN si le résultat de expression est vrai, et <Process 2> est le processus qui se réalise
après ELSE si le résultat de expression est faux.
Reference Programme
100 IF M1>10 THEN 1000
120 IF M_IN (5) =1 THEN GOTO 1000 ELSE GOTO 2000.
12 GOTO (aller à) : Fonction : Mène sans condition à un No de ligne ou une étiquette.
Format : GOTO<Branch destination> <Branch Destination> Décrit le numéro de ligne ou le nom
de l’étiquette.
Référence Programme
10 GOTO 1000 ‘ aller a la ligne 1000
13 END (FIN) : Fonction : Finit l'exécution du programme
Format : END
Reference Programme
100 END
14 Communication : MELFA-BASIC ne fournit pas des commandes pour la communication
entrée / sortie ; I/O. Il emploie plutôt des variables d’état. Les variables M_IN(index) et M_OUT(index)
avec l'index = 1..234567 (selon le tableaux d'I/O branchés au contrôleur) permettent d'accéder à l'interface
numérique d'I/O.
9
Format: M_IN (<expression>). M_OUT (<expression>). Commande une entrée ou une sortie
digitale.
Reference Programme
10 WAIT M_IN (3) = 1 'wait, until the digital input no. 3 is set to 1
10 M_OUT (4) = 0. 'The digital output no. 4 is set to 0
3.2 Créer un programme Pick and Place
Développer un programme qui exécute une tâche simple de Pick and Place en utilisant les
positions P1, P2 et P3 de la liste des positions :
• Vous devez initialiser le système (aller à P1, ouvrir la pince du robot et définir le SPD).
• Ensuite vous devez aller en rapide à la position du pick P2 avec une distance d’approche.
• Descendre en ralentie à la position du pick P2.
• Fermer la pince du robot pour saisir la pièce.
• Remonter en ralentie pour dégager la pièce de son logement.
• Aller vers la position initiale P1.
• Aller en rapide à la position du place P3 avec une distance d’approche.
• Descendre en ralentie à la position du place P3.
• Ouvrir la pince du robot pour poser la pièce.
• Remonter en ralentie pour dégager la pince de la pièce.
• Aller vers la position initiale P1.
Choisir la commande Compile+Link du menu Execute (CTRL+F9 ou bouton) pour vérifier le
projet et le charger au niveau de la simulation.
Dans la fenêtre Messages, tous les modules du système, modules du programme, et les listes des
positions ainsi que les erreurs et avertissements sont affichés.
Exécuter le programme robot.
10