Method for adjusting a geometric model of a multi-axis robot equipped with a camera, use of a robot for coating a coating product, and robot configured
By using transformation matrix to adjust the geometric model of multi-axis robots, the problem of difficulty in accurately adjusting the robot geometric model in the prior art is solved, and higher positioning accuracy and lower positioning errors are achieved.
Patent Information
- Application Number
- CN202411782176.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-05
- Filing Date
- 2024-12-05
- Publication Date
- 2025-06-06
AI Technical Summary
It is difficult to accurately adjust the geometric model of a multi-axis robot equipped with a camera, especially when considering the actual assembly between the camera and the robot wrist and the actual structure of the multi-axis robot.
By using the first matrix and the second matrix for transformation, the geometric model of the multi-axis robot is adjusted. The specific steps include: aiming at the significant point of the fixed target with the camera, determining the coordinates of the point in the camera coordinate system, moving at different positions and repeating the aiming process, calculating the coordinate difference value, and determining the coefficient variable of the transformation matrix by minimizing the total difference value.
The effective adaptation of the geometric model of the multi-axis robot is achieved, including the camera installed on the robot's wrist. The assembly between the camera and the robot's wrist and the geometric size of the robot itself is taken into account, which improves the positioning accuracy and reduces positioning errors.
Smart Images

Figure CN120095802A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a method for adjusting a geometric model of a multi-axis robot arranged in a room and equipped with a camera. Background Art
[0002] In the field of coating products applied by a multi-axis robot equipped with a coating member (such as a print head), it is important to be able to accurately control the operation of the coating member, in particular taking into account the positioning of the coating member relative to the surface to be coated. To this end, it is known to equip the multi-axis robot with a camera, which makes it possible to recognize the robot's environment, in particular the surface to be coated relative to which the coating member must be positioned.
[0003] Hitherto, the position of a camera in a room (ie the position and / or orientation of a coordinate system associated with the camera in a coordinate system associated with the room in which the robot is placed) has been defined in a relatively imprecise manner.
[0004] In fact, if a geometric model of the robot is used based on the assumption that the connection between the camera and the robot's wrist is known and rigid and that the axes of the multi-axis robot (which are usually six) work perfectly, then the model used does not correspond to the physical reality of the robot equipped with a camera, because there are tolerances in mounting the camera on the robot's wrist, because the position of the camera may have changed and because the robot itself is not perfect.
[0005] Similar issues arise with robots equipped with cameras and tools that may be different from the components used to apply the paint product.
[0006] In the surgical field, it is known from CN115431278A to calibrate the position of the tool center (or "tool center point" - TCP) of a coordinate system associated with a camera mounted on a multi-axis robot, assuming that the robot is perfect. Although this approach can be used for surgical robots, it cannot be transferred to industrial robots (such as paint product application robots) because industrial robots operate in a high-speed environment that may be subject to disturbances, so that the environment may not correspond to the theoretical model in terms of geometry, kinematics and / or dynamics.
[0007] It is also known from CN115533893A to determine the TCP of a camera by forcing the robot to touch a contour in the form of a sphere with its tip. This method is complex and time-consuming to implement.
[0008] On the other hand, EP1555508A1 teaches how to use a measuring system by taking a picture of the object while rotating the camera around the axis of its coordinate system, which reduces the measurement errors. This method is also complex and time-consuming.
[0009] CN115741720A also teaches to calibrate the angular position of the sensor using calculations based on the Levenberg-Marquardt method. The calibration thus performed is limited to optimizing the origin of the sensor's angular measurement and also assumes that the robot used is perfect.
[0010] In addition, US2019 / 015991A1 teaches how to determine a cost function in a method for calibrating a visual device based on the distance between an observed feature and a mapped feature, which is particularly based on the calculation of the mapped feature. The calculation is conceived in a two-dimensional model. Any inaccuracy in the calculation may lead to doubts about the reliability of the calibration, and the application of the calculation in three dimensions is complicated. Summary of the invention
[0011] The present invention is particularly intended to remedy such drawbacks by proposing a new method for adjusting the geometrical model of a multi-axis robot, which takes into account the realities of the assembly between the camera and the robot's wrist and of the structure of the multi-axis robot, using a reliable method that does not rely on the calculation of mapped features.
[0012] To this end, 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, the model comprising a first matrix and a second matrix, the first matrix being used to transform between a coordinate system associated with the camera and a coordinate system associated with the wrist of the robot, the second matrix being used to transform between a coordinate system associated with the wrist of the robot and a base coordinate system associated with the room, the method comprising at least the following steps, the following steps mainly comprising:
[0013] a) aiming at at least two points among L salient points of a stationary object in a base coordinate system with a camera arranged in a first image capturing position in the room, wherein L is an integer greater than or equal to 2;
[0014] b) determining, in the coordinate system of the camera in the first image capture position, the coordinates of each point involved during step a);
[0015] c) moving the camera in the room to a second image capturing position different from the first image capturing position;
[0016] d) aiming at the point of the fixed target that has been aimed at during step a) with a camera arranged in a second image capturing position;
[0017] e) determining, in a coordinate system associated with the camera in the second image capturing position, the coordinates of each point involved during step d);
[0018] The camera moves continuously in K positions, where K is an integer greater than or equal to 2.
[0019] The method further comprises at least the following steps, which mainly include:
[0020] f) for each point aimed at by the camera during step a) and step d), calculating, using the first transformation matrix and the second transformation matrix, the difference between the coordinates of this point in the base coordinate system, said difference being expressed according to the coordinates determined during step b) and step e);
[0021] g) calculating at least one total difference value by means of a function having as variables the difference values calculated during step f);
[0022] In addition, the coefficient variables of the first transformation matrix and the coefficient variables of the second transformation matrix are determined by minimizing the total value calculated during step g). Finally, the value of the product of the integer L and the integer K minus 6 (L*K-6) is greater than or equal to the number of variables of the geometric model of the multi-axis robot.
[0023] By means of the invention, the determination of the variables of the coefficients of the first matrix and of the variables of the coefficients of the second matrix enables an effective adaptation of the geometric model of the multi-axis robot, including with respect to the camera mounted on the wrist of the robot. In particular, due to the optimization of the improved Denavit-Hartenberg parameters, 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 dimensions of the robot itself. Moreover, the relationship between the integer L and the integer K on one end and the number of variables of the geometric model of the multi-axis robot ensures a sufficient number of equations for satisfactory calculation efficiency. It is not necessary to carry out the calculation of the mapping features, so that any inaccuracy in such calculation of the mapping features does not raise doubts about the overall reliability of the method.
[0024] According to an advantageous but non-mandatory aspect of the invention, the method may comprise one or more of the following features, taken alone or in any technically permissible combination:
[0025] During step g) a first total difference is calculated, and wherein the method comprises a step after step g), and the step after step g) comprises:
[0026] h) determining the variables of the coefficients of the first transformation matrix by minimizing the first total value calculated during step g);
[0027] i) updating the first transformation matrix with coefficients integrating the variables determined during step h);
[0028] j) for each point aimed at by the camera during steps a) and d), calculating, using the first transformation matrix updated during step i), the difference between the coordinates of this point in the base coordinate system, said difference being expressed according to the coordinates determined during steps b) and e);
[0029] k) calculating a second total difference using a function (G) using as a variable the difference calculated during step j);
[0030] l) determining the variables of the coefficients of the second transformation matrix by minimizing the second total difference calculated during step k); and
[0031] m) Updating the second transformation matrix with coefficients integrating the variables determined during step l).
[0032] The method comprises a step h′) after step g), and step h′) comprises determining the variables of the coefficients of the first matrix and the variables of the coefficients of the second matrix by minimizing the single total value calculated during step g).
[0033] The method comprises a step after step h) or step h'), and the step after step h) or step h') comprises:
[0034] n) for each point aimed at by the camera during steps a) and d), calculating the difference between the coordinates of the point in the base coordinate system using a first transformation matrix updated with the final coefficient variables determined for the first matrix and a second transformation matrix updated with the final coefficient variables determined for the second matrix, said difference being expressed as a function of the coordinates determined during steps b) and e);
[0035] o) calculating the total difference using a function using the difference calculated during step n) as a variable;
[0036] p) comparing the total value calculated during step o) with a threshold value;
[0037] q) if said comparison during step p) shows that the total value calculated during step o) is greater than a threshold value, using step f) and the following steps again;
[0038] r) Freezing the first transformation matrix and the second transformation matrix with final variables for use in a geometrical model of the multi-axis robot if said comparison during step p) shows that the total value calculated during step o) is below a threshold value.
[0039] The difference calculated during step f), step j) or step n) is expressed in the following form:
[0040]
[0041] in:
[0042] -v k1,k2,l is the difference between the coordinates of the same point numbered l observed by the camera from position k1 and position k2;
[0043] - is a vector representing the position of point l as observed by the camera from position k1;
[0044] - is a vector representing the position of point l as observed by the camera from position k2;
[0045] -T Caméra→PG is the first transformation matrix;
[0046] - or is the second transformation matrix.
[0047] The total difference calculated during step g), step k) or step o) is the sum of the squares of the differences calculated during step f), step i) or step l) and is expressed in the following form:
[0048]
[0049] in,
[0050] -v k1,k2,l is the difference between the coordinates of the same point numbered l observed by the camera from position k1 and position k2;
[0051] - l is the number of one of the points aimed at by the camera during steps a) and d) and is included between 1 and L;
[0052] - k1 is the serial number of the first position and is included between 1 and K;
[0053] - k2 is the serial number of the second position and is included between 1 and K;
[0054] -K is the number of positions the camera can take from to aim at the target point.
[0055] The first transformation matrix is expressed as follows:
[0056]
[0057] wherein the quantity Xi is a variable determined by minimizing said total value calculated during step g), i is a natural number between 1 and 6, and
[0058] For the case where i is a natural number between 1 and 3, the quantity Xi corresponds to the distance between the center of the coordinate system of the camera and the center of the coordinate system of the wrist;
[0059] For the case where i is a natural number between 4 and 6, the quantity Xi corresponds to the angle representing the orientation of the camera's coordinate system in the wrist's coordinate system.
[0060] -The second matrix is represented as follows:
[0061]
[0062] in,
[0063] quantity is for the kth point targeted by the camera during steps a) and d), on axis A of the multi-axis robot i The angle at which the measurement is made;
[0064] Quantity α i , l i ,θ i and r i Axis A for multi-axis robots i Improved Denavit-Hartenberg theory parameters; and
[0065] Δα i , Δl i , Δθ i and Δr i are variables of the coefficients of the second transformation matrix determined by minimizing the total value calculated during step g).
[0066] - Minimize the total difference using the least squares method using:
[0067] In the case of the method as described above, a system of six equations with six unknowns is solved when determining the coefficient variables of the first transformation matrix, and a system of twenty-four equations with twenty-four unknowns is solved when determining the coefficient variables of the second transformation matrix, or
[0068] In the case of another method as described above, a system of thirty equations having thirty unknown quantities is solved when determining coefficient variables of the first transformation matrix and the second transformation matrix.
[0069] According to a second aspect, the invention relates to the use of a method as described above for adjusting a geometrical model of a robot for applying a paint product, equipped with a printing head or a paint product sprayer.
[0070] 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 the method as described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0071] The invention will be better understood and further advantages thereof will appear more clearly from the following description given by way of example only and with reference to the accompanying drawings, in which:
[0072] Figure 1 are schematic diagrams of the principle on three illustrations A), B) and C) of the target used in the method of the invention;
[0073] Figure 2 The multi-axis robot according to the present invention is Figure 1 Illustration B) is a schematic diagram of the principle during use of the target shown in conjunction with the target;
[0074] Figure 3 is a schematic diagram of the principles of different coordinate systems and transformation matrices used in the method of the present invention;
[0075] Figure 4 is a block diagram of a method according to a first embodiment of the present invention; and
[0076] Figure 5 is a method similar to that used in the method according to the second embodiment of the present invention. Figure 4 Block diagram of the . DETAILED DESCRIPTION
[0077] Figure 1 In the three illustrations A), B) and C) three targets C1, C2 and C3 are shown which can be used for Figure 2 The method of the present invention is implemented using the multi-axis robot 20 shown in FIG.
[0078] Each of objects C1, C2 and C3 includes a certain number of salient points P for object C1 1 To P 4 , a certain number of salient points P for target C2 1 To P 8 , a certain number of salient points P for target C3 1 To P 7 .
[0079] L represents the number of salient points of the target. Figure 2 In the example, the number L is equal to 8. l represents the salient point P of the target l ordinal number; l is a natural number included between 1 and L.
[0080] Figure 1The examples of targets shown in are not limiting, and any forms of targets can be envisioned as long as they are able to determine at least two salient points P l The location of the significant point P l It can be Figure 1 The angles of the geometric figures or spots drawn on the two-dimensional board as shown in the illustrations A) and B) of Figure 1 The angle of the three-dimensional structure shown in the illustration C). l A point on an object that can be detected by a camera, specifically because of its contrast with its surroundings.
[0081] As a non-limiting example, Figure 2 The use of a target C2 with a multi-axis robot 20 is shown.
[0082] The multi-axis robot 20 includes a plurality of axes A around which 1 To A 6 The parts articulated together form the arm and the wrist 21 forms the distal end of the arm. According to a variant of the invention (not shown), the wrist may be articulated about a seventh axis relative to the end of the arm of the multi-axis robot 20.
[0083] A printing head 10 comprising a body 12 equipped with a nozzle 14 is mounted on a wrist 21. This printing head 10 is intended to apply a coating product, such as paint or varnish, to an object not shown, such as a motor vehicle body.
[0084] The six axes of the joint A 1 To A 6 It is made possible to deform the arm of the multi-axis robot 20 in order to move the printing head 10 in space relative to the surface of the object to be coated.
[0085] The camera 30 is mounted on the wrist 21, being fastened to the wrist 21 by suitable mechanical means, such as screws or clamping members. The attachment of the camera 30 to the wrist 21 must be strong enough to withstand the accelerations experienced by the camera when the robot moves.
[0086] Advantageously, the camera is a CCD camera or a laser camera of the binocular type and / or profilometer type with one or two cameras.
[0087] Figure 2 A problem that arises with a multi-axis robot of the type shown in is knowing the position of the camera 30 in a fixed base coordinate system BF associated with the room LO in which the multi-axis robot 20 is arranged. In fact, a correct positioning of the camera 30 in the room LO is necessary for accurately identifying the position of the object aimed at by the camera.
[0088] The position of the camera in the room LO 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 room LO.
[0089] In a first analysis, the positioning of the camera 30 relative to the wrist 21 can be approximated by assuming that the camera is fixed to the wrist in a theoretical position corresponding to the assembly plan. The positioning of the wrist 21 in the room LO can also be approximated in a first analysis by using a theoretical model of the geometry of the multi-axis robot 20, in particular based on modified Denavit-Hartenberg parameters or DHM.
[0090] However, the above mentioned approximations result in positioning errors which may cause defects in the coating product applied by the print head 10 if the print head is not correctly positioned and oriented relative to the surface being coated.
[0091] The method of the present invention aims to reduce or even eliminate the localization error. This is performed iteratively until a significant point P is observed on a target (such as target C2). l The value of the positioning error function decreases.
[0092] The model adjustment method of the present invention is implemented in the calculator 40. Figure 2 4 is represented in the form of a computer and communicates with a controller 24 of the multi-axis robot 20 arranged in the base 22 of the 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. In a variant, the components 24 and 40 of the control unit are a single physical entity, which can be integrated into the base 22.
[0093] R camera represents the coordinate system associated with the camera, and R PG denoted by φ , a coordinate system associated with the wrist 21 .
[0094] The method of the present invention provides for recording at least a salient point P of a target C2 by having the camera successively enter two different image capturing positions in the room LO in which the multi-axis robot 20 is located (i.e., two different positions relative to a base coordinate system BF fixed relative to the room LO). l location.
[0095] L represents the salient point P of target C2 l The number L is a natural integer greater than or equal to 2, preferably greater than or equal to 3.
[0096] When locating the salient point P l When , the number of camera positions is denoted as k and k is equal to 1 or 2.
[0097] The position is defined by the location of the camera and the orientation of the camera during image capture, ie during identification of salient points. The image capture position may also be referred to as image capture location or aiming position.
[0098] For each image capture position k and each salient point P l , the significant point is in the coordinate system R camera The coordinates in are expressed in the form of a vector including the horizontal coordinate, vertical coordinate and height of the salient point in the coordinate system. It represents the salient point P at position k l In the coordinate system R camera The coordinates in .
[0099] In a variant, the number of different image-taking positions used is greater than or equal to three.
[0100] For the remainder of this embodiment, k1 and k2 are used to identify the point P at which the camera can aim at the target when the wrist 21 moves. l Two different positions among K positions of, wherein K is a natural number greater than or equal to 2, preferably greater than or equal to 3.
[0101] The value of the product of the number L and the number K minus 6 (ie, L*K-6) is greater than or equal to the number of variables of the geometric model of the robot.
[0102] Therefore, when the camera is at the first position k1, the salient point P l The position in the camera coordinate system can be expressed as , and when the camera is at the second position k2, the salient point P l The position in the camera coordinate system can be expressed as expressed in the form of .
[0103] Prominent point P l The position can also be expressed in a coordinate system R associated with the wrist. PG It is expressed in the following form:
[0104]
[0105] Among them, T Camera→PG is used to obtain the coordinate system R associated with the camera 30 camera Transformed to the coordinate system R associated with the wrist 21 PG The first matrix of .
[0106] The first transformation matrix can be expressed in the following form:
[0107]
[0108] Among them, the first transformation matrix T Camera→PGThe sixteen coefficients of are expressed as six variables X 1 To X 6 function.
[0109] VARIABLE X 1 , X 2 , X 3 Corresponds to the coordinate system R associated with the camera camera The center of PG The center of the translation, and the variable X 4 , X 5 and X 6 corresponds to the rotation angle of the axes of the two coordinate systems relative to each other. In the case of the matrix presented in equation 3, it is the angle of the roll-pitch-yaw convention. Other angle representations may be used.
[0110] Prominent point P l The position of is unknown in the base coordinate system BF, but can be expressed in said coordinate system as follows: for each image capture position k, by applying to this position a second transformation matrix for transforming from the coordinate system of the wrist to the base coordinate system, which is expressed in the coordinate system R associated with the wrist 21 PG function of the position in .
[0111] T PG→BF or The second transformation matrix is defined for each image capturing position k of the camera, and thus the wrist 21 as well.
[0112] In practice, the position of the wrist's coordinate system in the base coordinate system depends on the image capture position that the camera 30 is in. Therefore, the coordinate system associated with the wrist when the camera is in the image capture position k can be expressed as form of expression.
[0113] Therefore, for each image capture position k, there is a coordinate system associated with the wrist The transformation matrix for the first image capture position is expressed as And the transformation matrix for the second image capture position is expressed as
[0114] Therefore, if Figure 3 As shown in Caméra→PG The salient point P identified in the camera coordinate system l The position of is expressed in the wrist coordinate system, and the second transformation matrix is used The salient point P identified in the camera coordinate system lThe position of is expressed in the base coordinate system BF for each position k1 and k2, where k is equal to k1 or k2.
[0115] Advantageously, the second transformation matrix is expressed using the modified Denavit-Hartenberg parameters (also called DHM) and the associated corrections This is used to model the robot from its base 22 to its wrist 21 .
[0116] The modified Denavit-Hartenberg parameters are known per se. The modified Denavit-Hartenberg parameters are sometimes also referred to as Khalil-Kleinfinger parameters.
[0117] For example, for each rotation axis Ai of the multi-axis robot 20, the improved Denavit-Hartenberg parameter can be expressed as:
[0118] α i : By rotating around the axis A i-1 The X axis of the associated coordinate system i-1 Axis A obtained by rotation i-1 With axis A i Theoretical perspective
[0119] l i : Along axis X i-1 Obtained axis A i-1 With axis A i The theoretical distance between
[0120] θ i : By rotating around axis A i The axis X is obtained by rotation i-1 With axis X i Theoretical perspectives
[0121] r i :Along axis A i The obtained i-1 With axis X i The theoretical distance between
[0122] The following differences are also defined:
[0123] Δα i : Angle change α i
[0124] Δl i :Distance change i
[0125] Δθ i : Angle change θ i
[0126] Δr i :Distance change r i
[0127] Under these conditions, the coordinate system R associated with the wrist is used to PG The second transformation matrix that transforms the point into the base coordinate system can be expressed in the following form:
[0128]
[0129] This expression is valid at every image capturing position k, where k is equal to k1 or k2. represents the rotation angle value of the two parts of the multi-axis robot articulated around the axis Ai when the multi-axis robot 20 is in the image capturing position k.
[0130] The coefficients of the second transformation matrix (where s and w are natural numbers between 1 and 4) can be expressed as follows:
[0131] Rotation matrix, s∈{1,2,3} and w∈{1,2,3}
[0132] Translation matrix, s∈{1,2,3}
[0133] w∈{1,2,3}
[0134]
[0135] Improved Denavit-Hartenberg parameter α i , l i ,θ i and r i is the theoretical value of the robot, and the quantity Δα i , Δl i , Δθ i and Δr i is the second transformation matrix The coefficient of variables.
[0136] The geometric model of the multi-axis robot 20 equipped with the camera 30 is denoted by Mod.
[0137] like Figure 4 As shown in , the method of fitting the geometric model Mod comprises a first initialization step 1000 , in which the calculator 40 is started.
[0138] During step 1002, the geometric model Mod is defined as an initial model Mod0, which is composed of a first initial transformation matrix and the second initial transformation matrix definition.
[0139] First initial transformation matrix It can be constructed by calculation from the theoretical position of the camera 30 relative to the wrist 21. The second initial transformation matrix It can be constructed from a theoretical geometric model of the multi-axis robot 20 .
[0140] An initial model Mod0 is used in the first part of the method between steps 1004 and 1012 defined below.
[0141] In the following step 1004, the robot is brought into a first image capturing position k1, where the camera 30 is aimed at the salient point P l And in the coordinate system R associated with the camera camera Mark the salient point P l In step 1004, for each point P l , whose coordinates are In the coordinate system R camera Indicated in.
[0142] Then, in step 1005 , the camera 30 is moved to a second image capturing position.
[0143] When the camera is at the second image capturing position k2, during step 1006 after step 1005, each salient point P l is targeted by the camera and thus identified, and each salient point P l The coordinates of In the coordinate system R associated with the camera, camera Indicated in.
[0144] In fact, every point P l Keep the same position regardless of point P l Is it located by the camera from its image capturing position k1 or point P l is located by the camera from its image capturing position k2.
[0145] Therefore, each salient point P l The position in the base coordinate system BF is unknown, but it is known that each salient point P l The position in the base coordinate system BF has nothing to do with the way the camera observes the position.
[0146] For each significant point P l Based on the recognition performed in the first image capturing position k1 and the recognition performed in the second image capturing position, the salient point P represented in the base coordinate system BF is lThe difference between the positions of is defined as v k1,k2,l :
[0147]
[0148] v k1,k2,l Therefore, the salient point P is represented in the base coordinate system BF l The difference between the two coordinates of the salient point P represented in the base coordinate system BF l The two coordinates are obtained by the camera 30 from the first image capturing position k1 and the second image capturing position k2 in a coordinate system R associated with the camera. camera Detected in.
[0149] During a step 1008 following step 1006 of the method, for each salient point P l , the difference is calculated by the calculator 40.
[0150] In theory, this difference should be equal to zero, since the salient points are fixed in the base coordinate system BF.
[0151] In practice, if the difference is non-zero, then we can assume that the first initial transformation matrix is The coefficients of do not accurately represent the true position of the camera 30 relative to the wrist 21 , in particular due to manufacturing tolerances of the components and adjustments made when the parts are mounted to each other.
[0152] In a subsequent step 1010, an error function F is defined as the sum of the squares of the differences determined during step 1008, expressed in the following form:
[0153]
[0154] The value of the error function F is the salient point P determined by the two image capture positions l The total value of the difference between the coordinates.
[0155] During a step 1012 also implemented by the calculator 40, by processing the first transformation matrix T Camera→PG The variable X 1 To X 6 To minimize the function F.
[0156] The optimization is performed by solving a system of six nonlinear equations, for example, via the least squares method. The system of equations has six unknowns, namely the variables X 1 To X 6 .
[0157] In a variant, the solution of the nonlinear system of equations is performed using the Levenberg-Marquardt method or another method.
[0158] In the following step 1014, the first transformation matrix is optimized. (whose coefficient integrates the variable X determined during step 1012 1 To X 6 ) to update the first transformation matrix And integrated into the model Mod instead of the first initial transformation matrix middle.
[0159] In other words, starting from step 1014, the calculations performed by the calculator 40 take into account an optimized version of the first transformation matrix, namely
[0160] In the following step 1016, the salient point P is calculated in the following form l The second difference ε between the coordinates k1,k2,l :
[0161]
[0162] In theory, the difference should also be zero.
[0163] In practice, if the difference is non-zero and greater than the precision of the robot's repeatability, then the second initial transformation matrix can be considered The coefficients do not fully represent the structure and operation of the multi-axis robot 20, in particular due to manufacturing tolerances and wear of its joints.
[0164] In a subsequent step 1018, an error function G is defined as the sum of the squares of the differences determined during step 1016, expressed in the following form:
[0165]
[0166] The value of the error function G is the salient point P determined by the two image capture positions. l Another total value of the difference between the coordinates.
[0167] During a step 1020 also implemented by the computer 40, for each image acquisition position, by processing the second transformation matrix The variable Δα i , Δl i , Δθ i and Δr i To minimize the function G.
[0168] The optimization is performed by solving a system of twenty-four nonlinear equations, for example by the method of least squares. The system of equations has twenty-four unknowns, namely, i (i is a natural number between 1 and 6) four variables Δα i , Δl i, Δθ i and Δr i .
[0169] When the number K of positions that the camera enters successively is greater than or equal to 3, step 1005, step 1006 and determining the coordinate system R associated with the camera are performed. Caméra The step of calculating the coordinates of each point in is repeated as many times as needed, and the number k can take values of 3, 4, 5 or more.
[0170] In a variant, the Levenberg-Marquardt method or another method is used to find the solution to the nonlinear system of equations.
[0171] Solving the system of 24 equations with 24 unknowns yields the second optimal transformation matrix
[0172] In the following step 1022, the optimized version of the second transformation matrix (whose coefficient integrates the variable Δα determined during step 1020 i , Δl i , Δθ i and Δr i ) is integrated into the model Mod instead of the first initial transformation matrix middle.
[0173] The method of the present invention includes calculating the difference value v using the model Mod implemented after step 1014 and step 1022 k1 ,k2,l , ε k1,k2,l In step 1024, the model Mod integrates the first optimization matrix and the second optimization matrix, that is, the final variables X determined during steps 1012 and 1020 1 -X 6 , Δα i , Δl i , Δθ i , and Δr i Step 1024 also includes calculating a total difference from the error function F and the error function G and comparing the total difference with two thresholds F0 and G0.
[0174] If the total difference between function F and function G is less than or equal to threshold value F0 and threshold value G0, the model Mod is considered to be correctly adjusted, and in step 1026, the new geometric model of the multi-axis robot 20 equipped with the camera 30 is confirmed (i.e., frozen) based on the first transformation matrix and the second transformation matrix defined in the last implemented steps 1014 and 1022.
[0175] In the opposite case, the subsequent step 1008 and subsequent steps are performed again based on the already partially optimized first transformation matrix and second transformation matrix defined in the last performed step 1014 and step 1022 .
[0176] Then, steps 1008 to 1024 are repeated iteratively until the values of the error function F and the error function G respectively lower than the threshold value F0 and the threshold value G0 are obtained.
[0177] exist Figure 5 In the second embodiment of the invention shown in , elements similar to those of the first embodiment have the same reference numerals and are not described in detail.
[0178] Steps 1000 to 1008 of the second method are the same as steps 1000 to 1008 of the first method.
[0179] The method of the second embodiment differs from the method of the first embodiment in that the first transformation matrix is not optimized by searching for the minimum value of a separately considered function F. Step 1016 and step 1018 directly follow step 1010 .
[0180] The error function F and the error function G are calculated as a single overall value that is minimized in the same step 1021, which involves solving for the thirty unknowns (i.e., the variables X 1 To X 6 , Δα i , Δl i , Δθ i and Δr i , where i is a natural number between 1 and 6) is a system of thirty nonlinear equations.
[0181] for Figure 4 In step 1012 and step 1020 of the first method, the solution of the system of equations can be completed by the least squares method, the Levenberg-Marquardt method or another method.
[0182] Then, before executing the comparison step 1024, the same operation as the first method is used to implement the comparison with Figure 4 The combination of step 1014 and step 1022 of the method corresponds to step 1023.
[0183] When the values of the two functions F and G are less than or equal to the two thresholds F0 and G0, based on the first transformation matrix and the second transformation matrix defined in the last implementation step 1023, in step 1026, 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).
[0184] In the opposite case, step 1008 and subsequent steps are performed again based on the already partially optimized first transformation matrix and second transformation matrix defined in step 1023 which is performed last.
[0185] The method can be implemented as long as at least two significant points P l In other words, the number of salient points used is greater than or equal to 2. The number of salient points used is not necessarily equal to the number of salient points of the target.
[0186] When more than two image capture positions are used to determine the location of salient points, the definitions of difference and error need to be adapted.
[0187] In a variant, at least one of the error function F and the error function G is not implemented using a separate difference value v k1,k2,l or ε k1,k2,l The function can be equal to, for example, the sum of the absolute values of the differences or another value calculated from the differences.
[0188] In a variant of the invention (not shown), the multi-axis robot 20 may be equipped with coating means other than the printing head, for example a pneumatic or rotary paint product sprayer, possibly of the electrostatic type.
[0189] According to another variant, the multi-axis robot 20 may be equipped with tools other than those for applying the components of the paint product, for example machining tools, welding tools or gripping tools.
[0190] Any feature described above for one embodiment or one variant may be implemented for other embodiments and variants described above, as long as it is technically feasible.
Claims
1. A method for adjusting a geometric model of a multi-axis robot (20) arranged in a room (LO) and equipped with a camera (30), the model comprising a first matrix (T Camera→PG ) and the second matrix (T PG→BF ), the first matrix is used to calculate the coordinate system associated with the camera (R camera ) and the coordinate system associated with the wrist of the robot (R PG ), the second matrix is used to transform between the coordinate system associated with the wrist of the robot and the base coordinate system (BF) associated with the room, wherein, The method comprises at least the following steps, which include: a) aiming (1004) at at least two points (P1, P2, P3) of L salient points of a stationary object (C1, C2, C3) in the base coordinate system (BF) with the camera arranged in a first image capturing position (k1) in the room; l ), wherein L is an integer greater than or equal to 2; b) in the coordinate system (R) associated with the camera (30) at the first image capturing position (k1) camera ), determine the coordinates of each point involved during step a) ); c) moving (1005) the camera in the room to a second image capturing position (k2) different from the first image capturing position (k1); d) aiming (1006) the camera arranged in the second image capturing position (k2) at the point (P) of the fixed target that has been aimed at during step a). l ); e) in the coordinate system (R) associated with the camera at the second image capturing position camera ), determine the coordinates of each point involved during step d) The camera moves continuously in K positions, where K is an integer greater than or equal to 2. The method further comprises at least the following steps, wherein the following steps comprise: f) for each point aimed at by the camera during steps a) and d), using the first transformation matrix (T Camera→PG ) and the second transformation matrix to calculate (1008) the difference (v) between the coordinates of the point in the base coordinate system k1,k2,l ), the difference (v k1,k2,l ) is expressed as a function of said coordinates determined during steps b) and e); g) calculating (1010, 1018) at least one total difference value by means of a function (F, G) having as variables the difference values calculated during step f); Among them, the first transformation matrix (T Camera→PG ) of the coefficients of the variables (X1-X6) and the second transformation matrix (T PG→BF ) coefficient variable (Δα i , Δl i , Δθ i , Δr i ) is determined by minimizing (1012, 1018, 1021) said total value calculated during step g), and The value of the product of the integer L and the integer K minus 6 (L*K-6) is greater than or equal to the number of variables of the geometric model of the multi-axis robot (20).
2. The method according to claim 1, wherein: During step g) a first total difference (F) is calculated and the method comprises a step after step g) and the step after step g) comprises: h) determining (1012) said first transformation matrix (T) by minimizing said first total value calculated during step g) Camera→PG ) of the coefficients of the variables (X1-X6); i) updating (1014) said first transformation matrix (T) with coefficients integrating said variables (X1-X6) determined during step h) Camera→PG ); j) for each point (P) targeted by the camera during steps a) and d) l ), using the first transformation matrix updated during step i), calculate (1016) the difference (ε) between the coordinates of the point in the base coordinate system (BF) k1,k2,l ), the difference (ε k1,k2,l ) is represented according to said coordinates determined during steps b) and e); k) calculating (1018) a second total difference using a function (G) having as a variable the difference calculated during step j); l) determining (1020) said second transformation matrix (T) by minimizing said second total difference calculated during step k) PG→BF ) of the coefficient of the variable (Δα i , Δl i , Δθ i , Δr i );as well as m) integrating the variable (Δα) determined during step l) i , Δl i , Δθ i , Δr i ) to update (1022) the second transformation matrix (T PG→BF ).
3. The method according to claim 1, wherein: The method comprises a step after step g), and the step after step g) comprises: h′) determining (1021) the variables (X1-X6) of the coefficients of the first matrix and the variables (Δα) of the coefficients of the second matrix by minimizing the single total value (F+G) calculated during step g). i , Δl i , Δθ i , Δr i ).
4. The method according to any one of claims 2 and 3, wherein: The method comprises a step after step h) or step h'), and the step after step h) or step h') comprises: n) for each point (P) targeted by the camera during steps a) and d) l ), a first transformation matrix obtained by updating with the final variables (X1-X6) of the coefficients determined for the first matrix and the final variable (Δα i , Δl i , Δθ i , Δr i ) to update the second transformation matrix to calculate (1024) the difference (v) between the coordinates of the point in the base coordinate system (BF) k1,k2,l ,ε k1,k2,l ), the difference (v k1,k2,l ,ε k1,k2,l ) is represented by the coordinates determined during steps b) and e) Function of o) calculating the total difference using a function (F, G) using as variables the difference calculated during step n); p) comparing said total value calculated during step o) with a threshold value (F0, G0); q) if said comparison during step p) shows that said total value (F, G) calculated during step o) is greater than said threshold value (F0, G0), step f) and the following steps are used again; r) if said comparison during step p) shows that said total value (F, G) calculated during step o) is below said threshold value (F0, G0), freezing (1026) said final variables (X1-X6, Δα i , Δl i , Δθ i , Δr i ) of the first transformation matrix and the second transformation matrix, the final variables (X1-X6, Δα i , Δl i , Δθ i , Δr i ) is determined to be used in the geometric model of the multi-axis robot.
5. The method according to any one of claims 1 to 3, wherein: The difference calculated during step f), step j) or step n) is expressed in the following form: in: -v k1,k2,l is the difference between the coordinates of the same point numbered l observed by the camera from the position k1 and the position k2; - is a vector representing the position of the point l as observed by the camera from the position k1; - is a vector representing the position of the point l as observed by the camera from the position k2; -T Caméra→PG is the first transformation matrix; - or is the second transformation matrix.
6. The method according to any one of claims 1 to 3, wherein: The total difference calculated during step g), step k) or step o) is the sum of the squares of the differences calculated during step f), step i) or step l) and is expressed in the following form: in, -v k1,k2,l is the difference between the coordinates of the same point numbered l observed by the camera from the position k1 and the position k2; - l is the ordinal number of one of the points aimed at by the camera during steps a) and d) and is included between 1 and L; - k1 is the serial number of the first position and is included between 1 and K; - k2 is the serial number of the second position and is between 1 and K, inclusive; - K is the number of positions at which the camera can aim at the point on the target to take a picture.
7. The method according to any one of claims 1 to 3, wherein: The first transformation matrix is expressed in the following form: wherein the quantity Xi is a variable determined by minimizing said total value calculated during step g), i is a natural number between 1 and 6, and For the case where i is a natural number between 1 and 3, the quantity Xi is related to the coordinate system (R Camera ) and the coordinate system (R) associated with the wrist (21) PG ) corresponds to the distance between the centers; For the case where i is a natural number between 4 and 6, the quantity Xi corresponds to an angle representing the orientation of the coordinate system of the camera in the coordinate system of the wrist.
8. The method according to any one of claims 1 to 3, wherein: The second matrix is expressed in the following form: in, quantity is for the kth point aimed at by the camera (30) during steps a) and d), on the axis A of the multi-axis robot (20) i The angle measured on Quantity α i , l i ,θ i and r i is for the axis A of the multi-axis robot i Improved Denavit-Hartenberg theory parameters; and Δα i , Δl i , Δθ i and Δr i are variables of said coefficients of said second transformation matrix determined by minimizing said total value calculated during step g).
9. The method according to any one of claims 1 to 3, wherein: The total difference (F, G) is minimized by the least squares method using the following method: In the case of the method according to claim 2, when determining the first transformation matrix (T Camera→PG ) of the coefficient variables (X1-X6), a system of six equations with six unknowns is solved, and the second transformation matrix (T PG→BF ) of the coefficient variable (Δα i , Δl i , Δθ i , Δr i ) to solve a system of twenty-four equations with twenty-four unknowns, or In the case of the method according to claim 3, when determining the coefficient variables (X1-X6, Δα) of the first transformation matrix and the second transformation matrix i , Δl i , Δθ i , Δr i ) is used to solve a system of thirty equations with thirty unknowns.
10. Use of a method according to any one of claims 1 to 3 for adjusting a geometric model of a coating material application robot (20) equipped with a print head (10) or an injector of coating material.
11. A robot (20) equipped with a tool (10), a camera (30) and an electronic control unit (24, 40) programmed to automatically implement the method according to any one of claims 1 to 3.
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
Simultaneous Kinematic and Hand-Eye Calibration
US20190015991A1