10
Promeo - Université de Picardie Jules Verne 2015-2016 LPro Automatisme et Robotique Initiation à la Robotique Fabio Morbidi Page 1/10 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.

TP 3 – Découverte du robot Stäubli TX60fabio/Eng/documenti/Teaching/INRO... · TP 3 – Découverte du robot Stäubli TX60 ... (par exemple air comprimé pour une pince de préhension

Embed Size (px)

Citation preview

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

Fabio Morbidi Page 1/10

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.

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

Fabio Morbidi Page 2/10

(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

• Haute fiabilité et faible entretien 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 2 : Volume de travail du robot (vue de dessus).

Figure 3 : Schéma du robot.

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

Fabio Morbidi Page 3/10

(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

(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).

Figure 4: Contrôleur CS8C.

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

Fabio Morbidi Page 4/10

(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

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

Fabio Morbidi Page 5/10

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.

(1) Sélection du mode Mode Automatique (Production) Mode Manuel Mode local Mode déporté Mode lent Mode test

Le robot exécute une

application stockée dans le contrôleur

Le robot est commandé par un

programme déporté (sur un PC)

Let robot est contrôlé par l’opérateur

qui a le boîtier à la main

L'opérateur peut exécuter une

certaine tâche étape par étape

(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)

Figure 7 : Le boîtier d’apprentissage.

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

Fabio Morbidi Page 6/10

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

Joint Frame Tool Point

Déplacer le robot par rapport aux

axes des articulations

Déplacer le robot par rapport à son

repère de base (Z vers le haut)

Déplacer le robot par rapport au

repère outil mobile (Z vers l’extérieur)

Déplacer le robot 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

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

Fabio Morbidi Page 7/10

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

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

Fabio Morbidi Page 8/10

(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é

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

Fabio Morbidi Page 9/10

(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 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

Figure 9 : Définition des points.

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

Fabio Morbidi Page 10/10

• 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