Method for adjusting geometrical model of multi-axis robot equipped with camera, application for robot applying coating product, and robot configured to implement such method

The method addresses the inaccuracy in calibrating multi-axis robots by determining transformation matrix coefficients based on multiple camera positions, effectively adapting the geometric model for precise positioning and error reduction in industrial applications.

JP2025090548APending Publication Date: 2025-06-17EXEL INDUSTRIES
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024210970
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-05
Filing Date
2024-12-04
Publication Date
2025-06-17

AI Technical Summary

Technical Problem

Existing methods for calibrating the geometric model of multi-axis robots equipped with cameras are inaccurate due to allowable errors in camera attachment and the complexity of calculating mapped features, especially in industrial environments where conditions deviate from theoretical models.

Method used

A method that adjusts the geometric model of a multi-axis robot by determining the coefficients of transformation matrices using a reliable approach that targets multiple points from different camera positions, minimizing overall difference values to accurately account for camera-wrist assembly and robot structure.

Benefits of technology

This method efficiently adapts the geometric model of the multi-axis robot, ensuring accurate positioning and reducing errors in coating applications by optimizing Denavit-Hartenberg parameters, without relying on complex calculations of mapped features.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025090548000001_ABST
    Figure 2025090548000001_ABST
Patent Text Reader

Abstract

To provide a method for adjusting a geometrical model of a multi-axis robot equipped with a camera.SOLUTION: A geometrical model of a multi-axis robot equipped with a camera comprises a first change matrix and a second change matrix. A method comprises: determining coordinates of at least two of L points of a target; then moving the camera; determining the coordinates of the same points; calculating, for each point aimed at, a difference between the coordinates in a base coordinate frame, the difference being expressed using the first and second change matrices; and determining coefficients of the first and second change matrices by minimizing the overall value.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for adjusting a geometric model of a multi-axis robot arranged indoors and equipped with a camera.

Background Art

[0002] In the field of coating products by a multi-axis robot equipped with an application member such as a print head, it is particularly important to accurately control the operation of the application member by taking into account the positioning of the application member with respect to the surface to be coated. For this purpose, it is known to provide a multi-axis robot with a camera capable of identifying the environment of the robot, and in particular a camera capable of identifying the surface to be coated on which the application member needs to be arranged opposite thereto.

[0003] So far, the position of the camera in the room, that is, the position and / or orientation of the coordinate frame coupled to the camera in the coordinate frame coupled to the room in which the robot is arranged, has been specified in a rather inaccurate manner.

[0004] In fact, when the geometric model of the robot is used based on the requirement that the connection between the camera and the wrist of the robot is known and firm, and the assumption that the axes of the multi-axis robot, which are generally six in number, are fully operational, the model used does not correspond to the physical entity of the robot equipped with the camera. This is because there is an allowable error in attaching the camera to the wrist of the robot, the position of the camera can change, and such a robot is not perfect.

[0005] A similar problem also occurs for a robot equipped with a camera and a tool that can be different from the member for applying the coating product.

[0006] In the field of surgical operations, from the specification of Chinese Patent Application Publication No. 115431278 (Patent Document 1), it is known to calibrate the tool center position (or "tool center point" (TCP)) of a coordinate frame coupled to a camera mounted on a multi-axis robot based on the requirement that the robot is complete. While such an approach may be conceivable in the case of a surgical robot, this approach cannot be transferred to industrial robots such as robots for applying products for operating coatings. The robot operates in an environment where it may be disturbed and may be fast, and the environment may not correspond to a theoretical model in terms of geometry, kinematics, and / or mechanics to such an extent.

[0007] Also, from the specification of Chinese Patent Application Publication No. 115533893 (Patent Document 2), it is also known to determine the TCP of a camera by touching the profile of a spherical shape with the tip of a robot. The implementation of such a method is complex and time-consuming.

[0008] On the other hand, European Patent Application Publication No. 1555508 (Patent Document 3) teaches a method using a measurement system by taking a photograph of an object while rotating a camera around the axis of its coordinate frame, whereby the measurement error can be reduced. This method is also complex and time-consuming.

[0009] Also, the specification of Chinese Patent Application Publication No. 115741720 (Patent Document 4) teaches calibrating the angular position of a sensor using calculations based on the Levenberg-Marquardt method. The calibration implemented thereby is limited to the optimization of the origin of the angular measurement of the sensor and makes the requirement that the robot used is complete.

[0010] In addition, U.S. Patent Application Publication No. 2019 / 015991 (Patent Document 5) relates to how to determine a cost function in a method for calibrating a vision device. This is based on the distance between the observed features and the mapped features, and in particular on the calculation of the mapped features. This calculation assumes a two-dimensional model. The inaccuracies in this calculation can cast doubt on the reliability of the calibration, and its application to three dimensions is complex.

Prior Art Documents

Patent Documents

[0011]

Patent Document 1

Patent Document 2

Patent Document 3

Patent Document 4

Patent Document 5

Summary of the Invention

[0012] The present invention addresses such drawbacks in particular by proposing a new method for adjusting the geometric model of a multi-axis robot that takes into account the reality of the assembly between a camera and the wrist of a robot and the reality of the structure of the multi-axis robot, and uses a reliable approach that does not rely on the calculation of mapped features.

[0013] For this purpose, the present invention is 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 for performing a transformation between a coordinate frame coupled to the camera and a coordinate frame coupled to the wrist of the robot, and a second matrix for performing a transformation between a coordinate frame coupled to the wrist of the robot and a basic coordinate frame coupled to the room, the method comprising: (a) targeting at least two points out of L target points of a target fixed in the basic coordinate frame, using a camera arranged at a first image capturing position in the room, where L is a natural number greater than or equal to 2; (b) determining the coordinates of each point referenced during step (a) in the coordinate frame of the camera at the first image capturing position; (c) moving the camera to a second image capturing position in the room different from the first image capturing position; (d) targeting the points of the fixed target that have already been targeted during step (a), using the camera arranged at the second image capturing position; (e) determining the coordinates of each point targeted during step (d) in the coordinate frame coupled to the camera at the second position, the method comprising at least the steps including: The camera is continuously moved to K positions, where K is a natural number greater than or equal to 2. The method further comprises: (f) calculating, for each point targeted by the camera during steps (a) and (d), the difference between the coordinates of that point in the basic coordinate frame, the difference being expressed in terms of the coordinates determined using the first transformation matrix and the second transformation matrix during steps (b) and (e); (g) calculating at least one overall difference value using a function having as a variable the difference calculated during step (f). In addition, the variables of the coefficients of the first transformation matrix and the variables of the coefficients of the second transformation matrix are determined by minimizing the overall value calculated during step (g). Finally, the product of the natural numbers L and 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.

[0014] According to the present invention, the determination of the variables of the coefficients of the first matrix and the determination of the variables of the coefficients of the second matrix lead to an efficient adaptation of the geometric model of the multi-axis robot, which also includes those related to the camera attached to the wrist of the robot. By calculating the variables of the coefficients of the first matrix and the second matrix, it becomes 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, particularly by optimizing the modified Denavit-Hartenberg parameters. Furthermore, on the one hand, the relationship between the natural numbers L and K, and on the other hand, the number of variables of the geometric model of the multi-axis robot, guarantee a sufficient number of equations for a satisfactorily efficient calculation. Since there is no need to perform the calculation of the mapped features, the accuracy of such a calculation of the mapped features does not cast doubt on the overall reliability of the method.

[0015] According to an advantageous but not essential aspect of the present invention, such a method can incorporate one or more of the following features, individually or in any technically possible combination.

[0016] A first overall difference value is calculated during step (g), and the method includes steps following step (g), and the steps following step (g) are (h) determining the variables of the coefficients of the first transformation matrix by minimizing the first overall value calculated during step (g); and (i) updating the first transformation matrix using coefficients that integrate the variables determined during step (h); and (j) A step of calculating the difference between the coordinates of the points targeted by the camera between steps (a) and (d) in the basic coordinate frame, wherein the difference is expressed in terms of the coordinates determined between steps (b) and (e) using the first transformation matrix updated during step (i), the step and (k) A step of calculating a second overall difference value using a function that uses the difference calculated during step (i) as a variable; and (l) A step of determining the variables of the coefficients of the second transformation matrix by minimizing the second overall value calculated during step (j); and (m) A step of updating the second transformation matrix using a coefficient that integrates the variables determined during step (i). It includes.

[0017] This method includes step (h') following step (g), and step (h') determines the variables of the coefficients of the first matrix by minimizing the single overall value calculated during step (g), and determines the variables of the coefficients of the second matrix.

[0018] This method has steps following step (h) or step (h'), and the steps following step (h) or step (h') are (n) A step of calculating the difference between the coordinates of the points targeted by the camera between steps (a) and (d) in the basic coordinate frame, wherein the difference is the first transformation matrix updated using the latest determined variable of the coefficient for the first matrix and the second transformation matrix updated using the latest determined variable of the coefficient for the second matrix, and is expressed as a function of the coordinates determined between steps (b) and (e), the step and (o) A step of calculating an overall difference value using a function that uses the difference calculated during step (n) as a variable; and (p) A step of comparing the overall value calculated during step (o) with a threshold value; and (q) If the comparison during step (p) indicates that the overall value calculated during step (o) exceeds the threshold value, the steps of using step (f) and the subsequent steps again, (r) If the comparison during step (p) indicates that the overall value calculated during step (o) is smaller than the threshold value, fixing the first transformation matrix and the second transformation matrix using the determined latest variables and using them in the geometric model of the multi-axis robot.

[0019] The difference calculated during step (f), (j), or (n) is expressed in the following form.

[0020] [Number]

[0021] In the above formula, v k1,k2,l is the difference between the coordinates of the same numbered points of l as seen from positions k1 and k2 by the camera, V k1,l Camera is a vector indicating the position of point l as seen from position k1 by the camera, V k2,l Camera is a vector indicating the position of point l as seen from position k2 by the camera, T Camera→PG is the first transformation matrix, T k1 PG→BF or T k2 PG→BF is the second transformation matrix.

[0022] The overall difference value calculated during step (g), (k), or (o) is the sum of the squares of the values of the differences calculated during step (f), (i), or (l), and is expressed as follows.

[0023] [Number]

[0024] In the above formula, v k1,k2,l is the difference between the coordinates of the same numbered points of l as seen from positions k1 and k2 by the camera, l is the serial number of one of the points targeted by the camera between 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 included between 1 and K, K is the number of positions at which the camera can target the target point.

[0025] The first transformation matrix is expressed in the following form.

[0026]

Number

[0027] In the above formula, quantity X i is a variable determined by minimizing the overall value calculated during step (g) for natural numbers i between 1 and 6, and for natural numbers i between 1 and 3, it corresponds to the distance between the center of the camera's coordinate frame and the center of the coordinate frame of the wrist part (21), for natural numbers i between 4 and 6, it corresponds to the angle indicating the orientation of the camera's coordinate frame in the coordinate frame of the wrist part.

[0028] The second matrix is expressed in the following form.

[0029]

Number

[0030] In the above formula, quantity Ji k is the angle measured on axis A of the multi-axis robot for the k-th point targeted by the camera between steps (a) and (d), i and the quantities α i l i θ i r i are the theoretical Denavit-Hartenberg parameters corrected for axis A of the multi-axis robot, i and the quantities Δα i Δl i Δθ i Δr i are the variables for the coefficients of the second transformation matrix determined by minimizing the overall value calculated during step (g).

[0031] Minimization of the overall difference value, in the case of the above method, when determining the variables of the coefficients of the first transformation matrix, uses solving a system of six equations with six unknowns, and when determining the variables of the coefficients of the second transformation matrix, uses solving a system of 24 equations with 24 unknowns, and is minimized by the least squares method, or, in the case of the other above method, when determining the variables of the coefficients of the first and second transformation matrices, uses solving a system of 30 equations with 30 unknowns and is performed by the least squares method.

[0032]

[0033] According to a second aspect, the invention relates to an application for adjusting the geometric model of a robot for coating a coating product provided with a print head or a coating product sprayer for the above method.

[0034] According to a third aspect, the invention relates to a robot comprising a tool, a camera, and an electronic control unit programmed to automatically execute the above method. The following description, given only by way of example and with reference to the accompanying drawings, will enable the present invention to be better understood and will reveal other advantageous features.

Brief Description of the Drawings

[0035]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Modes for Carrying Out the Invention

[0036] Figure 1 shows three targets C1, C2, and C3 that can be used to implement the method of the present invention using the multi-axis robot 20 shown in Figure 2 on three illustrations (A), (B), and (C).

[0037] The targets C1, C2, and C3 each contain a specific number of points of interest. For target C1, it contains points of interest P1 to P4, for target C2, it contains points of interest P1 to P8, and for target C3, it contains points of interest P1 to P7.

[0038] L refers to the number of points of interest of the target, and the number L is equal to 8 in the example of Figure 2. l refers to the order number of the point of interest P l of the target, and l is a natural number included between 1 and L.

[0039] The example of the target shown in Figure 1 is not limiting, and it has at least two points of interest Pl Any form of target can be assumed as long as it enables the location of l The point of interest P may be a corner or a spot of a geometric figure drawn on a two-dimensional plane as shown in FIGS. (A) and (B), or may be a corner of a three-dimensional structure as shown in FIG. (C) of FIG. 1. Generally, the point of interest P l is, in particular, a target point that can be distinguished by the camera because the point forms a contrast with its environment.

[0040] As a non-limiting example, FIG. 2 shows a method of using the target C2 using the multi-axis robot 20.

[0041] The multi-axis robot 20 includes an arm formed of sections joined together around six axes A1 to A6, and a wrist portion 21 that forms the distal end of the arm. According to a modification of the present invention (not shown), the wrist portion can be joined around a seventh axis with respect to the end of the arm of the multi-axis robot 20.

[0042] The print head 10 includes a body 12 having a nozzle 14 and is attached to the wrist portion 21. It is intended to apply a coating product such as paint or varnish to an object (not shown) such as the body of a motor vehicle.

[0043] The six axes A1 to A6 of the joints enable the deformation of the arm of the multi-axis robot 20, thereby making it possible to move the print head 10 to a predetermined position facing the surface of the object to be coated.

[0044] The camera 30 is attached to the wrist portion 21 and is fixed thereto by appropriate mechanical means such as screws or clip members. The attachment of the camera 30 to the wrist portion 21 must be strong enough to withstand the acceleration that the camera receives while the robot is moving.

[0045] Advantageously, the camera is a CCD camera or a laser camera using one or two cameras, binocular and / or profilometer type.

[0046] The problem arising with a multi-axis robot of the type shown in FIG. 2 is to know the position of the camera 30 in a fixed base coordinate frame BF coupled to the room LO in which the multi-axis robot 20 is located. In fact, correctly positioning the camera 30 within the room LO is necessary to accurately identify the position of the object targeted by the camera.

[0047] The position of the camera within 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 within the room LO.

[0048] The positioning of the camera relative to the wrist can be approximated in a first analysis by requiring that the camera be fixed at a theoretical position on the wrist corresponding to the assembly plan. The positioning of the wrist 21 within the room LO can be approximated in a first analysis by using a theoretical model of the geometric shape of the multi-axis robot 20, particularly based on the modified Denavit-Hartenberg parameters or DHM.

[0049] However, the above approximation leads to positioning errors, and if the print head is not correctly positioned and oriented relative to the surface to be coated, this error can result in defects in the application of the coating product by the print head 10.

[0050] The method of the present invention aims to reduce or even eliminate positioning errors. It is repeatedly performed until the value of a function indicating the positioning error between, for example, the points of interest P observed on a target such as target C2 l is reduced.

[0051] The method for adjusting the model of the present invention is executed within a computer 40, which is shown in the form of a computer in FIG. 2 and communicates with a controller 24 of a multi-axis robot 20 disposed within a base 22 of the robot. The computer 40 is programmed to automatically execute the method of the present invention. The controller 24 and the computer 40 together form an electronic control unit for the multi-axis robot 20. In one variant, the parts 24 and 40 of the control unit are a single physical entity and may be integrated into the base 22.

[0052] R camera refers to a coordinate frame coupled to the camera, and R PG refers to a coordinate frame coupled to the wrist 21.

[0053] The method of the present invention provides for recording the position of at least the point of interest P of the target C2 by bringing the camera to two different imaging positions within the room LO in which the multi-axis robot is located, i.e., two different positions with respect to a basic coordinate frame BF fixed with respect to the room LO. l of.

[0054] L refers to the number of points of interest P of the target C2 l and the number L is a natural number of 2 or more, preferably 3 or more.

[0055] The number of positions of the camera is denoted by k, where k is 1 or 2 and is used when locating the point of interest P l .

[0056] During the imaging, i.e., during the identification of the point of interest, the position is determined by the position at which the camera is located and the orientation of the camera. The position at which the image is taken may also be referred to as the imaging position or the target position.

[0057] For each imaging position k and each point of interest P l with respect to the coordinate frame R cameraThe coordinates of a point in are expressed in the form of a vector including the abscissa, ordinate, and height of the point in the coordinate frame. Vector V k,l Camera is expressed in the coordinate frame R of the camera camera for the position k, of the point of interest P l Note that it is to represent the coordinates of.

[0058] In one modification, the number of different image capture positions used is 3 or more.

[0059] For the remainder of this description, k1 and k2 are used to identify two different positions of the camera from among K positions where the camera can target the target point P l while being moved by the wrist. Here, K is a natural number of 2 or more, preferably 3 or more.

[0060] What is obtained by subtracting 6 from the product of the numbers L and K, that is, L×K - 6, is greater than or equal to the number of variables in the geometric model of the robot.

[0061] Therefore, the position of the point of interest P l in the coordinate frame of the camera can be expressed in the form of V k1,l Camera when the camera is at the first position k1, and can be expressed in the form of V k2,l Camera when the camera is at the second position k2.

[0062] The position of the point of interest P l can also be expressed in the following form in the coordinate frame R coupled to the wrist PG as follows.

[0063]

Number

[0064]

Number

[0065] In the above equation, T Camera→PG is the first matrix for converting from the coordinate frame R camera attached to the camera 30 to the coordinate frame R PG attached to the wrist part 21.

[0066] The first transformation matrix can be expressed in the following form.

[0067]

Equation

[0068] In the above equation, the 16 coefficients of the first transformation matrix T Camera→PG are expressed as functions of the variables X1 to X6.

[0069] The variables X1, X2, and X3 correspond to the translation of the center of the coordinate frame R PG attached to the camera with respect to the center of the coordinate frame R camera attached to the wrist part 21. On the other hand, the variables X4, X5, and X6 correspond to the rotation angles of the axes of the two coordinate frames with respect to each other. In the case of the matrix shown in Equation 7, they are the roll-pitch-yaw convention angles. Other angle representations may be used.

[0070] The position of the point of interest P l is not known in the basic coordinate frame BF, but for each image capture position k, by applying the second transformation matrix for converting from the coordinate frame of the wrist part to the basic coordinate frame with respect to that position, it can be expressed in the basic coordinate frame BF as a function of its position in the coordinate frame R PG attached to the wrist part 21.

[0071] T PG→BF or T k PG→BF refers to that second transformation matrix. The same is determined for each image capture position k of the camera and thus of the wrist part 21.

[0072] In practice, the position of the coordinate frame of the wrist in the basic coordinate frame depends on the image capture position where the camera 30 is arranged. That is, when the camera is at the image capture position k, the coordinate frame attached to the wrist can be expressed in the form of R PG,k BF and can be expressed in the form of.

[0073] Therefore, for each image capture position k, there exists a transformation matrix for converting the coordinate frame B PG,k BF attached to the wrist to the basic coordinate frame BF. This transformation matrix is denoted as T k1 PG→BF for the first image capture position and is denoted as T k2 PG→BF for the second image capture position.

[0074] Thereby, as shown in FIG. 3, the position of the point of interest P l identified in the coordinate frame of the camera is expressed in the coordinate frame of the wrist using the first transformation matrix T Camera→PG and, for each position k1 and k2, is expressed in the basic coordinate frame BF using the second transformation matrix T k PG→BF Here, k is equal to k1 or k2.

[0075] Advantageously, the second transformation matrix T k PG→BF is expressed using the modified Denavit-Hartenberg parameters, also known as DHM, and the associated corrections. The second transformation matrix T k PG→BF acts to model the robot from its base 22 to its wrist 21.

[0076] The modified Denavit-Hartenberg parameters are known per se. The same are sometimes also referred to as Khalil Kleinfinger parameters.

[0077] For example, the modified Denavit-Hartenberg parameters can be expressed as follows for each rotation axis A of the multi-axis robot 20 i as follows. α i : The theoretical angle between axis A i-1 and axis A i-1 obtained by rotation about the X-axis of the coordinate frame associated with axis A i-1 i . l i : The theoretical distance between axis A i-1 and axis A i-1 i obtained along the X-axis. θ i : The theoretical angle between axis X i and axis X i-1 i obtained by rotation about axis A r i : The theoretical distance between axis X i and axis X i-1 i obtained along axis A.

[0078] The following differences are also defined. Δα i : The change in the angle α i . Δl i : The change in the distance l i . Δθ i : The change in the angle θ i . Δr i : The change in the distance r i .

[0079] Under such conditions, the second transformation matrix that acts to convert from the point of the coordinate frame R PG attached to the wrist to the point of the basic coordinate frame can be expressed in the following form. [Number]

[0080] ​​​​This expression is valid for each image capture position k, where k is equal to k1 or k2. j i k j indicates the value of the rotation angle of two parts of the multi-axis robot joined at the axis A when the multi-axis robot 20 is at the image capture position k. i

[0081] The coefficient PG of the second transformation matrix S,W k where s and w are natural numbers included between 1 and 4. The coefficient PG S,W k can be expressed as follows. PG S,W k : For s belonging to the set {1, 2, 3} and w belonging to the set {1, 2, 3}, a rotation matrix. PG S,4 k : For s belonging to the set {1, 2, 3}, a translation matrix. PG 4,W k : Equal to 0 for w belonging to the set {1, 2, 3}. PG S,W k : Equal to 1.

[0082] The modified Denavit-Hartenberg parameters α i , l i , θ i , and r i are the theoretical values of the robot. On the other hand, the quantities Δα i , Δl i , Δθ i , and Δr i are the changes with respect to the coefficient PG of the second transformation matrix T k PG→BF . S,W k

[0083] The geometric model of the multi-axis robot 20 equipped with the camera 30 is shown by Mod.

[0084] As can be seen in FIG. 4, the method of fitting the geometric model Mod includes an initial initialization step 1000, in which the computer 40 is started.

[0085] During step 1002, the geometric model Mod is defined as the initial first model Mod0 by the initial first transformation matrix T0 Camera→PG and by the initial second transformation matrix T0 PG→BF

[0086] The initial first transformation matrix T0 Camera→PG can be constructed by calculation from the theoretical position of the camera 30 with respect to the wrist portion 21. The initial second transformation matrix T0 PG→BF can be constructed from the theoretical geometric model of the multi-axis robot 20.

[0087] The initial model Mod0 is used during steps 1004 and 1012 defined below in the first part of the method.

[0088] In the subsequent step 1004, the robot is brought to the first imaging position k1, where the camera 30 marks the point of interest P l as the target and in the frame R camera coupled to the camera. In step 1004, the coordinates of each point P l are expressed in the form of V camera in the frame R k1,l Camera

[0089] Thereafter, in step 1005, the camera 30 is moved to the second imaging position.

[0090] When the camera is at the second imaging position k2, during step 1006 following step 1005, each point of interest P l is targeted and thus identified by the camera, and its coordinates are in the form of V camera in the frame R k2,l Camera ​​It is expressed in the form of.

[0091] In practice, each point P l maintains the same position regardless of whether it is located by the camera from its image capture position k1 or whether it is located by the camera from its image capture position k2.

[0092] Thus, the position of each point of interest P in the basic coordinate frame BF l is not known, but it is known that it is independent of the way its position is observed by the camera.

[0093] For each point of interest P l the difference between their positions, expressed in the basic coordinate frame BF, based on the identification performed at the first image capture position k1 and the identification performed at the second image capture position k2, is defined as v k1,k2,l and is in the following form.

[0094]

Equation

[0095] v k1,k2,l is the difference in the coordinates of the point of interest P expressed in the basic coordinate frame BF l and the coordinates of the point of interest P l are expressed from its coordinates in the coordinate frame R attached to the camera, detected by the camera 30 from the first image capture position k1 and the second image capture position k2. camera

[0096] Such a difference is calculated by the computer 40 for each point of interest P l during step 1008 of the method following steps 1006 and 1008.

[0097] Theoretically, since the points of interest are fixed within the basic coordinate frame BF, such a difference should be equal to zero.​

[0098] In practice, if the difference is not zero, the initial first transformation matrix T0 Camera→PG It can be assumed that the coefficients of do not exactly represent the true position of the camera 30 relative to the wrist 21. This is due, among other things, to manufacturing tolerances of the components and adjustments made when the parts are mounted on top of each other.

[0099] In a subsequent step 1010, an error function F is defined as the sum of the squares of the differences determined during step 1008, in the following form:

[0100]

number

[0101] The error function F is calculated based on the two image capture positions of the focal point P l The total difference between the coordinates of

[0102] During step 1012, also performed by computer 40, the function F is calculated based on the first transformation matrix T Camera→PG It is minimized by manipulating the variables X1 to X6.

[0103] The optimization is performed by solving, for example by the least squares method, a system of six non-linear equations having six unknowns, namely X1 to X6.

[0104] In one variant, solving the system of nonlinear equations is performed using the Levenberg-Marquardt method or other methods.

[0105] In the next step 1014, the first transformation matrix T0 Camera→PG is the optimized version of the first transformation matrix T opt(X1-X6) Camera→PG The optimized version of the first transformation matrix T opt(X1-X6)Camera→PG is the initial first transformation matrix T0 Camera→PG Instead, variables X1 to X6 integrated into the model Mod are integrated.

[0106] In other words, the calculation performed by the computer 40 starting from step 1014 takes into account the optimized version of the first transformation matrix, i.e., T opt(X1-X6) Camera→PG into consideration.

[0107] In the subsequent step 1016, the second difference ε k1,k2,l is calculated in the following form between the coordinates of the point of interest P l .

[0108]

Equation

[0109] Theoretically, this difference should also be 0.

[0110] In practice, if this difference is not 0 and is greater than the repeatability accuracy of the robot, it can be assumed that the initial second transformation matrix T0 PG→BF does not accurately represent the structure and operation of the multi-axis robot 20. This is especially due to its manufacturing tolerances and joint wear.

[0111] In the subsequent step 1018, the error function G is defined in the following form as the sum of the squares of the differences determined during step 1016.

[0112]

Equation

[0113] The value of the error function G is another overall value of the difference between the coordinates of the point of interest P l determined from two image capture positions.

[0114] Also during step 1020 performed by the computer 40, for each image capture position, the function G minimizes by operating on the variables Δα k PG→BF of the second transformation matrix T i , Δl i , Δθ i , and Δr i .

[0115] This optimization is performed by solving a system of 24 non - linear equations, for example, by the least - squares method. This system of equations has 24 unknowns, that is, four variables Δα i for each axis A i , Δl i , Δθ i , and Δr i , where i is a natural number between 1 and 6.

[0116] When K, which is the number of positions where the camera is continuously brought in, is 3 or more, steps 1005, 1006 and the step of determining the coordinates of each point in the frame R Camera attached to the camera are repeated as many times as necessary. Here, the number k can take a value of 3, 4, 5, or a larger value.

[0117] In a variant, solving the system of non - linear equations is performed using the Levenberg - Marquardt method or other methods.

[0118] Solving the system of 24 equations with 24 unknowns results in a second optimized transformation matrix T opt(Δαi、Δli、Δθi、Δri) PG→BF .

[0119] In the subsequent step 1022, an optimized version T opt(Δαi、Δli、Δθi、Δri) PG→BF of the second transformation matrix, whose coefficients incorporate the variables Δα i , Δl i , Δθ i , and Δr i determined during step 1020.opt(Δαi、Δli、Δθi、Δri) PG→BF is the initial first matrix T0 PG→BF is instead integrated into the model Mod.

[0120] The method of the present invention includes step 1024, which is performed after steps 1014 and 1022. Step 1024 uses the model Mod that integrates the optimized first and second matrices, that is, the latest variables X1 to X6, Δα i , Δl i , Δθ i , and Δr i to calculate the difference v k1,k2,l , ε k1,k2,l using the model Mod updated with. Step 1024 also includes calculating the overall difference value from the error functions F and G, and comparing the overall difference value using two threshold values F0 and G0.

[0121] If the overall difference values of the functions F and G are less than or equal to the threshold values F0 and G0, the model Mod is considered to be correctly adjusted, and based on the first and second transformation matrices determined in the latest performed steps 1014 and 1022, in step 1026, a new geometric model of the multi-axis robot 20 equipped with the camera 30 is determined and fixed (frozen).

[0122] Otherwise, the subsequent steps 1008 and subsequent steps are performed again based on the first and second transformation matrices that have already been partially optimized and determined in the latest performed steps 1014 and 1022.

[0123] Steps 1008 to 1024 are then repeated iteratively until values of the error functions F and G smaller than the threshold values F0 and G0 are obtained.

[0124] In the second embodiment of the present invention shown in FIG. 5, elements analogous to the elements of the first embodiment have the same reference numerals and are not described in detail.

[0125] Steps 1000 to 1008 of the second method are the same as steps 1000 to 1008 of the first method.

[0126] The method of the second embodiment is different from the method of the first embodiment in that the first transformation matrix is not optimized only by finding the minimum value of the function F being considered. Steps 1016 and 1018 follow immediately after step 1012.

[0127] The error functions F and G are calculated in the form of a single overall value that is minimized in the same step 1021. Step 1021 involves solving a system of 30 non - linear equations having 30 unknowns, namely, the variables X1 to X6 and the variables Δα i , Δl i , Δθ i , and Δr i for natural numbers i between 1 and 6.

[0128] For steps 1014 and 1020 of the first method in FIG. 4, solving the system of equations can be performed by the least - squares method, the Levenberg - Marquardt method, or other methods.

[0129] Thereafter, step 1023 corresponding to the combination of steps 1014 and 1022 of the method in FIG. 4 is performed before step 1024 of comparison having the same operation as the first method is performed.

[0130] When the values of the two functions F and G are below two threshold values F0 and G0, the model is considered to be adjusted, and based on the first and second transformation matrices determined in the latest performed steps 1014 and 1022, in step 1026, a new geometric model of the multi - axis robot 20 equipped with the camera 30 is determined and fixed.

[0131] In the case of the opposite, steps 1008 and subsequent steps are performed again based on the first and second transformation matrices that have already been partially optimized and defined in the latest performed step 1023.

[0132] This method can be implemented under the condition that at least two points of interest P l are targeted and specified between steps 1004 to 1006. In other words, the number of points of interest used is two or more. It is not necessarily equal to the number of target points of interest.

[0133] When more than two image capture positions are used to determine the positions of the points of interest, the definitions of the differences and errors are adapted.

[0134] In a variant, at least one of the error functions F and G is configured without using the square of the individual differences v k1,k2,l or ε k1,k2,l . The above functions may be equal to, for example, the sum of the absolute values of the differences, or may be equal to other values calculated from the differences.

[0135] (not shown) In a variant of the present invention, the multi-axis robot 20 may be, for example, pneumatic or rotary, and may be electrostatic, and may be provided with a coating member other than a print head, such as a product sprayer for coating.

[0136] According to another variant, the multi-axis robot 20 may be provided with a tool other than a member for applying a coating product, such as a machining tool, a welding tool, or a gripping tool.

[0137] Any feature described above for one embodiment or variant may be implemented for the other embodiments or variants described above as long as it is technically possible.

Claims

1. A method for adjusting a geometric model of a multi-axis robot (20) placed in a room (LO) and equipped with a camera (30), the model being adjusted in a coordinate frame (R) coupled to said camera. camera ) and a coordinate frame (R PG ) for converting between Camera→PG ) and a second matrix (T PG→BF ) , the method comprising: (a) Using the camera arranged at a first image capture position (k1) in the room, at least two points (P l ), where L is a natural number equal to or greater than 2; (b) the coordinate frame (R) coupled to the camera (30) at the first image capture position (K1); camera ) the coordinates of each point referenced during step (a) (V k1,l Camera ) (c) moving (1005) the camera to a second image capture position (k2) in the room different from the first image capture position (k1); (d) using the camera located at the second image capture position (k2) to capture the point (P l ) as a target (1006); (e) the coordinate frame (R camera ) the coordinates of each point referred to during step (d) (V k2,l Camera ) determining a time period from the first time point to the second time point, The camera is moved successively to K positions, where K is a natural number equal to or greater than 2; The method further comprises: (f) for each point targeted by the camera during steps (a) and (d), calculating the difference (v k1,k2,l ) (1008), wherein the difference (v k1,k2,l ) during steps (b) and (e), the first transformation matrix (T Camera→PG ) and the second transformation matrix (T PG→BF ) as a function of the coordinates determined using the step (1008); (g) calculating at least one overall difference value (1010, 1018) by a function (F, G) having as variables the difference calculated during step (f), The first transformation matrix (T Camera→PG ) coefficient variable (X 1 -X 6 ) and the second transformation matrix (T PG→BF ) coefficient variable (Δα i , Δl i , Δθ i , Δr i ) is determined by a step (1012, 1018, 1021) of minimizing said overall value calculated during step (g), and wherein the product of the natural numbers L and K minus six (L×K−6) is greater than or equal to the number of variables of the geometric model of the multi-axis robot (20).

2. A first overall difference value (F) is calculated during step (g), and the method includes a step subsequent to step (g), the step subsequent to step (g) comprising: (h) calculating the first transformation matrix (T Camera→PG The variables (X 1 -X 6 ) (1012); (i) the variable (X 1 -X 6 ) is integrated into the first transformation matrix (T Camera→PG ) (1014); (j) For each point (P L ), the difference (ε k1,k2,l ) (1016), wherein the difference (ε k1,k2,l (1016), where the first transformation matrix is ​​expressed in terms of the coordinates determined during steps (b) and (e) using the first transformation matrix updated during step (i); (k) calculating (1018) a second global difference value using a function (G) that uses as variables the differences calculated during step (i); (l) deriving the second transformation matrix (T PG→BF The variables (Δα i , Δl i , Δθ i , Δr i ) (1020); (m) the variable (Δα i , Δl i , Δθ i , Δr i ) is integrated into the second transformation matrix (T PG→BF and updating (1022) .

3. The method includes a step subsequent to step (g), the step subsequent to step (g) comprising: (h′) the variance (X 1 -X 6 ) and the variables (Δα i , Δl i , Δθ i , Δr i 2. The method of claim 1, further comprising the step of: determining (1021) the first and second eigenvalues ​​of the first and second eigenvalues.

4. The method comprises a step subsequent to step (h) or step (h′), the step subsequent to step (h) or step (h′) comprising: (n) For each point (P l ), the difference (v k1,k2,l , ε k1,k2,l ) (1024), wherein the difference (v k1,k2,l , ε k1,k2,l ) is the variable (X 1 -X 6 ) to update the first transformation matrix (T opt(X1-X6) Camera ) and the variables (α i , l i , θ i , r i ) to update the second transformation matrix (T opt(Δαi、Δli、Δθi、Δri) PG→BF ) and the coordinates (V k1,l Camera , V k2,l Camera ) as a function of (o) calculating a global difference value using a function (F, G) that uses as variables the differences calculated during step (n); (p) comparing said overall value calculated during step (o) with thresholds (F0, G0); (q) if the comparison during step (p) indicates that the overall value (F,G) calculated during step (o) exceeds the threshold value (F0,G0), then reapplying step (f) and the steps that follow; (r) if the comparison during step (p) indicates that the total value (F, G) calculated during step (o) is less than the threshold value (F0, G0), then the first transformation matrix and the second transformation matrix are transformed to the latest determined variables (X 1 -X 6 , Δα i , Δl i , Δθ i , Δr i 4. The method according to claim 2, further comprising a step (1026) of fixing the multi-axis robot using the axial alignment means (1026) and using them in the geometric model of the multi-axis robot.

5. The difference calculated during step (f), (j), or (n) is [0010] It is expressed in the form v k1,k2,l is the difference between the coordinates of the same point numbered l seen by the camera from the positions k1 and k2, V k1,l Camera is a vector indicating the position of the point l as seen by the camera from the position k1, V k2,l Camera is a vector indicating the position of the point l as seen by the camera from the position k2, T Camera→PG is the first transformation matrix, T k1 PG→BF Or T k2 PG→BF The method according to claim 1 , characterized in that: ∇x∇x is the second transformation matrix.

6. the overall difference value calculated during step (g), (k), or (o) is the sum of the squares of the difference values ​​calculated during step (f), (i), or (l); and [0025] It is expressed in the form v k1,k2,l is the difference between the coordinates of the same point numbered l seen by the camera from the positions k1 and k2, l is a sequential number of one of the points targeted by the camera during steps (a) and (d), ranging from 1 to L; k1 is a sequence number of the first location, inclusively ranging from 1 to K; k2 is a sequence number of the second location, inclusively between 1 and K; 4. The method according to claim 1, wherein K is the number of positions at which the camera can target the point of the target.

7. The first transformation matrix is [0030] It is expressed in the form Amount i are variables determined by minimizing the overall value calculated during step (g), for i, a natural number between 1 and 6; and For i, a natural number between 1 and 3, the coordinate frame (R camera ) and the coordinate frame (R PG ), and 4. The method according to claim 1, wherein for i being a natural number between 4 and 6, it corresponds to an angle indicating an orientation of the coordinate frame of the camera in the coordinate frame of the wrist.

8. The second matrix is [0045] It is expressed in the form Quantity J i k is the axis A of the multi-axis robot (20) for the kth point targeted by the camera (30) during steps (a) and (d). i is the angle measured above, Quantity α i , l i , θ i , and r i is the axis A of the multi-axis robot i is the theoretical Denavit-Hardenberg parameter, corrected for Amount Δα i , Δl i , Δθ i , and Δr i 4. The method according to claim 1, wherein x is a variance for the coefficients of the second transformation matrix determined by minimizing the overall value calculated during step (g).

9. The total difference value (F, G) is In the case of the method of claim 2, the first transformation matrix (T Camera→PG The variables (X 1 -X 6 ) is determined by solving a system of six equations with six unknowns, and the second transformation matrix (T PG→BF The variables (Δα i , Δl i , Δθ i , Δr i ), is minimized by the least squares method using a system of 24 equations with 24 unknowns, or In the case of the method of claim 3, the variables (X 1 -X 6 , Δα i , Δl i , Δθ i , Δr i 4. The method according to claim 1, wherein, when determining , the θ is minimized by the least squares method by solving a system of 30 equations with 30 unknowns.

10. Use of the method according to one of claims 1 to 3 for adjusting a geometric model of a printhead (10) or a coating material application robot (20) equipped with a coating material sprayer.

11. A robot (20) comprising a tool (10), a camera (30) and an electronic control unit (24, 40) programmed to automatically carry out the method according to 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

  • Measuring system

    EP1555508A1

  • Simultaneous Kinematic and Hand-Eye Calibration

    US20190015991A1