ISIM - UM II. Table des matières. projet MEA3 1



Documents pareils
Monte charge de cuisine PRESENTATION DU MONTE CHARGE

Robots CNC. WITTMANN nommé «Meilleur achat» pour les robots. Technology working for you.

RELAIS STATIQUE. Tension commutée

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

AUTOPORTE III Notice de pose

1 Avant propos Le réseau informatique Le câble Les connecteurs La norme de câblage EIA/TIA 568B...

Atelier B : Maintivannes

Références pour la commande

VMT Mod : Ventilation modulée pour le tertiaire

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI.

Multichronomètre SA10 Présentation générale

MODE OPÉRATOIRE. VI) Le projet mené dans le cadre de la technologie. Le projet porte sur la réalisation d une horloge CD.

EXCEL TUTORIEL 2012/2013

ROTOLINE NOTICE DE POSE

Caractéristiques techniques

C est prêt! VISOR. Le capteur de vision avec lequel vous pouvez commencer tout de suite.

CELTIC-BAAS-Sa BAAT3003

guide de branchement

Programmes Prioritaires Nationaux : Fumées de soudage. Y. CAROMEL - Contrôleur de sécurité

MBR225. Le module a été conçu et réalisé conformément aux normes en vigueur portant sur la sûreté et la fiabilité des installations industrielles.

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX

Recopieur de position Type 4748

André Crosnier LIRMM ERII4, Robotique industrielle 1

APPENDICE B SYSTÈME DE PESAGE INTELLIGENT MODÈLE ILC3 ET LM3D VERSION 1.7

CIRCUIT DE CHARGE BOSCH

VigiClé Système «KeyWatcher»

Fiche technique CPU 314SC/DPM (314-6CG13)

Enregistreur sans papier. Interface LON. B Description des interfaces 10.99/

CIRCUITS DE PUISSANCE PNEUMATIQUES

UP 588/13 5WG AB13

METTRE A NIVEAU VOTRE ORDINATEUR

Projet Robot Centaure

Système de surveillance vidéo

ANALYSE FONCTIONNELLE INTERNE DEVOIR LIBRE

Solution Vidéo Surveillance

Le contenu de ce manuel peut faire l objet de modifications sans préavis et n engage pas la responsabilité de la société BENTEL SECURITY srl.

UGVL : HOMOLOGATION PS ZAC du bois Chaland 6 rue des Pyrénées LISES EVRY Cedex FRANCE Tel Fax

Tableau d Alarme Incendie Type 3 type marche/arrêt avec ou sans flash

Formations spécifiques

OCEANE Machine de brasage double vague

Oscillations libres des systèmes à deux degrés de liberté

Découvrir le. Discover. Lighting Technologies

Guide d installation & de démarrage Gamme Aqua PC Version AquaPro

Manuel d installation Lecteur XM3

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

F.A.Q 1.0 Designer 3D Atex System

Protéger son entreprise avec les solutions Cisco de vidéosurveillance pour les TPE-PME

Acquisition et conditionnement de l information Les capteurs

Cours de Mécanique du point matériel

CAHIER DES CHARGES GESTION DES STOCKS

crm+ capteurs à ultrasons Extrait de notre catalogue en ligne : Mise à jour :

Carte Relais GSM (Manuel Utilisateur)

Eléments constitutifs et synthèse des convertisseurs statiques. Convertisseur statique CVS. K à séquences convenables. Source d'entrée S1

Série 77 - Relais statiques modulaires 5A. Caractéristiques. Relais temporisés et relais de contrôle

Guide utilisateur. Parrot MKi9100. Français. Parrot MKi9100 Guide utilisateur 1

SÉRIE RM Découpeuses-Cambreuses RM 40K / RM 40KS / RM 40P

Pose avec volet roulant

AUTOMATISATION DES PROCÉDÉS COMMANDER ET SURVEILLER EN ZONE À RISQUE D EXPLOSION ET ENVIRONNEMENTS INDUSTRIELS SOLUTIONS HMI APERÇU DES PRODUITS

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

TP 7 : oscillateur de torsion

DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000

SOMe2100 MANUEL D UTILISATION. TRANSMETTEUR GSM/GPRS - M-Bus Master D INSTALLATION. Montage sur rail DIN. Notice simplifiée du module SOMe2100

Efficace et ciblée : La surveillance des signaux de télévision numérique (2)

Charging Electric Vehicles

BAMOSONIC IT. - Mesure de niveau -

LES TOUT PREMIERS PAS

RELEVÉ DES RÉVISIONS

KASTOspeed: Scies automatiques de production à lame circulaire pour le débit économique de très grandes séries dans l acier et les non-ferreux.

Relais d'arrêt d'urgence, protecteurs mobiles

Petit guide pratique de dépannage du système d alerte centralisée (modèles de 1980 à 1988)

SECURIT GSM Version 2

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

REALISATION d'un. ORDONNANCEUR à ECHEANCES

DYNTEST AML (Alarme/Moniteur/Logger) Surveillance du filtre à particules

Mise en scène d un modèle dans l espace 3D

Manuel d'utilisation de la maquette

F210. Automate de vision hautes fonctionnalités. Caractèristiques. Algorithmes vectoriels

Adaptabilité et flexibilité d une station de charge pour véhicules électriques

ORIENTATIONS POUR LA CLASSE DE TROISIÈME

Manuel Utilisateur Version 1.6 Décembre 2001

CFAO. Conception et Fabrication Assistée par Ordinateur. Le matériel utilisé en CFAO : un SYSTÈME AUTOMATISÉ. Barbecue Assisté par Ordinateur

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Manuel d utilisation pour la Presse à Transfert Grand Format Pneumatique Double Poste

Architecture matérielle des systèmes informatiques

Neu. Technique d installation / de surveillance. VARIMETER RCM Contrôleur différentiel type B IP 5883

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

GS301-A Notice d installation et d utilisation.

Conseil d administration Genève, novembre 2002 LILS

La solution à vos mesures de pression

Centrale d alarme DA996

MANUEL D INSTRUCTIONS K-STAR ÉLECTRIQUE Chauffe-piscine/spa électrique

MACHINES DE SCIAGE ET TRONCONNAGE MACHINES SPECIALES R 80 CN. Machine à commande numérique destinée au tronçonnage des dés.

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

VERROUILLAGES HT B. Objectifs

Notice d utilisation de la : Pro-Ject Debut & Debut Phono SB

Tableaux d alarme incendie de type 4-230V~ - 1 boucle / 2 boucles /62

Coffret Distributeur de DJ10: Distributeur de jetons (Avec PC embarqué Siemens et suite logicielle)

Détecteur de fumée. ALIMENTATION par pile 9V Communication. Modèle Ei 605C Optique. Description du produit. Fonctionnement

Transcription:

Table des matières Chapitre 1 : Robot Scara.. Présentation du robot Scara.. Cahier des charges Réalisation de la commande. P2 P2 P3 P4 Chapitre 2 : Robot KUKA Présentation du robot KUKA Cahier des charges Mise en service du robot KUKA.. Réalisation de la commande. Améliorations possibles Le robot en tant qu outil pédagogique.. P7 P7 P12 P14 P21 P28 P29 Chapitre 3 : Conclusion P33 projet MEA3 1

ROBOT SCARA 1 Présentation du robot Scara Description Il s agit d un robot IBM référencé 7547. (SCARA étant le type du robot). Il est constitué de trois articulations rotoïdes et d une prismatique (Voir figure 1). Il possède donc quatre degrés de liberté. Le système d'entraînement est assuré par des moteurs à courant continu pilotés par un variateur quatre quadrants. L environnement de programmation permet l écriture, la compilation et le transfert de programmes vers le robot pour l exécution de ceux-ci. Le langage de programmation est AML/E (A Manufacturing Language/Entry). Vue de dessus vue de côté -Figure 1 : Les quatre axes du robot SCARA- projet MEA3 2

Robot Scara Utilisation Bien que peu complexe de part son architecture, il est suffisant pour réaliser ce qu on appelle du pick and place comme on peut le voir sur la figure 1. C est d ailleurs l utilisation qui lui est attribuée sur la cellule. Le type de pièces manipulées ainsi que l outil utilisé sont représentés en figure 2. L outil est une ventouse qui nécessite un actionneur pneumatique (disponible sur le robot). La forme exacte des pièces est disponible en annexes 1 (p34). -Figure 2 : Pièces manipulées et préhenseur du robot SCARA- Cahier des charges Ce robot était déjà implanté auparavant sur la cellule. Il était utilisé alors pour effectuer le chargement en ancrage 2 et le déchargement en ancrage 3 des pièces circulant sur le convoyeur (voir figure 3). Etant donné l implantation d un nouveau robot (le KUKA) il sera utilisé alors pour évacuer des pièces en ancrage 3 lorsqu il en recevra l ordre de l automate (ce qui veut dire que les pièces ont été identifiées comme défectueuses par le système de vision). Autrement dit, il devra prendre la pièce sur le palet bloqué en ancrage 3 et la déposer dans un caisson de stockage des pièces à jeter. Il renverra un message à l automate, l avertissant que la pièce est prise, pour que le palet puisse être libéré de l ancrage 3. Voir figure 3. projet MEA3 3

Robot Scara Réalisation de la commande Introduction Détermination des points de Passage Le programme est nettement simplifié par rapport à son ancienne fonction de par la tâche à effectuer. Le nombre d entrées sorties utilisées est réduit à une entrée et une sortie. L entrée robot permet de recevoir l ordre d évacuation de la pièce et la sortie permet d indiquer le moment à partir duquel on peut débloquer le palet de l ancrage 3 (c est-à-dire que la pièce est prise par l outil et retirée du palet). Lors de la programmation, il est possible de trouver les points de passage par apprentissage en mode manuel (mode teach ). Les points sont définis dans un repère cartésien (x,y,z) et par un angle thêta qui détermine la rotation de l axe terminal portant l outil. Dans notre cas, cette rotation n est pas utile puisque l outil est une ventouse disposée sur l axe de la translation. Voir figure 1. Ici on a seulement quatre points de passage : la position de prise de la pièce la position haute de prise de la pièce pour extraire la pièce du palet et effectuer les déplacements sans risques de collisions la position de libération de la pièce dans le caisson des pièces défectueuses la position haute de la libération de la pièce Voir figures 3 et 4 -Figure 3 : L environnement de travail du robot SCARA- projet MEA3 4

Robot Scara -Figure 4 : points de passage de l outil du robot Scara- Communication Remarques Ce qui n apparaît pas sur l organigramme (figure 5), en particulier dans la communication, c est la réponse faite aux automates. Celle-ci est réalisée dès que la pièce est évacuée. Mais il faut aussi réinitialiser la variable correspondante en chaque début de procédure. L entrée utilisée pour recevoir la commande automate est l entrée 1, la sortie dédiée à la réponse en fin de procédure est la sortie 3. Les autres entrées sorties disponibles sur le robot SCARA sont fournies en annexes 1 (p34). On s aperçoit dans le programme que la déclaration des entrées et des sorties est identique. Elles sont différenciées au moment de la lecture ou de l écriture. Enfin, on remarque que les points de passage sont tous définis en tant que points indépendants. Or on peut les regrouper deux à deux car seule la position sur l axe Z change entre les deux premiers et les deux derniers points. On pourrait dédier une variable pour les déplacements en Z puisqu il existe une instruction spéciale pour ce mouvement. Mais dans notre cas cela ne simplifierait pas la programmation à cause du faible nombre de points définis. Le programme du robot SCARA est aussi en annexes 1. projet MEA3 5

Robot Scara Organigramme de la tâche à effectuer Début du programme NON Pièce à décharger? OUI Aller au dessus de la pièce. Descendre à hauteur de la pièce Prendre la pièce Remonter Avertir l automate de l évacuation Aller au dessus du caisson d évacuation Descendre Lâcher la pièce -Figure 5 : Organigramme de la tâche du robot Scara- projet MEA3 6

ROBOT KUKA 2 Présentation du robot KUKA Généralités Il s agit d un robot industriel de type KR6/2 possédant six axes. KR6/2 signifie qu il peut porter une charge de 6 kg sur l organe terminal et qu il est de deuxième génération. Il peut convenir pour toutes les tâches avec positionnement en continu c est à dire qui nécessite le contournage d une pièce, comme dans le cas d une soudure ou d un découpage par exemple. Ses principaux domaines d application sont : la manutention le montage l application de colle, produits de conservation ou d étanchéification l usinage le soudage Le système d entraînement est électromécanique avec servomoteurs AC commandés par transistors. On dispose d une précision de plus ou moins un dixième de millimètre en répétabilité. Il possède un volume de travail de 13,1 m³ et une extension horizontale maximale de 1,57m à partir de l axe A1. Les figures suivantes (figures 6 et 7) présentent la dénomination des axes du robot, ainsi que l amplitude de rotation et la vitesse maximale disponibles pour chacun des axes. Sur la figure 6 on peut voir le robot dans sa position de repli (position dite home dans le langage KUKA) dans laquelle les axes sont dans leur position d origine. projet MEA3 7

-Figure 6 : Axes de rotation et sens de rotation au déplacement du robot- -Figure 7 : Amplitude de rotation et vitesse de rotation de chaque axe du robot projet MEA3 8

La baie de Commande Le KCP Calibration La baie KRC1 assure le contrôle et l alimentation du robot. La baie de commande comprend un PC avec une carte MFC qui gère les entrées sorties du système (16 entrées, 16 + 4 sorties). La carte MFC, seule, ne permet des échanges qu en mode TOR (tout ou rien). Il est par contre possible de mettre le robot en réseau par l intermédiaire de différents protocoles de communication, sur des bus FIPIO ou PROFIBUS par exemple, mais il faut alors des cartes ou du matériel fournis en option. Une autre carte, nommée DSEAT, permet de commander six axes supplémentaires. Coté robot, l ensemble des capteurs et actionneurs sont contrôlés par la carte RDC présente dans le bâti du robot. Elle permet de convertir les données résolveur du robot en signaux numériques et assure le lien avec la baie. Un descriptif du système de commande est livré en annexes 2 (p 39). Le KCP ou Kuka Control Panel est, en fait, un pupitre de commande qui regroupe un clavier, un écran, une souris à six degrés de liberté, un arrêt d urgence et des touches ou boutons supplémentaires utilisés pour les différents modes de commande. Cette interface homme machine permet d effectuer des déplacements manuels, de programmer le robot et de visualiser certaines variables systèmes pendant l exécution d un programme. On dispose de quatre modes de fonctionnement : mode TEST1 pour tester les programmes à vitesse réduite en maintenant des touches de sécurité enfoncées. mode TEST2 pour tester les programmes à vitesse programmée en maintenant des touches de sécurité enfoncées. mode AUT (automatique) pour lancer l exécution d un programme sans sécurité permanente. mode AUT EXT pour lancer un programme de manière externe, à partir d un automate par exemple. La calibration consiste à trouver l origine exacte de chaque axe. La calibration peut se faire de trois manières différentes : avec un palpeur électronique (méthode qui offre la meilleure précision) avec un comparateur ou tout simplement à l œil nu en fixant les repères visuels (disponibles sur les axes en coïncidence) Il est évident que la méthode visuelle n est pas très précise mais elle peut suffire dans une application telle que la notre étant donné que l on fait l apprentissage des points visuellement aussi. Par contre la précision en répétabilté doit être importante mais celle-ci est projet MEA3 9

indépendante de la calibration. La position du robot dans laquelle tous les axes sont à l origine est initialement utilisée pour définir la position home (position de repli). Voir figure 6 Environnement de programmation Le robot KUKA possède un langage de programmation qui lui est propre, il s agit du KRL (Kuka Robot Language). Ce langage est similaire à du Pascal ou du C, à la différence près qu il possède bien évidemment des instructions de mouvement, pour déplacer le robot. Mouvements Il y a trois sortes de mouvements : mouvements point à point. mouvements linéaires. et mouvements circulaires. Les premiers permettent d avoir un mouvement le plus rapide possible car on utilise la vitesse et l accélération maximales autorisées sur chaque axe, mais en contre partie on ne peut pas prévoir le déplacement de l outil du point initial jusqu au point final. Voir figure 11. Les seconds permettent justement de déplacer l outil (et la pièce par conséquent) selon une trajectoire rectiligne, donc en suivant le chemin le plus court. Voir figure 12. Enfin, les mouvements circulaires génèrent des déplacements sur des arcs de cercle. Voir figure 13. Paramètres contrôlables Il est possible aussi de générer des mouvements relatifs par rapport à un point quelconque de l espace de travail du robot et d effectuer des lissages sur des points de passage. Voir figure 14. On a par ailleurs la capacité de contrôler l orientation de l outil au cours d un déplacement. -Figure 11 : Mouvements point à point- projet MEA3 10

ISIM - UM II -Figure 12 : Mouvements linéaires- -Figure 13 : Mouvements circulaires- -Figure 14 : Mouvement quelconque avec lissagetypes de fichiers : On a essentiellement trois types de fichiers. Les fichiers.src sont les fichiers sources qui contiennent donc les programmes. Les fichiers.dat contiennent les données, ils sont associés aux sources en portant le même nom. On y déclare les variables locales et les sous programmes externes au fichier.src susceptibles d être appelés par le programme principal. Enfin, les fichiers.err se créent automatiquement à la suite de la compilation si le programme présente des erreurs. Il est possible de l éditer pour visualiser les erreurs et ensuite les corriger grâce aux renseignements fournis. projet MEA3 11

Variables systèmes : Les variables système sont au cœur du système de contrôle du robot. On peut les lire et, dans la plupart des cas, les éditer. Elles conditionnent le fonctionnement du robot, il peut s agir de la base utilisée (repère défini pour l application), de l outil choisi, des mesures de calibration, de la position actuelle, la vitesse et l accélération autorisées sur chaque axe, etc. Le tableau ci après (figure 15) donne une liste de quelques variables systèmes qui peuvent être utiles dans une première approche de l environnement de programmation. Nom de la variable $ACC_AXIS[1] [6] $BASE $POS_ACT $TOOL $VEL_AXIS[1] [6] $WORKSPACE Description Accélération des axes dans le programme principal Décalage et rotation du repère base par rapport au repère world Position actuelle du robot, cartésienne Repère outil par rapport au repère bride du robot Vitesse des axes dans le programme principal Définition zone de travail -Figure 15 : Liste non exhaustive de variables systèmes- Cahier des charges Introduction Le robot KUKA est disposé, avec la cellule de traitement des pièces (composée du convoyeur, des poussoirs et du robot SCARA), dans un local fermé. L ensemble pourrait constituer un îlot sur un site de production d une usine quelconque. Le robot va permettre, grâce à son volume de travail important, d apporter ou de retirer des éléments sur cette cellule. Ces éléments sont les pièces sur lesquelles on travaille (voir figure 2). Le robot doit approvisionner la cellule en pièces quelconques pour qu elles soient étiquetées sur le convoyeur, mais il doit aussi les récupérer pour constituer des stocks de pièces homogènes dans le magasin extérieur à la cellule. (voir Figure 8) projet MEA3 12

Suivant la commande des automates, le robot exécutera la tâche qui lui aura été spécifiée. On peut donc le considérer comme un serveur vis à vis des automates. Fonctions détaillées Dans un premier temps, on considérera que le pièces à charger sur le convoyeur sont déjà sur la cellule, placées par un opérateur sur une ou plusieurs palettes d approvisionnement avant le lancement du mode automatique (voir Figure 8). Si le robot reçoit l ordre d approvisionner le palet vide bloqué en ancrage2, il doit aller prendre une pièce sur la palette d approvisionnement pour la déposer sur le palet. Si l automate indique au robot qu il a une pièce usinée en ancrage1, il doit la retirer du palet pour la déposer sur la palette du magasin qui reçoit les pièces usinées. Si l automate lui indique qu il a une pièce non usinée en ancrage1, il doit la retirer du palet pour ensuite la déposer sur la palette du magasin qui reçoit les pièces non usinées. Ainsi, on peut constituer des palettes remplies de pièces homogènes dans le magasin externe à la cellule. -Figure 8 : Représentation de l environnement du robot KUKA- projet MEA3 13

Mise en service du robot KUKA Introduction Fixation du robot Avant toute chose, il faut surtout garder à l esprit que ce robot est à manipuler avec beaucoup de précautions car il présente des risques importants pour les personnes. A titre indicatif, la vitesse maximale de rotation sur l axe 1 (qui fait tourner tout le robot sur lui-même) est de 152 /s. Il est très fortement conseillé de manipuler le robot à une distance non accessible par celui-ci et de toujours tester un programme pour la première fois en mode Test 1. Ce mode exécute les mouvements à vitesse réduite tant qu une touche de sécurité (dite homme mort ) est enfoncée. Après réception du robot, il a fallu le positionner par rapport au convoyeur et le fixer au sol. On a choisi l emplacement pour qu il ait un volume de travail le plus grand possible tout en évitant au maximum les possibilités de contact avec son environnement. Positionnement horizontal Il faut cependant qu il ait accès au point d ancrage et aux zones de stockage des pièces. On a donc pris la décision de le placer à égale distance des ancrages 1 et 2, et suffisamment près de la cellule pour atteindre la palette d approvisionnement. Voir figure 8 Positionnement vertical Enfin pour mettre le robot à hauteur du convoyeur, on a prévu un support métallique de 40 cm de hauteur. La hauteur idéale pour le robot a été déterminée à partir de l axe 2 par rapport à la hauteur du convoyeur. En effet, pour avoir une extension horizontale maximale, il faut pouvoir mettre le bras du robot en position horizontale. Il faut donc compter le rayon de la partie en mouvement autour de l axe 2. Voir figure 9 contraintes Suite à des essais, on s est rendu compte que le socle était soumis à des mouvements de torsion importants à cause des capacités d accélération du robot. En effet, le couple présenté en figure 9 est fonction de l accélération en rotation du robot. On a donc ajouté des renforts disposés de manière à résister au mieux à ce phénomène. Voir figure 9 projet MEA3 14

-Figure 9 : Vue simplifiée du positionnement du robot et de son support- Alimentation Secteur Branchements du robot Le robot est alimenté par la baie de commande. Celle-ci est branchée sur le secteur utilisant une alimentation triphasée (3*400V à 3*415V) avec champ de rotation à droite. La tolérance autorisée pour la tension nominale est de 400V -10% à 415V +10%. On autorise une fréquence d oscillation comprise entre 49 et 61 Hz. Pour des raisons de sécurité, les locaux sont protégés contre les courants de fuite par un disjoncteur différentiel de 30mA (courant de déclenchement). Or les courants de fuite du robot sont supérieurs à 30mA (jusqu à 100mA) et cela nécessite l installation d un disjoncteur différentiel de 300mA (préconisé par KUKA). On a donc deux branchements secteur découplés, un pour le robot KUKA et un autre pour le reste de la cellule. Sur la baie de commande se trouvent tous les connecteurs disponibles. Certains sont indispensables pour le fonctionnement du robot. Ils sont au nombre de cinq : Un connecteur pour l alimentation générale Un connecteur pour l interface homme machine (KCP) Un connecteur pour la commande en puissance du robot Un connecteur pour les données robot Un connecteur pour la périphérie projet MEA3 15

Mode de fonctionnement autonome Comme nous l avons vu précédemment, parmi les différents connecteurs présents sur la baie de commande, il y en a un qui est spécifique pour la périphérique, c est-à-dire qu il est relié à la carte MFC et permet de gérer notamment les signaux d entrées sorties. Suivant le mode d utilisation du robot (autonome ou pas) et/ou les périphériques branchés, il faut réaliser les branchements appropriés concernant le dispositif de sécurité (arrêt d urgence). Application Dans notre cas, le robot aura un fonctionnement autonome, ce qui signifie qu il ne sera pas commandé de manière extérieure et que l opérateur devra lancer lui-même le programme. Ceci ne veut pas dire qu il ne sera pas synchronisé avec les automates pour effectuer les tâches qui lui incombent. Le détail de tous les connecteurs présents sur la baie de commande est disponible en annexes 2 (p39), ainsi que les connexions nécessaires au mode de fonctionnement autonome. Choix du Préhenseur Le choix du préhenseur dépend évidemment des pièces (au sens général du terme) à manipuler. Les pièces présentent une forme cylindrique (qu elles soient usinées ou non), et sont de petite taille (moins de 5 cm de hauteur). Voir figure 2. Parmi les différents types d outils, celui qui a été retenu pour la manipulation des pièces est une pince avec centrage automatique (voir figure 9). Contraintes de résistance de la pince Pour ne pas perdre la pièce, la pince doit résister à la force verticale due au poids de la pièce mais aussi à celle due à l accélération imposée par le robot. Cette accélération sera le plus souvent dans le plan horizontal car les mouvements les plus longs auront lieu dans ce plan (en raison des tâches à effectuer). Etant donné le faible poids des pièces et les importantes capacités d accélération du robot KUKA, la force la plus importante des deux est celle due à l accélération horizontale. C est pourquoi ce type d outil est préférable au système de ventouse utilisée sur le robot SCARA. Contraintes de déplacement du robot Par contre, cette pince impose aussi au robot d arriver verticalement sur la pièce à cause de sa géométrie. Voir Figure 9 Contrairement aux axes A1, A2, A3 et A5 qui ont des butées physiques, les axes A4 et A6 ne sont limités en rotation que par des butées logicielles dont on peut s affranchir. Elles sont cependant nécessaires suivant le type d outil utilisé. projet MEA3 16

Dans notre cas, l outil est une pince commandée par un actionneur pneumatique, donc on a au moins un tuyau d air sous pression qui devra longer le bras du robot. C est donc un élément restrictif à la rotation infinie des axes A4 et A6. -Figure 9 : Les différentes vues du préhenseur- Mesure de la géométrie du préhenseur Pour pouvoir effectuer des manipulations de pièces avec précision, il faut apprendre au robot la géométrie de l outil utilisé. Le robot peut mémoriser jusqu à 16 outils répertoriés dans les variables système $TOOL. La mesure de l outil permet de définir la position et l orientation du repère lié au centre d outil dans le repère de la bride en bout du dernier axe. position La position du centre du nouveau repère est calculée par la méthode des quatre points. On place le centre de l outil en un point avec quatre orientations différentes, il est au centre de la sphère décrite par les quatre positions du centre de la bride. Voir Figure 10. projet MEA3 17

orientation Pour déterminer l orientation, deux méthodes sont possibles (mesure 5D et mesure 6D) Mais cette mesure est inutile car, pour l outil choisi ici, le repère associé n introduit qu une translation sur l axe X par rapport au centre de la bride du robot. Il n y a donc pas de changement d orientation du repère. -Figure 10 : Mesure de la géométrie de l outil- Zone de travail Pour des questions de sécurité et/ou de protection du matériel, il est possible de limiter l amplitude de rotation sur chaque axe. Mais cela est assez contraignant quant aux générations de mouvements et ne permet pas vraiment de protéger le robot et son environnement. C est pourquoi KUKA a prévu le moyen de définir jusqu à huit zones de travail parallélépipédiques dans les variables systèmes $WORKSPACE. Accès aux volumes de travail On peut autoriser ou interdire l accès à ces zones de travail. Elles sont définies par un point de référence (centre du repère associé au volume), par les dimensions du volume et par l orientation dans l espace. Ceci permet donc de définir un volume de travail complexe et bien approprié à la géométrie de l environnement du robot. Application Dans notre cas, il y a un certain nombre de zones qui pourraient être atteintes et qui impliqueraient inévitablement des dégâts matériels importants. Ces zones sont principalement : le robot SCARA, la partie basse de la cellule, et le mur à proximité de la cellule. projet MEA3 18

Les bases Les bases sont les différents repères associés au robot. Ils peuvent être définis par construction ou par l utilisateur lui-même en fonction de ses besoins pour la génération de mouvements du robot. Voir Figure 16. Il y a trois sortes de base : la base WORLD : elle est unique et protégée en écriture. Elle sert de référence pour la définition de toutes les autres et se situe dans la base du robot, le plan XY étant horizontal et l axe OX dirigé dans la direction du bras du robot quand il est en position home. les bases simples qui définissent des repères quelconques utiles au programmeur. Elles servent à effectuer des positionnements sans avoir besoin de faire l apprentissage de points de passage, mais aussi des déplacements relatifs dans ces systèmes de coordonnées. Les bases liées aux différents outils que le robot peut manipuler. Dans une même application, le robot peut avoir à changer d outil. Même si ce n est pas encore notre cas, il y aura toujours au moins un outil donc une base associée. Elle est facultative mais elle s avérera parfois très utile ou au moins pratique pour l apprentissage de points. -Figure 16 : Les différents systèmes de coordonnées- projet MEA3 19

intérêt Pour chaque application, on peut associer plusieurs bases pour faciliter la programmation et même parfois réduire le nombre d apprentissages de points de passage. Ici, le positionnement initial du robot par rapport à la cellule ne permet pas de se repérer facilement pour faire des trajectoires dans l espace de travail. Il est donc judicieux d associer une base (un repère orthonormé) à la cellule. Le choix du repère est totalement arbitraire et laissé au programmeur. applications Ce qui pose le plus de difficultés, c est sans aucun doute le repérage de la palette d approvisionnement sur la cellule. En effet, il est plus simple pour les points d ancrage de faire un apprentissage de points plutôt que d y associer une base. Par contre, la palette devra être approchée en différents points pour prendre toutes les pièces qu elle contient. Plutôt que d apprendre tous les points de la palette, il est préférable de programmer des déplacements relatifs à partir d un point initial. Ceci est possible puisque l espacement des pièces sur la palette est régulier. De plus, comme toutes les palettes sont identiques, la procédure de positionnement sur la palette pourra servir dans toutes les procédures. Nous verrons la mise au point de cette fonction dans les sous-chapitres suivants. Entrées / sorties On dispose de 16 entrées et 16 sorties à 200mA plus 4 sorties à 2A. Le contrôle de ces signaux se fait par l intermédiaire des variables systèmes $IN et $OUT. Il est possible de les regrouper pour accéder à des plages d entrées sorties. Le regroupement se fait dans les variables de type $SIGNAL. $IN[i] peut prendre les valeurs TRUE et FALSE, mais la plage $IN[i i+j] permet de coder 2 j valeurs. Nous utilisons les 4 premières entrées ainsi que les deux premières sorties pour établir la communication avec les automates par l intermédiaire des modules déportés. Par ailleurs, nous avons prévu une sortie 2A pour commander l électrovanne de 10W qui permet d actionner la pince. Les tableaux de câblage des entrées sorties sont fournis en annexes 2 (p39). projet MEA3 20

Réalisation de la commande Introduction Un programme doit être écrit dans un fichier source mais il peut faire appel à des sous-programmes ou fonctions globaux définis dans d autres fichiers sources. On peut aussi définir des sous programmes et fonctions locaux à la suite du programme principal dans le même fichier source. Etant donné l application, il n est pas nécessaire de fragmenter le programme en plusieurs fichiers.src. Par contre le programme sera subdivisé en sous programmes qui réaliseront les différentes tâches qui peuvent être demandées au robot. Ces tâches sont respectivement : charger les palets vides en ancrage2. décharger de l ancrage1 les pièces non usinées. décharger de l ancrage1 les pièces usinées. Les répétitions de procédures de placement des pièces sur les palettes seront traitées par une seule et même fonction à laquelle on passera les paramètres nécessaires. Communication En plus des tâches à réaliser par le robot, il faut instaurer des procédures de communication suivant le protocole établi pour recevoir les ordres des automates et répondre une fois la commande exécutée. Si une erreur se produit lors de l exécution, il faut pouvoir l indiquer de manière à ce que ce soit pris en compte tant au niveau des automates que du superviseur à posteriori. Réception de commandes La fonction de réception de la commande doit être permanente, c est pourquoi elle est placée dans une boucle sans fin dans le programme principal. Ensuite suivant l ordre reçu, cette même fonction fera appel au sous-programme correspondant. Voir Graphcet généralisé de la commande du robot. Réponse Dans chaque sous-programme, il faut obligatoirement appeler la procédure de réponse pour indiquer la fin de la tâche ou éventuellement une erreur lors de son exécution. Un message d erreur est envoyé quand on dépasse les capacités d une palette (de 8 pièces). Un signal de fin de tâche est envoyé dès qu une pièce a été prise ou posée sur un palet pour que celui-ci puisse être libéré de l ancrage. projet MEA3 21

Codage des signaux d entrées/sorties Les automates possèdent un nombre réduit d entrées sorties. Il faut donc limiter le nombre d entées sorties utilisées sur des modules déportés pour la communication. Par ailleurs on doit disposer de suffisamment de possibilités pour effectuer toutes les commandes sur le robot. Par conséquent, on est amené à utiliser des entrées robot successives pour coder les instructions sur des nombres numériques et non en considérant les entrées comme des signaux individuels. Ainsi, au lieu d utiliser 3 bits séparément pour avoir 3 commandes différentes, on code ces instructions sur 2 bits ce qui offre 4 combinaisons. On a donc une possibilité de plus qui permet la commande d inhibition (si aucun ordre n est envoyé) nécessaire avec ce type de commande. On dispose de 2 entrées et de 4 sorties sur les modules déportés des automates. On a plus de combinaisons que nécessaires mais elles pourront servir ultérieurement pour coder d autres commandes. Graphcet généralisé de la commande du robot -Figure 17 : vue générale du fonctionnement du robot KUKA- projet MEA3 22

Organigramme de la tâche de chargement des pièces sur les palets en ancrage2 -Figure 18 : chargement d une pièce en ancrage 2- projet MEA3 23

Organigramme de la tâche de déchargement des pièces des palets en ancrage1 -Figure 19 : chargement d une pièce en ancrage 1- projet MEA3 24

Remarques Remarque 1 : Il n est pas nécessaire de définir deux organigrammes différents pour la tâche d évacuation des pièces usinées et des pièces non usinées. En effet, il s agit bien du même sous programme mis à part le point de destination. Suivant le type de pièce, on se dirigera vers l une ou l autre des palettes du stock. Remarque 2 : Il est recommandé de définir un repère pour le magasin qui permettra d avoir une seule et même fonction de prise de pièce quelles que soient la position et surtout l orientation des palettes du magasin. Voir Figure 20 -Figure 20 : Les différents repères du robot KUKA- Remarque 3 : On aurait pu définir deux bases différentes pour les deux palettes mais leur orientation est identique donc il est plus simple d apprendre un point de passage supplémentaire. projet MEA3 25

Remarque 4 : Bien entendu, il est possible de placer toutes les palettes dans la même direction mais ceci présenterait moins d avantage sur le plan pédagogique car rappelons-le, cette cellule est avant tout un objet pédagogique. De plus, au cours des améliorations futures, il est possible que les palettes soient disposées sur un plan incliné. Or cette méthode permet de s adapter quelle que soit l orientation des palettes dans l espace. Déplacements relatifs Grâce à la définition des bases associées à la palette d approvisionnement d une part, et aux palettes du magasin d autre part, on peut générer des mouvements relatifs sur chaque palette. Voir figure 21 intérêt Ces mouvements relatifs nous évitent de faire l apprentissage de tous les emplacements de pièces sur la palette. Ainsi nous disposerons d un sous programme auquel on peut faire appel chaque fois que l on doit exécuter une tâche. Ce sous programme est appelé DEPLA_RELA. contraintes Il faut nécessairement passer au sous programme un paramètre pour savoir comment a été remplie ou vidée la palette sur laquelle on veut travailler. A chaque fois que l on appelle la procédure de chargement ou d évacuation, on incrémente un compteur dédié à la palette en question. C est ce compteur qui va permettre de savoir sur quel emplacement il faut aller. Avant de penser aux déplacements relatifs, il faut choisir un point de départ qui sert de référence. Pour une question de facilité, on choisit le centre du premier emplacement, c est-à-dire l emplacement le plus proche du centre du repère. Par conséquent il faudra toujours définir un point à cette position de la palette. projet MEA3 26

-Figure 21 : Base palette et déplacements relatifs- Sous programme de déplacement relatif Si la valeur de la variable de comptage est nulle alors il n est pas nécessaire de se déplacer au dessus de la palette. Si la valeur est comprise entre 1 et 3 inclus, alors on déplace le robot de 50 mm dans le sens des X croissants. Si la valeur est comprise entre 4 et 7 inclus alors on déplace d abord le robot de 50mm dans le sens des Y croissants, puis le long de l axe X si nécessaire. On s aperçoit que les déplacements sur l axe X sont redondant, donc on crée encore un sous programme dédié à cette application. Il s agit ici de la procédure DEPLA_X, qui reçoit à son tour une variable de comptage. Prise et pose de pièces De la même manière, il est intéressant de définir des sous programmes pour la prise et la pose des pièces. Le principe est simple : une fois que l on est au-dessus de l emplacement (on rappelle qu il faut approcher la pièce verticalement), il faut descendre, agripper ou relâcher la pièce, puis remonter verticalement. projet MEA3 27

contraintes Cependant on est confronté à un problème. Les fonctions de déplacement (ptp, lin, circ) n acceptent que des constantes comme paramètres. Autrement dit le déplacement relatif (en Z cette fois) doit être constant, ce qui veut dire que l on doit toujours se positionner à la même hauteur par rapport à la palette. Or les palettes du magasin ne sont pas à la même hauteur que les palets sur le convoyeur. Solutions possibles Ces contraintes imposent de faire l apprentissage en mesurant cette hauteur. Une façon de s en affranchir de cette contrainte serait de passer en paramètre le nombre N d itérations souhaitées sur un déplacement vertical prédéterminé. Mais il faudrait être suffisamment précis pour trouver un nombre d itérations convenable. Donc le robot devrait se déplacer par pas successifs et donc on perdrait en rapidité de d exécution. Fichier source et fichier de données Le fichier source est fourni en annexes 2 (p39) sous le nom de PROG1. Vous pourrez y retrouver aussi le fichier de données portant le même nom mais avec l extension.dat. Ce fichier est créé automatiquement dès que l on fait l apprentissage d un point de passage. Tous les paramètres des positions sont mémorisés dans ce fichier. Améliorations possibles Cahier des Charges Il serait intéressant de compléter le cahier des charges pour avoir un fonctionnement cyclique. En effet lorsque le magasin est rempli, les palettes d approvisionnement sont vides et le tri est donc terminé, il serait alors inutile de recommencer le même cycle. Donc une fois ce cycle achevé, on envisage de procéder à la constitution de palettes qui comporteraient un certain nombre de pièces usinées et un certain nombre de pièces non usinées. Il faudra alors compter le nombre de pièces par type que l on dispose sur des palettes vides. De plus, pour réaliser ceci, il faut amener les palettes homogènes sur la cellule et les palettes vides sur le magasin. Pour cela on doit disposer d une zone tampon de stockage de palettes. projet MEA3 28

Fonctionnalités du robot KUKA Aspect communication Un autre aspect intéressant est la gestion d interruptions, c est-à-dire que si plusieurs commandes arrivent simultanément, on choisit la tâche prioritaire suivant les événements. L environnement de programmation du robot KUKA permet d introduire des interruptions. Les événements de commutation peuvent être l arrivée en saturation d un ancrage (bien que ce soit les automates qui en soient informés) ou bien le nombre de pièces évacuées (on s arrange pour que l approvisionnement ne soit jamais vide), etc. Pour l instant, ce sont les automates qui gèrent les conflits par des sémaphores. Donc une seule commande à la fois peut parvenir au robot. Une fois la procédure exécutée, on renvoie un message de fin. On attend alors une nouvelle instruction. Le fait d avoir plusieurs commandes possibles en même temps impose une autre gestion de la communication. Il serait judicieux d ajouter des signaux de ready et de strobe afin de synchroniser les signaux échangés et donc d éviter des interprétations erronées dans le cas ou deux ordres différents se suivraient. Le robot en tant qu outil pédagogique Sécurité Il est important de sensibiliser les utilisateurs aux risques que comporte la manipulation d un tel robot. Cela peut amener à une réflexion sur les moyens à mettre en œuvre pour limiter au maximum ces risques tant sur le plan matériel que logiciel. Une première solution matérielle serait de placer un commutateur qui déclenche un arrêt d urgence si l on ouvre la porte du local de la cellule. Par ailleurs, il existe des systèmes de fixation d outil qui permettent également d agir sur le circuit d arrêt d urgence. Les solutions logicielles sont nombreuses mais il faut trouver la ou les plus adaptées. Parmi elles : Limitation de la rotation des axes Limitation du volume de travail Diminution de la vitesse maximale grâce aux variables systèmes Suppression de modes de fonctionnement grâce aux variables systèmes projet MEA3 29

Manipulation et contraintes Le robot KUKA permettra aux étudiants de se familiariser avec la manipulation d un robot six axes et ainsi découvrir les contraintes que cela comporte. Prenons par exemple le cas des cinématiques ambiguës. Parfois, le robot a deux possibilités pour passer d une position à une autre. Si on ne paramètre pas le mode de déplacement, le robot se bloque et envoie un message d erreur. L ambiguïté provoque une demande d accélération trop importante pour le robot. Voir figure 22 -Figure 22 : exemples pour cinématique de robot ambiguë- Génération de Trajectoires Ce type de robot permet d étudier de nombreux problèmes de génération de trajectoires. En effet on peut, par exemple, paramétrer la vitesse et l accélération maximales sur chaque axe. Il est donc possible de vérifier par simulation des études réalisées au cours des enseignements théoriques. Ces études peuvent porter sur : les déplacements à vitesse maximale les déplacements linéaires les lissages de trajectoires avec la dualité erreur de trajectoire et accélération désirées. les changements de repère le passage de l espace opérationnel à l espace articulaire et inversement. projet MEA3 30

Ci-après, deux exemples de génération de trajectoires : Le premier indique la vitesse et l accélération maximales autorisées sur un axe pour un déplacement le plus rapide possible (loi trapèze). Le deuxième montre un exemple de rotation d un axe synchronisée avec la rotation des autres axes pour avoir un déplacement linéaire de l outil. -Figure 23 : trajectoire à vitesse et accélération maximales- -Figure 23 : vitesse et accélération d un axe pour trajectoire linéaire- Traitement des interruptions Par ailleurs, on peut simuler des cas de gestion de priorités au même titre qu en langage temps réel. Il s agit de programmer des séquences déclenchées suivant des événements particuliers. Ces événements provoquent des interruptions momentanées de tâches pour exécuter des procédures plus urgentes. projet MEA3 31

Les interruptions peuvent être déclenchées par : Des appareils comme les capteurs, les unités périphériques (superviseur), etc. Les messages de défaut L utilisateur Des arrêts de sécurité Réseaux locaux Industriels Enfin, le robot peut être relié aux différents réseaux locaux (FIPIO, CAN, PROFIBUS, Interbus, Ethernet) afin de mettre en évidence leurs particularités et leur meilleure utilisation. D une manière générale, le robot KUKA offre de nombreuses possibilités et donc des applications potentiellement réalisables sur les réseaux locaux industriels. projet MEA3 32

CONCLUSION 3 Le projet a permis d implanter le robot KUKA sur la cellule flexible robotisée en l adaptant à son environnement de travail tant sur le plan matériel que logiciel. Le rôle du robot a été défini de manière à développer une application complète en corrélation avec la commande des automates. Par ailleurs, ceci a été réalisé tout en gardant une application pour le robot Scara. Le robot Scara, bien que peu récent, permet de connaître les robots d anciennes générations qui peuvent encore avoir une place dans l industrie aujourd hui. Son activité sur la cellule flexible robotisée est cependant amoindrie du fait de l implantation du robot KUKA. Il est réservé au robot KUKA une plus grande marge d utilisation car il est beaucoup plus intéressant sur le plan de la robotique et permettra de plus nombreuses applications pédagogiques sur la cellule. En effet, sa géométrie permet d étudier des générations de trajectoires complexes, et son environnement de programmation d appliquer non seulement des connaissances en robotique mais aussi des notions sur les réseaux locaux industriels ou sur le langage temps réel. Le système complet fonctionne de manière autonome, la commande des deux robots étant synchronisée avec celle des automates. Toutefois, des améliorations sont à prévoir. Il serait intéressant par exemple, de développer plusieurs types de tâches différentes pour avoir des fonctionnements cycliques variés de la cellule. De plus, les possibilités de déplacements des objets manipulés sont accrues par les capacités d un robot six axes (KUKA) comparativement à celles du robot Scara. Le but de ceci est de rendre cette cellule flexible robotisée véritablement comparable à une réalité industrielle. projet MEA3 33

projet MEA3 34

Tableaux de référence des entrées du robot SCARA projet MEA3 35

Tableaux de référence des sorties du robot SCARA projet MEA3 36

Tableaux de câblage des entrées sorties du robot KUKA Bornes Numéro sur connecteur de périphérie X11 Couleur Entrée 1 64 Violet Entrée 2 82 Vert Entrée 3 100 Jaune Entrée 4 65 Marron 0V entrées 1 à 8 99 Noir Entrées câblées sur la baie de commande du robot KUKA Bornes Numéro sur connecteur de périphérie X11 Couleur Sortie 1 93 Rose Sortie 2 58 Turquoise Sortie 3 76 Bleu 0V sorties 1 à 8 75 Blanc +24V sorties 1 à 8 57 Orange Sortie 17 91 Vert jaune (gros diamètre) 0V sorties 17 à 20 73 Bleu (gros diamètre) +24V sorties 17 à 20 55 Marron (gros diamètre) Sorties câblées sur la baie de commande du robot KUKA projet MEA3 37

projet MEA3 38

Schéma ce câblage du connecteur X11 pour un fonctionnement autonome du robot projet MEA3 39

Schéma des connexions indispensables pour la mise en route du robot projet MEA3 40

Description du système d entraînement du robot projet MEA3 41

Description des pièces manipulées projet MEA3 42