FR2669257A1 - Procede d'etalonnage d'un robot. - Google Patents
Procede d'etalonnage d'un robot. Download PDFInfo
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
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.
- > - > - > - >
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.
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.
- > - > 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.
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.
- > 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.
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.
- 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.
- 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.
- 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.
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, ..).
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.
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, ..).
- 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.
- > - > - > - > - > - >
( 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.
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.
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.
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.
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.
- > - > [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.
- > - > - > - > [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
- > - > 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
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
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
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 ).
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.
- > - > 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...
- > 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
- > - > - > - > [ 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
<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
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.
<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
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.
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.
- > - > - > 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.
- > - > 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.
- > - > 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.
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.
- 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)
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.
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)
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)
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 |
-
1990
- 1990-11-21 FR FR9014505A patent/FR2669257A1/fr not_active Withdrawn
Patent Citations (2)
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)
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)
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'etalonnage d'un systeme d'acquisition tridimensionnelle de forme et systeme pour la mise en oeuvre dudit procede | |
KR100972571B1 (ko) | 비구면 렌즈의 면 어긋남 측정 방법 및 장치 | |
FR2669257A1 (fr) | Procede d'etalonnage d'un robot. | |
FR2734357A1 (fr) | Installation d'observation et procede pour effectuer des mesures tridimensionnelles sans contact | |
CN107300420B (zh) | 编码分束相位测量装置和测量方法 | |
EP2261629A2 (fr) | Procédé et appareil de mesure de sphère | |
BR102016029103B1 (pt) | Método para determinar uma transformação de sistema de coordenadas de um sistema de coordenadas de manipulador terminal de um manipulador terminal de uma máquina para um sistema de coordenadas de uma peça de trabalho, e, sistema para orientar um manipulador terminal de um braço robótico em relação a uma peça de trabalho | |
EP3362765A1 (fr) | Procédé et système de compensation d'erreurs de précision d'un hexapode | |
EP3427665B1 (fr) | Procede et systeme de calibration en ligne d'un dispositif medical a rayons x | |
CN115290006B (zh) | 一种用于反射光路光轴对准和面形曲率检测的系统及方法 | |
CN108731593B (zh) | 一种前后双目的位置姿态光学测量结构与方法 | |
JP7204428B2 (ja) | 偏心計測方法、レンズ製造方法、および偏心計測装置 | |
US20230280451A1 (en) | Apparatus and method for calibrating three-dimensional scanner and refining point cloud data | |
WO2020079355A1 (fr) | Configuration d'un dispositif de controle non destructif | |
JP4209023B2 (ja) | 画像計測システム及びその画像校正方法 | |
EP1391692B1 (fr) | Un système de surveillance des mouvements de parties d'ouvrage | |
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 | |
EP3642644B1 (fr) | Dispositif pour le diagnostic de systemes optroniques et procede associe | |
JP2011242544A (ja) | 反射偏向素子、相対傾斜測定装置および非球面レンズ測定装置 | |
FR2696969A1 (fr) | Procédé d'étalonnage d'un robot. | |
EP3645966B1 (fr) | Procede et dispositif de generation d'un signal impulsionnel a des positions particulieres d'un element mobile | |
JP4922905B2 (ja) | 回転中心線の位置変動測定方法および装置 | |
EP1363463B1 (fr) | Procédé et dispositif pour étalonner un banc de prise de vues stéréoscopiques | |
JP2000097669A (ja) | 光波干渉計装置、及び該装置におけるデータ処理方法 | |
KR20240018503A (ko) | 위치 측정 장치, 및 위치 측정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |