FR2696969A1 - Calibrating robot arm - adjusting theoretical estimates to match real co-ordinates measured from laser beam intersection with plane - Google Patents
Calibrating robot arm - adjusting theoretical estimates to match real co-ordinates measured from laser beam intersection with plane Download PDFInfo
- Publication number
- FR2696969A1 FR2696969A1 FR9212904A FR9212904A FR2696969A1 FR 2696969 A1 FR2696969 A1 FR 2696969A1 FR 9212904 A FR9212904 A FR 9212904A FR 9212904 A FR9212904 A FR 9212904A FR 2696969 A1 FR2696969 A1 FR 2696969A1
- Authority
- FR
- France
- Prior art keywords
- robot
- laser beam
- positions
- coordinates
- laser
- 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.)
- Granted
Links
- 238000005259 measurement Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000012360 testing method Methods 0.000 claims description 13
- 230000003287 optical effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 15
- 238000007796 conventional method Methods 0.000 description 4
- 239000003550 marker Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Description
PROCEDE D'ETALONNAGE D'UN ROBOT
La présente invention concerne les procédés d'étalonnage d'un robot destinés à réajuster périodiquement les paramètres intrinsèques du robot.METHOD OF CALIBRATING A ROBOT
The present invention relates to methods of calibrating a robot to periodically readjust the intrinsic parameters of the robot.
L'article intitulé "A Survey of Kinematic Calibration" paru dans "The Robotics Review", 1989, N" 1, pages 207-242, décrit des procédés d'étalonnage de robot. The article entitled "A Survey of Kinematic Calibration" published in "The Robotics Review", 1989, No. 1, pages 207-242, describes methods of robot calibration.
Généralement, à chaque segment i d'un bras de robot, on associe un référentiel Ri constitué par un point d'origine Oi et un système de vecteurs orthonormé (xi,yi,zi). Le référentiel du robot est le référentiel noté RO qui correspond au référentiel du support fixe sur lequel est monté le robot. Generally, each segment i of a robot arm is associated with a reference frame Ri consisting of an origin point Oi and an orthonormal vector system (xi, yi, zi). The repository of the robot is the referential noted RO which corresponds to the repository of the fixed support on which the robot is mounted.
La position du segment i par rapport au segment i-l qui le précède s'exprime par une matrice 4x4 notée
i
T (Pi,#i)
i-l qui est en outre la matrice de passage du référentiel Ri au référentiel Ri-l.The position of the segment i with respect to the segment which precedes it is expressed by a matrix 4x4 noted
i
T (Pi, # i)
it is furthermore the matrix of transition from the reference frame Ri to the reference frame Ri-1.
Le chapitre 3 "Manipulator Kinematics" de l'ouvrage intitulé "An Introduction to Robotics" par John J. Craig,
Addison-Wesley Publishing Company, 1986, décrit en détail comment obtenir les coefficients de cette matrice dans le cadre d'un modèle de paramétrage dit de Denavit-Hartenberg, et comment manipuler ces matrices, notamment pour connaltre la position d'un segment quelconque par rapport à un autre segment quelconque, en en particulier par rapport au référentiel O du robot.Chapter 3 "Manipulator Kinematics" of "An Introduction to Robotics" by John J. Craig,
Addison-Wesley Publishing Company, 1986, describes in detail how to obtain the coefficients of this matrix in the context of a so-called Denavit-Hartenberg parameterization model, and how to manipulate these matrices, in particular to know the position of any segment by report to any other segment, in particular with respect to the reference frame O of the robot.
Chacun des coefficients des trois premières rangées de cette matrice T est exprimé en fonction de quatre paramètres dont trois sont constants et un variable. Selon le modèle de
Denavit-Hartenberg, ces paramètres sont
- l'angle de rotation si du segment i par rapport au segment i-l (ce paramètre, ci-après appelé variable articulaire, est égal à la différence entre la mesure fournie par un capteur de rotation et une valeur de décalage eOi, cette valeur étant en fait un cinquième paramètre constant)
- la distance ai entre les axes des articulations du segment i ;
- un angle cri de torsion de segment ; et
- une distance di de déport d'articulation.Each of the coefficients of the first three rows of this matrix T is expressed as a function of four parameters of which three are constant and one variable. According to the model of
Denavit-Hartenberg, these parameters are
the angle of rotation if of segment i with respect to segment II (this parameter, hereinafter called joint variable, is equal to the difference between the measurement provided by a rotation sensor and an offset value eOi, this value being actually a fifth constant parameter)
the distance ai between the axes of the joints of the segment i;
a segmental torsion creeping angle; and
a distance di of offset of articulation.
Lorsque un segment i du robot est articulé, les paramètres constants, notés Pi, sont eo i, ai, i, di et le paramètre variable est ei. Ci-après, on suppose que les segments sont articulés (si un segment i est coulissant par rapport à un autre, le paramètre variable est di et les autres sont constants). Les paramètres intrinsèques d'un robot, notés p ci-après, comprennent 1 'ensemble des paramètres constants Pi (ou des paramètres équivalents selon d'autres modèles de paramétrage). When a segment i of the robot is articulated, the constant parameters, noted Pi, are eo i, ai, i, di and the variable parameter is ei. In the following, we suppose that the segments are articulated (if one segment i is sliding relative to another, the variable parameter is di and the others are constant). The intrinsic parameters of a robot, denoted p hereinafter, comprise the set of constant parameters Pi (or equivalent parameters according to other parameterization models).
Des valeurs estimées de la manière la plus précise possible de ces paramètres intrinsèques sont stockées dans un système informatique pour déterminer à tout instant les positions des segment du robot à l'aide des mesures fournies par les capteurs de rotation. Au cours de l'utilisation du robot, les paramètres réels peuvent être modifiés involontairement à cause, par exemple, de déformations des segment du robot. Les paramètres stockés deviennent alors erronés et il faut les réajuster. C'est précisément le but des procédés d'étalonnage de robot. Estimated values as accurately as possible of these intrinsic parameters are stored in a computer system to determine at any time the positions of the robot segments using the measurements provided by the rotation sensors. During the use of the robot, the actual parameters can be modified unintentionally because of, for example, deformations of the robot's segments. The stored parameters then become erroneous and must be readjusted. This is precisely the goal of robot calibration processes.
La figure 1 est destinée à illustrer un procédé classique d'étalonnage d'un robot. Le robot, 10, est fixé sur un sol 12 et porte, à l'extrémité du bras, un outil 14. Le robot est relié à un circuit de commande de puissance 16 lui-meme relié à un ordinateur 18. Figure 1 is intended to illustrate a conventional method of calibrating a robot. The robot, 10, is fixed on a floor 12 and carries, at the end of the arm, a tool 14. The robot is connected to a power control circuit 16 itself connected to a computer 18.
Selon un procédé classique d'étalonnage du robot, on dispose à proximité du robot deux théodolites 20, 21, positionnés avec précision l'un par rapport à l'autre et reliés à l'ordinateur 18. According to a conventional method of calibrating the robot, two theodolites 20, 21, positioned with precision relative to one another and connected to the computer 18, are placed near the robot.
Pour effectuer 1 'étalonnage du robot, on rapporte un repère R sur l'outil 14 et on fait prendre au robot un grand nombre de positions différentes. Pour chaque position k, on vise le repère R avec chaque théodolite 20, 21, ce qui permet par triangulation de déterminer les coordonnées (x(k),y(k),z(k)) de ce repère dans un référentiel lié aux théodolites. To carry out one calibration of the robot, a reference R is reported on the tool 14 and the robot is made to take a large number of different positions. For each position k, reference is made to the reference R with each theodolite 20, 21, which makes it possible, by triangulation, to determine the coordinates (x (k), y (k), z (k)) of this reference frame in a frame linked to theodolites.
On sait trouver une fonction vectorielle F reliant les coordonnées théoriques (xt,yt,zt) du repère R, dans le référentiel des théodolites, aux variables articulaires e = (01, 02, e...) et aux paramètres liés à la configuration de mesure de la figure 1. Ces paramètres comprennent les paramètres intrinsèques p susmentionnés du robot ainsi que les paramètres, que l'on appelera paramètres de mesure, reliant le repère R, d'une part, et le référentiel des théodolites, d'autre part, au référentiel du robot. Les paramètres de mesure sont, bien entendu, aussi définis selon la le modèle de paramétrage choisi du robot. We know how to find a vector function F connecting the theoretical coordinates (xt, yt, zt) of the reference R, in the referential of the theodolites, to the articular variables e = (01, 02, e ...) and to the parameters related to the configuration These parameters include the aforementioned intrinsic parameters p of the robot as well as the parameters, which will be called measurement parameters, connecting the reference mark R, on the one hand, and the repository of the theodolites, on the other hand part, to the robot's reference system. The measurement parameters are, of course, also defined according to the chosen configuration model of the robot.
Lorsque les mesures ont été effectuées pour toutes les positions, les paramètres estimés du robot et les paramètres de mesure, que 1 'on aura préalablement estimés grossièrement, sont réajustés par itérations, par exemple à l'aide de la méthode dite de Levenberg-Marquardt, pour faire tendre les coordonnées théoriques calculées à l'aide de la fonction F vers les coordonnées mesurées. Cette méthode est décrite dans le chapitre 14.4 "Nonlinear Models" de l'ouvrage intitulé "Numerical Recipies:
The Art of Scientific Computing" par B.P. Flannery et al.,
Cambridge University Press, England, 1986. Selon cette méthode on minimise un critère qui est la somme des carrés des écarts entre les coordonnées mesurées (x,y,z) et les coordonnées théoriques (xt,yt,zt).When the measurements have been made for all the positions, the estimated parameters of the robot and the measurement parameters, which have been previously estimated roughly, are readjusted by iterations, for example using the so-called Levenberg-Marquardt method. , to make the theoretical coordinates calculated using the function F close to the measured coordinates. This method is described in Chapter 14.4 "Nonlinear Models" of "Numerical Recipies:
The Art of Scientific Computing "by BP Flannery et al.,
Cambridge University Press, England, 1986. According to this method a criterion is minimized which is the sum of the squares of the differences between the measured coordinates (x, y, z) and the theoretical coordinates (xt, yt, zt).
Bien entendu, lors des itérations, on réajuste inévitablement les paramètres de mesure, mais ceux-ci ne sont plus utilisés une fois que l'on a trouvé les nouvelles valeurs des paramètres du robot. Of course, during iterations, the measurement parameters are inevitably readjusted, but these are no longer used once the new values of the robot parameters have been found.
Le procédé décrit en relation avec la figure 1 s' avère, à l'heure actuelle, être l'un des moins coûteux à mettre en oeuvre au point de vue du matériel nécessaire et du temps nécessaire pour effectuer les mesures. Toutefois, les théodolites sont relativement coûteux en eux-mêmes et le temps nécessaire aux mesures est long car il faut à chaque position (il y en faut une centaine) viser le repère R avec soin si l'on veut obtenir des mesures précises. The process described in connection with FIG. 1 is, at present, one of the least expensive to implement in terms of the material needed and the time required to carry out the measurements. However, theodolites are relatively expensive in themselves and the time required for measurements is long because it takes at each position (there is a hundred) to target the reference R carefully if we want to obtain accurate measurements.
Un objet de la présente invention est de prévoir un procédé d'étalonnage de robot nécessitant un investissement matériel relativement faible et un temps de manipulation particulièrement court. An object of the present invention is to provide a robot calibration method requiring a relatively low hardware investment and a particularly short handling time.
Cet objet est atteint grâce à un procédé d'étalonnage de robot, comprenant les étapes suivantes : disposer à proximité du robot un plan de mesure affecté d'un référentiel ; fixer une source laser sur un bras du robot ; faire prendre au robot un ensemble de positions où le faisceau laser intercepte le plan de mesure, relever les coordonnées réelles des points d'intersection du faisceau laser avec le plan, et relever les valeurs correspondantes des variables articulaires du robot déterminer la fonction vectorielle liant les coordonnées théoriques des points d'intersection aux variables articulaires et à des paramètres estimatifs liés au robot et aux positions relatives par rapport au robot du faisceau laser et du plan de mesure ; et ajuster les paramètres estimatifs de manière à faire tendre les coordonnées théoriques vers les coordonnées réelles relevées. This object is achieved by means of a robot calibration method, comprising the following steps: arranging a measuring plane assigned to a reference frame near the robot; attach a laser source to an arm of the robot; make the robot take a set of positions where the laser beam intercepts the measurement plane, record the real coordinates of the points of intersection of the laser beam with the plane, and record the corresponding values of the articular variables of the robot determine the vector function linking the theoretical coordinates of the points of intersection with the articular variables and estimated parameters related to the robot and relative positions with respect to the robot of the laser beam and the measurement plane; and adjust the estimated parameters so as to make the theoretical coordinates approximate to the actual coordinates taken.
Selon un mode de réalisation de la présente invention, le plan de mesure est une mire munie de points de repère et le procédé comprend les étapes suivantes : relever à l'aide d'une caméra reliée à un système informatique les positions des points de repère et faire correspondre les pixels de 1' image à des coordonnées de points de la mire ; et relever les coordonnées des points d'intersection du faisceau laser avec la mire à l'aide de la caméra. According to one embodiment of the present invention, the measurement plane is a target pattern and the method comprises the steps of: surveying with a camera connected to a computer system the positions of the reference points and matching the pixels of the image to point coordinates of the pattern; and find the coordinates of the intersection points of the laser beam with the test pattern using the camera.
Selon un mode de réalisation de la présente invention, le plan de mesure est formé par un capteur optique matriciel relié à un système informatique. According to one embodiment of the present invention, the measurement plane is formed by a matrix optical sensor connected to a computer system.
Selon un mode de réalisation de la présente invention, la mire est une plaque opaque dans laquelle les points de repère sont matérialisés par des ouvertures éclairées à partir de la face arrière de ladite plaque. According to one embodiment of the present invention, the pattern is an opaque plate in which the landmarks are materialized by illuminated openings from the rear face of said plate.
Selon un mode de réalisation de la présente invention, la mire est constituée d'une première plaque opaque dans laquelle les points de repère sont matérialisés par des ouvertures et d'une deuxième plaque opaque sans ouvertures, ces deux plaques étant insérées successivement dans un même support, l'étape consistant à relever les positions des points de repère étant mise en oeuvre tandis que la première plaque est en place. According to one embodiment of the present invention, the test pattern consists of a first opaque plate in which the reference points are materialized by openings and a second opaque plate without openings, these two plates being inserted successively into the same support, the step of raising the positions of the landmarks being implemented while the first plate is in place.
Selon un mode de réalisation de la présente invention, on fait prendre au robot un premier et un deuxième ensemble de positions en modifiant, entre le premier et le deuxième ensemble, la position de la source laser de manière connue par rapport à un support d'outil. According to one embodiment of the present invention, the robot is made to take first and second sets of positions by modifying, between the first and the second set, the position of the laser source in a known manner with respect to a support of tool.
Selon un mode de réalisation de la présente invention, on fait prendre au robot un premier et un deuxième ensemble de positions en modifiant, entre le premier et le deuxième ensemble, la position de la mire (M) de manière connue ou non. According to one embodiment of the present invention, the robot is made to take the first and second set of positions by modifying, between the first and the second set, the position of the pattern (M) in known manner or not.
Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention sont exposés en détail dans la description suivante de modes de réalisation particuliers faite en relation avec les figures jointes parmi lesquelles
la figure 1, précédemment décrite, est destinée à illustrer un procédé classique d'étalonnage de robot ; et
la figure 2 est destiné à illustrer le procédé d'étalonnage d'un robot selon la présente invention.These and other objects, features, and advantages of the present invention are set forth in detail in the following description of particular embodiments in connection with the accompanying figures among which:
Figure 1, previously described, is intended to illustrate a conventional method of robot calibration; and
Figure 2 is intended to illustrate the calibration method of a robot according to the present invention.
Dans la figure 2, on retrouve un robot 10 fixé sur un sol 12 et commandé par un ordinateur 18 par l'intermédiaire d'un circuit de commande de puissance 16. In FIG. 2, there is a robot 10 fixed on a floor 12 and controlled by a computer 18 via a power control circuit 16.
Selon la présente invention, une source laser 24 est montée à 1 'extrémité du bras du robot 10. A proximité du robot est disposée une mire M, par exemple posée sur le sol 12. La mire M comprend une face plane tournée vers le robot et observée par une caméra 26 fixe par rapport à la mire M. La caméra 26 est reliée à une carte de numérisation d'image, non représentée, installée dans l'ordinateur 18 et dont les informations sont exploitées par un logiciel de traitement d' image classique. According to the present invention, a laser source 24 is mounted at the end of the arm of the robot 10. In the vicinity of the robot is disposed a target M, for example placed on the ground 12. The target M comprises a flat face facing the robot and observed by a camera 26 fixed with respect to the test pattern M. The camera 26 is connected to an image scanning card, not shown, installed in the computer 18 and whose information is used by a processing software. classic image.
Une étape préliminaire du procédé selon l'invention consiste à déterminer un référentiel (par exemple constitué d'axes orthogonaux xM et yM) de la face de la mire M dans l'image observée par la caméra 26. Pour cella, la mire M est munie de points de repère disposés, par exemple, en rangées et colonnes équidistantes. Pour que la caméra et le logiciel de traitement d' image puissent efficacement détecter et isoler les images des points de repère, les points de repère sont de préférence constitués de trous percés à travers la mire M, ce qui permet d'obtenir des taches lumineuses en éclairant la mire de derrière.Le logiciel de traitement d'image pourra alors fournir le barycentre des taches lumineuses observées, ce qui permet d'établir une correspondance entre tout pixel de 1' image observée par la caméra 26 et un point associé de la face de la mire, de coordonnées (xM,yM). A preliminary step of the method according to the invention consists in determining a reference frame (for example consisting of orthogonal axes xM and yM) of the face of the target M in the image observed by the camera 26. For cella, the target M is provided with landmarks arranged, for example, in equidistant rows and columns. In order for the camera and the image processing software to be able to effectively detect and isolate the images of the landmarks, the landmarks preferably consist of holes drilled through the grid M, thereby obtaining light spots. The image processing software will then be able to provide the centroid of the observed luminous spots, which makes it possible to establish a correspondence between any pixel of the image observed by the camera 26 and an associated point of the image. face of the pattern, coordinates (xM, yM).
Ensuite, on fait prendre au robot N positions où le faisceau laser fourni par la source 24 intercepte la mire M dans une zone observée par la caméra 26. Pour chaque position k, on enregistre les coordonnées (xM(k),yM(k)) du point d'intersection du faisceau laser avec la mire, ainsi que les variables articulaires associées o(k) = (01(k), e2(k)... ). Les coordonnées (xM(k),yM(k)) sont fournies par le logiciel de traitement d'image qui détermine la position du barycentre de la tache lumineuse formée par le faisceau laser sur la mire M. Then, the robot is made to pick N positions where the laser beam supplied by the source 24 intercepts the pattern M in an area observed by the camera 26. For each position k, the coordinates are recorded (xM (k), yM (k) ) of the point of intersection of the laser beam with the target, as well as the associated joint variables o (k) = (01 (k), e2 (k) ...). The coordinates (xM (k), yM (k)) are provided by the image processing software which determines the position of the centroid of the light spot formed by the laser beam on the pattern M.
Bien entendu, il serait gênant que le faisceau laser intercepte la mire à l'endroit où se trouve un trou de repère. Of course, it would be awkward for the laser beam to intercept the pattern at the location of a marker hole.
Pour éviter cela, la mire pourra comprendre un système à tiroir dans lequel on glisse d'abord une plaque munie des trous de repère que l'on remplace ensuite par une plaque sans trous dont la face exposée au laser est au même endroit que celui où se trouvait la face de la plaque trouée.To avoid this, the test pattern may include a drawer system in which a plate with marker holes is first slid, which is then replaced by a plate without holes whose face exposed to the laser is at the same place where was the face of the plate with holes.
Chacune des N positions de mesure du robot peut être obtenue à l'aide d'une télécommande. De préférence, le robot est mis en mode d'apprentissage pour enregistrer les positions de mesure, ce qui permet d'exécuter plusieurs fois, en cas de besoin, les N mesures. Each of the N measuring positions of the robot can be obtained using a remote control. Preferably, the robot is put in learning mode to record the measurement positions, which makes it possible to execute the N measurements several times, if necessary.
Le nombre N de positions différentes que l'on doit faire prendre au robot dépend du nombre d'axes de celui-ci et du choix judicieux des positions par rapport à la mire. En théorie, le nombre minimal de positions est égal à la moitié du nombre de paramètres à réajuster. Toutefois, en pratique, il faut une centaine de positions pour un robot six axes. The number N of different positions that must be made to the robot depends on the number of axes of it and the judicious choice of positions relative to the test pattern. In theory, the minimum number of positions is equal to half the number of parameters to readjust. However, in practice, it takes a hundred positions for a six-axis robot.
Les paramètres que l'on cherche à réajuster sont, dans la disposition de la figure 2, bien sûr les paramètres intrinsèques p du robot, mais inévitablement aussi des paramètres constants reliant le laser 24 au dernier segment n du robot, notés p', et des paramètres constants reliant la mire M au robot, notés pM. Les paramètres p' et pM sont, bien entendu, définis selon le modèle de paramétrage choisi pour le robot. The parameters that are to be readjusted are, in the arrangement of FIG. 2, of course the intrinsic parameters p of the robot, but inevitably also constant parameters connecting the laser 24 to the last segment n of the robot, denoted p ', and constant parameters connecting the pattern M to the robot, noted pM. The parameters p 'and pM are, of course, defined according to the configuration model chosen for the robot.
Le montage du laser sur le dernier segment n (par exemple le segment 4 dans la figure) introduit une matrice supplémentaire
laser
T (p')
n qui est fonction seulement des paramètres p', qui sont grossièrement estimés initialement. La mire M est reliée au référentiel O du robot par une matrice O
T (PM)
M qui est fonction seulement des paramètres pM, qui sont aussi grossièrement estimés initialement.Mounting the laser on the last segment n (for example segment 4 in the figure) introduces an additional matrix
laser
T (p ')
n which is a function only of the parameters p ', which are roughly estimated initially. The target M is connected to the reference frame O of the robot by a matrix O
T (PM)
M which is a function only of the parameters pM, which are also roughly estimated initially.
Le laser 24 est relié au référentiel O du robot par une matrice
laser 1 n laser
T (p,p',,e) = T (pî,el)... T (p4,e4) T (p)
O 0 3 n
En partant de l'hypothèse que le faisceau laser constitue un axe supplémentaire du robot, une colonne connue de cette matrice contient les coordonnées (xU,yU,zU)O d'un vecteur
U donnant la direction du faisceau laser, et une autre colonne connue contient les coordonnées (xP ,yP, zP )o d'un point P par où passe le faisceau laser, ces coordonnées étant exprimées dans le référentiel O du robot.The laser 24 is connected to the reference frame O of the robot by a matrix
laser 1 n laser
T (p, p ', e) = T (p1, el) ... T (p4, e4) T (p)
O 0 3 n
Assuming that the laser beam constitutes an additional axis of the robot, a known column of this matrix contains the coordinates (xU, yU, zU) O of a vector
U giving the direction of the laser beam, and another known column contains the coordinates (xP, yP, zP) o of a point P through which the laser beam passes, these coordinates being expressed in the reference frame O of the robot.
Les coordonnés (xU,yU,zU)M du vecteur U et (xP,yP,zP)M du point P exprimées dans le référentiel de la mire M sont déterminées par les relations suivantes
The coordinates (xU, yU, zU) M of the vector U and (xP, yP, zP) M of the point P expressed in the reference frame of the pattern M are determined by the following relationships
<tb> xU <SEP> M <SEP> xU <SEP> xP <SEP> M <SEP> xP
<tb> yU <SEP> = <SEP> T <SEP> <SEP> yP <SEP> = <SEP> T <SEP> yP
<tb> <SEP> zU <SEP> O <SEP> zP <SEP> O <SEP> zP
<tb> <SEP> M <SEP> O <SEP> M <SEP> O
<tb>
Les coordonnées théoriques (xMt,yMt,zMt) d'intersection du faisceau laser avec la mire sont données par
<tb> xU <SEP> M <SEP> xU <SEP> xP <SEP> M <SEP> xP
<tb> yU <SEP> = <SEP> T <SEP><SEP> yP <SEP> = <SEP> T <SEP> yP
<tb><SEP> zU <SEP> O <SEP> zP <SEP> O <SEP> zP
<tb><SEP> M <SEP> O <SEP> M <SEP> O
<Tb>
The theoretical coordinates (xMt, yMt, zMt) of intersection of the laser beam with the target are given by
<tb> xMt <SEP> xP <SEP> - <SEP> (zP/zU) <SEP> xU
<tb> yMt <SEP> = <SEP> yP <SEP> - <SEP> (zP/zU) <SEP> yU
<tb> zMtM <SEP> M <SEP>
<tb>
On a ainsi trouvé une fonction vectorielle F permettant de calculer les coordonnées théoriques (xMt,yMt) du point d'intersection du faisceau laser avec la mire en fonction des paramètres p, p' et pM et en fonction des variables articulaires o. <tb> xMt <SEP> xP <SEP> - <SEP> (zP / zU) <SEP> xU
<tb> yMt <SEP> = <SEP> yP <SEP> - <SEP> (zP / zU) <SEP> yU
<tb> zMtM <SEP> M <SEP>
<Tb>
We have thus found a vector function F making it possible to calculate the theoretical coordinates (xMt, yMt) of the point of intersection of the laser beam with the target as a function of the parameters p, p 'and pM and as a function of the articular variables o.
Lorsque le robot aura pris les N positions, on aura enregistré N coordonnées (xM(k) ,yM(k)) (k=1... N) de points d'intersection du faisceau laser avec la mire, et N jeux correspondants o(k) de variables articulaires. On dispose alors de N équations sous la forme
(xMt(k),yMt(k)) = F(p,p',pM,#(k)). When the robot has taken the N positions, we have recorded N coordinates (xM (k), yM (k)) (k = 1 ... N) of points of intersection of the laser beam with the target, and N corresponding sets o (k) articular variables. We then have N equations in the form
(xMt (k), yMt (k)) = F (p, p ', pM, # (k)).
On réajuste par itérations de manière connue (par exemple selon l'algorithme dit de Levenberg-Marquardt précédemment mentionné) les paramètres p, p' et pM de manière à faire tendre les coordonnées théoriques (xMt(k),yMt(k)) vers les coordonnées mesurées correspondantes (xM(k),yM(k)). Afin d'éviter un temps de calcul trop long ou une éventuelle divergence, on pourra donner des valeurs de paramètres initiaux issues, soit d'un étalonnage précédent, soit d'une estimation grossière. A la fin de ces itérations, on aura réajusté les paramètres intrinsèques p du robot et l'on aura également ajusté les paramètres p' et pM reliant respectivement le laser au robot et la mire au robot. Ces paramètres p' et PM ne sont plus nécessaires par la suite. It is readjusted by iterations in a known manner (for example according to the Levenberg-Marquardt algorithm mentioned above) the parameters p, p 'and pM so as to make the theoretical coordinates (xMt (k), yMt (k)) tend towards the corresponding measured coordinates (xM (k), yM (k)). In order to avoid a too long calculation time or a possible divergence, it will be possible to give initial parameter values resulting from either a previous calibration or a rough estimate. At the end of these iterations, we will readjust the intrinsic parameters p of the robot and we will also have adjusted the parameters p 'and pM respectively connecting the laser to the robot and the target to the robot. These parameters p 'and PM are no longer needed later.
Un avantage du procédé de l'invention est que le matériel nécessaire à le mettre en oeuvre, à savoir une caméra, une carte de numérisation, une mire, et un laser à monter sur le robot, est d'un coût inférieur à celui des théodolites de la figure 1. De plus, un opérateur n'a plus qu'a positionner le robot pour que le faisceau laser intercepte la mire, alors que dans le procédé classique décrit en relation avec la figure 1 il fallait en outre, pour chaque position, soigneusement viser un point de repère avec chacun des théodolites. An advantage of the method of the invention is that the equipment needed to implement it, namely a camera, a scanning card, a test pattern, and a laser to be mounted on the robot, is of a lower cost than the the theodolites of Figure 1. In addition, an operator only has to position the robot so that the laser beam intercept the pattern, while in the conventional method described in connection with Figure 1 it was also necessary, for each position, carefully aim for a landmark with each of the theodolites.
Un autre avantage du procédé selon l'invention est que les positions enregistrées en mode d' apprentissage du robot peuvent être répétées lors d'une séance subséquente d'étalonnage. Il suffit alors de replacer la mire à son endroit précédent que l'on aura repéré à environ un centimètre près, par exemple, par des marques sur le sol. On s'économise alors les étapes de positionnement du robot. Il est alors utile de conserver les paramètres p' et pM trouvés lors de la séquence précédente. Another advantage of the method according to the invention is that the positions recorded in the learning mode of the robot can be repeated at a subsequent calibration session. It is then sufficient to replace the test pattern at its previous place that will be spotted to about one centimeter, for example, by marks on the ground. We save the steps of positioning the robot. It is then useful to keep the parameters p 'and pM found during the previous sequence.
Dans le procédé tel que décrit jusqu'ici, on part de l'hypothèse que le faisceau laser correspond à un axe supplémentaire du robot. Pour définir cet axe supplémentaire, deux des paramètres p' peuvent être quelconques (i' et d') et on les choisit arbitrairement nuls (0' et d'). En effet, le paramètre (e') de rotation autour de l'axe du faisceau laser et le para mètre (d') de translation dans la direction du faisceau peuvent prendre une infinité de valeurs. Ce sont les paramètres p' restants (a' et (x') qui sont ajustés par itération et qui permettent de trouver la fonction vectorielle F susmentionnée grâce à deux des colonnes de la matrice reliant le laser au dernier segment. Le contenu des deux autres colonnes de cette matrice est arbitraire et n'est pas utilisé. In the method as described so far, it is assumed that the laser beam corresponds to an additional axis of the robot. To define this additional axis, two of the parameters p 'can be arbitrary (i' and d ') and we arbitrarily choose zero (0' and d '). Indeed, the parameter (e ') of rotation around the axis of the laser beam and the parameter (d') of translation in the direction of the beam can take an infinity of values. These are the remaining parameters p '(a' and (x ') which are adjusted by iteration and make it possible to find the above-mentioned vector function F by means of two columns of the matrix connecting the laser to the last segment. columns of this matrix is arbitrary and is not used.
Ainsi, la matrice reliant le laser au dernier segment n du robot est incomplètement définie, ce qui veut dire que l'on ne peut pas connaître toutes les positions de l'outil (le laser 24) manipulé par le robot. Thus, the matrix connecting the laser to the last segment n of the robot is incompletely defined, which means that one can not know all the positions of the tool (the laser 24) manipulated by the robot.
Selon un mode de réalisation de l'invention, on propose de trouver une définition complète de la matrice reliant un outil au dernier segment du robot. Pour cela, on monte dans un porte-outil de caractéristiques précises et connues du dernier segment du robot un support de laser particulier fabriqué avec soin. Ce support comporte deux lasers dont les faisceaux sont coplanaires et perpendiculaires, ou permet de positionner le même laser dans des première et deuxième positions de sorte que les faisceaux soient coplanaires et perpendiculaires d'une position à l'autre. According to one embodiment of the invention, it is proposed to find a complete definition of the matrix connecting a tool to the last segment of the robot. For this, we mount in a tool holder of precise and known features of the last segment of the robot a particular laser holder manufactured with care. This support comprises two lasers whose beams are coplanar and perpendicular, or allows to position the same laser in first and second positions so that the beams are coplanar and perpendicular from one position to another.
Il est possible, grâce à des appareils de mesure, de déterminer avec précision la matrice
outil
T
laser reliant le support laser à un outil à monter dans le porte-outil.It is possible, thanks to measuring devices, to accurately determine the matrix
tool
T
laser connecting the laser support to a tool to be mounted in the tool holder.
On procède à une série de N mesures dont la moitié, par exemple, est effectuée avec le laser dans la première position, et le restant est effectué avec le laser dans 1' autre position. A series of N measurements is performed, half of which, for example, is performed with the laser in the first position, and the remainder is performed with the laser in the other position.
On émet comme hypothèse que chacun des faisceaux laser est confondu avec un axe du référentiel du support laser. Ceci permet de trouver dans une colonne connue de la matrice reliant le support laser au référentiel du robot un vecteur U dirigeant le premier faisceau laser, un vecteur V dirigeant le deuxième faisceau laser dans une autre colonne connue, et enfin les coordonnées du point P d'intersection des deux faisceaux laser dans une troisième colonne connue. It is assumed that each of the laser beams is coincident with an axis of the reference of the laser medium. This makes it possible to find, in a known column of the matrix connecting the laser support to the robot reference system, a vector U directing the first laser beam, a vector V directing the second laser beam into another known column, and finally the coordinates of the point P d. intersection of the two laser beams in a third known column.
A l'aide du point P et du vecteur U, on trouve, comme cela a été décrit précédemment, une fonction vectorielle F1 reliant les coordonnées théoriques du point d' intersection du premier faisceau laser avec la mire aux variables articulaires 0 et aux paramètres p, p', pM. A l'aide du point P et du vecteur
V, on trouve une deuxième fonction vectorielle F2 reliant les coordonnées théoriques du point d ' intersection du deuxième faisceau laser avec la mire aux variables articulaires o et aux paramètres p, p', pM. Using the point P and the vector U, we find, as previously described, a vector function F1 connecting the theoretical coordinates of the point of intersection of the first laser beam with the target of the articular variables 0 and the parameters p , p ', pM. With the help of point P and the vector
V, we find a second vector function F2 connecting the theoretical coordinates of the point of intersection of the second laser beam with the target of the articular variables o and the parameters p, p ', pM.
Pour les premières mesures, on ajuste par itérations, à l'aide de la fonction F1, les paramètres p, pM et les paramètres p' que 1 'on peut définir. Pour les deuxièmes mesures, on ajuste par itérations, à l'aide de la fonction F2, les paramètres p, pM et les paramètres p' restants. For the first measurements, it is adjusted by iterations, using the F1 function, the parameters p, pM and the parameters p 'that can be defined. For the second measurements, it is adjusted by iterations, using the function F2, the parameters p, pM and the remaining parameters p '.
A la fin de ces itérations on aura déterminé tous les paramètres p' permettant de définir la matrice reliant le support laser au dernier segment n du robot
laser
T (p')
n
Finalement, la matrice reliant 1 'outil au dernier segment du robot est donnée par la relation suivante
outil laser outil
T = T (p') T
n n laser
La précision des mesures obtenues dépend de la résolution de 1 'élément capteur de la caméra et des dimensions de la zone observée par la caméra. Plus la résolution du capteur est grande et plus la zone observée est petite, meilleure est la précision. En utilisant un élément capteur de 512 x 512 pixels, on obtient une précision de 0,05 mm pour une zone observée de 2 x 2 cm. At the end of these iterations we will have determined all the parameters p 'making it possible to define the matrix connecting the laser support to the last segment n of the robot
laser
T (p ')
not
Finally, the matrix linking the tool to the last segment of the robot is given by the following relation
tool laser tool
T = T (p ') T
nn laser
The accuracy of the measurements obtained depends on the resolution of the sensor element of the camera and the dimensions of the area observed by the camera. The higher the resolution of the sensor and the smaller the area, the better the accuracy. Using a sensor element of 512 x 512 pixels, an accuracy of 0.05 mm is obtained for an observed area of 2 x 2 cm.
Selon un mode de réalisation, la mire M est remplacée par un élément capteur de caméra ou tout autre capteur optique matriciel de résolution équivalente. Ainsi, on peut s 'affranchir de l'étape consistant à faire correspondre le référentiel de la mire à celui de l'image formée, puisque le référentiel de la mire n' est alors autre que le référentiel de 1' image. According to one embodiment, the pattern M is replaced by a camera sensor element or any other matrix optical sensor of equivalent resolution. Thus, one can avoid the step of matching the repository of the test pattern to that of the formed image, since the repository of the test is then other than the frame of the image.
Si les N positions du robot ou la position de la mire ne sont pas judicieusement choisies, il est possible que l'on se heurte à une non convergence de certains paramètres due à l'existence de plusieurs valeurs possibles de ces paramètres. If the N positions of the robot or the position of the target are not judiciously chosen, it is possible that one encounters a non-convergence of certain parameters due to the existence of several possible values of these parameters.
Selon un mode de réalisation de l'invention, on propose pour pallier cet inconvénient d'effectuer une série de mesures avec la mire dans une première position et une deuxième série avec la mire dans une deuxième position. Pour cela, on peut prévoir deux mires fixes 1 'une par rapport à 1 'autre et reliées par une matrice connue, ce qui évite la détermination à deux reprises des paramètres pM. According to one embodiment of the invention, it is proposed to overcome this drawback to perform a series of measurements with the test pattern in a first position and a second series with the test pattern in a second position. For this purpose, two fixed patterns 1 with respect to each other and connected by a known matrix can be provided, which avoids the determination twice of the parameters pM.
De nombreuses variantes et modifications de la présente invention apparaîtront à l'homme du métier. On a décrit un mode de réalisation où deux faisceaux laser étaient coplanaires et perpendiculaires. Rien n' empêche de choisir deux faisceaux laser non coplanaires et non perpendiculaires ; il est alors plus complexe de déterminer les fonctions vectorielles F1 et F2. Many variations and modifications of the present invention will be apparent to those skilled in the art. An embodiment has been described in which two laser beams are coplanar and perpendicular. Nothing prevents us from choosing two non-coplanar and non-perpendicular laser beams; it is then more complex to determine the vector functions F1 and F2.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9212904A FR2696969B1 (en) | 1992-10-21 | 1992-10-21 | Method for calibrating a robot. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9212904A FR2696969B1 (en) | 1992-10-21 | 1992-10-21 | Method for calibrating a robot. |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2696969A1 true FR2696969A1 (en) | 1994-04-22 |
FR2696969B1 FR2696969B1 (en) | 1995-01-06 |
Family
ID=9434958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9212904A Expired - Fee Related FR2696969B1 (en) | 1992-10-21 | 1992-10-21 | Method for calibrating a robot. |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2696969B1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996012217A1 (en) * | 1994-10-18 | 1996-04-25 | Eos Gmbh Electro Optical Systems | Process and device for calibrating a laser beam scanning control |
WO2000029175A1 (en) * | 1998-11-12 | 2000-05-25 | Alois Knoll | Method and device for improving the position exactness of effectors in mechanisms and for measuring objects in a work space |
EP1152212A3 (en) * | 2000-03-29 | 2002-08-07 | VA TECH Transport- und Montagesysteme GmbH & Co | Device and procedure to calibrate the actuating arm of a robot |
CN102452081A (en) * | 2010-10-21 | 2012-05-16 | 财团法人工业技术研究院 | Method and device for correcting system parameters of mechanical arm |
WO2014067060A1 (en) * | 2012-10-29 | 2014-05-08 | 深圳市华星光电技术有限公司 | Correction system of automatic transporting apparatus and correction method |
US10547796B2 (en) | 2015-07-14 | 2020-01-28 | Industrial Technology Research Institute | Calibration equipment and calibration method of a mechanical system |
TWI712473B (en) * | 2017-05-22 | 2020-12-11 | 達明機器人股份有限公司 | Method for calibrating coordinate of robot arm |
CN112880555A (en) * | 2021-01-06 | 2021-06-01 | 浙江吉利控股集团有限公司 | Calibration method and system of coordinate system |
DE102023105674A1 (en) | 2023-03-07 | 2024-09-12 | Isios Gmbh | Method and arrangement for compensating non-geometric error influences on a robot absolute accuracy by means of a laser sensor system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4753569A (en) * | 1982-12-28 | 1988-06-28 | Diffracto, Ltd. | Robot calibration |
US4788440A (en) * | 1981-05-11 | 1988-11-29 | Diffracto Ltd. | Electro-optical systems for control of robots, manipulator arms and coordinate measuring machines |
US4967370A (en) * | 1988-10-21 | 1990-10-30 | Robotic Vision Systems, Inc. | Robot and sensor error determination system |
FR2669257A1 (en) * | 1990-11-21 | 1992-05-22 | Renault Automatique | Method for calibrating a robot |
-
1992
- 1992-10-21 FR FR9212904A patent/FR2696969B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4788440A (en) * | 1981-05-11 | 1988-11-29 | Diffracto Ltd. | Electro-optical systems for control of robots, manipulator arms and coordinate measuring machines |
US4753569A (en) * | 1982-12-28 | 1988-06-28 | Diffracto, Ltd. | Robot calibration |
US4967370A (en) * | 1988-10-21 | 1990-10-30 | Robotic Vision Systems, Inc. | Robot and sensor error determination system |
FR2669257A1 (en) * | 1990-11-21 | 1992-05-22 | Renault Automatique | Method for calibrating a robot |
Non-Patent Citations (1)
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996012217A1 (en) * | 1994-10-18 | 1996-04-25 | Eos Gmbh Electro Optical Systems | Process and device for calibrating a laser beam scanning control |
US5832415A (en) * | 1994-10-18 | 1998-11-03 | Eos Gmbh Electro Optical Systems | Method and apparatus for calibrating a control apparatus for deflecting a laser beam |
WO2000029175A1 (en) * | 1998-11-12 | 2000-05-25 | Alois Knoll | Method and device for improving the position exactness of effectors in mechanisms and for measuring objects in a work space |
EP1537961A3 (en) * | 1998-11-12 | 2005-07-06 | Alois Knoll | Method and device for improving the positioning accuracy of effectors on mechanisms and for measuring objects in a work space |
EP1152212A3 (en) * | 2000-03-29 | 2002-08-07 | VA TECH Transport- und Montagesysteme GmbH & Co | Device and procedure to calibrate the actuating arm of a robot |
CN102452081B (en) * | 2010-10-21 | 2014-03-19 | 财团法人工业技术研究院 | Method and device for correcting system parameters of mechanical arm |
CN102452081A (en) * | 2010-10-21 | 2012-05-16 | 财团法人工业技术研究院 | Method and device for correcting system parameters of mechanical arm |
WO2014067060A1 (en) * | 2012-10-29 | 2014-05-08 | 深圳市华星光电技术有限公司 | Correction system of automatic transporting apparatus and correction method |
US10547796B2 (en) | 2015-07-14 | 2020-01-28 | Industrial Technology Research Institute | Calibration equipment and calibration method of a mechanical system |
TWI712473B (en) * | 2017-05-22 | 2020-12-11 | 達明機器人股份有限公司 | Method for calibrating coordinate of robot arm |
CN112880555A (en) * | 2021-01-06 | 2021-06-01 | 浙江吉利控股集团有限公司 | Calibration method and system of coordinate system |
DE102023105674A1 (en) | 2023-03-07 | 2024-09-12 | Isios Gmbh | Method and arrangement for compensating non-geometric error influences on a robot absolute accuracy by means of a laser sensor system |
DE102023105674B4 (en) * | 2023-03-07 | 2025-07-10 | Isios Gmbh | Method and arrangement for compensating non-geometric error influences on a robot absolute accuracy by means of a laser sensor system |
Also Published As
Publication number | Publication date |
---|---|
FR2696969B1 (en) | 1995-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3027609B2 (en) | Method and apparatus for measuring geometrical arrangement | |
JP4221768B2 (en) | Method and apparatus for positioning an object in space | |
US7180607B2 (en) | Method and device for calibrating a measuring system | |
US4957369A (en) | Apparatus for measuring three-dimensional surface geometries | |
EP2183544B1 (en) | Non-contact measurement apparatus and method | |
JP3070953B2 (en) | Method and system for point-by-point measurement of spatial coordinates | |
US6205240B1 (en) | Optical profile sensor | |
US6460004B2 (en) | Method and apparatus for calibrating a non-contact gauging sensor with respect to an external coordinate system | |
Zhou et al. | Complete calibration of a structured light stripe vision sensor through planar target of unknown orientations | |
EP0452422B1 (en) | Method for calibrating a system for the tri-dimensional acquisition of shape and system for implementing such method | |
JP2001515236A (en) | Method for calibrating a robot inspection system | |
US6256099B1 (en) | Methods and system for measuring three dimensional spatial coordinates and for external camera calibration necessary for that measurement | |
JP2003505682A (en) | A system for scanning the geometry of large objects | |
US5160977A (en) | Position detection device | |
JPH11166818A (en) | Calibrating method and device for three-dimensional shape measuring device | |
El-Hakim et al. | Multicamera vision-based approach to flexible feature measurement for inspection and reverse engineering | |
FR2696969A1 (en) | Calibrating robot arm - adjusting theoretical estimates to match real co-ordinates measured from laser beam intersection with plane | |
Chen et al. | Dynamic calibration and compensation of a 3D laser radar scanning system | |
Tai et al. | Noncontact profilometric measurement of large-form parts | |
WO2001004570A1 (en) | Method and apparatus for calibrating positions of a plurality of first light sources on a first part | |
Breuckmann et al. | 3D-metrologies for industrial applications | |
JP2567923B2 (en) | Distance measurement method | |
AU5237600A (en) | Measurement apparatus for measuring the position and orientation of a first part to be worked, inspected or moved | |
Pedersini et al. | Camera Calibration and Error Analysis. An application to Binocular and Trinocular Stereoscopic System | |
Kurada et al. | A trinocular vision system for close-range position sensing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20110630 |