Robot Calibration (Optical CMM)

Introduction

Les robots industriels sont très répétables mais pas précis, la précision d’un robot industriel peut être améliorée grâce à l’étalonnage du robot. La précision nominale d’un robot dépend de la marque et du modèle du robot. Avec l’étalonnage du robot, vous pouvez améliorer la précision du robot par un facteur de 2 à 10.

En option, un test ballbar (test circulaire) ou les tests ISO9283 peuvent être réalisés pour valider la précision du robot.

Robot Calibration Creaform - Image 1

Un système de mesure est nécessaire pour étalonner un robot. RoboDK peut être utilisé pour calibrer les robots ainsi que pour générer des programmes précis (ce qui inclut le filtrage des programmes et l’utilisation du système de programmation hors ligne de RoboDK). RoboDK peut également être utilisé pour tester la précision du robot avant et après l’étalonnage grâce à des tests ballbar ou de fraisage robot.

L’étalonnage des robots peut considérablement améliorer la précision des robots programmés hors ligne, également connu sous le nom Off-Line Programming (OLP). Un robot étalonné a une précision de positionnement absolue et relative plus élevée qu’un robot non étalonné.

Besoins

Les éléments suivants sont nécessaires pour installer RoboDK et effectuer correctement l’étalonnage du robot:

1.Un ou plusieurs robots industriels

2.Un système de mesure : système de suivi laser Leica, API ou Faro et ou CMM optique comme la stéréocaméra C-Track de Creaform.

3.Le logiciel RoboDK doit être installé et une licence appropriée pour les tests d’étalonnage du robot est requise. Pour les licences réseau, une connexion Internet est nécessaire pour une connexion de votre licence avec notre gestionnaire de licences. Pour installer ou mettre à jour RoboDK pour l’étalonnage du robot :

a.Télécharger RoboDK depuis la section de téléchargement
https://robodk.com/download

b.Configurer le pilote pour le système de mesure (non requis pour le CMM optique Creaform).
Décompresser et copier le dossier approprié:          

API Laser tracker:      
https://robodk.com/downloads/private/API.zip (OTII et Radian trackers)       
Faro Laser Tracker:   
https://robodk.com/downloads/private/Faro.zip (tous les Faro Trackers)        
Leica Laser Tracker:  
https://robodk.com/downloads/private/Leica.zip (tous les Leica Trackers)       
dans le dossier : C:/RoboDK/api/

Configuration hors ligne

Il est recommandé de créer un environnement virtuel de configuration du robot dans RoboDK (configuration hors ligne) avant de commencer à prendre des mesures. Cette section explique comment préparer la station RoboDK hors ligne. Cela peut être fait avant d’avoir le robot et le tracker, seulement en utilisant un ordinateur avec RoboDK installé dessus.

Les exemples de configuration de l’étalonnage RoboDK peuvent être téléchargés à partir du dossier suivant :      
https://www.robodk.com/downloads/calibration/

Cette section peut être sautée si vous avez déjà une station hors ligne. Les repères de référence et les repères d’outils peuvent être estimés approximativement. Une station exemple est montrée dans l’image suivante.

Robot Calibration Creaform - Image 2

Station RoboDK

Une station RoboDK est l’endroit où la station d’environnement virtuelle et les informations d’étalonnage sont stockées. La station est enregistrée en tant que fichier RDK. Suivre les étapes suivantes pour créer une station robot pour l’étalonnage du robot à partir d’un projet vierge (aperçu vidéo) : https://youtu.be/Nkb9uDamFb4):

1.Sélectionner un robot :

a.Sélectionner FichierOuvrir Bibliothèque en ligne. La bibliothèque va s’ouvrir dans RoboDK.

b.Utiliser les filtres pour trouver la marque du robot, la charge admissible, ...

c.Sélectionner Download et le robot devrait automatiquement apparaitre dans la station.

d.Il est aussi possible de télécharger les fichiers robot (extension .robot) séparément depuis  http://www.robodk.com/library et de les ouvrir avec RoboDK.

Robot Calibration Creaform - Image 3

2.Modéliser la station virtuelle

a.Ajouter un repère en sélectionnant ProgrammeAjouter un repère.

i.Un repère de « référence des mesures » doit être ajouté par rapport au repère de base du robot.

ii.Un « repère de suivi » doit être ajoutée en ce qui concerne le « repère référence des mesures » que nous venons d’ajouter.

iii.Une autre « repère d’outil » peut être ajoutée par rapport au repère « Référence des mesures » pour visualiser la position de l’outil vue par le tracker.

Astuce 1 : Glisser-déposer des éléments dans l’arborescence pour reconstruire la dépendance qui existe dans le monde réel. Par exemple, la référence du pointeur doit être placée par rapport à la « Référence des mesures ».

Astuce 2 : Déplacer n’importe quel repère de référence ou repère d’outil en maintenant la touche ALT enfoncée et la touche SHIFT+ALT enfoncées. Il est possible également de double-cliquer sur le repère de référence et de saisir les coordonnées.

Astuce 3 : Renommer tous les éléments sélectionnables dans l’arborescence en appuyant sur F2.

b.Ajouter l’objet outil (les fichiers STL, IGES et STEP sont des formats pris en charge) et le glisser-déposer sur le robot (à l’intérieur de l’arborescence des éléments), ce qui convertira l’objet en un outil. Plus d’informations disponibles ici.

Robot Calibration Creaform - Image 4Robot Calibration Creaform - Image 5

Optionnel : Sélectionner ProgrammeAjouter outil pour ajouter des TCP qu’il est alors possible de visualiser dans la station (pour vérifier les collisions ou autres). Pour définir une valeur approximative du TCP :

i.Double-cliquer sur le nouvel outil.

ii.Paramétrer une valeur approximative du TCP. Il est possible de copier/coller les 6 valeurs à la fois en utilisant les deux boutons à droite.

iii.Il est recommandé de renommer les TCP utilisés pour l’étalonnage avec le nom « Calibtool id », où id est le numéro cible de l’étalonnage.

Robot Calibration Creaform - Image 6

c.Ajouter d’autres fichiers CAO 3D (STL, IGES, STEP, SLD, ...) pour modéliser la station virtuelle à l’aide du menu Fichier Ouvrir… ou faire glisser et déposer des fichiers dans la fenêtre principale de RoboDK.

Astuce 1 : Importer les fichiers 3D de l’espace de travail de mesure et nommer-le Workspace afin que les mesures du robot soient générées à l’intérieur de l’espace de travail du tracker. Sinon, définir l’espace de travail invisible si vous ne voulez pas restreindre les mesures à l’intérieur de l’espace de travail du tracker. De plus amples renseignements sont disponibles dans la prochaine section.

Astuce 2 : Il est possible de sélectionner CTRL+ALT+Shift+P pour bloquer l’export de fichiers 3D confidentiel importés dans RoboDK.

3.Ajouter le module de calibration dans la station :

a.Sélectionner le menu Utilitaires Calibrer Robot.

b.Sélectionner Stereo camera.

Robot Calibration Creaform - Image 7

Puis, la fenêtre suivante va apparaitre.

Robot Calibration Creaform - Image 8

Cette fenêtre peut être fermée pour le moment. Vous pouvez l’ouvrir en double-cliquant sur Calibration Robot dans l’arborescence.

Robot Calibration Creaform - Image 9

4.Enregistrer la station.

a.Sélectionner FichierEnregistrer station.

b.Renseigner un dossier et nom de fichier.

c.Sélectionner enregistrer. Un nouveau fichier RDK sera généré (fichier station RoboDK).

Il est possible de récupérer les modifications de la station à tout moment en ouvrant le fichier RDK (double-cliquer sur le fichier sous Windows).

En résumé, il est important de vérifier les points suivants :

1.Le repère de référence « Référence des mesures » est directement relié au repère de référence de la base du robot.

Pour l’instant, utiliser une estimation de ce repère (valeur approximative).

2.La référence Tracker est directement liée à la référence Mesures. La référence du pointeur doit être une position estimée du dispositif de mesure du pointeur par rapport à la référence des mesures.

3.Le projet « Étalonnage du robot » est présent dans la station et toutes les mesures que vous prévoyez de prendre sont exemptes de collision et visibles par le tracker (double-cliquer sur les paramètres d’étalonnage et sélectionner afficher pour chaque groupe de mesures).

4.Pour vérifier automatiquement les collisions, utiliser la balise de nom « collision » dans chaque objet que vous voulez utiliser pour vérifier les collisions. Il est recommandé d’utiliser un outil d’environ 25 % plus grand que l’outil étalonné pour éviter les collisions en toute sécurité.

Générer des cibles de calibration

Quatre ensembles de mesures sont nécessaires pour réussir l’étalonnage du robot :

1.Base setup : six mesures (ou plus) des axes mobiles 1 et 2 sont nécessaires pour placer la référence d’étalonnage par rapport au robot. Sélectionner Show dans la fenêtre des paramètres d’étalonnage et le robot se déplacera le long de la séquence.

2.Tool setup : sept mesures ou plus sont nécessaires pour étalonner la bride de l’outil et les cibles de l’outil (axes mobiles 5 et 6). Sélectionner Show et le robot se déplacera le long de la séquence.

3.Calibration measurements : 60 mesures ou plus sont nécessaires pour étalonner le robot. Ces mesures peuvent être placées au hasard dans l’espace de travail du robot et être exemptes de collision avec les objets environnants.

4.Validation measurements (optionnelle) : autant de mesures que vous le souhaitez peuvent être utilisées pour valider la précision du robot. Ces mesures servent uniquement à valider la précision du robot et non à l’étalonner.

Les deux premiers ensembles de mesures sont générés automatiquement par RoboDK. Sélectionner Show et le robot suivra la séquence (comme indiqué dans les images suivantes). Si la séquence doit être modifiée, sélectionner Mesurer et exporter les mesures d’étalonnage sous forme de fichier CSV en sélectionnant Exporter les données. Ce fichier peut être modifié à l’aide d’une feuille Excel et réimporté en cliquant sur Importer les données.

Les deux derniers ensembles de mesures (étalonnage et validation) peuvent être générés à l’aide du script macro intitulé Robot Calibration Creaform - Image 10 « Create measurements ». Ce script macro est automatiquement ajouté à la station lorsque vous démarrez le projet d’étalonnage du robot. Double-cliquer sur la macro pour l’exécuter. Cette macro est un programme Python qui guide l’utilisateur pour définir les paramètres suivants :

Nombre de mesures : le nombre de mesures à générer. Par défaut, 80 mesures sont utilisées car un minimum de 60 mesures est requis pour l’étalonnage du robot.

Position de référence : La position de référence doit être une position du robot où l’outil fait face au tracker avec des cibles visibles.

Limites des Joints : Les limites inférieures et supérieures des articulations doivent être définies.

Limites cartésiennes : Nous pouvons définir des limites cartésiennes (valeurs X, Y, Z) par rapport au repère de référence du robot.

Le script génère automatiquement des mesures lorsque l’outil fait face au tracker et également respecte les contraintes articulaires et cartésiennes. Une rotation de +/-180 deg autour de l’outil est autorisée autour de la direction qui fait face au tracker à la position de référence. De plus, la séquence des mouvements des joints/articulations est exempte de collision et à l’intérieur de l’espace de travail de mesure (si l’espace de travail est défini pour être visible). L’image suivante montre le résumé qui est présenté à l’utilisateur avant le démarrage de la séquence automatique. La fin de la séquence peut prendre jusqu’à 5 minutes.

Robot Calibration Creaform - Image 11

Un nouveau message apparaît une fois l’algorithme terminé. Sélectionner Calibration pour utiliser les 60 mesures pour l’étalonnage du robot. Vous pouvez ré-exécuter le même script pour générer un autre ensemble de mesures à valider. Cette étape est facultative, mais 60 mesures ou plus sont recommandées à des fins de validation.

Pour modifier le script : faire un clic droit sur le script Create measurements et en sélectionner Modifier le script, puis modifier les paramètres supplémentaires de l’algorithme. Le script enregistre automatiquement les données renseignées par l’utilisateur comme paramètres de la station. Vous pouvez afficher, modifier ou supprimer ces paramètres avec un clic droit sur la station et en sélectionnant les paramètres de la station, comme indiqué dans l’image suivante.

Robot Calibration Creaform - Image 12

Robot Calibration Creaform - Image 13

Enfin, il est également possible d’importer des configurations sélectionnées manuellement en sélectionnant Importer des données (dans le menu Mesure). Vous pouvez importer un fichier CSV ou TXT comme une matrice Nx6, où N est le nombre de configurations.

Robot Calibration Creaform - Image 14

Configuration de l’étalonnage du Robot

Deux objets sont nécessaires : un objet outil (tenu par le robot) et un objet référence de base (statique dans la cellule). Le tracker doit pouvoir voir l’objet outil et l’objet de référence de base pour chaque mesure. Ces objets sont également connus sous le nom de « modèles » (dans Vxelements) et sont définis par un ensemble de cibles attachées aux objets de l’outil et du repère de référence. Le tracker suit la position de ces cibles en fournissant le repère de référence de ces objets comme mesure par rapport au tracker. RoboDK prend chaque mesure comme position de l’outil par rapport au repère de référence de base, de sorte que le tracker peut être déplacé sans modifier les mesures.

Il est nécessaire de rattacher un groupe de cibles à l’outil et au repère de référence pour permettre le suivi correct de ces objets. Les images suivantes montrent quelques exemples de configurations appropriées :

Robot Calibration Creaform - Image 15 Robot Calibration Creaform - Image 16

Robot Calibration Creaform - Image 17Robot Calibration Creaform - Image 18

Les sous-sections suivantes doivent être exécutées de façon séquentielle pour être prêts à commencer à prendre des mesures. Enfin, il sera nécessaire de connecter le tracker et le robot à l’ordinateur pour automatiser la procédure de prise de mesures.

Sonder les repères de référence

Premièrement, deux modèles sont nécessaires : un modèle de l’outil et un modèle du repère de base. Un modèle est un objet défini comme une liste de points (coordonnées X, Y, Z) correspondant aux cibles par rapport à la référence du modèle (outil ou référentiel de base). Vous pouvez en option utiliser le Handyprobe pour placer le repère de référence là où vous le souhaitez.

Suivre ces étapes deux fois pour définir l’outil et les modèles de base :

1.Démarrer Vxelements et connecter le tracker. Étalonner le tracker ainsi que le Handyprobe si nécessaire.

2.Sélectionner Tracking Models dans l’arborescence de gauche dans Vxelements et sélectionner Detect model.Sélectionner les cibles qui correspondent à un modèle (outil ou objet) et sélectionner « Accept ».      
Astuce : Garder enfoncé CTRL pour sélectionner un groupe de cibles.

Robot Calibration Creaform - Image 19

3.Le repère de référence de l’objet peut être placé à une position spécifique par rapport à certaines caractéristiques de l’objet. Cette étape est facultative mais fortement recommandée si vous avez besoin de placer avec précision les caractéristiques du TCP par rapport à la bride du robot. Par exemple, vous pourriez placer avec précision l’axe Z de l’outil le long d’un cylindre de référence utilisé comme axe de broche.

Pour déplacer correctement le repère de référence de l’objet, vous devez utiliser le Handyprobe et apporter ces fonctionnalités dans la session virtuelle Vxelements. Le modèle utilisé doit être défini comme le modèle de positionnement de sorte que les caractéristiques soient étudiées par rapport à ce modèle. Il est possible de sonder des points, des lignes, des plans, des cylindres, des cônes et de définir des repères de référence par rapport à ces caractéristiques.

Robot Calibration Creaform - Image 20

Lorsque vous avez terminé, il est possible d’exporter le modèle comme un fichier txt. Vous voyez les cibles dans le fichier texte comme une liste de points XYZ.

Connexion au tracker

L’adresse IP du tracker est nécessaire pour définir correctement la communication dans RoboDK. S’assurer que Vxelements ne fonctionne pas et suivre les étapes ci-dessous pour vérifier la communication avec le tracker :

a.Sélectionner le menu “ConnectConnect Stereocamera”. Une nouvelle fenêtre doit s’ouvrir.

b.Saisir le « modèle de base » et le « modèle d’outil », sous forme de fichiers texte (générés dans la section précédente). Il s’agit de la position des cibles qui définissent respectivement le repère de référence et le repère d’outils.

c.Sélectionner le bouton “Connect”.

d.Lorsque la connexion réussit, définir les modèles de base et d’outil sous forme de fichiers texte (.txt).

Une version intégrée de Vxelements démarre et après quelques secondes, vous avez un message vert indiquant « Ready » si la connexion est réussie. Les fenêtres Vxelements peuvent être fermées et la connexion reste active. Si la connexion échoue, bien s’assurer qu’aucun processus Vxelements ne s’exécute en arrière-plan de la barre des tâches Windows ou du gestionnaire des tâches (sélectionner CTRL+ALT+SUPPR pour forcer l’arrêt du processus d’implémentation Vxelementsapiimplementation), puis sélectionner Connect dans RoboDK pour réessayer.

Robot Calibration Creaform - Image 21

Connexion au robot

L’adresse IP du robot (ou le numéro de port COM pour les connexions RS232) est nécessaire pour régler correctement la communication avec RoboDK. Suivre ces étapes pour vérifier la communication avec le robot :

1.Sélectionner ConnecterConnecter robot. Une nouvelle fenêtre va apparaitre.

2.Définir l’adresse IP et le port du robot (ou le port COM si la connexion est par RS232).

3.Cliquer sur le bouton Connect.

4.Reporter-vous à l’annexe si des problèmes surviennent.

Si la connexion est réussie, vous voyez un message vert affichant Ready. La position du robot virtuel devrait correspondre exactement à la position du robot réel en sélectionnant Get current joints. Sinon, sélectionner Move to current joints pour déplacer le robot à la position actuelle définie dans le simulateur. La fenêtre peut être fermée et la connexion reste active.

Robot Calibration Creaform - Image 22


Calibration robot

L’étalonnage du robot est divisé en 4 étapes. Chaque étape nécessite de prendre un ensemble de mesures. Ces quatre étapes doivent être suivies dans l’ordre :

1.Mesures de référence de la base (3 minutes).

2.Mesures de référence de l’Outil (3 minutes)

3.Mesures de Calibration (7 minutes, 60 mesures)

4.Mesures de Validation (7 minutes, 60 mesures).

La vidéo suivante montre comment effectuer cet étalonnage en 20 minutes : https://youtu.be/Htpx-p7tmYs. Les mesures de validation (étape 4) ne sont pas obligatoires pour étalonner le robot, cependant, ils donnent un point de vue objectif des résultats. Il est également possible de voir l’impact de l’étalonnage du robot dans une zone et sa validation dans une autre zone.

Sélectionner le bouton Mesure pour chacun des quatre ensembles de mesures. Cela ouvrira une nouvelle fenêtre qui permet de prendre de nouvelles mesures ainsi que d’importer et d’exporter des mesures existantes dans un fichier texte (format csv ou txt).

Mesurer la base

Ces mesures peuvent être effectuées n’importe où sur la bride de l’outil en mesurant la même cible pour les 6 mesures. Pour démarrer les mesures, sélectionner Mesure dans la section Base setup. La fenêtre suivante s’ouvre. Ensuite, sélectionner Start Measure et le robot se déplacera séquentiellement à travers les mesures programmées

Robot Calibration Creaform - Image 23

Fermer la fenêtre lorsque les mesures sont terminées et que le repère de référence des mesures est mis à jour par rapport au repère de base du robot. Si vous n’avez pas sélectionné de repère de référence, vous pouvez ajouter une référence (sélectionner Programme Ajouter un Repère) et le placer sous la référence de base du robot (Glisse et dépose dans l’arborescence).

Robot Calibration Creaform - Image 24

Le résumé indiquera la position et l’orientation ou le repère de référence du robot par rapport au repère de référence d’étalonnage (format [x,y,z,w,p,r], en mm et radians).

Une fois cette étape terminée, il est possible d’afficher avec précision l’espace de travail du tracker par rapport au robot dans RoboDK en temps réel.

Mesurer l’outil

Comme dans la section précédente : sélectionner Measure dans la section Tool setup. La fenêtre suivante s’ouvre. Sélectionner Start Measure et le robot se déplacera de façon séquentielle à travers les mesures planifiées. Double-cliquer sur une mesure pour continuer à mesurer à partir de cette position.

Robot Calibration Creaform - Image 25

Le résumé montre les informations du TCP étalonné (position et orientation) lorsque la procédure est terminée. La définition du TCP (dans l’image suivante « Spindle ») sera mise à jour automatiquement. Si vous n’avez pas sélectionné de TCP, il est possible d’en ajouter un nouveau (sélectionner « Programme Ajouter Outil vide ») et sélectionner « Recalculer ».

Robot Calibration Creaform - Image 26

Calibration du Robot

Sélectionner Measure dans la section Calibration. La fenêtre suivante s’ouvre. Ensuite, sélectionner Start Measure et le robot se déplacera séquentiellement à travers les mesures planifiées. Double-cliquer sur une mesure pour continuer à mesurer à partir de cette position.

Robot Calibration Creaform - Image 27

Fermer la fenêtre lorsque les mesures sont terminées. Le robot sera étalonné automatiquement et affichera le message suivant s’il n’y a pas de problème.

Robot Calibration Creaform - Image 28

Enfin, l’écran vert affiche certaines statistiques concernant les mesures d’étalonnage et l’amélioration de la précision de ces mesures.

Robot Calibration Creaform - Image 29

Validation du robot

Ne pas valider la précision du robot en utilisant les mêmes mesures que vous avez utilisées pour calibrer le robot, par conséquent, il est recommandé de prendre des mesures supplémentaires pour valider la précision (avoir un point de vue plus objectif des résultats).

La même procédure d’étalonnage doit être suivie pour prendre les mesures de validation. Le résumé affichera les statistiques de validation. Voir la section Résultats ci-dessous pour plus d’informations.

Résultats

Une fois l’étalonnage terminé, vous pouvez analyser l’amélioration de la précision en lisant les statistiques fournies par RoboDK. Pour afficher ces statistiques, ouvrer la fenêtre d’étalonnage du robot (double-cliquer sur l’icône Étalonnage du robot). La fenêtre de résumé de la section de validation affiche les erreurs avant l’étalonnage (cinématique nominale) et après l’étalonnage (cinématique étalonnée). Deux tableaux sont fournis, l’un montre les statistiques concernant les erreurs de position et l’autre montre les erreurs de distance :

Erreurs de position : L’erreur de position est la précision que le robot peut atteindre un point par rapport à un repère de référence.

Erreurs de distance : L’erreur de distance est obtenue en mesurant l’erreur de distance de paires de points. La distance entre deux points observés par le robot (obtenue à l’aide de la cinématique étalonnée) est comparée à la distance observée par le système de mesure (mesurée physiquement). Toutes les combinaisons sont prises en compte. Si vous avez pris 315 mesures, vous aurez 315x315/2= 49455 valeurs d’erreur de distance.

Les statistiques fournies sont l’erreur moyenne, l’écart-type (std) et l’erreur maximale. Il est également fourni la moyenne plus trois fois l’écart-type, qui correspond à l’erreur attendue pour 99,98% de toutes les mesures (si l’on tient compte du fait que les erreurs suivent une distribution normale).

Robot Calibration Creaform - Image 30

Sélectionner Show stats pour pouvoir afficher deux histogrammes. Ils montrent la distribution des erreurs avant et après l’étalonnage, un histogramme pour la précision de la position et l’autre pour la précision de la distance. Les images suivantes correspondent aux 315 mesures de validation utilisées dans cet exemple.

Robot Calibration Creaform - Image 31Robot Calibration Creaform - Image 32

Enfin, en sélectionnant « Make report », un rapport PDF contenant l’information présentée dans cette section sera généré.

Filtrage de programme

Une fois que le robot a été calibré, il y a deux options pour générer des programmes en utilisant la précision absolue du robot calibré :

Filtrer les programmes existants : toutes les cibles de robot à l’intérieur d’un programme sont modifiées pour améliorer la précision du robot. Il peut être fait manuellement ou en utilisant l’API.

Utiliser RoboDK pour la programmation hors ligne pour générer des programmes précis (les programmes générés sont déjà filtrés, y compris les programmes générés à l’aide de l’API).

Pour filtrer manuellement un programme existant : glisser et déposer le fichier de programme robot dans l’écran principal de RoboDK (ou sélectionner Fichierouvrir) et sélectionner Filter only. Le programme sera filtré et enregistré dans le même dossier. Le résumé du filtre indiquera s’il y a eu des problèmes avec l’algorithme de filtrage. Vous avez également la possibilité d’importer un programme si vous voulez le simuler à l’intérieur de RoboDK. Si le programme a des dépendances (repère d’outils ou définitions de base, sous-programmes, ...) ils doivent être situés dans le même répertoire où le premier programme est importé.

Robot Calibration Creaform - Image 33

Robot Calibration Creaform - Image 34

En important le programme à l’intérieur de RoboDK, vous pouvez le régénérer avec ou sans précision absolue. Dans les principaux réglages de précision de RoboDK (OutilsOptionsPrécision) vous pouvez décider si vous voulez toujours générer les programmes en utilisant une cinématique précise, si vous voulez demander à chaque fois ou si vous voulez utiliser la cinématique actuelle du robot. La cinématique actuelle du robot peut être modifiée avec un clic droit sur le robot et en activant/désactivant la balise « Utiliser une cinématique précise ». S’il est actif, vous verrez un point vert, s’il n’est pas actif, vous verrez un point rouge.

Robot Calibration Creaform - Image 35

Robot Calibration Creaform - Image 36

Filtrer les programmes avec l’API

Il est possible de filtrer un programme complet en utilisant RoboDK, avec un robot calibré et le programme de robot, en utilisant l’option FilterProgram :

robot.FilterProgram(file_program)

Un exemple de macro appelé Filterprogram est disponible dans la section Macros de la bibliothèque. Le code suivant est un exemple de script Python qui utilise l’API RoboDK pour filtrer un programme.

from robolink import*# API to communicate with RoboDK

from robodk import*# basic matrix operations

import os                 # Path operations

# Get the current working directory

CWD = os.path.dirname(os.path.realpath(__file__))

# Start RoboDK if it is not running and link to the API

RDK = Robolink()

# optional: provide the following arguments to run behind the scenes

#RDK = Robolink(args='/NOSPLASH /NOSHOW /HIDDEN')

# Get the calibrated station (.rdk file) or robot file (.robot):

# Tip: after calibration, right click a robot and select "Save as .robot"

calibration_file = CWD +'/KUKA-KR6.rdk'

# Get the program file:

file_program = CWD +'/Prog1.src'

# Load the RDK file or the robot file:

calib_item = RDK.AddFile(calibration_file)

ifnot calib_item.Valid():

raise Exception("Something went wrong loading "+ calibration_file)

# Retrieve the robot (no popup if there is only one robot):

robot = RDK.ItemUserPick('Select a robot to filter', ITEM_TYPE_ROBOT)

ifnot robot.Valid():

raise Exception("Robot not selected or not available")

# Activate accuracy

robot.setAccuracyActive(1)

# Filter program: this will automatically save a program copy

# with a renamed file depending on the robot brand

status, summary = robot.FilterProgram(file_program)

if status ==0:

print("Program filtering succeeded")

print(summary)

calib_item.Delete()

RDK.CloseRoboDK()

else:

print("Program filtering failed! Error code: %i"% status)

print(summary)

RDK.ShowRoboDK()

Filtrer les cibles avec l’API

Le code suivant est un exemple de script Python qui utilise l’API RoboDK pour filtrer une cible (poser une cible ou une cible commune), en utilisant la commande FilterTarget :

pose_filt, joints = robot.FilterTarget(nominal_pose, estimated_joints)

Cet exemple est utile si une application tierce (autre que RoboDK) génère le programme de robot en utilisant des cibles de pose.

from robolink import*# API to communicate with RoboDK

from robodk import*# basic matrix operations

defXYZWPR_2_Pose(xyzwpr):

return KUKA_2_Pose(xyzwpr) # Convert X,Y,Z,A,B,C to a pose

defPose_2_XYZWPR(pose):

return Pose_2_KUKA(pose) # Convert a pose to X,Y,Z,A,B,C

# Start the RoboDK API and retrieve the robot:

RDK = Robolink()

robot = RDK.Item('', ITEM_TYPE_ROBOT)

ifnot robot.Valid():

raise Exception("Robot not available")

pose_tcp = XYZWPR_2_Pose([0,0,200,0,0,0]) # Define the TCP

pose_ref = XYZWPR_2_Pose([400,0,0,0,0,0]) # Define the Ref Frame

# Update the robot TCP and reference frame

robot.setTool(pose_tcp)

robot.setFrame(pose_ref)

# Very important for SolveFK and SolveIK (Forward/Inverse kinematics)

robot.setAccuracyActive(False)# Accuracy can be ON or OFF

# Define a nominal target in the joint space:

joints =[0,0,90,0,90,0]

# Calculate the nominal robot position for the joint target:

pose_rob = robot.SolveFK(joints) # robot flange wrt the robot base

# Calculate pose_target: the TCP with respect to the reference frame

pose_target = invH(pose_ref)*pose_rob*pose_tcp

print('Target not filtered:')

print(Pose_2_XYZWPR(pose_target))

joints_approx = joints # joints_approx must be within 20 deg

pose_target_filt, real_joints = robot.FilterTarget(pose_target, joints)

print('Target filtered:')

print(real_joints.tolist())

print(Pose_2_XYZWPR(pose_target_filt))


Master du Robot

Une fois que le robot a été calibré, vous avez généralement besoin de RoboDK pour filtrer les programmes. Une licence RoboDK est nécessaire (une licence OLP de base est suffisante pour générer des programmes de robot précis une fois que le robot a été calibré). Filtrer un programme signifie que les cibles d’un programme sont modifiées/optimisées pour améliorer la précision du robot, en tenant compte de tous les paramètres d’étalonnage (environ 30 paramètres).

Il est aussi possible d’étalonner uniquement les décalages de joint/articulation et les repères de base et d’outil (4 paramètres de décalage de joint plus 6 paramètres pour le repère de base, plus 6 paramètres pour le repère d’outil). L’étalonnage ne sera pas aussi précis que si vous utilisiez l’étalonnage complet par défaut, mais il pourrait permettre de saisir certains paramètres dans le contrôleur du robot et ne pas dépendre de RoboDK pour générer des programmes robot.

Pour obtenir l’étalonnage uniquement pour les décalages de joint/articulation, sélectionner Calib. Param. puis le bouton Mastering (dans le menu d’étalonnage du robot).

Robot Calibration Creaform - Image 37

Robot Calibration Creaform - Image 38

Après avoir sélectionné Make mastering program, une nouvelle fenêtre apparaîtra. Dans cette fenêtre, sélectionner les axes que vous voulez pour définir la nouvelle position de départ.

Robot Calibration Creaform - Image 39

Le bouton Make mastering program apparaîtra dans la fenêtre d’étalonnage du robot. Sélectionner ce bouton pour générer un programme qui amènera le robot à la nouvelle position de départ. Transférer le au robot et exécuter le. La nouvelle position de départ peut être enregistrée.

Si le robot et le PC sont connectés, faire un clic droit sur le programme et sélectionner Envoyer le programme au robot pour envoyer automatiquement le programme au robot. Sinon, sélectionner Générer programme robot pour voir de nouvelles valeurs pour la position de départ.

Robot Calibration Creaform - Image 40


Repère de référence et repère d’outil

RoboDK propose quelques utilitaires pour étalonner les repères de référence et les repères d’outils. Ces outils sont accessibles dans Utilitaires Définir Outil (TCP) et Utilitaires Définir Repère (User frame).

Robot Calibration Creaform - Image 41

Pour calibrer un repère de référence ou un repère d’outils (également connu sous le nom de repère utilisateur et repère TCP), vous avez besoin de configurations robot touchant 3 points ou plus. Ces configurations peuvent être soit des valeurs joint ou des coordonnées cartésiennes (avec des données d’orientation dans certains cas). Il est recommandé d’utiliser les valeurs de joint au lieu des coordonnées cartésiennes car il est plus facile de vérifier la configuration réelle du robot dans RoboDK (en copiant les valeurs d’articulations du robot sur l’écran principal de RoboDK).

Calibration de l’outil

Sélectionner UtilitairesDefinir Outil (TCP) pour calibrer le TCP en utilisant RoboDK. Il est possible d’utiliser autant de points que vous le souhaitez, en utilisant différentes orientations. Plus il y a de points et de changements d’orientation, et mieux ce sera pour que vous obteniez une meilleure estimation du TCP ainsi qu’une bonne estimation de l’erreur TCP.

Les 2 options suivantes sont disponibles pour calibrer un TCP :

En touchant un point fixe avec le TCP avec différentes orientations.

En touchant un plan avec le TCP (comme une sonde tactile).

Il est recommandé d’étalonner en touchant une référence plane pour étalonner une sonde tactile ou une broche. Cette méthode est plus stable contre les erreurs utilisateur.

Si le TCP est sphérique, le centre de la sphère est calculé comme le nouveau TCP (il n’est pas nécessaire de saisir le diamètre de la sphère).

Robot Calibration Creaform - Image 42

Suivre les étapes suivantes pour étalonner le TCP avec un plan (tel que le montre l’image) :

1.Sélectionner l’outil ayant besoin d’être calibré.

2.Sélectionner la méthode de calibration ”Calib XYZ by plane”.

3.Sélectionner Etalonner en utilisant “joints”.

4.Sélectionner le robot en cours d’utilisation.

5.Sélectionner le nombre de poses qui seront nécessaire pour calibrer le TCP (il est recommandé d’utiliser au moins 8 poses).

6.Sélectionner une estimation du plan de référence. Si le plan de référence n’est pas parallèle au plan robot XY (à partir de la référence du robot), ajouter une estimation de ce plan de référence dans une plage de ±20 degrés. La position de ce plan n’est pas importante, seulement l’orientation.

Robot Calibration Creaform - Image 43

7.Commencer à remplir le tableau de valeurs des joints. Il est possible de le remplir manuellement ou en faisant des copier-coller avec les boutons (comme le montre l’image). Ou utiliser le bouton « Get Jx » pour obtenir les valeurs de joint actuelles du robot dans le simulateur. Si vous obtenez les valeurs des joints/articulations d’un robot connecté, sélectionner d’abord « Get current joints » dans le menu de connexion du robot (voir l’image ci-jointe ou l’annexe pour plus d’informations sur la connexion d’un robot avec RobodDK). Il est fortement recommandé de conserver une copie séparée des joints utilisés pour l’étalonnage (comme un fichier texte, par exemple).

Robot Calibration Creaform - Image 44

8.Une fois le tableau rempli, vous verrez les nouvelles valeurs TCP (X, Y, Z) comme « TCP étalonné », au bas de la fenêtre. Sélectionner « Mettre à jour » et le nouveau TCP sera mis à jour dans la station RoboDK. L’orientation de la sonde ne peut pas être trouvée en utilisant cette méthode.

9.Sélectionner « Show errors » et vous verrez l’erreur de chaque pose par rapport au TCP calculé (qui est la moyenne de toutes les poses). Supprimer une pose si elle a une erreur plus importante que les autres.

10.Mettre à jour manuellement les valeurs dans le contrôleur du robot (X, Y, Z uniquement). Si le TCP est utilisé dans un programme généré par RoboDK, il n’est pas nécessaire de mettre à jour les valeurs dans le contrôleur de robot.


Calibration du repère de référence

Sélectionner UtilitairesDéfinir repère (user frame) pour étalonner un repère. Il est possible de définir un repère en utilisant différentes méthodes. Dans l’exemple du logiciel, un repère de référence est défini par trois points : les points 1 et 2 définissent la direction de l’axe des X et le point 3 définit l’axe des Y positifs.

Robot Calibration Creaform - Image 45

Annexe I – Mastering pour les axes 1 et 6

Il rest important de prêter une attention particulière si vous voulez récupérer les valeurs de mastering/origine pour les axes 1 et 6. Ces valeurs sont directement liées au repère de base du robot pour l’axe 1 et au repère du TCP pour l’axe 6. Par conséquent, des mesures externes doivent être prises pour définir correctement ces valeurs. La fenêtre suivante fenêtre s’affiche après avoir sélectionné « Make mastering program » dans le menu d’étalonnage.

Robot Calibration Creaform - Image 46

Suivre les deux procédures suivantes pour définir correctement les paramètres de mastering pour ces deux axes.

Référence de l’Axe 6

Utiliser une cible de référence pour régler correctement la position d’origine de l’axe 6. Le décalage de l’angle sera une rotation autour de l’axe Z de la bride, nécessaire pour adapter au mieux le TCP mesuré (X, Y, Z) à la référence TCP connue. Le TCP mesuré (voir l’image suivante) est l’un des TCP qui a été mesuré à l’étape deux de la procédure d’étalonnage. La référence TCP est une référence connue qui correspond à l’un des TCP de l’outil d’étalonnage utilisé.

Idéalement, le TCP de référence doit être mesuré par le CMM par rapport à la bride de l’outil (une réplique de la bride de l’outil robot serait préférable). Vous pouvez aussi utiliser un nouveau robot pour mesurer (étape deux de la procédure d’étalonnage) le TCP pour la première fois et utiliser un TCP mesuré comme référence. Il est important d’utiliser une goupille de goujon et/ou une bride d’outil appropriée pour s’assurer que l’effecteur est toujours placé à la même position.

Robot Calibration Creaform - Image 47

Référence de l’Axe 1

Mesurer correctement trois cibles de base avant de commencer un étalonnage de robot si vous voulez aligner l’axe 1 avec le repère de base du robot réel. Ces cibles de base doivent être choisies afin que le repère de référence puisse être trouvé par rapport au robot.

La position de « départ » de l’axe 1 dépend directement des trois cibles de base ainsi que de la configuration de la base du robot. La configuration de la base du robot est la première étape d’étalonnage, où le repère de base du système de mesure est placé par rapport au repère de base du robot en déplaçant et en mesurant les axes 1 et 2.

Les cibles de base du système de mesure peuvent être définies en appuyant sur « Définir les cibles de base » (voir l’image suivante). Il s’agit de 3 mesures qui définiront le repère de référence du robot souhaité (les 2 premières mesures définissent l’axe des X et le troisième point l’axe des Y positifs). Utiliser des points de référence appropriés liés à la base du robot afin que cette procédure soit reproductible.

L’angle de correction pour l’articulation 1 sera l’angle entre l’axe X de la référence de base mesuré à travers 3 points et la référence de base mesurée en déplaçant les axes 1 et 2 du robot. Bien sûr, les deux vecteurs sont précédemment projetés au plan XY de la référence de base obtenue en touchant les 3 points.

Robot Calibration Creaform - Image 48