FR2669257A1 - Procede d'etalonnage d'un robot. - Google Patents

Procede d'etalonnage d'un robot. Download PDF

Info

Publication number
FR2669257A1
FR2669257A1 FR9014505A FR9014505A FR2669257A1 FR 2669257 A1 FR2669257 A1 FR 2669257A1 FR 9014505 A FR9014505 A FR 9014505A FR 9014505 A FR9014505 A FR 9014505A FR 2669257 A1 FR2669257 A1 FR 2669257A1
Authority
FR
France
Prior art keywords
robot
targets
parameters
target
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR9014505A
Other languages
English (en)
Inventor
Barbier Pascal
Randet Michel
Desmaret Jean-Pierre
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renault Automation Comau SA
Original Assignee
Renault Automation SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renault Automation SA filed Critical Renault Automation SA
Priority to FR9014505A priority Critical patent/FR2669257A1/fr
Publication of FR2669257A1 publication Critical patent/FR2669257A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator

Abstract

Procédé d'étalonnage d'un robot (1) comportant un certain nombre d'éléments de bras (3) reliés par des liaisons pivotantes ou coulissantes (7 à 11) pourvus chacune de moyens moteurs et de capteurs (7A à 11A). On établit un modèle mathématique du robot, sous la forme d'une équation liant la position et l'orientation d'un référentiel lié à l'extrémité du bras robotique aux valeurs fournies par les codeurs et aux paramètres fixes du modèle, sans infliger de condition restrictive initiale à la forme de cette équation, et on détermine lesdits paramètres à l'aide du résultat de visées entre des cibles fixes (6A, 6B, 6C) et un point lié audit référentiel.

Description

La présente invention est relative à un procédé d'étalonnage d'un robot.
On connaît, par EP-A-0042,960. un procédé d'étalonnage d'un robot formant un bras articulé pourvu, à chaque articulation, de moyens moteurs répondant aux instructions d'un organe de commande, et de codeurs de position. Selon ce procédé, l'organe de commande émet des instructions pour amener l'effecteur, placé à l'extrémité du bras, dans une position dite position nominale, et on compare la position réelle de l'effecteur, déterminée à l'aide d'un moyen de mesure indépendant, à la position nominale. Les données d'erreur enregistrées sont mises en mémoire, pour servir à l'établissement de nouvelles instructions, ou à des fins de diagnostic.
I1 est précisé, dans le document cité, qu'on répète les opérations ci-dessus pour un ensemble de positions nominales comprenant des sous-ensembles dans lesquels la position d'une seule articulation du bras varie, et que, pour simplifier les calculs, on admet que les contributions des différentes articulations à l'erreur globale peuvent être découplées. Les mesures faites pour un sous-ensemble permettent de connaître, avec cette hypothèse, la contribution de l'articulation qui varie pour les différentes positions de sous-ensemble. I1 suffit donc que le nombre des sous-ensembles soit égal au nombre des articulations, ce qui réduit considérablement le nombre des mesures.
Selon le document cité, pour établir un sousensemble de positions, on utilise un "masque d'etalonnage", comportant un certain nombre de repères correspondant au nombre de positions du sous-ensembles, par exemple une plaque présentant une rangée linéaire de trous, et l'effecteur porte des moyens de détections, par contact ou par proximité, de ces trous. I1 suffit de disposer le masque de telle façon que l'effecteur parcoure la série des trous quand l'articulation considérée change de position.
I1 est possible d'établir un modèle mathématique d'un robot sous la forme d'une équation du type
- > - > - > - >
g ( c , (P , u ) p ) = O
- > dans laquelle c est le vecteur des coordonnées internes, ou valeurs fournies par les codeurs, du robot, - > - >
P et u sont les vecteurs définissant respectivement la position et l'orientation du référentiel lié à l'extrémité du bras robotique, et p le vecteur des paramètres du modèle.
Adopter l'hypothèse du découpage des contributions des articulations à l'erreur globale revient à imposer a priori une condition restrictive à la forme de l'équation précitée. Une telle restriction n'est pas à rejeter en soi, si elle simplifie les calculs ou les mesures, à condition qu'elle aboutisse à des résultats acceptables dans la pratique.
Malheureusement, cette hypothèse n'est pas vérifiée dans tous les cas, et l'expérience montre au contraire que les erreurs liées à une articulation sont souvent très fortement dépendantes de la situation des autres articulations, et cela réduit de façon considérable l'intérêt de la méthode qu'on vient de citer.
D'autre part, les détections de position au moyen d'un masque d'étalonnage sont habituellement lentes et délicates, avec des risques d'endommager le masque ou l'effecteur.
La présente invention a pour but de fournir un procédé qui ne présente pas les défauts de l'art antérieur, et qui permette un étalonnage précis et rapide d'un robot, ainsi que des moyens de diagnostic efficaces des défauts.
Pour obtenir ce résultat, l'invention fournit un procédé d'étalonnage d'un robot comprenant un socle fixe portant un bras robotique composé d'un certain nombre d'éléments reliés entre eux par des liaisons mobiles pourvues chacune d'au moins un codeur de position et de moyens moteurs qui peuvent être commandés par un organe de commande pour amener ladite liaison à des situations correspondant à des valeurs de consigne pour lesdits codeurs, le bras robotique ayant une extrémité liée au socle et une extrémité libre, à laquelle est lié un référentiel, ce robot pouvant être représenté par un modèle mathématique ayant la forme d'une équation du type - > - > - > - >
g ( c , (P , u ) p ) = O
- > dans laquelle c est le vecteur des coordonnées internes, ou valeurs fournies par les codeurs, du robot, - > - >
P et u sont les vecteurs définissant respectivement la position et l'orientation du référentiel lié à l'extrémité du bras robotique, et - > p le vecteur des paramètres du modèle,
procédé selon lequel, pour définir le vecteur - > p des paramètres du modèle,
on procède par opérations successives, le référentiel étant amené, lors de chaque opération, dans une situation différente par rapport à un ou plusieurs points (6A, 6B, 6C) fixes par rapport au socle du robot, on mémorise les indications des codeurs pour chaque opération, et on réalise un traitement mathématique de ces indications à l'aide dudit modèle, et
chaque opération comprend une visée optique unique à l'aide d'un faisceau lumineux établi entre un point (4) lié au référentiel du robot et un point (6A, 6B, 6C) fixe par rapport au socle.
Le fait qu'on procède à des visées sur des cibles fixes permet des mesures plus rapides et plus faciles que des déterminations par contact ou par proximité.
On notera qu'ici la position/orientation du
- > - > référentiel est représentée par ( P , u ), vecteur à 5 composantes, et non par les six paramètres généraux de position/orientation. Ceci vient de ce que, dans la procédure d'étalonnage par visée, une rotation de la - > > configuration du robot autour de l'axe ( P , u ) est indécelable. On n'a donc à expliciter dans le calcul que
- > - > les coordonnées externes ( P , u ) effectivement mesurables.
On peut également observer que, si on considère que, dans le référentiel Oxyz lié à l'extrémité du bras, l'axe
Ox est confondu avec l'axe de visée, le fait qu'une cible se trouve sur l'axe de visée signifie que les coordonnées de cette cible par rapport à ce référentiel sont telles que y = O et z = O. Le nombre de visées nécessaire est plus grand que si l'on opérait par détection de contacts, c'est-à-dire en amenant un repère fixe à avoir des coordonnées fixées à l'avance dans le référentiel lié à l'extrémité du bras, mais ce désavantage relatif est largement compensé par la sécurité et la facilité des visées, qui permettent de multiplier celles-ci en peu de temps.
De préférence, pour la détermination des paramètres
- > du vecteur p , on utilise des méthodes de minimisation statistique permettant d'optimiser les paramètres mesurés.
De préférence aussi, on emploie une méthode automatique de calcul selon laquelle on utilise des équations du type - > - >
c = j-1 ( P , u provenant d'une dérivation mathématique d'une équation du type - > - >
c = f-1 ( ( P , u ), P qui explicite ladite équation :
- > - > - > - >
g ( c , (P , u ) p ) = O pour calculer les variations des valeurs données par les codeurs.
Avantageusement, pQur les visées, on dispose des cibles situées hors du domaine d'action du robot, et on utilise un émetteur de rayonnement, tel qu'une torche laser, montée sur l'extrémité du bras robotique.
Des variantes intéressantes des procédures de mesure de la méthode proposée consistent à remplacer les cibles inertes par des cibles actives, détectant l'alignement du faisceau ou mesurant le décalage entre le faisceau et le centre de la cible. Ces cibles actives peuvent être par exemple des cellules photosensibles, des barrettes de photodiodes ou des matrices de photodiodes.
Une autre variante intéressante est la permutation entre émetteur et cible, les émetteurs étant alors des sources lumineuses quasi-ponctuelles à large champ disposées sur des éléments fixes, la cible active étant une camera à fort grandissement portée par l'extrémité mobile du robot.
L'invention va maintenant être exposée de façon plus précise à l'aide d'un exemple pratique illustré par la figure unique, qui est une vue schématique d'un robot et de ses cibles d'étalonnage.
La référence 1 désigne dans son ensemble un robot comprenant un socle 2 et un certain nombre d'éléments de bras 3, portés les uns par les autres à partir du socle et capables de mouvements de pivotement ou de coulissement les uns par rapport aux autres.
On a représenté à l'extrémité du bras du robot, une source lumineuse, par exemple un émetteur laser 4, capable d'émettre un faisceau étroit 5.
Les repères 6A, 6B, 6C désignent des cibles fixes par rapport au socle 2 et susceptibles de recevoir le faisceau 5. Le fait qu'un faisceau 5 frappe une cible peut être constaté soit visuellement, soit de façon automatique, si la cible est une cible "active", capable, par exemple, d'émettre un signal si le faisceau frappe la cible elle-même ou s'il frappe un point voisin. Dans ce cas, des signaux de commande, faciles à concevoir pour un homme de métier, déplaceront l'émetteur 4 jusqu'a ce que le faisceau atteigne la cible.
Le bras robotique peut prendre, bien entendu, un très grand nombre de configurations. Pour fixer les idées, outre une configuration représentée en traits pleins, on en a représenté deux autres en traits mixtes, l'un dans lequel le faisceau 5 frappe la même cible 6A que dans la configuration en trait plein, l'autre où il frappe une autre cible 6B.
Les cibles sont disposées à demeure sur des éléments fixes du site de travail ou de son environnement immédiat (par exemple : pylône).
Le dessin des cibles (croix, cercles concentriques, ..) doit être tel qu'il permette la visée à la précision recherchée.
La disposition des cibles répond aux deux critères suivants
- dégagement de l'espace entre le robot et la cible, et bonne visibilité de la cible par l'opérateur dans le cas d'une commande visuelle;
- stabilité dans le temps de la position de la cible vis-à-vis d'un référentiel lié au poste de travail, c'està-dire au socle 2 du robot; les déplacements rapides (vibrations) ou lents (déformations) des éléments sur lesquels sont fixées les cibles doivent être inférieurs à la précision recherchée.
Pour le calage de référentiel et l'étalonnage, la position des cibles doit être mesurée par un moyen externe (par exemple théodolites), soit par rapport au référentiel lié au poste de travail, soit en déterminant seulement les positions relatives entre cibles.
Les cibles étant fixées à demeure n'ont pas besoin d'être facilement accessibles; on peut donc les disposer suffisamment haut pour bénéficier d'un meilleur dégagement de ltenvironnement.
L'émetteur est de faible encombrement et de faible intensité (donc non dangereux pour l'environnement humain). Il est fixé à l'extrémité mobile du robot
- soit à l'aide de broches, en remplacement du terminal;
- soit, si le terminal a été conçu pour le recevoir, directement sur le terminal ou sur son support (dans ce cas, le démontage du terminal est évité, d'où un gain de temps appréciable);
- soit, si le coût de l'émetteur est suffisamment bas, et si l'application le permet, fixé à demeure sur le support du terminal.
Dans tous les cas, le positionnement géométrique du système optique émetteur (qui détermine la direction du faisceau dans le référentiel du terminal) doit être connu, précis et répétitif.
La trace du faisceau lumineux sur la cible doit être de dimension inférieure ou égale à la résolution des codeurs; l'angle d'ouverture et la focalisation du faisceau sont déterminés par cette condition.
Chacune des liaisons 7, 8, 9, 10, 11, pivotantes ou coulissantes entre les éléments 3 du bras robotique, est équipée d'un capteur 7A, 8A, 9A, 10A, llA dont les signaux sont envoyés par des moyens représentés par ligne en trait mixte vers un centre de traitement 12.
L'ensemble des logiciels de traitement peut être implanté sur micro-ordinateur, ce qui permet un large choix de solutions matérielles pour l'équipement informatique
- soit un simple système de sauvetage des données brutes de mesure (valeurs des codeurs + identificateur du numéro de mesure et de cible), pour un traitement différé sur un centre de traitement externe;
- soit un système de télé-transmission des mesures vers un centre de traitement externe, pour un traitement immédiat ou différé;
- soit un micro-ordinateur portable, muni d'une interface avec la baie de commande, contenant les logiciels de saisie des mesures, de sauvegarde et de traitement;
- soit une implantation directe sur la baie de commande des systèmes de sauvegarde et de traitement.
Les procédures de mesure dépendent du type de paramètres à déterminer. On doit distinguer trois classes de paramètres, entraînant des procédures qui vont du plus simple au plus complexe
1 - Recalage des valeurs initiales des codeurs.
2 - Paramètres angulaires (décalage géométrique des codeurs des axes de rotation, gains et linéarités des codeurs des axes de rotation, recalages d'orientation,
3 - Paramètres de dimension (longueurs et décalages de bras, décalages, gains et linéarité des axes de translation,recalages de translation, ..).
Le recalage des valeurs initiales des codeurs est indispensable pour l'exécution de toute trajectoire d'application d'un robot (en mode codeurs comme en mode géométrique).
La procédure de recalage comprend deux phases
1. Dans un recalage initial de référence, le robot est déplacé, en commande manuelle, afin de faire coïncider le faisceau lumineux avec les cibles. Plusieurs visées par cible, dans des configurations du robot aussi différentes possible, doivent être effectuées.
L'ensemble des visées sur les cibles constitue la trajectoire de recalage initial qui sera sauvegardée dans la base de commande du robot.
Cette trajectoire doit être créée en même temps que les trajectoires d'application du robot (c'est-à-dire avec le même robot dans le même état).
En fabrication, une trajectoire de recalage existe, chez le constructeur, pour chaque type de robot. Pour chaque nouveau robot du même type, l'opérateur restitue la trajectoire de recalage, et la modifie à chaque visée pour faire coïncider le faisceau avec la cible correspondante.
La trajectoire de recalage initial sert de trajectoire de contrôle. Pour cela, l'opérateur la restitue sur le robot et vérifie à chaque visée la coïncidence du faisceau et de la cible.
2. Pour un recalage en exploitation, la trajectoire de recalage est restituée sur le robot par l'opérateur, point de mesure par point de mesure. L'opérateur doit, à chaque point de mesure, modifier en commande manuelle la configuration du robot de manière à faire coïncider le faisceau avec le centre de la cible. Les décalages de tous les codeurs sur chaque point de mesure sont enregistrés.
Ils servent immédiatement à déterminer le recalage des valeurs initiales des codeurs, et, ultérieurement, comme définition de la nouvelle trajectoire de recalage.
L'étalonnage et le recalage des paramètres angulaires ne nécessitent aucune mesure préalable sur les cibles. L'établissement d'une trajectoire initiale de référence facilite cependant les mesures et en diminue la durée.
La procédure de mesure consiste, comme précédemment, à faire coïncider le faisceau et les cibles, avec plusieurs configurations aussi différentes que possible pour chaque cible.
La détermination des paramètres est effectuée en reconstituant par le calcul les différentes visées d'une cible pour les faire coïncider. On minimise la somme des carrés des écarts résiduels.
Les procédures précédentes ne suffisent pas pour déterminer les paramètres de longueur, ceux-ci nécessitant des références métriques.
Il est donc nécessaire de caler les longueurs par des mesures de référence. Suivant les paramètres que l'on cherche à déterminer, on peut utiliser
- des règles sur lesquelles sont disposées plusieurs cibles, les distances étant fixées à l'avance;
- des mesures de distances intercibles effectuées par une procédure externe (théodolites par exemple);
- des mesures de positions de cibles dans le référentiel du site de travail par une procédure externe;
- la prise en compte, dans le modèle géométrique du robot, de valeurs nominales de certaines longueurs (longueurs de bras, décalages, gains des codeurs, des axes de translation, ..).
Les longueurs de référence étant établies, la procédure de mesure et de calcul est identique aux précédentes, en ajoutant dans les calculs les contraintes imposées de position ou de distances.
Le traitement mathématique de toutes les procédures précédentes nécessite la modèlisation géométrique du robot.
Supposons, par exemple, que
- > - > - > - > - > - >
( P1 , ut ) , ( P2 , u2 ) et ( P3 , u3 représentent les faisceaux lumineux reconstitués par le calcul lors d'une mesure sur une cible C, où les Pi représentent les points du faisceau attachés au robot (et connus dans le référentiel du terminal) et ui les vecteurs unitaires de direction des faisceaux. La position réelle C de la cible est supposée inconnue et remplacée par le point G, défini comme le point pour lequel la somme SGHj2 est minimum ( ou EGHi = O, ce qui est équivalent), Hi étant la projection de G sur le ième faisceau. On suppose N cibles avec nj mesures sur chaque cible.
On cherche les valeurs des paramètres à déterminer telles que la fonction écart
N n.
F = z s3 GHi 2, soit minimum.
j=1 i=l
Cette minimisation est effectuée par une résolution itérative des moindres carrés par une méthode de gradient; le type de méthode de gradient nécessaire à la résolution dépend de la plus ou moins grande linéarité des équations du modèle géométrique vis-à-vis des paramètres à déterminer.
Si les distances du robot à la cible varient notablement, on peut optimiser le calcul en pondérant, dans la fonction F ci-dessus, les écarts par la distance.
Si des contraintes de longueur de type distances intercibles sont imposées, on introduit ces contraintes dans le calcul en ajoutant à la fonction écart des termes:
z ( Gj G k 2 - Cj Ck2 )2 Kjk
j,k où Gj G k représente la distance entre les cibles calculées
G. et Gk, et C.C k la distance de référence entre ces
3 3 cibles. K; k représente le coefficient de pondération, qui dépend du nombre de mesures par cible, et, éventuellement, de la distance des cibles.
Pour expliciter un peu plus le traitement mathématique, on peut désigner que chaque visée sur un cible est représentée par les paramètres de définition du faisceau lumineux 5, assimilé à une droite orientée.
Chaque faisceau est caractérise par le point
P , position calculée de l'émetteur 4, et par le vecteur
- > unitaire u . On indique par i = 1, 2, 3, .. , nj les visées sur une même cible et par j = 1, 2, 3, ..., N, les
- > - > différentes cibles. Ainsi le couple (Pji, Uji) représente la iême visée sur la j-ème cible.
La modélisation du robot permet d'établir une relation de type
- > - > [1] g ( c , ( P , u ) , P ) = O,
- > dans laquelle c est le vecteur des coordonnées internes - > - > (valeurs codées) du robot, ( P , u ) la position/orientation du référentiel associé à la pointe
- > outil (coordonnées externes) et P le vecteur des paramètres du modèle.
La relation g est explicitée sous deux formes
- > - > - > - > [2] (P , u ) = f ( c , P ), dite "modèle direct", qui permet de calculer les - > > coordonnées externes ( P , u ) à partir des coordonnées
- > internes c ; et
- > - > - > E 3 ] c = f-1 (P , u ) , P dite "modèle inverse", qui permet de calculer les coordonnées internes c à partir des coordonnées externes
- > - > ( P , u ). La relation directe f est toujours exprimable de manière simple; la relation inverse f-1 est généralement plus complexe à obtenir, et n'est pas toujours exprimable de manière analytique.
A titre d'exemple, pour un robot vertical à poignet
- > - > 3-axes concourants, de bras successifs L1 et L2 et de pointe-outil S, la relation f s'exprime sous la forme
- > - > - > - > [4 ] P = Q1 o Q2 ( L1 + Q3 ( L2 + Q4 o Q5 o Q6 (S ))),
- > - > [5] u = Q1 Q2 o Q3 o Q4 o Q5 o Q6 ( u0 ), où Q1 (i = 1 à 6) est le quaternion qui représente la
- > configuration de l'axe de rotation i et uo le vecteur unitaire du faisceau quand le robot est en position de référence.Le signe o représente le produit de deux quaternions
Figure img00120001
Figure img00130001

et Q ( X ) représente l'image du vecteur X pour la rotation Q
- > - > E 7 J Q ( X ) = Q o ( o, X ) o Q 1 avec
Figure img00130002
La commande géométrique du robot utilise la relation inverse f-1.La commande dite "en position" utilise explicitement f-1 pour calculer les valeurs codeurs A c à transmettre aux asservissements des axes du robot; la commande dite "en vitesse" ou "cinétique" utilise la relation
Figure img00130003

pour calculer les variations des valeurs codeurs A # à transmettre aux asservissements; J est la matrice Jacobienne de la relation f vis-à-vis des coordonnées
- > internes C . j-i est déterminée soit par calcul direct de la matrice Jacobienne de la relation f-i vis-à-vis de
- > - > ( P , u ), soit plus fréquemment, par inversion de la matrice J.Si J n'est pas inversible pour des raisons structurelles (matrice rectangulaire par exemple), on utilise les méthodes de calcul des pseudo-inverses (algorithme de Gréville) pour déterminer J-1 (une matrice pseudo-inverse est définie par l'égalité JJ-1J = J ).
On notera qu'ici la position/orientation du - > - > référentiel est représentée par ( P , u ), vecteur à cinq composantes, et non par les six paramètres généraux de position/orientation. Ceci vient de ce que, dans la procédure d'étalonnage par visée, une rotation de la
- > - > configuration du robot autour de 1 ' axe ( P , u ) est indécelable. On n'a donc à expliciter dans le calcul que - > - > les coordonnées externes ( P , u ) effectivement mesurables.
Quel que soit le mode de commande utilisé, la relation f-1 ou le Jacobien j-l contiennent explicitement
- > le vecteur P des paramètres du modèle. Le but de l'étalonnage est de déterminer tout ou partie des valeurs de P qui optimisent dans la (ou les) zone(s) de travail du robot l'écart entre la position/orientation calculée - > - > (P , u )c et la position/orientation réelle > - > (P , u
Pour cela1 on définit une fonction "écart" F, associée aux mesures d'étalonnage, et on cherche les
- > valeurs des paramètres P qui minimisent cette fonction.De manière générale, on exprime la fonction F sous la forme
N nj - > - > - > - > [ 9 1 F = S # h2 ( ( Pij, uij )c, Mij, qj )
j=1 i=1 où h est une fonction dont la forme dépend de la procédure d'étalonnage utilisée (h dépend de - > - > - >
P par l'intermédiaire de ( Pij, uij )c ), Mij sont des données liées aux mesures et qj des paramètres auxiliaires à déterminer simultanément avec P .Par exemple, pour une procédure d'étalonnage par mesures externes de
- > - > ( Pij, uij )k
> - > [ 10 1 h = ( Pij, uij )c - ( Pij, uij )k ; dans une procédure de mesure par palpage d'objet de référence, - > qj représente les paramètres de position/orientation de l'objet de référence n j; dans le cas de mesures de coordonnées partielles, h contient la matrice de réduction aux coordonnées partielles, etc...
Dans la méthode proposée ici, les mesures externes sont absentes, et h s'exprime par
- > - > - > - > [ 11 J h = h ( ( Pij, uij )c, Xj ), où Wj sont les coordonnées de la cible, à déterminer si la position de la cible est inconnue, ou fixes si cette position est connue antérieurement. L'expression explicite de h est obtenue en
> - > écrivant la concourance des faisceaux ( Pij, uij )c sur
- > - > la cible Xj; on prend alors pour 1 le moment de Xj à la
- > - > droite ( Pij, uij)c
- > - > - > - > [ 12 1 h = ( Xj - Pij ) /\ uij
La minimisation de F consiste à rechercher la valeur
- > - > de P telle que le gradient de F, F : O.On note Aij
- > - > - > le Jacobien de h par rapport à P et aux qj (ici Xj , si la position de la cible est inconnue
Figure img00150001
<tb> <SEP> - > <SEP> - > <SEP> - >
<tb> <SEP> dh <SEP> dh <SEP> df <SEP> dh
<tb> E <SEP> 13 <SEP> 1 <SEP> Aij <SEP> = <SEP> -------- <SEP> = <SEP> <SEP> r <SEP>
<tb> <SEP> - > <SEP> - > <SEP> - > <SEP> <SEP> - > <SEP> - > <SEP> > / <SEP>
<tb> <SEP> d(P, <SEP> qj) <SEP> d( <SEP> Pij, <SEP> uij) <SEP> dP <SEP> dXj <SEP>
<tb>
On choisit des valeurs initiales - > - > - > - > pO de p et qjO de qj.On calcule les hijo
- > - > - > - > - > [ 14 1 hij0 = h ( ( Pij , uij )co t qiO ) t),
avec
- > - > - > - > [ 15 ] ( Pij , uij )co = f ( Cij , Po )
La condition
Figure img00150002

s'exprime alors par
- > - > - > - > [E 16 1 M ( p - po , qj - qiO ) = U où
N nj E 17 1 M = S z AijT .Aij
j=1 i=1
où Aij T est la matrice transposée de Aij, et
> N nj E 18 1 U = z z AijT hij
j=1 i=1
La résolution du système linéaire E 16 1 donne alors
- > - > les valeurs de P et de qj recherchées.
La procédure de calcul prend également en compte, de manière optionnelle, les points suivants
1) Si certaines composantes du vecteur des
- > paramètres P sont considérées comme connues, la procédure supprime automatiquement les dimensions correspondantes des Jacobiens Aij.
Ceci permet de limiter l'étalonnage aux seuls paramètres désirés.
2) Si les coordonnées de la cible i sont connues, la procédure supprime automatiquement les variables qj correspondantes des Jacobiens Aij. On peut donc mélanger dans l'étalonnage cibles connues et inconnues.
3) Si h n'est pas linéaire vis-à-vis de certaines
- > - > - > composantes de P ou des qj, la condition 7 F = 0 n'est pas strictement vérifiée par la relation E 16 J. La procédure devient alors itérative, le calcul étant ré
- > - > initialisé aux valeurs de P et de qi trouvées.
Dans ce cas, pour que la procédure converge, il est
- > - > nécessaire que les valeurs initiales PO et qjO ne soient pas trop aberrantes. Dans la pratique, le domaine de convergence est assez large, et le choix des valeurs initiales n'est pas trop contraignant.
4) On peut également imposer des distances connues entre cibles, sans que les positions absolues des cibles soient nécessairement connues. Pour cela on utilise la méthode dite des multiplicateurs de Lagrange. Les contraintes sont exprimées sous la forme
- > - > E 19 1 k ( qj , P ) = O
Par exemple
- > - > E 20 1 ( Xj - Xj' )2 - Djj, 2 =
où Djj' est la distance des cibles j et j'. On remplace alors dans l'équation E 9 1 la fonction F par la fonction E 21 1 = F + z pk # k.
k
Les Jacobiens Aij sont modifiés en tenant compte des contraintes t k, et les multiplicateurs uk sont
- > - > ajoutés aux variables P et qj à déterminer. La suite de la procédure est identique à celle décrite ci-dessus.
5) La procédure de calcul inclut un report des - > - > - > valeurs de F, P , qj , hij , ..., ainsi que des résultats statistiques (moyennes, écarts-types, extrema, ..) des écarts hij. Ceci permet
- de suivre 1'itération pour déceler d'éventuels problèmes de convergence;
- d'éliminer les éventuelles mesures aberrantes, par filtrage manuel ou automatique;
- de contrôler la qualité des résultats et, par là, la qualité du robot et de sa commande géométrique; on peut ainsi fournir des données quantifiées utilisables pour la maintenance corrective et préventive du robot;
- d'analyser la qualité de la modélisation choisie pour un robot et de permettre éventuellement de modifier celle-ci.

Claims (6)

REVENDICATIONS
1. Procédé d'étalonnage d'un robot (1) comprenant un socle fixe portant un bras robotique (3) composé d'un certain nombre d'éléments reliés entre eux par des liaisons mobiles (7 à 11) pourvues chacune d'au moins un codeur de position (7A à 11A)et de moyens moteurs qui peuvent être commandés par un organe de commande pour amener ladite liaison à des situations correspondant à des valeurs de consigne pour lesdits codeurs, le bras robotique ayant une extrémité liée au socle et une extrémité libre, à laquelle est lié un référentiel, ce robot pouvant être représenté par un modèle mathématique ayant la forme d'une équation du type - > - > - > - >
g ( c , (P , u ), p ) = 0
- > dans laquelle c est le vecteur des coordonnées internes, ou valeurs fournies par les codeurs, du robot, - > - >
P et u sont les vecteurs définissant respectivement la position et l'orientation du référentiel lié à l'extrémité du bras robotique, et - > p le vecteur des paramètres du modèle,
procédé selon lequel, pour définir le vecteur - > p des paramètres du modèle, on procède par opérations successives, le référentiel étant amené, lors de chaque opération, dans une situation différente par rapport à un ou plusieurs points (6A, 6B, 6C) fixes par rapport au socle du robot, on mémorise les indications des codeurs pour chaque opération, et on réalise un traitement mathématique de ces indications à l'aide dudit modèle,
caractérisé en ce que chaque opération comprend une visée optique unique à l'aide d'un faisceau lumineux établi entre un point (4) lié au référentiel du robot et un point (6A, 6B, 6C) fixe par rapport au socle.
2. Procédé selon la revendication 1, caractérisé en ce que pour la détermination des paramètres du vecteur p , on utilise des méthodes de minimisation statistiques permettant d'optimiser les paramètres mesurés.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'on utilise des équations du type
- > - > - >
c = j-l ( P , u provenant d'une dérivation mathématique d'une équation du type - > - >
c = f-l ( ( P , u ), P qui explicite ladite équation :
- > - > - >
g (c,(P , u ) p ) = O pour calculer les variations des valeurs données par les codeurs.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que, pour les visés, on dispose des cibles fixes situées hors du domaine d'action du robot, et on utilise un émetteur de rayonnement, tel qu'une torche laser, montée sur l'extrémité du bras robotique.
5. Procédé selon la revendication 4, caractérisé en ce que les cibles sont des cibles actives aptes à détecter l'alignement du faisceau ou a mesuré le décalage entre le faisceau et la cible.
6. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'on utilise pour les visées plusieurs émetteurs constitués de sources lumineuses fixes, quasiponctuelles à large champ, situées hors du domaine d'action du robot, et une camera à fort grandissement portée par l'extrémité libre du robot.
FR9014505A 1990-11-21 1990-11-21 Procede d'etalonnage d'un robot. Withdrawn FR2669257A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9014505A FR2669257A1 (fr) 1990-11-21 1990-11-21 Procede d'etalonnage d'un robot.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9014505A FR2669257A1 (fr) 1990-11-21 1990-11-21 Procede d'etalonnage d'un robot.

Publications (1)

Publication Number Publication Date
FR2669257A1 true FR2669257A1 (fr) 1992-05-22

Family

ID=9402420

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9014505A Withdrawn FR2669257A1 (fr) 1990-11-21 1990-11-21 Procede d'etalonnage d'un robot.

Country Status (1)

Country Link
FR (1) FR2669257A1 (fr)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2696969A1 (fr) * 1992-10-21 1994-04-22 Univ Joseph Fourier Procédé d'étalonnage d'un robot.
WO1994015265A1 (fr) * 1992-12-18 1994-07-07 Dtm Corporation Etalonnage automatique du balayage dans le frittage selectif par laser
WO1994029774A1 (fr) * 1993-06-11 1994-12-22 Bertin & Cie Procede et dispositif de reperage dans l'espace d'un objet mobile tel qu'un capteur ou un outil porte par un robot
WO1999010136A1 (fr) * 1997-08-28 1999-03-04 Proteus Corporation Etalonnage laser de systemes robotiques
WO1999042257A1 (fr) * 1998-02-18 1999-08-26 Armstrong Healthcare Limited Procede et appareil de positionnement d'un robot
WO2000073028A1 (fr) * 1999-05-28 2000-12-07 Bernd Scheibner Procede pour mesurer un dispositif de manutention
FR2806657A1 (fr) * 2000-03-21 2001-09-28 Romain Granger Systeme de reperage positionnel d'une machine tridimensionnelle dans un referentiel fixe
CN102501252A (zh) * 2011-09-28 2012-06-20 三一重工股份有限公司 一种控制执行臂末端运动的方法及控制系统
CN109974584A (zh) * 2019-04-12 2019-07-05 山东大学 一种辅助激光截骨手术机器人的标定系统及标定方法
CN110065072A (zh) * 2019-05-21 2019-07-30 西南交通大学 机器人重复定位精度的验证方法
CN110561500A (zh) * 2019-09-30 2019-12-13 宜宾职业技术学院 空间定位误差测量装置及其测量方法
WO2020034402A1 (fr) * 2018-08-16 2020-02-20 居鹤华 Procédé de mesure de paramètres de structure de robot à axes multiples précis sur la base d'un invariant d'axe

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0339560A1 (fr) * 1988-04-26 1989-11-02 Fuji Jukogyo Kabushiki Kaisha Dispositif et procédé de l'ajustage d'une position pour un robot industriel
US4967370A (en) * 1988-10-21 1990-10-30 Robotic Vision Systems, Inc. Robot and sensor error determination system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0339560A1 (fr) * 1988-04-26 1989-11-02 Fuji Jukogyo Kabushiki Kaisha Dispositif et procédé de l'ajustage d'une position pour un robot industriel
US4967370A (en) * 1988-10-21 1990-10-30 Robotic Vision Systems, Inc. Robot and sensor error determination system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COMPUTERS IN INDUSTRY. vol. 12, no. 1, mars 1989, AMSTERDAM NL pages 1 - 12; NARAN VIRA: "ROBOTS END POINT SENSING: HARDWARE AND SOFTWARE TECHNIQUES" *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2696969A1 (fr) * 1992-10-21 1994-04-22 Univ Joseph Fourier Procédé d'étalonnage d'un robot.
WO1994015265A1 (fr) * 1992-12-18 1994-07-07 Dtm Corporation Etalonnage automatique du balayage dans le frittage selectif par laser
US5430666A (en) * 1992-12-18 1995-07-04 Dtm Corporation Automated method and apparatus for calibration of laser scanning in a selective laser sintering apparatus
WO1994029774A1 (fr) * 1993-06-11 1994-12-22 Bertin & Cie Procede et dispositif de reperage dans l'espace d'un objet mobile tel qu'un capteur ou un outil porte par un robot
FR2706345A1 (fr) * 1993-06-11 1994-12-23 Bertin & Cie Procédé et dispositif de repérage dans l'espace d'un objet mobile tel qu'un capteur ou un outil porté par un robot.
US5784282A (en) * 1993-06-11 1998-07-21 Bertin & Cie Method and apparatus for identifying the position in three dimensions of a movable object such as a sensor or a tool carried by a robot
WO1999010136A1 (fr) * 1997-08-28 1999-03-04 Proteus Corporation Etalonnage laser de systemes robotiques
US6175413B1 (en) 1997-08-28 2001-01-16 Proteus Corporation Laser calibration of robotics systems
US6349245B1 (en) 1998-02-18 2002-02-19 Armstrong Healthcare Limited Method of and apparatus for registration of a robot
WO1999042257A1 (fr) * 1998-02-18 1999-08-26 Armstrong Healthcare Limited Procede et appareil de positionnement d'un robot
WO2000073028A1 (fr) * 1999-05-28 2000-12-07 Bernd Scheibner Procede pour mesurer un dispositif de manutention
FR2806657A1 (fr) * 2000-03-21 2001-09-28 Romain Granger Systeme de reperage positionnel d'une machine tridimensionnelle dans un referentiel fixe
US6611346B2 (en) 2000-03-21 2003-08-26 Romain Granger System for identifying the position of a three-dimensional machine in a fixed frame of reference
CN102501252A (zh) * 2011-09-28 2012-06-20 三一重工股份有限公司 一种控制执行臂末端运动的方法及控制系统
WO2020034402A1 (fr) * 2018-08-16 2020-02-20 居鹤华 Procédé de mesure de paramètres de structure de robot à axes multiples précis sur la base d'un invariant d'axe
CN109974584A (zh) * 2019-04-12 2019-07-05 山东大学 一种辅助激光截骨手术机器人的标定系统及标定方法
CN110065072A (zh) * 2019-05-21 2019-07-30 西南交通大学 机器人重复定位精度的验证方法
CN110561500A (zh) * 2019-09-30 2019-12-13 宜宾职业技术学院 空间定位误差测量装置及其测量方法
CN110561500B (zh) * 2019-09-30 2021-04-13 宜宾职业技术学院 空间定位误差测量装置及其测量方法

Similar Documents

Publication Publication Date Title
EP0452422B1 (fr) Procede d&#39;etalonnage d&#39;un systeme d&#39;acquisition tridimensionnelle de forme et systeme pour la mise en oeuvre dudit procede
KR100972571B1 (ko) 비구면 렌즈의 면 어긋남 측정 방법 및 장치
KR101299509B1 (ko) 광학 소자의 편심 조정 조립 방법 및 편심 조정 조립 장치
FR2669257A1 (fr) Procede d&#39;etalonnage d&#39;un robot.
FR2734357A1 (fr) Installation d&#39;observation et procede pour effectuer des mesures tridimensionnelles sans contact
EP2261629A2 (fr) Procédé et appareil de mesure de sphère
FR2916534A1 (fr) Procede et dispositif pour la mesure sans contact d&#39;oscillations d&#39;un objet
EP2103745A1 (fr) Procédé et système de calibration automatique des engins de terrassement
EP3362765A1 (fr) Procédé et système de compensation d&#39;erreurs de précision d&#39;un hexapode
JP7204428B2 (ja) 偏心計測方法、レンズ製造方法、および偏心計測装置
WO2020079355A1 (fr) Configuration d&#39;un dispositif de controle non destructif
CN108731593B (zh) 一种前后双目的位置姿态光学测量结构与方法
EP1391692B1 (fr) Un système de surveillance des mouvements de parties d&#39;ouvrage
US20230280451A1 (en) Apparatus and method for calibrating three-dimensional scanner and refining point cloud data
EP3642644B1 (fr) Dispositif pour le diagnostic de systemes optroniques et procede associe
JP2011242544A (ja) 反射偏向素子、相対傾斜測定装置および非球面レンズ測定装置
FR2696969A1 (fr) Procédé d&#39;étalonnage d&#39;un robot.
EP3645966B1 (fr) Procede et dispositif de generation d&#39;un signal impulsionnel a des positions particulieres d&#39;un element mobile
WO2020245128A1 (fr) Système de visée comprenant un dispositif de visée orientable par rapport à une embase, apte à mettre en œuvre un procédé de calibrage sur site simple et rapide
EP1363463B1 (fr) Procédé et dispositif pour étalonner un banc de prise de vues stéréoscopiques
KR20240018503A (ko) 위치 측정 장치, 및 위치 측정 방법
Hrynevych et al. Baseline monitoring for astrometric interferometry
JP6210832B2 (ja) 計測方法及び計測装置
CN117740328A (zh) 光学波前检测装置及其检测方法
BRIGUGLIO PELLEGRINO et al. 8s, a numerical simulator of the challenging optical calibration of the E-ELT adaptive mirror M4

Legal Events

Date Code Title Description
ST Notification of lapse