Vous êtes sur la page 1sur 10

Promeo - Université de Picardie Jules Verne 2015-2016

LPro Automatisme et Robotique Initiation à la Robotique

TP 3 – Découverte du robot Stäubli TX60


Durée: 3h + 1h pour le compte rendu

Le but de ce dernier TP est de donner un aperçu sur un robot industriel Stäubli, de


décrire ses principaux composants (partie I), la façon de le contrôler à l'aide du boîtier
d'apprentissage (partie II) et enfin comment programmer hors ligne et exécuter une
application développée sur le robot (partie III).
Un compte rendu avec les programmes développés ainsi que les résultats
intermédiaires obtenus dans la partie III est à rendre à la fin de la séance par
chaque étudiant.

Partie I : Architecture globale

Le système robotique est composé de quatre éléments principaux (Figure 1):


(1) Le robot
(2) Le contrôleur (CS8)
(3) Le boîtier d'apprentissage (SP1)
(4) La Stäubli Robotics Suite dans un PC
Le dispositif de commande est l'élément central relié au reste des composants.
L'opérateur peut envoyer des commandes au manipulateur directement en utilisant le
boîtier d'apprentissage (ou "teach pendant"), qui envoie les opérations demandées au
PLC, qui, à son tour, envoie l'ordre au robot.
Cependant, un meilleur procédé consiste à programmer avec le langage VAL3 en
utilisant la Stäubli Robotics Suite (ou Studio dans les versions plus anciennes), qui est
un éditeur de développement (programmation). Le code développé est transféré à l'unité
de contrôle et, enfin, envoyé au robot.

Figure 1 : Système robotique Stäubli.

Fabio Morbidi Page 1/10


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Initiation à la Robotique

(1) Le robot


Le robot Stäubli TX60 (Figure 3) est un manipulateur anthropomorphe avec
poignet de type rotule à 6 DDL (RRRRRR), dont les caractéristiques et les
avantages principaux sont:

• Structure mécanique rigide


• Volume de travail sphérique
• Poignet compact et robuste
• Connexions à proximité de l'outil
(par exemple air comprimé pour une
pince de préhension pneumatique)
• Hautes vitesses et accélérations
• Haute précision et répétabilité
• Encombrement réduit
Figure 2 : Volume de travail du robot
• Haute fiabilité et faible entretien (vue de dessus).

Le manipulateur est constitué de éléments


reliés entre eux par des articulations.
Les mouvements sur les articulations du robot
sont générés par des servomoteurs couplés avec
des capteurs de position: chacun de ces moteurs
est équipé d'un frein de stationnement. Il s'agit
d'un système fiable et robuste qui permet de
connaître la position absolue du robot à tout
moment.

La Figure 2 montre le volume de travail du


robot. Les 6 DDL sont présentés dans la Figure 3,
ainsi que les différents éléments du robot:
(A) la base, (B) l'épaulement, (C) le bras, (D) le
coude, (E) l'avant-bras, et (F) le poignet.

Les principales spécifications du robot sont


données dans le tableau suivant.

Modèle TX60
Nombre de DDL 6
Charge nominale 3.5 kg
Charge maximale 9 kg
Rayon d'action 670 mm
Répétabilité ± 0.02 mm
Mode de fixation Sol, mur ou plafond Figure 3 : Schéma du robot.

Fabio Morbidi Page 2/10


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Initiation à la Robotique

(2) Le contrôleur:
Le contrôleur CS8C (Figure 4) se compose d'un dispositif de calcul, qui est la
partie intelligente du système. Ce dispositif guide le robot à travers des
amplificateurs de puissance dédiés pour
chaque axe du manipulateur. Le cycle de
l'unité de commande du robot se comporte
comme suit:
• Lecture des entrées
• Exécution d’un cycle du programme
• Ecriture des sorties
• Attente de la fin de cycle d'une
durée définie

Figure 4: Contrôleur CS8C.


(3) Le boîtier d'apprentissage
Le boîtier d'apprentissage est un terminal portable pour la commande du robot qui
offre un moyen pratique pour faire le déplacement du robot, l’apprentissage des
points, et l’exécution des programmes. Le terminal de programmation est un outil
très utile, qui permet à l'utilisateur de s’éloigner du terminal de l'ordinateur hôte et
de contrôler le robot à distance.

Typiquement, une application du robot est programmée avec des variables prises
par l'apprentissage et utilisées par la suite dans le langage de programmation.

La Figure 5 montre le boîtier d'apprentissage, ainsi que, dans l'image de gauche,


l'interrupteur de corps mort (#). Lorsque le boîtier est activé, il faut appuyer sur
cet interrupteur de sécurité pour autoriser les mouvements. En le relâchant, le
robot s'arrête immédiatement: c’est également le cas lors d’un appui sur le bouton
rouge d'arrêt d'urgence (voir la partie II, ci-dessous, pour plus d'informations).
Noter que le robot s'arrête également lorsque l'interrupteur du corps mort est trop
comprimé par l’opérateur.

Figure 5 : Le boîtier d'apprentissage. Recto (à droite) et verso (à gauche).

Fabio Morbidi Page 3/10


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Initiation à la Robotique

(4) Stäubli Robotics Suite

La Figure 6 montre la Stäubli Robotics Suite qui est la suite logicielle PC de


Stäubli regroupant tous les outils disponibles pour développer et maintenir une
application robotique.

Les fonctionalités de base sont listées ci-après:


• Transfert de fichiers entre le contrôleur de robot et le PC de développement
• Réalisation de sauvegarde de l’intégralité du système robot vers un PC distant
(backups), soit manuellement, soit en automatique, sur la base d’une tâche
planifiée
• Visualisation et manipulation du bras robotique dans la scène 3D (cellule)
• Exécution/modification des programmes VAL 3 dans le contrôleur
CS8C émulé
• Présentation de type fenêtre unique à l’agencement entièrement
personnalisable

Figure 6 : Stäubli Robotics Suite.

VAL3 est un langage destiné à la commande des robots Stäubli dans toutes
sortes d'applications. VAL3 combine les caractéristiques de base d'un langage
informatique temps réel standard de haut niveau, et les fonctionnalités spécifiques
du contrôle d'une cellule de robot industriel:

• Outils de contrôle du robot


• Outils de modélisation géométrique
• Outils de contrôle d'entrées/sorties

Fabio Morbidi Page 4/10


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Initiation à la Robotique

Partie II : Utilisation du boîtier d’apprentissage

La Figure 7 montre l'image du terminal


de programmation, avec tous les
boutons et ses fonctions. Ceux qui seront
utilisés dans ce TP sont décrits
ci-dessous.

Figure 7 : Le boîtier d’apprentissage.

(1) Sélection du mode

Mode Automatique (Production) Mode Manuel


Mode local Mode déporté Mode lent Mode test

Le robot exécute une Le robot est Let robot est L'opérateur peut
application stockée dans commandé par un contrôlé par exécuter une
le contrôleur programme déporté l’opérateur certaine tâche étape
qui a le boîtier
(sur un PC) par étape
à la main

(2) Bouton de power on/off


Cette touche permet d'activer/couper l'alimentation électrique
du robot

(3) Bouton d'arrêt d'urgence


L'arrêt d'urgence doit être poussé afin de bloquer
le robot, peu importe la tâche qu'il accomplit ou
la configuration réelle

(4) Boutons de mouvement


Ces touches permettent à l’utilisateur de déplacer le robot en fonction du mode de
déplacement (voir point (5) ci-dessous)

Fabio Morbidi Page 5/10


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Initiation à la Robotique

(5) Sélection du mode de déplacement

Joint Frame Tool Point

Déplacer le robot Déplacer le robot Déplacer le robot


par rapport aux par rapport à son par rapport au
axes des repère de base repère outil mobile Déplacer le robot
articulations (Z vers le haut) (Z vers l’extérieur) jusqu'à un certain
point ou position
articulaire (déjà
enregistré)

(6) Contrôle de vitesse


Pour contrôler la vitesse du robot manuellement (en pourcentage)

(7) Le menu contextuel


Utilisé pour valider l'information donnée sur l'écran juste en haut des boutons

(8) Clavier alpha-numérique


Utile pour entrer des données de l'application

(9) Boutons d'interface et de navigation


Une interface typique avec les boutons de haut, bas,
droite, gauche ainsi que les boutons sélection de
menu, Esc, Aide

(10) Les boutons de l’application


Ils sont les boutons qui permettent d'exécuter une application
programmée
- Move/Hold : bouton de lecture/pause
- Run : bouton pour charger l'application à exécuter
- Stop : bouton pour mettre fin à l'application courante

Fabio Morbidi Page 6/10


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Initiation à la Robotique

Partie III : Simulation


(1) Création d’une cellule de simulation
Suivez les étapes suivantes pour créer une cellule de simulation pour le robot
Stäubli TX60 (Attention: sélectionner la version à 64 bits de Windows au
démarrage de votre ordinateur):
• Ouvrir le logiciel Stäubli Robotics Suite 2013
• À partir de l’onglet « New » du menu principal, choisir la création d’une
nouvelle cellule à l’aide de « Assistant Nouvelle Cellule »
• Spécifier le nom de la cellule et le chemin du répertoire pour la sauvegarde
• Ajouter un contrôleur local « Controller » de version s7.6.1
• Choisir le type du robot: Stäubli TX60 fixé au sol (TX60 HB WS)
• Ne changer pas les options du contrôleur local
• Appuyer sur « finish » pour créer votre cellule
• Dans la barre horizontale, appuyer sur « Afficher la vue 3D » pour voir le robot
(2) Test des modes de déplacement
Le but de cette partie est de tester les différents modes de déplacement
(présentés dans la partie II-(5)) sur le robot Stäubli:
• Naviguer dans le menu « Cell Explorer » à droite et lancer l’émulateur du
contrôleur en faisant un clic droit sur « Controller »
• Dans l’onglet « Simulation » de la barre à outils en haut, démarrer la
synchronisation avec le robot en appuyant sur le bouton « play » ()

• Démarrer le robot en appuyant sur le bouton correspondant de l’émulateur.


Le bouton se met en vert pour indiquer que le robot a démaré
• Dans l’émulateur, tester les différents modes de déplacement (décrits dans la
partie II-(5))
• Déterminer et noter les butées articulaires de chaque articulation (clic droit sur
« TX60 » sur le « Cell Explorer »)
• Utiliser le mode « Frame » pour déplacer l’organe terminal du robot vers la
position [100, 300, 400]T dans le repère de la base du robot avec une
orientation [0, -π/6, 0]T. Trouver la valeur de la position articulaire
correspondante
• Utiliser le mode « Tool » pour déplacer l’organe terminal du robot vers la
position [400, -100, 300]T dans le repère de la base du robot avec une
orientation [π/3, -π/6, π/6]T. Trouver la valeur de la position articulaire
correspondante
• Commenter sur la facilité des mouvements dans chaque mode
Remarque: les positions du robot sont données en mm et les angles en degrés

Fabio Morbidi Page 7/10


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Initiation à la Robotique

(3) Création d’une application à partir de l’émulateur


Le but de cette partie est de créer une nouvelle application de votre cellule.
Cette application sera utilisée dans les parties suivantes pour définir des points
de l’espace et des trajectoires du robot
• Dans l’émulateur, créer une nouvelle application Val à partir de « Menu »
 « Application Manager »  « Val application »  « New ».
Nommer l’application « TP3 »
• L’application « TP3 » se trouve alors sous les « Val3 applications ». Vous
trouvez ici « Librairies », « User types », « Global data », « Programs » et
« Parameters »
• La partie « Global data » comprend plusieurs types de variables représentées
dans la Figure 8 ci-dessous

Figure 8 : Types de variables globales dans le gestionnaire d’application.

(4) Définition des variables à partir de l’émulateur


Cette partie consiste à définir plusieurs variables de différents types (position
articulaire, cartésienne, etc.)
• Définir un nouvel outil « flange » nommé « stylo » qui se trouve à 200 mm
selon l’axe Z
• Définir une nouvelle position articulaire « j0 » qui correspond à la position du
robot en vertical
• Définir un nouveau descripteur de mouvement « mdesc » nommé « mlent » qui
fait déplacer le robot à 20% (désactiver le mode « blend » pour éviter de lisser
la trajectoire)
• Définir un point « p0 » de votre choix dans le repère de la base « world ».
Attention à choisir le bon robot et à que le point soit accessible par l’organe
terminal du robot
Remarque : Pour la suite, avant toute manipulation de points, il faut
impérativement sélectionner l’outil de travail. L’outil « stylo » sera
alors utilisé

Fabio Morbidi Page 8/10


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Initiation à la Robotique

(5) Création et apprentissage de points


Le but de cette partie est de faire l’apprentissage de la pose de plusieurs points de
l’espace du robot. Ces points seront utilisés dans la suite pour définir la trajectoire
du robot

• Déplacer le robot dans un mode de votre choix pour arriver à une nouvelle
pose de l’outil
• Définir un point « pA » avec l’outil « stylo » qui est définit dans le repère de
base « world ». Laisser des valeurs nulles pour la position et l’orientation
• Appuyer sur la touche qui correspond a « Here » (F2) pour faire correspondre
la pose actuelle du robot au point sélectionné
« pA » (voir Figure 9)
• Définir alors six autres points « pB », « pC »,
« pD », « pE », « pF », « pG » de la même
manière que « pA »
• Attention aux symboles qui s’affichent à coté de
Figure 9 : Définition des points.
chaque point. Voir la Figure 10 ci-dessous pour
la signification des symboles

Figure 10: Apprentissage de points.

(6) Ecriture d’un programme en langage VAL3


Le but de cette dernière partie est de faire la découverte de la syntaxe du langage
VAL3 et d’apprendre quelques fonctions simples. En plus, développer un
programme qui fait déplacer le robot pour réaliser une trajectoire en segments de
droites entre les points définis dans la partie III-(5).

• Dans la partie « Application manager » du menu principal, passer dans la


section « Programs » pour créer votre programme et écrire votre code

• Ouvrir le programme « start » pour pouvoir le modifier

Fabio Morbidi Page 9/10


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Initiation à la Robotique

• Notes sur l’édition des programmes :


o Utiliser « Ins » pour insérer une nouvelle ligne après la sélection
o Ecrire une seule instruction par ligne
o Utiliser la touche « ENTREE » pour rééditer une ligne existante
o Utiliser la touche « ESC » pour annuler les modifications d’une ligne en
cours d’édition
o La syntaxe de chaque ligne doit être correcte, c'est-à-dire toutes les
variables doivent être définies
o Utiliser la touche « VAL3 » pour choisir dans la liste des instructions
o Saisie semi-automatique des mots: taper les premières lettres du mot et
appuyer sur une touche pour sélectionner dans une liste, presser la touche
« ENTREE » pour valider
o Utiliser la touche « Glo. » pour renseigner les paramètres des instructions
à partir de la liste des variables déjà définies.
• Les fonctions suivantes seront utilisées dans cette partie :
o Movej(point, tool, mdesc) ou Movej(joint, tool, mdesc) pour déplacer
l’effecteur « tool » du robot en mouvement courbe vers le point « point »
ou la position articulaire « joint » avec une vitesse et accélération décrite
par le descripteur de mouvements « mdesc »
o Movel(point, tool, mdesc) pour déplacer l’effecteur « tool » du robot en
en ligne droite vers le point « point » avec une vitesse et accélération
décrite par le descripteur de mouvements « mdesc »
• Ecriture du programme :
o Utiliser la fonction « movej » pour déplacer l’outil « stylo » vers la
position articulaire « j0 » avec la vitesse « mlent »
o Utiliser la fonction « movel » pour déplacer l’outil vers le point « pA »
avec la vitesse « mlent »
o Utiliser la fonction « movel » pour déplacer l’outil ensuite vers les points
définis plus haut: « pB », « pC », « pD », « pE », « pF » et « pG »
o Finir le programme avec l’instruction « waitEndMove() »

• Exécution du programme :
o Sauvegarder le programme en appuyant sur la touche correspondante
o Lancer le programme en mode manuel en utilisant la touche « Run »
du boitier d’apprentissage
o Relancer le programme en mode automatique

Fabio Morbidi Page 10/10