1 Règles de sécurité 4
2
d’une montre 14
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.2 Matériels utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3 Programmation du robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
A Quelques commandes de V+ 17
3
Chapitre 1
Règles de sécurité
RÈGLE 1
Veiller à ce qu’il n’y ait personne dans l’enveloppe de travail d’un robot en fonctionnement.
RÈGLE 2
Lors de l’exécution d’un programme, démarrer toujours le robot en vitesse lente. Après le déroulement
complet d’un cycle, il y a toujours l’opportunité d’augmenter la vitesse progressivement jusqu’à la valeur
finale désirée. Toutefois, une vitesse moniteur supérieure à 30% de la capacité maximale est interdite.
RÈGLE 3
Lors de la mise au point d’un programme, l’opérateur devra toujours se tenir prêt à appuyer sur le bouton
poussoir qui provoque l’arrêt immédiat du bras et, en dernière ressource, appuyer sur un des boutons
”ARRÊT D’URGENCE”. Le premier essai d’un programme doit toujours se faire sous la direction de
l’enseignant et donc avec son approbation. Dans la mesure du possible, il est fortement conseillé de
l’exécuter en pas à pas dans ce cas.
RÈGLE 4
Chaque fois que l’on déplace le robot à l’aide du pendant d’apprentissage, sélectionner une vitesse faible.
RÈGLE 5
(Interdit aux étudiants) Avant toute intervention sur le bras, couper, si possible, l’alimentation du bras.
RÈGLE 6
(Interdit aux étudiants) Avant toute intervention dans l’armoire de l’unité de commande, couper
l’alimentation générale.
4
Chapitre 2
Aussi tous les objets, emplacements, trajectoires seront-ils définis dans ce repère. Ainsi, l’instruction
HERE fournit la position et l’orientation du repère outil (TOOL) dans le repère de base (WORLD).
exemple :
X Y Z y p r
500 10 100 180 30 0
Cela signifie que pour retrouver le repère outil, il faut translater le repère de base de 500 mm suivant
X, de 10 mm suivant Y, de 100 mm suivant Z, puis tourner de 180 degrés suivant Z, 30 degrés suivant Y,
0 degré suivant Z (les axes X, Y et Z indiqués ici étant ceux du repère fixe WORLD).
Par ailleurs, comme l’objectif est de faire suivre une trajectoire à l’outil, il est nettement plus simple
d’associer les mouvements au repère outil. Ainsi les fonctions de mouvement (APPRO, DEPART ...)
sont directement définies dans le repère outil (Fig. 2.2).
Exemple :
DEPART 50, s’écarte de la position actuelle de 50 mm suivant l’axe Z du repère outil.
Il faut noter qu’à la mise sous tension du robot, le repère outil est défini comme étant un repère
propre au dernier axe. Le robot ”ignore” le type d’outil qu’il possède et bien sûr ses caractéristiques
géométriques. Afin que la commande soit ”consciente” de la présence d’un outil et donc fournisse la
position dans l’espace du bout de l’outil réel, il faut lui indiquer les caractéristiques de cet outil. Cette
opération s’effectue en utilisant la commande TOOL TRANS(x,y,z,α,β,γ). Après avoir effectué cette
5
F IG . 2.2: Repère associé à l’outil du robot (TOOL).
- 6
- ?
6
-
R1
- P1
WORLD
6
Cette méthode est rapidement entachée d’erreurs. En effet, le moindre écart sur l’orientation pro-
voque une grande erreur si le point à atteindre est éloigné du centre du repère.
La deuxième méthode, beaucoup plus précise et donc à préférer, consiste à définir un repère par trois
points. C’est l’instruction FRAME qui réalise cette opération.
Enfin la troisième méthode consiste à définir manuellement la position de ce repère dans le repère
WORLD en entrant directement ses coordonnées au clavier. En pratique, cette méthode est souvent
inemployable car on ne connait pas a priori les coordonnées du repère à définir par rapport au repère
WORLD du robot.
Noter que l’instruction ”MOVE A” ne veux pas dire ”aller au point A” mais ”positionner le repère
outil du robot en coı̈ncidence exacte (position et orientation) sur le repère A”.
7
Chapitre 3
• l’utilisation de repère relatif à une palette et de faire une tâche de pick-and-place dans ce repère,
Les robots Staübli RX90 est un robot à 6 axes (à poignet à trois axes concourants) et 6 degrés de
liberté. Les performances techniques de ce robot (Stäubli Unimation) permettent de couvrir un grand
nombre d’applications telles que manutention, assemblage, contrôle, etc . . .
La charge transportable nominale est de 2,5 kg pour le RX90. A vitesse rédute, la charge transpor-
table maximale est de 4,5 kg. Le rayon d’action du RX90 est de 985 mm et sa répétabilité est de 0,02
mm. Son langage de programmation est le V+.
8
F IG . 3.1: Robot Stäubli RX90.
• Faites ensuite la tâche de pick-and-place de quelques goupilles placées dans cette palette en utili-
sant les mouvements relativement au repère nouvellement crée.
• Réaliser le décalage du repère outil en prenant 4 points puis en utilisant un fichier de calcul .xls
mis à votre disposition. Vérifier ensuite si le décalage du repère outil est convenable.
9
Chapitre 4
Le but de la manipulation qui est proposée ici est de mettre en uvre une tâche de manipulation d’un rubis
de montre, pilotée par un système de vision artificielle (COGNEX). Les interactions entre le système de
vision, le robot pocket delta (société ASYRIL - CH) et le PC de programmation se font par ETHERNET.
Le système de vision, une fois programmé est autonome, de même que le robot.
10
4.2 Programme de travail
4.2.1 Etude du système web embarqué dans le robot destiné à son pilotage
Etudier le système d’interface web du robot. Quelle sont vos conclusions ?
Décrire l’utilité et la fonction des différents paramètres du modèle. Expliquer pourquoi le modèle en
question est stocké sur le disque du PC ?
4.2.4 Conclure
11
Chapitre 5
5.1 Introduction
On désire, par l’intermédiaire de ce TP, aborder les deux aspects suivants :
• lors de l’appui du bouton poussoir, départ du robot d’un point initial en même temps le tapis-1
ainsi que l’éclairage se mettent en marche,
12
(a) (b)
• retour vers le point initial puis le tapis-1 ainsi que l’éclairage s’arrêtent.
13
Chapitre 6
6.1 Introduction
Le but de ce TP est :
La manipulation utilise la force capillaire pour effectuer l’assemblage d’un pignon d’une montre
avec le corps de ce dernier. La goutte d’eau mise en place sur l’outil permettra de prendre (par adhésion)
le pignon. En effet, lorsqu’on manipule des objets dont les dimensions sont petites (les micro-objets),
les forces d’adhésions deviennent prépondérantes par rapport à la force gravitationnelle. Ces forces
d’adhésion, appelées également forces surfaciques, sont :
Si dans la plupart des cas ces forces sont sources de difficulté à faire du microassemlage ou de la
micromanipulation, dans certaines situations, elles peuvent être utilisées pour réussir des tâches parti-
culières.
14
(a) (b)
F IG . 6.1: Robot Mitsubish RP1-AH.
• créer un nouveau projet et réaliser le programme qui permet de prendre un mini-pignon grâce à
une goutte d’eau puis de le déposer sur le corsp d’une montre,
• s’il vous reste du temps, réalisation d’une tâche de pick-and-place d’une palette à une autre palette
en utilisant la fonction PLT (palette).
15
Chapitre 7
7.3 Question 1
.................
7.4 Question 2
.................
16
Annexe A
Quelques commandes de V+
La Table A.1 donne quelques commandes utilisée en V+. D’autres commandes sont disponibles dans la
documentation qui vient avec la baie de commande.
17
TAB . A.2: Commandes V+, suite
18
Annexe B
-------------------------------------------------------------
%%%
VERSION:1
LANGUAGE:ENGLISH
%%%
MODULE ESSAI
% toutes les declarations sont faites dans cette parties
PROC main()
% la procédure principale est insérée dans cette patrie
MOVEL p1,vmax,z10,tool0;
WHILE i<imax DO
p2:=OFFS(p1,i,0,0);
MOVEL p2,vmax,z10,tool0;
i:=i+5;
ENDWHILE
Outre le programme principal, il est possible de faire des sous-programmes. Ces sous-programmes
peuvent être appelés dans le programme principal. Voici quelques commandes pouvant être utiles pour
le TP.
19
CONST robtarget p1:=[[x,y,z],[q1,q2,q3,q4],[0,0,0,0],[9E+09,9E+09,9E+09,0,0,0]];
→ déclaration d’une constante de position de robot . Les coordonnées du point sont donnés par
[x,y,z] et [q1,q2,q3,q4] (orientation sous forme quaternion).
VAR num i;
→ déclaration d’une variable numérique.
MOVEL p1,vmax,z10,tool0;
→ permet de positionner le robot, vers la position p1, suivant une trajectoire linéaire. Le déplacement
se fait avec une vitesse vmax, des données de la zone z10 et l’outil tool10.
MOVEJ p1,vmax,z10,tool0;
→ permet de positionner le robot, vers la position p1, plus rapidement (pour l’optimisation du
temps, toutes les articulations1 bougent en même temps). Le déplacement se fait avec une vitesse vmax,
des données de la zone z10 et l’outil tool10.
p2:=OFFS(p1,50,50,-50);
→ le point p2 est obtenue par un décalage des coordonnées du point p1 de X=50; Y=50 et Z=-50.
WAITTIME 10;
→ délai de 10 secondes.
WAITDI SensorCP,1;
→ attente d’un appui sur le bouton poussoir SensorCP.
WAITDI SensorCP,0;
→ attente d’un relâchement du bouton poussoir SensorCP.
1
MOVEJ : J comme Joint qui veut dire articulation.
20
SETDO doPICK1B ACK, 0;
→ arrêt de l’éclairage.
SETGO VACBLOW,0;
→ arrêt de la pneumatique sur l’effceteur.
SETGO VACBLOW,1;
→ aspiration pneumatique sur l’effceteur, utilisée pour une prise d’objet.
SETGO VACBLOW,2;
→ souffle pneumatique sur l’effceteur, utilisé pour une dépose d’objet.
Les fonctions mathématiques tels que cos(.), sin(.), abs(.) ainsi que les opérations arithmétiques +,
−, / et ∗ sont utilisables dans RAPID.
21
Annexe C
COSIROP est un environnement de développement qui prend en compte notamment l’écriture de pro-
gramme en .MB4 (l’interpréteur MELFA BASIC 4) et l’enregistrement de coordonnées de robots en
.POS (base de données). La Table C.1 donne quelques commandes de base en MELFA BASIC 4.
22