Programmes Robot

RoboDK est un logiciel de Simulation et de Programmation Hors Ligne dans le domaine de la robotique. La Programmation Hors Ligne permet de créer, simuler et générer des programmes robots sans avoir besoin d’être connecté à la baie du robot.

Afin de créer un programme robot, il est nécessaire de sélectionner un robot, charger les outils du robot et d’utiliser un ou plusieurs fichiers CAO afin de programmer la trajectoire du robot en ajoutant des cibles ou en utilisant des options spécifiques (tels que la conversion d’un programme CNC vers un programme robot)

Une Bibliothèque en ligne de robots industriels est disponible. Les robots sont modélisés dans RoboDK de la même manière qu’ils se comportent avec les contrôleurs spécifiques des marques, incluant les limites d’axes, sens des mouvements et les liaisons des axes. 

Robot Programs - Image 1

Cette section montre comment un programme robot est créé, simulé et généré pour un contrôleur d’une marque spécifique en utilisant l’interface utilisateur (GUI / Graphical User Interface) de RoboDK GUI.

Programmation hors-ligne

La PHL - Programmation Lors-Ligne (Offline Programming) veut dire que l’on programme le robot hors environnement de production. La programmation hors-ligne évite les arrêts de production causés par la programmation en ligne sur le robot. (Programmation utilisant le teach pendant).

La simulation et la programmation hors-ligne permettent d’étudier de multiples scénarios pour une cellule robot avant de démarrer en production. D’éventuelles erreurs de conception d’une cellule peuvent alors être prédites et corrigées par avance.

La programmation hors ligne est un excellent moyen de maximiser les retours sur investissement de systèmes robotisés mais nécessite toutefois des outils de simulation appropriés. Le temps pour la mise au point de nouveaux programmes peut être réduit de plusieurs semaines à une seule journée. Ceci permet la mise en route de productions robotisées dans des temps réduits.

Créer un programme

Une simulation peut être réalisée en ajoutant toute une suite d’instructions dans un programme. Chaque instruction représente du code pour un contrôleur spécifique donné. RoboDK propose à travers son environnement et son interface utilisateur (GUI) de construire facilement un programme robot de manière générique, sans avoir besoin d’écrire de code.

Le code spécifique pour un contrôleur robot donné sera généré automatiquement lorsque le programme est généré. Pour créer un programme vide utilisant l’option GUI :

1.Sélectionner ProgrammeRobot Programs - Image 2 Ajouter Programme (ou l’icône correspondant dans la barre d’option)

2.Sélectionner OutilsRenommer l’objet… (F2) pour renommer le programme

Cette action va créer un programme vide et va autoriser l’ajout de nouvelles instructions en faisant un clic droit sur le programme ou en sélectionnant une instruction depuis Menu Programme. La section suivante Instructions de programme apporte plus de détails sur comment ajouter des instructions.

Robot Programs - Image 3

Instructions de programme

Il est possible d’ajouter de nouvelles instructions avec le clic droit ou depuis la barre de Menu (voir section précédente)

Cette section décrit les instructions supportées par l’interface RoboDK GUI pour la programmation hors ligne.

Mouvement Joint - Joint Move

Sélectionner ProgrammeRobot Programs - Image 4 Instruction Move Joint afin d’ajouter une nouvelle instruction de mouvement joint. Sinon cliquer sur le bouton correspondant dans la barre d’options.

A moins qu’une cible ne soit sélectionnée avant d’ajouter l’instruction, l’instruction mouvement va créer une nouvelle cible et ils seront liés. Si la cible change de position, le mouvement sera modifié aussi.

S’il s’agit de la première instruction ajoutée au programme, deux instructions supplémentaires seront ajoutées avant le mouvement : Définir Ref. et Choisir Outil. Cela permettra de s’assurer que lorsque le programme atteint l’instruction de mouvement, le robot utilise les mêmes repères de référence et d’outils pour créer cette nouvelle cible.

Robot Programs - Image 5

Mouvement linéaire - Linear Move

Sélectionner ProgrammeRobot Programs - Image 6 Instruction Move Linear afin d’ajouter une nouvelle instruction de mouvement linéaire. Sinon sélectionner l’option dans la barre d’option.

A moins qu’une cible ne soit sélectionnée avant d’ajouter l’instruction, l’instruction mouvement va créer une nouvelle cible et seront liés. Si la cible change de position, le mouvement sera modifié aussi.

Les mouvements joints et linéaires réagissent de la même manière et peuvent facilement être échangés d’un type à l’autre.

De la même façon que pour un mouvement joint, s’il s’agit de la première instruction ajoutée au programme, deux instructions supplémentaires seront ajoutées avant le mouvement : Définir Ref. et Choisir Outil.

Contrairement au mouvement Joint, les mouvements linéaires sont sensibles aux situations de singularité robot et aux limites d’axes. Sur un robot 6 axes, il faut absolument éviter les situations de singularité en suivant des mouvements linéaires. L’image suivante montre un exemple illustrant que « Le mouvement de l’instruction n’est pas atteignable ».

Robot Programs - Image 7

Si un mouvement linéaire n’est pas strictement nécessaire, faire un clic droit sur l’instruction et le changer en un mouvement Joint.

Robot Programs - Image 8

En parallèle, la cible, le TCP ou la position du repère de référence doit être modifié afin de n’avoir aucune singularité.

Paramétrer le repère de référence

Sélectionner Programme Robot Programs - Image 9 Instruction changement de repère afin d’utiliser un repère spécifique. Cela va mettre à jour le repère donné dans le contrôleur pour toutes les instructions de mouvements qui suivent et changera le repère ACTIF du robot dans la simulation. En résumé, cela veut dire que les instructions de mouvement vers des cibles spécifiques (cibles cartésiennes) seront définies par rapport au dernier repère paramétré.

Le repère est aussi une variable connue en tant que Work Object (Robots ABB), UFRAME (Robots Fanuc), FRAME (robots Motoman) ou $BASE (Robots KUKA)

Robot Programs - Image 10

Paramétrage du repère d’outils - Set Tool Frame

Sélectionner Programme Robot Programs - Image 11 Instruction changement d’outils afin d’utiliser un repère d’outil spécifique (TCP). Cela va mettre à jour un repère d’outil donné dans le programme pour toutes les instructions de mouvement qui suivent et changera le repère de l’outils ACTIF du robot dans RoboDK pour la simulation. En résumé, cela veut dire que les instructions de mouvement de cibles spécifiques (cibles cartésiennes) seront définies par rapport au dernier repère paramétré.

Le repère de l’outil est connu sous le nom de ToolData (ABB robots), UTOOL (Fanuc robots), TOOL (Motoman robots) ou $TOOL (KUKA robots).

Robot Programs - Image 12

Mouvement circulaire - Circular Move

Sélectionner ProgrammeRobot Programs - Image 13 Instruction Move Circular afin d’ajouter une nouvelle instruction circulaire. Il est possible de sélectionner cette fonction dans la barre d’outils.

A moins que deux cibles ne soient sélectionnées avant d’ajouter l’instruction, l’instruction de mouvement ne va pas créer de nouvelle cible. Il faut donc créer deux cibles supplémentaires séparément et les lier depuis l’instruction de mouvement circulaire, tels que montré dans l’image ci-dessous.

Robot Programs - Image 14

La trajectoire circulaire est un arc créé du point où le robot est localisé, passant par le premier point (Cible liée 1) et terminant au point final (Cible liée 2).

Paramétrer la vitesse

Sélectionner ProgrammeRobot Programs - Image 15 Instruction de vitesse afin d’ajouter une nouvelle instruction qui modifie la vitesse et/ou l’accélération. Il est possible d’indiquer la vitesse et l’accélération en utilisant les différents champs proposés.

Activer la case correspondante pour définir une vitesse ou une accélération spécifique dans le programme. Le robot applique la nouvelle vitesse à partir du moment où l’instruction est exécutée.

La vitesse du robot peut aussi être changé dans le menu des paramètres du robot : Double-clic sur le Robot, sélectionner Paramètres.

Robot Programs - Image 16

Afficher un Message

Sélectionner ProgrammeRobot Programs - Image 17 Instruction pour montrer un message pour ajouter une nouvelle instruction qui montrera un message sur le teach pendant.

Robot Programs - Image 18

Pause

Sélectionner ProgrammeRobot Programs - Image 19 Instruction Pause pour ajouter une nouvelle instruction qui ajoutera une pause dans l’exécution du programme ou stoppera le programme jusqu’à ce que l’opérateur décide de relancer.

Robot Programs - Image 20

Appel Programme – Program call

Sélectionner ProgrammeRobot Programs - Image 21 Exécuter une procédure pour ajouter un appel afin d’exécuter un sous-programme à partir du programme courant.

Par défaut, l’appel est bloqué à un programme spécifique. Cependant, il est possible de choisir Insérer code afin d’entrer un code spécifique. Cela peut être utile pour une application spécifique ou un contrôleur spécifique.

Robot Programs - Image 22  Robot Programs - Image 23

Changer de Appel Programme vers Démarrer Thread pour provoquer un appel non bloquant d’un sous-programme. Dans ce cas, le contrôleur démarrera un nouveau Thread. Cette option est valable pour certains contrôleurs et fonctionne seulement pour des opérations spécifiques.

Astuce : Un programme principal utilisé seulement pour la simulation, peut utiliser l’option Démarrer programme pour démarrer la simulation de plusieurs robots en même temps.

Gérer les I/O

Sélectionner ProgrammeRobot Programs - Image 24 Changer les entrées/sorties IO pour changer l’état des Sorties digitales (DO). Par défaut, cette instruction est paramétrée sur Etablir Sortie Digitale (DO). Cette instruction permet aussi d’attendre une Entrée Digitale (DI) spécifique afin de passer dans un autre état.

Le nom IO peut être un nombre ou un texte s’il s’agit d’une variable nommée. La valeur IO peut être un nombre (0 pour False et 1 pour True) ou un texte s’il est nommé.

Robot Programs - Image 25

Paramétrer à Attendre Entrée Digitals (DI) pour stopper l’exécution du programme jusqu’à ce que l’Entrée attendue soit activée. De plus, la plupart des contrôleurs ont un « timeout delay » qui déclenche une erreur si le temps attendu dépasse une certaine valeur. Activer la case Timeout (ms) pour actionner cette option.

Robot Programs - Image 26

La modification des entrées et sorties numériques simulées créera de nouvelles variables de station. Pour vérifier l’état de ces variables, faire un clic droit sur la station et sélectionner Paramètres de station. Il est également possible de lire ou de modifier ces variables via l’API.

Paramétrage des Valeurs de Lissage

Sélectionner ProgrammeRobot Programs - Image 27 Instruction de Lissage pour modifier la précision du lissage. La précision de lissage est utilisée pour lisser les bords entre les mouvements consécutifs. Ce changement prend effet à partir du moment où il est exécuté à l’intérieur d’un programme (comme avec toutes les autres instructions), il est donc d’usage de définir cette valeur au début d’un programme.

Sans instructions de lissage, le robot va atteindre une vitesse de 0 à la fin de chaque mouvement (sauf si le mouvement suivant est tangent avec le mouvement précédent). Cela permet d’éviter de grosses accélérations et changements rapides de vitesses afin d’assurer la meilleure précision de chaque mouvement.

Cette valeur est aussi connue comme Blending radius (Universal Robots), ZoneData (ABB robots), CNT/FINE (Fanuc robots), Cornering (Mecademic robots) ou $APO.CDIS/$APO.CPTP/Advance (KUKA robots).

Robot Programs - Image 28

Les tests de RoboDK path accuracy permettent d’avoir une meilleure compréhension des effets des différentes valeurs arrondies avec ce système de mesure.

Évènement de simulation

Sélectionner ProgrammeRobot Programs - Image 29 Instruction Evènement afin de créer un évènement spécifique dans la simulation. Ils n’ont aucun impact sur le code généré et ils sont seulement utilisés pour créer des évènements spécifiques dans le cadre de simulations.

La simulation d’évènements dans l’interface utilisateur / GUI (graphical user interface) permet de :

Attacher ou détacher des objets de l’outil du robot

Montrer ou cacher des objets ou outils

Changer la position des objets et des repères

Robot Programs - Image 30

Par exemple, si le robot bouge à un endroit spécifique pour attraper un objet, il est possible de paramétrer un évènement Objet Attaché (Attach object) pour bouger cet objet en même temps que le robot. Après que le robot ait terminé son mouvement, il peut laisser l’objet. Il est possible de paramétrer Détacher objet (Detach object) pour laisser l’objet que l’outil a précédemment attrapé.

Robot Programs - Image 31

Programme Simulé

Double-cliquer sur le programme dans l’arborescence Robot Programs - Image 32 pour démarrer la simulation. Autre possibilité avec un clic droit sur le programme et Exécuter (Ctrl + R)

Un curseur de simulation va apparaitre au pied de la fenêtre. Il est possible de faire défiler la simulation en bougeant le curseur dans le temps.

Robot Programs - Image 33

Astuce : Sélectionner ProgrammeRobot Programs - Image 34 Simulation rapide pour accélérer la simulation ou sinon utiliser la barre d’espace. Cette option est disponible dans la barre d’outils.

RoboDK simule 5 fois plus vite qu’en vrai par défaut. Cela veut dire que si un programme prend 30 secondes pour s’exécuter, le simulateur va le faire durer 30/5 = 6 secondes. Le bouton rapide accélère avec un ratio à 100. Ces paramètres peuvent être changés dans OutilsOptionsMouvement.

Astuce : Faire un clic droit sur une instruction de mouvement et sélectionner Démarrer d’ici (Ctrl + Droite) afin de démarrer l’exécution du programme depuis ce point.

Robot Programs - Image 36

Générer un Programme

Suivre ces instructions pour générer le programme robot :

1.Sélection du Programme (Par exemple WeldProgram)

2.Sélectionner ProgrammeGénérer Programme(s) (F6), ou clic droit sur le programme et choisir Générer programme robot (F6)

Robot Programs - Image 37

Plusieurs programmes peuvent être sélectionnés afin de générer plus d’un programme à la fois. Garder enfoncer le bouton Ctrl pour sélectionner plus d’un programme. La sélection de l’option Générer Programme(s)… (Shift+F6) va ouvrir une fenêtre demandant à l’utilisateur l’endroit pour la sauvegarde.

Transférer un Programme

Il est possible de transférer un programme de l’ordinateur directement sur le robot. Normalement, cette option envoie le programme au robot au travers du protocole FTP ou d’autres protocoles spécifiques, tels que l’utilisation d’un port série. Il est demandé d’entrer l’adresse IP du Robot et les paramètres FTP dans le menu de connexion :

1.Faire un clic droit sur un robot

2.Sélectionner Connecter au robot…

3.Entrer l’adresse IP du robot

4.Sélectionner Plus d’options… pour entrer les paramètres FTP

Robot Programs - Image 38Robot Programs - Image 39

Une fois que les paramètres du réseau ont été renseignés et que le robot est connecté, suivre les étapes suivantes pour transférer le programme depuis RoboDK :

1.Faire un clic droit sur un programme

2.Sélectionner Envoyer Programme au robot (Ctrl+F6)

Robot Programs - Image 40

Une fenêtre pop-up va apparaitre pour indiquer le succès ou l’échec de l’envoi.

Sélection du Post Processeur

La conversion depuis la simulation RoboDK vers un programme robot spécifique est réalisée par un Post Processor. Le Post Processor définit comment les programmes robots devrait être généré pour un robot spécifique. Chaque robot possède un Post Processor spécifique par défaut dans RoboDK.

Afin de sélectionner un post processor spécifique pour un robot :

1.Faire un clic droit sur un programme ou robot

2.Sélectionner Sélectionner le Post Processeur

3.Choisir un post processeur dans la liste

4.Bouton OK

Robot Programs - Image 41Robot Programs - Image 42

Le changement est maintenant appliqué et le programme peut être généré de nouveau afin de voir le résultat.

Les post processeurs dans RoboDK apportent une grande flexibilité pour générer des programmes robots en fonction des exigences. RoboDK fournit des post processeurs pour la plupart des marques de robots. Les post processeur peuvent facilement être créés ou modifiés. Pour plus d’information à propos des post processeurs aller voir la section des post processeurs.

Découper de long programmes

Les longs programmes peuvent atteindre la limite de capacité du contrôleur. La limite du contrôleur peut être la taille du fichier ou le nombre de ligne dans le programme. Par exemple, un programme robot pour de l’impression 3D ou de l’usinage peut dépasser les 1 million de lignes. Dans ce cas, il est plus astucieux de découper les programmes longs en plusieurs sous-programmes, incluant un programme principal qui permet de faire fonctionner les sous-programmes dans l’ordre.

Pour découper automatiquement un programme long :

1.Sélectionner OutilsOptionsProgramme

2.Cocher Limiter le nombre maximal d’instructions par programme et renseigner le nombre de ligne max par programme générés.

Robot Programs - Image 43