Method for adjusting a geometric model of a multi-axis robot equipped with a camera, application for a coating product application robot and robot configured to implement such a method
The method addresses the complexity and inaccuracy of existing calibration methods by optimizing the geometric model of multi-axis robots through the adjustment of passage matrices, resulting in improved precision and reduced errors in robot operations.
Patent Information
- Application Number
- FR2023013582
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-05
- Publication Date
- 2025-06-06
Smart Images

Figure 00000022_0000 
Figure 00000022_0001 
Figure 00000022_0002
Abstract
Description
Title of the invention: Method for adjusting a geometric model of a multi-axis robot equipped with a camera, application for a robot for applying a coating product and robot configured to implement such a method
[0001] The present invention relates to a method for adjusting a geometric model of a multi-axis robot arranged in a room and equipped with a camera.
[0002] In the field of applying coating product by means of a multi-axis robot equipped with an application member, such as a print head, it is important to be able to control the operation of this application member precisely, in particular by taking into account the positioning of this application member relative to a surface to be coated. To do this, it is known to equip a multi-axis robot with a camera which makes it possible to locate the robot's environment, in particular a surface to be coated, opposite which the application member must be positioned.
[0003] To date, the position of the camera in the room, that is to say the position and / or the orientation of a reference frame linked to the camera in a reference frame linked to the room in which the robot is placed, is defined in a relatively imprecise manner.
[0004] Indeed, if we use a geometric model of the robot based on the assumption that the connection between the camera and the wrist of the robot is known and rigid and that the axes of the multi-axis robot, which are generally six in number, operate perfectly, then this model used does not correspond to the physical reality of the robot equipped with the camera, because there are tolerances in mounting the camera on the wrist of the robot, because the position of the camera on the wrist may have changed and because the robot itself is not perfect.
[0005] Comparable problems arise with robots equipped with a camera and a tool which may be different from a coating product application member.
[0006] In the field of surgery, it is known from CN115431278A to calibrate the position of the tool center (or "tool center point" - TCP) of a reference point linked to a camera on board a multi-axis robot on the principle that this robot is perfect. If such an approach can be envisaged in the case of a surgical robot, it is not transposable to an industrial robot, such as a robot for applying a coating product, operating in a potentially disturbed environment and at high speed, to the point that it may not correspond to its theoretical model on the geometric, kinematic and / or dynamic level.
[0007] It is also known from CN115533893A to determine the TCP of a camera by requiring a robot to touch, by means of a tip, a sphere-shaped profile. Implementing such a method is complex and time-consuming.
[0008] On the other hand, EP1555508A1 teaches using a measuring system by taking photographs of an object, while rotating a camera around an axis of its reference frame, which makes it possible to reduce measurement errors. This method is also complex and time-consuming.
[0009] CN115741720A also teaches calibrating the angular position of a sensor using calculations based on the Levenberg-Marquardt method. The calibration thus carried out is limited to optimizing the point of origin of the angular measurement of the sensors and also assumes that the robot used is perfect.
[0010] It is these drawbacks that the invention more particularly intends to remedy by proposing a new method for adjusting a geometric model of a multi-axis robot, taking into account the reality of the assembly between the camera and the wrist of the robot and the reality of the structure of the multi-axis robot.
[0011] To this end, the invention relates to a method for adjusting a geometric model of a multi-axis robot placed in a room and equipped with a camera, this model comprising a first matrix of passage between a reference frame linked to the camera and a reference frame linked to a wrist of the robot, and a second matrix, of passage between the reference frame linked to the wrist of the robot and a base reference frame linked to the room, characterized in that this method comprises at least the following steps consisting of: a. aim, with the camera placed in a first shooting location located in the room, at least two points of a fixed target in the base frame; b. determine the coordinates of each point referred to in step a) in the frame linked to the camera which is in the first shooting location; c. move the camera to a second shooting location within the premises, different from the first shooting location; d. aim, with the camera positioned in the second shooting location, at the points of the fixed target already aimed at in step a); e. determine the coordinates of each point referred to in step d) in the frame linked to the camera which is in the second position; f. calculating, for each point targeted by the camera in steps a) and d), a difference between the coordinates of this point in the base frame, expressed as a function of the coordinates determined in steps b) and e) using the first and second passage matrices; g. calculating at least one overall difference value by means of a function having as variable a difference calculated in step f);
[0012] and in that coefficient variables of the first passage matrix and coefficient variables of the second passage matrix are determined in mi- minimizing the overall value calculated in step g).
[0013] Thanks to the invention, the determination of the variables of the coefficients of the first matrix and the variables of the coefficients of the second matrix allows an efficient adaptation of the geometric model of the multi-axis robot, including with regard to the camera embedded on the wrist of this robot. The calculation of the variables of the coefficients of the first matrix and of the second matrix makes it possible to take into account not only the assembly between the camera and the wrist of the robot but also the geometric dimensioning of the robot itself, in particular thanks to an optimization of the modified Denavit-Hartenberg parameters.
[0014] According to advantageous but not obligatory aspects of the invention, such a method may incorporate one or more of the following characteristics taken in any technically admissible combinations:
[0015] - A first overall difference value is calculated in step g) and in that the method comprises steps subsequent to step g) and consisting of: a. determining the variables of the coefficients of the first passage matrix by minimizing the first global value calculated in step g); b. update the first passage matrix with coefficients that integrate the variables determined in step h) c. calculating, for each point targeted by the camera in steps a) and d), a difference between the coordinates of this point in the base frame, expressed as a function of the coordinates determined in steps b) and e) using the first passage matrix updated in step i); d. calculating a second overall difference value by means of a function having as variable the differences calculated in step i); e. determine the variables of the coefficients of the second passage matrix by minimizing the second global value calculated in step j); and f. update the second passage matrix with coefficients that integrate the variables determined in step 1).
[0016] - The method comprises a step h') subsequent to step g) and consisting of terminate the variables of the coefficients of the first matrix and the variables of the coefficients of the second matrix determined, by minimizing a single global value calculated in step g).
[0017] - The method comprises steps, subsequent to step h) or step h') and consisting of: a. calculate, for each point targeted by the camera in steps a) and d), a difference between the coordinates of this point in the base frame, expressed as a function of the coordinates determined in steps b) and e) using the first passage matrix updated with the last coefficient variables
[0018]
[0019]
[0020]
[0021]
[0022]
[0023] ficients determined for this first matrix and the second passage matrix updated with the last coefficient variables determined for this second matrix. b. calculate an overall difference value using a function having as variable the differences calculated in step n); c. compare the overall value calculated in step o) with a threshold value; d. if the comparison in step p) shows that the overall value calculated in step o) is greater than the threshold value, implement steps f) and following again; e. if the comparison in step p) shows that the overall value calculated in step o) is lower than the threshold value, freeze the first and second passage matrices with the last determined variables to use them in the geometric model of the multi-axis robot. - The difference calculated in step f), j) or n) is expressed in the form , a-1 12 / tPG-^BF rriCamércr^PG t / Camera tPG~*BF rrCamércr>PG t / Camera I Vku OR _ vkLk2j csl difference between the coordinates of the same numbered point / seen by the camera from positions kl and k2; - yCamera is a vector representing the position of point 1 seen by the camera at IC Ll start from position kl; - is a vector representing the position of point 1 seen by the camera at start from position k2; _ j.Camera-*pG csl |a first passage matrix; - or T”Tbf is the second passage matrix. - The overall difference value calculated in step g), k) or o) is the sum of the squares of the difference values calculated in step f), i) or 1) and is expressed in the form e* e æii n 2 OR _ csl ia difference between the coordinates of the same point numbered 1 seen by camera from locations kl and k2; - 1 is the order number of one of the points targeted by the camera in steps a) and d), between 1 and L - kl is the order number of the first location, between 1 and K; - k2 is the order number of the second location, between 1 and K; - K is the number of locations the camera can take to aim at the
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031] 7^= =n« target points. - The first passage matrix is expressed in the form 'cast cos(X5).sin(X6) sin(X4).sin(X;,).sini X6) + cos[ -sin(X5)sin(X4).cos(Xs)cos(X4).cos(X5)X4 0 0 0 1. where the quantities Xi, for i a natural integer between 1 and 6, are the variables determined by minimizing the global value calculated in step g) and correspond - for i natural integer between 1 and 3, at distances between a center of the frame linked to the camera and the center of the frame linked to the wrist (21); - for i natural integer between 4 and 6, at angles representative of an orientation of the frame linked to the camera in the frame linked to the wrist. - The second matrix is expressed in the form €08(4 + ^+ A 0,) -sin(4+®; + A(?;) 0 1;+Xli sin(4 +4+A fl,) x cos(a,+A «,) cos(j)+ fl,-+Afl,) xcosK+A <z,) ■*(«,+ A«,) -(r,+ A rj xsün(^+ A a,) sm(4 + 4+ A0t) xsin(a,+ A cos(4 + 4+ Aflj xsin(aj+ Aa,) cos(a,-+ AaJ - (r,+A r,) xcos( e;+A a,) 0 0 0 1. OR - the quantities J* are angles measured on the axis A; of the multi-axis robot, for the k-th point targeted by the camera during steps a) and d); - the quantities 0, and r; are the theoretical parameters of Denavit-Hartenberg modified for the axis A; of the multi-axis robot; and - the quantities Aa? Al;. A0; and Ar, are variables for the coefficients of the second passage matrix, determined by minimizing the global value calculated in step g). - The minimization of the overall difference value is carried out by the least squares method with - solving a system of six equations with six unknowns when determining the coefficient variables of the first passage matrix and solving a system of twenty-four equations with twenty-four unknowns when determining the coefficient variables of the second passage matrix, in the case of a method as described previously, or - resolution of a system of thirty equations with thirty unknowns when determining the coefficient variables of the first and second passage matrices, in the case of another method as described previously. According to a second aspect, the invention relates to the application of a method as mentioned above for adjusting the geometric model of a coating product application robot equipped with a printing head or a coating product projector. According to a third aspect, the invention relates to a robot equipped with a tool, a camera and an electronic control unit programmed to automatically implement a method as mentioned above.
[0032] The invention will be better understood and other advantages thereof will appear more clearly in the light of the description which follows, given solely by way of example and with reference to the appended drawings in which:
[0033] [Fig-1] [Fig.l] is a schematic representation of the principle, on three inserts A), B) and C), of a target used in the method of the invention;
[0034] [Fig.2] [Fig.2] is a schematic representation of the principle of a multi-axis robot according to the invention in use with the target shown in insert B) of [Fig.l];
[0035] [Fig.3] [Fig.3] is a schematic representation of the principle of different markers and passage matrices used in the method of the invention;
[0036] [Fig.4] [Fig.4] is a block diagram of a method according to a first embodiment of the invention; and
[0037] [Fig.5] [Fig.5] is a block diagram, similar to [Fig.4], for a method according to a second embodiment of the invention.
[0038] [Fig.l] represents, on three inserts A), B) and C), three targets C1, C2 and C3 which can be used to implement the method of the invention, with the multi-axis robot 20 represented in [Fig.2].
[0039] Each of the targets C1, C2 and C3 comprises a certain number of remarkable points Pi to P4 for the target C1, Pi to P8 for the target C2, Pi to P7 for the target C3.
[0040] We denote L the number of remarkable points of a target, this number L being equal to 8 in the example of [Fig.2]. We denote 1 the order number of a remarkable point Pi of the target; with 1 a natural integer between 1 and L.
[0041] The target examples shown in [Fig.l] are not limiting and any target shape is conceivable, provided that it allows at least two remarkable points Pb to be identified. The remarkable points Pi may be the angles of a geometric figure or spots drawn on a two-dimensional plate, as shown in inserts A) and B) or the angles of a three-dimensional structure, as shown in insert C) of [Fig.l]. Generally speaking, a remarkable point Pi is a point of a target which can be identified by a camera, in particular because it contrasts with its environment.
[0042] As a non-limiting example, [Fig.2] shows the use of the target C2 with the multi-axis robot 20.
[0043] The multi-axis robot 20 comprises an arm formed of sections articulated together around six axes Ai to A6, as well as a wrist 21 which forms the distal end of this arm. According to a variant of the invention not shown, the wrist can be articulated relative to the end of the arm of the multi-axis robot 20, around a seventh axis.
[0044] A print head 10, comprising a body 12 equipped with nozzles 14, is mounted on the wrist 21. It is intended to apply a coating product, such as a paint or a varnish, to objects not shown, for example motor vehicle bodies.
[0045] The six articulation axes Ai to A6 make it possible to deform the arm of the multi-axis robot 20 to move the print head 10 in space, opposite the surfaces of the objects to be coated.
[0046] A camera 30 is mounted on the wrist 21, being fixed thereto by suitable mechanical means, for example screws or clipping members. The fixing of the camera 30 on the wrist 21 must be sufficiently strong to withstand the accelerations undergone by the camera during movement by the robot.
[0047] Advantageously, the camera is a CCD type or Laser type camera with one or two cameras, of the binocular and / or profilometer type.
[0048] A problem that arises with a multi-axis robot of the type shown in [Fig.2] is knowing the position of the camera 30, in a fixed base frame BF, linked to a room LO in which the multi-axis robot 20 is arranged. Indeed, correct positioning of the camera 30 in the room LO is necessary to precisely locate the location of the objects targeted by the camera.
[0049] The position of the camera in the LO room depends on the actual positioning of the camera 30 relative to the wrist 21 of the robot and the actual positioning of the wrist in the LO room.
[0050] The positioning of the camera 30 relative to the wrist 21 can, in a first analysis, be approximated by assuming that the camera is immobilized on the wrist in a theoretical position corresponding to a mounting plane. The positioning of the wrist 21 in the LO room can, also in a first analysis, be approximated by using a theoretical model of the geometry of the multi-axis robot 20, in particular based on modified Denavit-Hartenberg or DHM parameters.
[0051] However, the above-mentioned approximations lead to positioning errors, which can induce defects in the application of coating product by means of the print head 10, if the latter is not correctly arranged and oriented relative to a surface being coated.
[0052] The method of the invention aims to reduce, or even eliminate, positioning errors. It is implemented iteratively, until the value of a function representative of a positioning error between remarkable points P i observed on a target such as target C2 is reduced.
[0053] The method of adjusting the model of the invention is implemented in a calculator 40 which is represented in [Fig.2] in the form of a computer and which communicates with a controller 24 of the multi-axis robot 20 arranged in a base 22 of this robot. The computer 40 is programmed to automatically implement the method of the invention. The controller 24 and the computer 40 together form an electronic control unit for the multi-axis robot 20. Alternatively, the parts 24 and 40 of this control unit are a single physical entity, which can be integrated into the base 22.
[0054] We note RCamém a reference point linked to the camera and RFG a reference point linked to the wrist 21.
[0055] The method of the invention provides for recording the position of at least points re Pi markable of the target C2 by bringing the camera successively into two distinct shooting locations in the room LO where the multi-axis robot 20 is located, that is to say in two distinct locations relative to a base reference BF fixed relative to this room LO.
[0056] We denote by L the number of remarkable points Pi of the target C2, this number L being an integer greater than or equal to 2.
[0057] We note k with k equal to 1 or 2 the number of the location of the camera when locating a remarkable point PL
[0058] A location is defined by a place where the camera is located and an orientation of this camera during a shot, that is to say when locating a remarkable point. A shooting location can also be called a shooting position or aiming location.
[0059] For each shooting location k and each remarkable point Pb the coordinates of this point in the RCamém frame are expressed in the form of a vector comprising an abscissa, an ordinate and a height of this point in this frame. We note the vector yCaméra expressing the coordinates of a remarkable point Pi for the location k, expressed in the camera frame RCaméra-
[0060] Alternatively, the number of distinct shooting locations used is greater than or equal to three.
[0061] For the remainder of this description, kl and k2 are used to identify two distinct locations of the camera among the K locations that the camera can take to aim at the points Pi of the target while being moved by the wrist 21, with K a natural integer greater than or equal to 2.
[0062] Advantageously, the product of the numbers L and K reduced by 6, i.e. L * K - 6, is greater than or equal to the number of variables of the geometric model of the robot.
[0063] Thus, the position of a remarkable point Pi in the camera frame can be expressed in the form yCamero when the camera is in the first location kl and in the form yCamera when the camera is in the second location k2.
[0064] These positions of the remarkable points Pi can also be expressed in the RFG frame linked to the wrist in the form
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077] j^Window^PG yCamera (equation 1) j^Camém^PCiyCamera (equation 2) where j-Camera^-PG csl a first passing matrix of the Rcamém lead connected to the camera 30 to the RFG lead connected to the wrist 21 . This first pass matrix can appear under the form cos(X5).cos( X6) sin(X4)sin(X5 )X6 ) - cos (X4 ).sin (X6) cos ( X5 ) .sin ( X6 ) sin ( X4) .sin ( X5 ) .sin ( X^ ) + cos ( X4 ) .cos ( X6 ) - sin ( X5 ) sin ( X4) . 0 0 cos ( X4 ) .sin ( Xt ) .cos ( X6 ) + sin ( X4 ) sin( X$) Xj cos(X4).sin(X5) sin( X6 ) - sin(X4).cos( X6) X2 cos(X4)x:os( X5) X3 0 1 ■ (equation 3) where the sixteen coefficients of the first passage matrix j'Camércr^PG are expressed as a function of six variables Xi to X6. The variables Xb X2, X3 correspond to a translation of the center of the Rcamém frame linked to the camera with respect to the center of the RFG frame linked to the wrist 21, while the variables X4, X5 and X6 correspond to rotation angles of the axes of the two frames with respect to each other. In the case of the matrix presented in equation 3, these are the angles of the Roll-Pitch-Yaw convention. Another representation of these angles can be used. The position of the remarkable points Pi is not known in the basic frame BF but can be expressed in this frame, for each shooting location k, as a function of their position in the wrist-linked frame RFG 21 by applying to this position a second matrix for passing from the wrist frame to the basic frame. We denote by y'^'^^'^or j^pc-^bf this second passage matrix. It is defined for each shooting location k of the camera, therefore of the wrist 21. In practice, the position of the wrist-related marker in the base marker depends on the shooting location in which the camera 30 is located. This wrist-related marker when the camera is in the shooting location k can therefore be expressed in the form There therefore exists, for each shooting location k, a transition matrix, from the reference frame linked to the wrist to the base reference frame BF. This transition matrix is noted TF^BF for the first shooting location and TF^BF for the second shooting location. Thus, as represented in Figure 3, the position of a remarkable point Pi located in the camera frame is expressed in the wrist frame using the first passage matrix 'j'Camé.ra-^PG cj is expressed, for each location kl and k2 in the base frame BF using the second passage matrix TFC^"BF, with k equal to kl or k2. Advantageously, the second passage matrix is expressed in
[0090] T^BF = using modified Denavit-Hartenberg parameters, also called DHM, as well as associated corrections, which allows the robot to be modeled from its base 22 to its wrist 21.
[0078] The modified Denavit-Hartenberg parameters are known per se. They are also sometimes called Khalil-Kleinfinger parameters.
[0079] As an example, these modified Denavit-Hartenberg parameters can be expressed, for each axis of rotation A; of the multi-axis robot 20 in the form:
[0080] aî • Theoretical angle between the axes and A, obtained by rotation around the axis of the reference frame associated with the axis An
[0081] - Theoretical distance between the axes and A, - obtained along the axis
[0082] : Theoretical angle between the axes and X, obtained by rotation around the axis A(
[0083] ri • Theoretical distance between the axis 2Q. i and X, obtained along the axis A,
[0084] The following differences are also defined:
[0085] A “p Angle variation’7
[0086] A 1, : Variation of distance l,
[0087] A: Angle variation
[0088] A r;: Variation of distance fi
[0089] Under these conditions, the second passage matrix which makes it possible to pass from a point of the RFG reference frame linked to the wrist into the base reference frame can be expressed in the form cos(^ + ^ + A0;) -sin(. / - + ^+ A0;) 0 / ,+ Ak sin( A (Q x cos(a,+ A + A x cos(o,+ A -sin(^ + A -(^+ A rj x sin(af+ A «J sin(jf+ ^+A x sin( «,•+A «,•) cos(Jf+fy+A 60 x sin(a,:+AaJ cos(mz+A <c) - (rt+ A ty) xcos(a,+ A tz,) 0 0 01.
[0091] (equation 4)
[0092] This expression is valid at each shooting location k, with k equal to kl or k2. / ^represents the value of an angle of rotation of two parts of the multi-axis robot articulated around an axis A; when the multi-axis robot 20 is in the shooting location k.
[0093] The PGkw coefficients of this second passage matrix, with s and w natural integers between 1 and 4, can be expressed as follows:
[0094] PG^W: rotation matrix for se {1,2, 3} and w E {1,2, 3}
[0095] PG1^: translation matnce for v E {1,2,3}
[0096] pcjh = 0 for { 1,2,3}
[0097] P(^4=l
[0098] The modified and re-constituted Denavit-Hartenberg parameters constitute the theoretical values of the robot, while the quantities A a,, AA 6- and A r, constitute variables for the coefficients PGksw of the second passage matrix ^PG-^BF 1 k
[0099]
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110] [YES] We note Mod the geometric model of the multi-axis robot 20 equipped with the camera 30. As seen in [Fig.4], the geometric model adjustment method Mod includes a first initialization step 1000 in which the calculator 40 is started. In a step 1002, the geometric model Mod is defined as an initial model Mod0 which is itself defined by a first initial transfer matrix rpCamera^PG cl by a second initial transfer matrix TqG^bf ■ The first initial transfer matrix TGamera^PG pCU( can be constructed by calculation from the theoretical position of the camera 30 relative to the wrist 21. The second initial transfer matrix fPG^BF can be constructed from a theoretical geometric model of the multi-axis robot 20. The initial model Mod0 is used in the first part of the method, between steps 1004 and 1012 defined below. In a following step 1004, the robot is brought to the first shooting location kl where the camera 30 aims at the remarkable points Pi and marks them in the RCamera frame linked to the camera. In this step 1004, for each point Pb its coordinates are expressed in the Rcamera frame in the form Then, in a step 1005, the camera 30 is moved to the second shooting location. When the camera is in the second shooting location k2, during a step 1006 which follows step 1005, each remarkable point Pi is targeted by the camera, therefore identified, and its coordinates are expressed in the RCaméra reference frame linked to the camera in the form In practice, each point Pi keeps the same position, whether it is located by the camera from its shooting location kl or whether it is located by the camera from its shooting location k2. Thus, the position of each remarkable point Pi in the base frame BF is not known but we know that it is independent of the way in which it is observed by the camera. For each remarkable point Pb we define a difference between its positions expressed in the basic frame BF from the location carried out in the first shooting location kl and the location carried out in the second shooting location, in the form = ?PG^BFjCamér <r*PGyC^éra _j-Pj^BFjGamér^^ 5) vkLk2j csl therefore |the difference of the coordinates of a remarkable point Piexpressed in the base frame BF, from its coordinates detected by the camera 30 in
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118]
[0119]
[0120]
[0121]
[0122]
[0123]
[0124] the Rcamera marker linked to the camera, from the first shooting location kl and from the second shooting location k2. This difference is calculated by the calculator 40, for each remarkable point Pb during a step 1008 of the method which follows steps 1006 and 1008. Theoretically, this difference should be equal to zero, since the remarkable points are fixed in the base frame BF. In practice, if this difference is non-zero, we can assume that the coefficients of the first initial passage matrix are not exactly representative of the actual position of the camera 30 relative to the wrist 21, in particular because of the manufacturing tolerances of these components and the adjustments made when mounting these parts on each other. In a subsequent step 1010, an error function F is defined as the sum of the squares and the differences determined in step 1008, in the form F-YL yK yK II II 2 (equation 6) The value of the error function F is an overall value of difference between the coordinates of the remarkable points Pi determined from the two shooting locations. During a step 1012, also implemented by the calculator 40, the function F is minimized by playing on the variables Xi to X6 of the first passage matrix rpCamércr^PG This optimization is performed by solving a system of six nonlinear equations, for example by the least squares method. This system of equations has six unknowns, namely the variables Xi to X6. Alternatively, the solution of the system of nonlinear equations is carried out by means of the Levenberg-Marquardt method or another method. In a subsequent step 1014, the first passage matrix fCaméra-^PG csl mjsc updated in the form of an optimized version of the first passage matrix jGamércr+PG jont |cs coefficients integrate the variables Xi to X6 determined in step 1012 is integrated into the model Mod in place of the initial first passage matrix 1 O In other words, from step 1014, the calculations carried out by the calculator 40 take into account an optimized version of the first passage matrix, namely rCamércr^PG opt(Xl-X6) ' In a next step 1016, a second difference e^^is calculated between the coordinates of the remarkable points Pi in the form î io I tPG~*BF TCamér <r*PG t rCaméra tFG~^BF TCamérar*PG t rCaméra / finuntinTt 7) = Topt .\ku -Tk2 Topt ,Vk2J (équation / )
[0125] Theoretically, this difference should also be equal to zero.
[0126] In practice, if this difference is non-zero, and greater than the precision of the repeatability of the robot, it can be assumed that the coefficients of the second initial passage matrix fFG~^BF are not exactly representative of the structure and operation of the multi-axis robot 20, in particular because of manufacturing tolerances and wear of its joints.
[0127] In a following step 1018, an error function G is defined as being the sum of the squares and the differences determined in step 1016, in the form:
[0128] f'VL yK YK II 2 (equations)
[0129] The value of the error function G is another global value of difference between the coordinates of the remarkable points Pi determined from the two shooting locations.
[0130] During a step 1020, also implemented by the computer 40, the function G is minimized by playing on the variables A ap A lp A 0i and A rzl of the second passage matrix TPG~*BF, for each shooting location.
[0131] This optimization is carried out by solving a system of twenty-four non-linear equations, for example by the least squares method. This system of equations has twenty-four unknowns, namely the four variables A ar AA 0,- and A rb for each axis A;, with i a natural integer between 1 and 6.
[0132] Alternatively, the resolution of the system of nonlinear equations is carried out by means of the Levenberg-Marquardt method or another method.
[0133] Solving this system of 24 equations with 24 unknowns allows us to create a second optimized passage matrix TpgJZbf„ r * „ » \ lt 1 2 (A ViArt)
[0134] In a following step 1022, the optimized version of the second passage matrix Tpga(bf» > * » » ,, whose coefficients integrate the variables 1 b 1 optiA^v Alp AOjAr,) b A ab A lp A and A rf determined in step 1020, is integrated into the Mod model in place of the initial first pass matrix
[0135] The method of the invention comprises a step 1024, implemented after steps 1014 and 1022, of calculating the differences v^22, using the model Mod which integrates the first and second optimized matrices, i.e. updated with the last variables Xi-X6> A a» A lp A Bp and A rt determined in steps 1012 and 1020. Step 1024 also consists of calculating the global difference values from the error functions F and G and comparing these global difference values with two threshold values F0 and G0.
[0136] If the overall difference values of the functions F and G are less than or equal to the threshold values F0 and G0, then the Mod model is considered to be correctly adjusted and the new geometric model of the multi-axis robot 20 equipped with the camera 30 is confirmed, i.e. frozen, in a step 1026 on the basis of the first and second passage matrices defined in the last steps 1014 and 1022 implemented.
[0137] Otherwise, steps 1008 and following are implemented again, on the basis of the first and second passage matrices already partially optimized, defined in the last steps 1014 and 1022 implemented.
[0138] Steps 1008 to 1024 are then repeated by iteration, until values of the error functions F and G are obtained which are lower than the threshold values F0 and G0.
[0139] In the second embodiment of the invention shown in [Fig.5], the steps similar to those of the first embodiment bear the same references and are not described in detail.
[0140] Steps 1000 to 1008 of this second method are identical to steps 1000 to 1008 of the first method.
[0141] The method of the second embodiment differs from that of the first embodiment in that the first passage matrix is not optimized by searching for a minimum of the function F considered alone. Steps 1016 and 1018 directly follow step 1012.
[0142] The error functions F and G are calculated in the form of a single global value which is minimized in a single step 1021, which consists of solving a system of thirty non-linear equations with thirty unknowns, namely the variables Xi to X6, A ah AA and A , with i a natural integer between 1 and 6.
[0143] As for steps 1014 and 1020 of the first method of [Fig.4], the resolution of the system of equations can be carried out by the least squares method, by the Levenberg-Marquardt method or by another method.
[0144] Then, a step 1023 corresponding to the combination of steps 1014 and 1022 of the method of [Fig.4] is implemented, before a comparison step 1024 is carried out, with the same operation as for the first method.
[0145] When the values of the two functions F and G are less than or equal to the two threshold values F0 and G0, the model is considered to be adjusted and the new geometric model of the multi-axis robot 20 equipped with the camera 30 is confirmed, i.e. frozen, in a step 1026 on the basis of the first and second passage matrices defined in the last step 1023 implemented.
[0146] Otherwise, steps 1008 and following are implemented again, on the basis of the first and second passage matrices already partially optimized, defined in the last step 1023 implemented.
[0147] The method can be implemented provided that at least two remarkable points Pi are targeted and identified in steps 1004 and 1006. In other words, the number of remarkable points used is greater than or equal to two. It is not necessarily equal to the number of remarkable points of the target.
[0148] When more than two shooting locations are used to determine the position of the remarkable points, the definition of the differences and errors is adapted.
[0149] Alternatively, at least one of the error functions F and G is constructed without involving the square of the individual differences v^^2-1 or These functions may be equal, for example, to the sum of the absolute values of these differences or to another value calculated from these differences.
[0150] In a variant of the invention not shown, the multi-axis robot 20 can be equipped with an application member other than a print head, for example a pneumatic or rotary projector of coating product, possibly of the electrostatic type.
[0151] According to another variant, the multi-axis robot 20 can be equipped with a tool other than a member for applying a coating product, for example a machining tool, a welding tool or a gripping tool.
[0152] Any feature described for one embodiment or variation in the foregoing may be implemented for the other embodiments and variations described above, as long as technically feasible.
Claims
Claims
1. Method for adjusting a geometric model of a multi-axis robot (20) arranged in a room (LO) and equipped with a camera (30), this model comprising a first matrix (7^«"^™^ of passage between a reference frame (RCaméra) linked to the camera and a reference frame (RFG) linked to a wrist of the robot, and a second matrix ( , of passage between the reference frame linked on the robot's wrist and a base reference (BF) linked to the premises, characterized in that this method comprises at least the following steps consisting of: aim (1004), with the camera arranged in a first em shooting location (kl) located in the room, at least two points (PJ of a target (Cl, C2, C3) fixed in the reference frame of base (BF); b. determine the coordinates (of each point targeted at c. d. e. step a) in the reference (RCaméra) Hey to the camera (30) which is in the first location (kl) of shooting; moving (1005) the camera to a second shooting location (k2) located in the room, different from the first shooting location (kl); aim (1006), with the camera arranged in the second em placement (k2) of shooting, the points (Pi) of the fixed target already targeted in step a); determine the coordinates of each point targeted at f. step d) in the reference (RCamera) linked to the camera which is in the second position; calculating (1008), for each point targeted by the camera in steps a) and d), a difference (yk between the coordinates of this point in the base frame, expressed as a function of the coordinates determined in steps b) and e) using the first and second passage matrix ( rj-Camera-^PG ■ calculating (1010, 1018) at least one global difference value by means of a function (F, G) having as variable a difference calculated in step f); and in that variables (XrX6) of coefficients of the first passage matrix (j'Caméra-^PG^ cl the variables ( A a? A / ,■, A 6p A r^) of coefficients of the second passage matrix are completed by minimizing (1012, 1018; 1021) the overall value calculated in step g).
2. Method according to claim 1, characterized in that a first global difference value (F) is calculated in step g) and in that the method comprises steps subsequent to step g) and consisting of: a. determine (1012) the variables (XrX6) of the coefficients of the first passage matrix (j-Camera^PG^ by minimizing the first global value calculated in step g); b. update (1014) the first passage matrix (TCamera-^PG'} with the coefficients which integrate the variables (XrX6) determined in step h) c. calculating (1016), for each point (PJ targeted by the camera in steps a) and d), a difference between the coordinates of this point in the base frame (BF), expressed as a function of the coordinates determined in steps b) and e) using the first passage matrix updated in step i); d. calculating (1018) a second global difference value by means of a function (G) having as variable the differences calculated in step i); e. determine (1020) the variables ( A a? A / •, A 0p A of the coefficients of the second passage matrix ^pg-^bf^ by minimizing the second global value calculated in step j); and f. update (1022) the second passage matrix ^pg^bf^ with the coefficients which integrate the variables ( A a? A Ip A 0p A rj determined in step 1).
3. Method according to claim 1, characterized in that it comprises a step subsequent to step g) and consisting of h') determining (1021) the variables (XrX6) of the coefficients of the first matrix and the variables ( A a? A [p A Bp A of the coefficients of the second matrix determined, by minimizing a single global value (F+G) calculated in step g).
4. Method according to one of claims 2 and 3, characterized in that it comprises steps, subsequent to step h) or step h') and constant at: a. calculate (1024), for each point (PJ targeted by the camera in steps a) and d), a difference (v^^, between the coordinates of this point in the base frame (BF), expressed as a function of the coordinates (yÇ?!1™™ determined vv kU * v k2J- J in steps b) and e) using the first passage matrix (ToptlxfxtyG) m'sc updated with the latest coefficient variables (XrX6) determined for this first matrix and the second passage matrix ... . Updated with the last variables 9? y) of the coefficients determined for this second matrix. b. calculate an overall difference value by means of a function (F, G) having as variable the differences calculated in step n); c. compare the overall value calculated in step o) with a threshold value (FO, GO); d. if the comparison in step p) shows that the overall value (F, G) calculated in step o) is greater than the threshold value (FO, GO), implement steps f) and following again; e. if the comparison of step p) shows that the overall value (F, G) calculated in step o) is lower than the threshold value (FO, GO), freeze (1026) the first and second passage matrices with the last variables (XrX6, A a-, A l- A 9P A determined to use them in the geometric model of the multi-axis robot.
5. Method according to one of the preceding claims, characterized in that the difference calculated in step f), j) or n) is expressed in the form n-PG^BF ^camera-^PG xrCamera t-PG^BF 'rCamercr+PG y / Camera .7 .vkU -ik2 .r .vk2J Or is the difference between the coordinates of the same point numbered / seen by the camera from positions kl and k2; - is a vector representing the position of point 1 seen by the camera from position kl; - is a vector representing the position of point 1 seen by the camera from position k2; _ -pCamera~*PG csl |the first pass matrix; - or Tf^bf^I the second passage matrix.
6. Method according to one of the preceding claims, characterized in that the overall difference value calculated in step g), k) or o) is the sum of the squares of the values of the differences calculated in step f), i) or 1) and is expressed in the form f = £l£^ £a II v^U2. / Il 2 where _ vki,k^i csl difference between the coordinates of the same point numbered 1 seen by the camera from locations kl and k2; - 1 is the order number of one of the points targeted by the camera at steps a) and d), between 1 and L - kl is the order number of the first location, between 1 and K; - k2 is the order number of the second location, between 1 and K; - K is the number of locations the camera can take to aim at the target points.
7. Method according to one of the preceding claims, characterized in that the first passage matrix is expressed in the form sin(Xi)sm(X5).cos(X6) -cos(X4)xm(X6) cos(X4')sin(X5').cos(X6') +sin(X4)sbt(X6) cox(X4)xiti(X5).sin{Xf-i) -sin{X4)x:os{X6) ■ 0 0 0 1 ■ where the quantities Xi, for i a natural integer between 1 and 6, are the variables determined by minimizing the global value calculated in step g) and correspond - for i natural integer between 1 and 3, at distances between a center of the reference frame (RCaméra) linked to the camera (30) and the center of the reference frame (RFG) linked to the wrist (21); - for i natural integer between 4 and 6, at representative angles from an orientation of the camera-related frame to the wrist-related frame.
8.
9. Method according to one of the preceding claims, characterized in that the second matrix is expressed in the form cos( / * + #,+A -sin( J^3t + A 3,) sin(j- + 0,+ A#,-) xcos(a,+ Aaf) cos(j- + 0;+ AdJ xcos(ar-+ AcJ sin(J. + 3(+ A 3j ) x sin( a} + A «J cosfj- + 3,+ A 3^ x sin( cl + A aj 0 0 0 4 + A< -sin(af+ A a,) - (;; + A r, ) x sin(a, + A af) cosl a,+ Aaf) - {r: + Ar;) xcos(+ Au,) 0 1 Or the quantities are angles measured on the axis A; of the multi-axis robot (20), for the k-th point targeted by the camera (30) during steps a) and d); the quantities o,^ 1 / , 6^ and rt are the theoretical parameters of Denavit-Hartenberg modified for the A axis of the multi-axis robot; And the quantities Aa^ Al^ A3,- and Art are variables for the coefficients of the second passage matrix, determined by minimizing the global value calculated in step g). Method according to one of the preceding claims, characterized in that the minimization of the overall difference value (F, G) is carried out by the least squares method with - resolution of a system of six equations with six unknowns when determining the variables (XrX6) of coefficient of the first passage matrix (j-Camera^PG^ cj resolution of a system of twenty-four equations with twenty-four unknowns when determining the variables ( A a„ A / „ A 64 A r.) of coefficient of the second passage matrix in the case of the method of the claim 2, or - resolution of a system of thirty equations with thirty unknowns when determining the variables (Xi-X6, A a;-, A Ij, A 6? A coefficient of the first and second passage matrices, in the case of the method of claim 3.
10. Application of the method according to one of the preceding claims for adjusting the geometric model of a robot (20) for applying coating product equipped with a print head (10) or a coating product projector.
11. Robot (20) equipped with a tool (10), a camera (30) and an electronic control unit (24, 40) programmed to automatically implement a method according to one of claims 1 to 9.
Citation Information
Patent Citations
Robot calibration method and system based on VTK feature point transformation and storage medium
CN115431278A
Robot TCP calibration method using floatable standard sphere
CN115533893A
Robot zero calibration system and method based on binocular vision technology and LM algorithm
CN115741720A
Measuring system
EP1555508A1
Simultaneous Kinematic and Hand-Eye Calibration
US20190015991A1