Method for calibrating a multi-axis robot equipped with a camera and a print head and robot configured for implementing such a method
The method addresses the complexity of calibrating multi-axis robots with cameras and print heads by determining the oriented position of the print head's reference frame in the wrist reference frame, achieving precise positioning and accurate coating application.
Patent Information
- Application Number
- FR2023013581
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-05
- Publication Date
- 2025-06-06
AI Technical Summary
Current calibration methods for multi-axis robots equipped with a camera and a print head are complex and do not allow for efficient, precise, and label-free implementation of the print head positioning.
A method that determines the oriented position of the print head's reference frame in the wrist reference frame using a transition matrix defined by six parameters, achieved through a series of steps involving camera aiming, mathematical surface representation, print head positioning, impact printing, and parameter optimization.
This method enables precise relative positioning of the print head to a fixed surface, ensuring accurate coating application by determining the correct position and orientation of the print head in the robot's reference frame.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for calibrating a multi-axis robot equipped with a camera and a print head and robot configured for implementing such a method
[0001] The present invention relates to a method for calibrating a multi-axis robot associated with a base reference and equipped with a camera and a print head.
[0002] In the field of applying a coating product by means of a multi-axis robot equipped with a print head, it is important to be able to control the operation of this print head precisely, in particular by taking into account the positioning of this print head relative to a surface to be coated. To do this, it is known to equip a multi-axis robot with a camera which makes it possible to locate the robot's environment, in particular a surface to be coated opposite which the print head must be positioned.
[0003] To date, the operation of a multi-axis robot equipped with a print head is based on the postulate that the position and orientation of an orthogonal reference frame linked to the print head is known relative to a reference frame linked to the wrist of the robot and to a fixed base reference frame, linked to a room in which the multi-axis robot is arranged. However, the exact position of this reference frame linked to the print head depends in particular on the way and the precision with which the print head is mounted on a wrist of the robot.
[0004] It is known from FR3061076A1 to calibrate the position of a print head mounted on a robot, before each cycle of implementation of this print head, by carrying out an automatic verification of an effective position of a print point relative to a reference point of the print head then, if necessary, a correction of a difference between a print point and a corresponding reference point. This method is relatively complex to implement and the teaching of this document does not allow the calibration to be optimized.
[0005] On the other hand, DE 102016204123Al discloses a marking method using labels in which fine positioning of a print head is used, without it being explained how such fine positioning can be achieved.
[0006] There is therefore a need for an efficient calibration method for a multi-axis robot equipped with a camera and a print head, such a method having to allow easy and precise implementation of the print head, without being too complex or requiring the use of labels.
[0007] To this end, the invention relates to a method for calibrating a multi-axis robot associated with a base reference and equipped with a camera and a print head comprising at least a first nozzle, the camera and the print head being mounted on a wrist of the multi-axis robot. According to the invention, this method consists of determining an oriented position of a reference frame linked to the print head in a reference frame linked to the wrist, the oriented position of the reference frame linked to the print head being defined by six parameters of a transition matrix between the reference frame linked to the print head and the reference frame linked to the wrist. The method comprises at least the following steps consisting of: a. aim the camera at least at one point on a fixed surface in the fixed frame; b. determine, from the result of step a), a mathematical surface representing representative of the fixed surface; c. bringing the print head into a first position relative to the fixed surface, in which the print head is oriented toward the fixed surface; d. when the print head is in the first position, printing, on the fixed surface and by means of the first nozzle, at least one first impact; e. measure using the camera the coordinates, in the base frame, of a first characteristic point of the first impact; f. bringing the print head into at least one second position relative to the fixed surface, different from the first position and in which the print head is oriented towards the fixed surface; g. when the print head is in the second position, printing, on the fixed surface and by means of the first nozzle, at least one second impact; h. measure, using the camera, the coordinates, in the base frame, of a second point characteristic of the second impact; i. express, in the base frame BF and with the passage matrix, the coordinates of a first point of intersection between the mathematical surface representative of the fixed surface and a line passing through the first nozzle in the first position; j. express, in the base frame BF and with the passage matrix, the coordinates of a second point of intersection between the mathematical surface representative of the fixed surface and the line passing through the first nozzle in the second position; k. express, for each position of the print head and each impact, a deviation based on the coordinates of its characteristic point and the coordinates of its point of intersection; 1. construct an objective function whose variables are the deviations expressed in step k); m. determine values of the six parameters of the passage matrix which minimize the objective function; n. use the six parameters determined in step m) to define the oriented position of the print head-related marker in the wrist-related marker.
[0008] The steps of the method of the invention make it possible to define the oriented position of a reference frame linked to the print head in the reference frame linked to the wrist, which allows correct positioning of the print head in space. In other words, the invention makes it possible to know the position and orientation of the print head in a reference frame linked to the wrist of the robot, while the model of the robot makes it possible to know the position of the wrist in a basic reference frame, linked to the room in which the robot is installed. The method of the invention therefore allows precise relative positioning between the print head and a fixed surface, to be coated by this print head.
[0009] According to advantageous but not mandatory aspects of the invention, such a method may incorporate one or more of the following features taken in any technically admissible combinations: - in step d) a third impact is printed on the fixed surface using the second nozzle; - during step e) the coordinates, in the base frame, of a third point characteristic of the third impact are measured using the camera; - during step g), a fourth impact is printed on the fixed surface using the second nozzle; - during step h), the coordinates, in the base frame, of a fourth point characteristic of the fourth impact are measured using the camera; - during step i) the coordinates of a third point of intersection between the mathematical surface representative of the fixed surface and a line passing through the second nozzle in the first position are expressed in the base frame and with the passage matrix; - during step j), we express, in the base frame and with the passage matrix, the coordinates of a fourth point of intersection between the mathematical surface representative of the fixed surface and the line passing through the second nozzle in the second position.
[0010] - An axis of the reference frame linked to the print head is parallel to the ejection directions of the two nozzles of the print head, while the two nozzles are arranged on either side and at an equal distance from a reference nozzle of the print head through which the axis of the reference mark linked to the print head passes.
[0011] - The six parameters of the passage matrix are broken down into three parameters of translation and three rotation parameters and step m) includes sub-steps consisting of:
[0012] ml) determine the three rotation parameters by minimizing the objective function constructed in step 1)
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024] m2) expressing, for each position of the print head and each nozzle, another deviation based on the coordinates of its characteristic point and the coordinates of its point of intersection, the other deviation being different from that expressed in step k); m3) construct another objective function, whose variables are the deviations expressed in sub-step m2); m4) determine the three translation parameters, by minimizing the objective function constructed in step m3) - The other gap is expressed in the form or in the form = 1 * ( + / g ) . 1 x {pFF + p® Or ak is the other deviation expressed in sub-step m2) for position k J^F are the coordinates, in the base frame, of the point of intersection of the nozzle of row j for position k are the coordinates, in the base frame, of the characteristic point of the impact printed with the nozzle of rank j for position k pTCP-^PG is |the matrix for passing the mark linked to the print head to wrist-related marker; 0' 0 0 1. is the expression of the origin point of the reference linked to the print head in the marker linked to the print head. - The method comprises a step of correcting the origin point of the marker linked to the print head, implemented between steps m) and n) and consisting of: pl) placing the print head opposite the fixed surface and perpendicular to the fixed surface, in a position where the point of origin of the reference frame linked to the print head is in the mathematical surface representative of the fixed surface (S); p2) measure a distance between the print head and the fixed surface; p3) correct the translation parameters by applying a translation along the height axis of the reference mark linked to the print head, so that the distance measured in step p2) is equal to a predetermined distance - Steps c) and d) are implemented before step e) and steps f) and g) are implemented before step h).
[0025] - The first and second positions are selected arbitrarily.
[0026] - The or each objective function is the sum of the squares of the deviations expressed at step k) and, possibly, step m2).
[0027] - The determination of the values of the six parameters in step m) is carried out by re solution of a non-linear system of equations by means of partial derivatives, from a close position, according to the least squares method, Newton's method, the gradient method, the Levenberg-Marquardt method, the Newton-Raphson method, the secant method, a dichotomy method, an iterative method or by means of a discretization of the domain of the six parameters around the close position and the evaluation of the objective function.
[0028] - During step i) and / or j), the expression of the coordinates of the intersection points is obtained by the expression of the intersection between the mathematical surface representative of the fixed surface and a ballistic line coming from the corresponding nozzle.
[0029] According to another aspect, the invention relates to a multi-axis robot associated with a base reference and equipped with a camera and a print head, the print head comprising at least a first nozzle, the camera and the print head being mounted on a wrist of the multi-axis robot. According to the invention, this robot comprises an electronic control unit configured to implement a calibration method as described previously.
[0030] This robot induces the same advantages as the method of the invention.
[0031] The invention will be better understood and other advantages thereof will appear more clearly in the light of the following description of an embodiment of a calibration method and of a multi-axis robot in accordance with its principle, given solely by way of example and with reference to the appended drawings in which:
[0032] [Fig-1] [Fig. 1] is a schematic representation of the principle of a multi-axis robot according to the invention in use with the method of the invention;
[0033] [Fig.2] [Fig.2] is a schematic representation of a print head of the robot of [Fig.l] and geometric references associated with the operation of this robot;
[0034] [Fig.3] [Fig.3] is a schematic representation of a fixed plate used in the method of the invention, during a step of this method;
[0035] [Fig.4] [Fig.4] is a schematic representation of the same plate during another stage of the invention; and
[0036] [Fig.5] [Fig.5] is a block diagram of the method of the invention.
[0037] The multi-axis robot 20 shown in [Fig.l] comprises an arm formed of sections articulated together around six axes Ai to A6, as well as a wrist 21 which forms the distal end of this arm. According to a variant of the invention not shown, the wrist can be articulated relative to the end of the arm of the multi-axis robot 20, around a seventh axis.
[0038] A print head 10 comprises a rigid body 12 equipped with a nozzle 14. This print head 10 is mounted on the wrist 21. It is intended to apply a coating product, such as a paint or a varnish, to objects not shown, for example motor vehicle bodies.
[0039] A camera 30 is mounted on the wrist 21 by being fixed thereto by suitable mechanical means, for example screws or clipping members. The fixing of the camera 30 on the wrist 21 is sufficiently strong to withstand the accelerations undergone by the camera during movement by the robot.
[0040] Advantageously, the camera is a CCD type or laser type camera with one or two cameras (binocular and / or profilometer type).
[0041] We consider a fixed base frame BF, which is linked to a room LO in which the multi-axis robot 20 is arranged.
[0042] We consider a PG reference frame linked to the wrist 21. A model of the robot makes it possible to move from the PG reference frame to the BF reference frame, and vice versa. This model is considered to be known. As a non-limiting example, it may be the “Denavit-Hartenberg” model, or the “Modified Denavit-Hartenberg” model, also called the “Khalil Kleinfinger” model, or the PoE (Product of Exponential) model.
[0043] We consider a TCP reference frame linked to the print head 10 and which is arranged, in a longitudinal direction LD of the body 12, opposite a reference nozzle. This oriented reference frame is sometimes called “Tool Center Point” in English. The abscissa axis x of the TCP reference frame is parallel to the longitudinal direction LD and we denote OTCp its point of origin, which is the center of the TCP reference frame.
[0044] In the example, the print head 10 comprises thirty-two nozzles distributed on either side of a median plane P12 of the body 12 which contains axes y and z of the TCP reference frame and to which the x axis of this reference frame is perpendicular. The median plane P12 is located midway, along the abscissa axis and the longitudinal direction LD, between longitudinal ends 122 and 124 of the body 12.
[0045] We denote by j the rank of a nozzle 14 on the row of nozzles 14, with j a natural integer between 1 and 32. We denote by Bj a nozzle of rank j.
[0046] The abscissa axis of the TCP reference frame is oriented from nozzle B32 towards nozzle Bl.
[0047] In the example of the figures, the reference nozzle is nozzle B16. The point of origin OTCp is therefore located opposite nozzle B16.
[0048] The height axis z of the TCP reference frame passes through the reference nozzle B16 and is oriented away from the body 12.
[0049] Alternatively, the reference nozzle is another nozzle of the row of nozzles 14, the point of origin OTcp then being located opposite this other nozzle and the height axis z then passing through this other nozzle, being oriented away from this other nozzle.
[0050] The origin point Opcpest is located at a height h0, measured parallel to the z axis, at from the outlet of the nearest nozzle 14. The height h0 is set to a value between 2 and 30mm, preferably equal to 10mm.
[0051] By convention, the height axis z of the TCP reference frame is parallel to the ejection direction of the nozzles 14 and oriented in the ejection direction. The height axis z is aligned with the ejection direction of the reference nozzle, here the nozzle B16.
[0052] The y-axis of the TCP coordinate system is perpendicular to the x and z axes.
[0053] The calibration method of the invention consists of determining an oriented position from the TCP marker linked to the print head into the PG marker linked to the wrist 21.
[0054] This method is implemented in a calculator 40 which is shown in [Fig.l] in the form of a computer and which communicates with a controller 24 arranged in a base 22 of the robot 20. The calculator 40 is programmed to automatically implement the method of the invention. The controller 24 and the calculator 40 together form an electronic control unit for the multi-axis robot 20.
[0055] Alternatively, parts 24 and 40 of this control unit are formed from a single physical entity, which can be integrated into the base 22.
[0056] We consider a physical surface S carried by a plate 50, arranged in a fixed manner near the robot 20, in the room LO, in an area accessible to the print head 10. The robot 20 is capable of projecting paint droplets onto the surface S. The fixed surface S is the surface of a plate 50 which serves as a support for the printed droplets of coating products.
[0057] The method of the invention begins with a start-up step 100 during which the controller 24 and the computer 40 are initialized.
[0058] During a second step 102 of the invention, the robot 20 scans, using its camera 30, the surface S which is fixed in the base frame BF. This operation of locating the surface S takes place by means of several readings represented in [Fig. 3] by aiming points PVj, PV2, ...PVN adopted successively by the printing head 10 carried by the arm of the robot 20.
[0059] At least one aiming point is used, which makes it possible to aim at least one cloud of several points of the fixed surface S. In practice, several aiming points are used, in particular if the fixed surface S is left.
[0060] From each aiming point PVj, PV2, ..., the camera 30 is capable of locating one or more point clouds belonging to the fixed surface S, provided that they are included in its field of vision, which is represented in [Fig.3] by a four-sided polyhedron.
[0061] From the point cloud(s) identified by the camera 30 during this step 102, the computer 40 determines, during a step 104, a mean plane, in the case where the surface S is flat as in Fig. 3, passing at best through all of these point clouds. This determination can take place, for example, by the method of least squares. This determination makes it possible to construct a geometric reference plane p^.representative of the fixed surface S and which is itself fixed in the base frame BF. This reference plane p^.is defined by a point of origin a normal nëF . The plane a mathematical reference surface, representative of the surface fixed S and known to the calculator 40, at the end of step 104.
[0062] In the example of the figures, the fixed surface S is flat and the reference plane p^ is coincident with the surface S.
[0063] Alternatively, the surface S may be cylindrical, pyramidal, spherical or any other shape. In this case, step 104 then consists of determining an average shape associated with the cylindrical, pyramidal, spherical or any other shape.
[0064] At the end of step 104, a reference mathematical surface, representative of the surface S, is obtained.
[0065] To implement the method of the invention, the robot 20 has the coordinates of the theoretical TCP reference frame of the print head in the wrist reference frame PG. These coordinates of the theoretical TCP reference frame come from a CAD model of the robot 20 equipped with the print head 10. They are used during steps of acquiring points by printing droplets on the surface S, by bringing the print head 10 into different positions, represented in [Fig.4] by three positions.
[0066] K denotes the number of printing positions used for the acquisition of points, with K a natural integer strictly greater than 1. k denotes the order number of a position used for the acquisition of points, with k a natural integer between 1 and K. Each position of the print head 10 corresponds to a position of the wrist 21 and vice versa. Thus, in what follows, for a position k, we speak of a position of the print head 10 or of a position of the wrist 21 or of both. In each of these positions, the print head is oriented towards the fixed surface S of the plate 50.
[0067] According to the calibration method of the robot 20, the print head is brought into a first position relative to the fixed surface S, with k equal to 1. In a step 106, the robot activates certain nozzles 14 of the print head to print, on the fixed surface S, an impact with each activated nozzle.
[0068] L denotes the number of nozzles 14 active in each position of the print head 10, i.e. the number of drops printed on the surface S in each position.
[0069] In the version of the invention explained in detail below with reference to the figures, L is equal to 2, which corresponds to the selection of a pair of nozzles. Advantageously, the selected nozzles are equidistant from the reference nozzle, along the x-axis of the TCP reference frame. In the example, these are the nozzles B4 and B28 mounted on the body 12, equidistant from the reference nozzle B16.
[0070] Alternatively, another pair of nozzles 14 can be used, these being, preferably, equidistant from the reference nozzle.
[0071] In step 106, nozzle B4 impacts fixed surface S and nozzle B28 impacts another surface S.
[0072] Generally, a characteristic point is noted, in the base frame BF, of the geometric center of an impact corresponding to a droplet deposited on the surface S by the nozzle of rank j, when the wrist is in position k. We therefore note respectively p^a characteristic point of the impact printed by the nozzle B4 and P^g a characteristic point of the impact printed by the nozzle B28, when the wrist is in position k.
[0073] For each position k of the print head 10, a vector VFF is defined which extends from the characteristic point P^> to the characteristic point p^.
[0074] We have the relationship:
[0075] y^= pM. pBF (equation 1)
[0076] Each VFF vector can be determined by the computer 40 on the basis of the characteristic points P^F^ and p^ which are identified by the camera 30.
[0077] Alternatively, the number L is strictly greater than 2, for example equal to 5 or 7, which makes it possible to define several vectors of the type of the VFF vector.
[0078] In a step 108 of the method, the coordinates of the characteristic points p^ and p^g are measured by the camera 30, which locates the impacts of the drops deposited on the surface S, then the vector is calculated by the calculator 40.
[0079] Then, the multi-axis robot 20 brings the print head into at least a second position relative to the fixed surface S, different from the first position and in which the print head 10 is also oriented towards the fixed surface. In the second position of the wrist 21 and the print head 10, k is equal to 2*
[0080] In a step 110, the robot activates the same nozzles B4 and B28 of the print head as in step 106 to print, on the fixed surface S, respectively a second impact with the nozzle B4 and another impact with the nozzle B28.
[0081] The other impacts printed with the nozzle B28 when the print head 10 is in the first position, respectively in the second position, can be considered as third and fourth impacts.
[0082] In a step 112, the coordinates of the characteristic points P^^P^^ are measured by the camera 30, which identifies the impacts of the drops deposited on the surface S, then the vector VFF is calculated by the calculator 40.
[0083] If K is strictly greater than 2, steps 106 and 108 are repeated as many times as necessary using positions different from the first two positions and different from each other, for k between 3 and K.
[0084] The positions of the wrist 21, which determines the positions of the print head 10, are chosen arbitrarily, for k between 1 and K, being different two by two.
[0085] We note respectively and R?£da position, in the base frame BF, of the nozzle B4 and the nozzle B28, when the print head 10 is in the position k.
[0086] In the TCP reference of the print head 10, these two positions Bff and are deemed to be known, due to the definition and construction of the print head 10.
[0087] These positions can also be expressed in the base frame BF by the following two equations:
[0088] = Tpg^bf x tfcp^gx btcp (equation 2) k. b
[0089] = Tpg^bf ttcp^pg btcp (equation 3) HAS'- ' '
[0090] where - j-pg-^bf is a matrix for moving from the wrist mark PG to the base mark BF when the print head 10 is in position k and _ btcp-^pg csl a matrix of passage from the TCP marker to the PG wrist marker.
[0091] The first passage matrix is an orthonormal matrix, defined for each position k, while the second pass matrix btcp^pg csl independent of the position k of the print head 10.
[0092] The second passage matrix can be expressed in the form
[0093] ttcp+pg _
[0094] .wn(X4)j <n(X5)£0.v(X6)-C05(X4).wn(X6) cas(X4)..çm(X5).c<75(X6)+.wï(X4).wï(X6) X, cas(Xs)jin(X6) sin{XA)sm(X5).sm{X(,) + cos(X4)x»s(X6) cm(X4).sin(X5)sin(X6) - sm(X,4).cos(X6) X2 -an(Xs) 5ot(X4).ccw(X5) co5(X4).aw(X5) X3 0 0 0 1.
[0095] (equation 4)
[0096] where the sixteen coefficients of the second tTCP-*pg passage matrix are expressed as a function of six parameters Xi to X6.
[0097] The parameters Xb X2 and X3 correspond to a translation of the center of the TCP reference frame linked to the print head, relative to the center of the PG reference frame linked to the wrist 21, while the parameters X4, X5 and X6 correspond to angles of rotation of the axes of these two reference frames relative to each other. In the case of the matrix presented in equation 4, these are the angles of the Roll-Pitch-Yaw convention.
[0098] Alternatively, another representation of these angles may be employed.
[0099] Knowledge of the second matrix ttcp~*pg makes it possible to position the TCP reference in the PG reference linked to the wrist, and therefore to calibrate the print head, which forms a tool of the robot 20. The method of the invention makes it possible to determine the parameters Xi to X6, and therefore this second matrix.
[0100] We also note the coordinates, in the base frame BF, of a point of intersection between the mathematical reference surface and a straight line D4 or D28 passing through nozzle B4, respectively nozzle B28, and parallel to the direction ejection of coating product from the nozzle in question. More generally, denotes the coordinates, in the base frame BF, of a point of intersection between the mathematical reference surface and a straight line passing through the nozzle of rank j.
[0101] Independently of the position k, the straight line D4 or D28 passing through the nozzle B4 or B28 is, by construction of the TCP reference frame, deemed parallel to the z axis of this reference frame. Each position or is calculated, during a step 114, by the calculator 40 as the intersection of the straight line D4 or D28, corresponding to the nozzle B4 or B28 in position k of the print head, and of the representative mathematical surface formed by the plane pBF
[0102] In each position k, the coordinates of each intersection point jBF or are expressed by the calculator 40 as a function of the position or of the corresponding nozzle B4 or B28 and of the passage matrices and tTCP-*pg gn par_ In particular, the coordinates of each intersection point f^F or ^BF depend on the K.“t second passage matrix j-tcp^pg, therefore from its parameters Xi to X6.
[0103] In practice, the coordinates of each point of intersection or in the first position, with k equal to 1, are expressed in a step 114 and the coordinates of each point of intersection or in the second position, with k equal to 2, are expressed during a step 116.
[0104] The order of steps 114 and 116 is not limiting. They can also be simultaneous.
[0105] For each position k of the print head 10 or the wrist 21, a vector WFF is defined which extends from the point of intersection to the point of intersection We have the relationship:
[0106] W?F= (equation 5) 'fi KM o
[0107] Each WPF vector can be calculated by the calculator 40 and also depends on the second passage matrix j-TCP^PG and its parameters Xi to X6, since this is the case of the intersection points and
[0108] In theory, the positions and should be identical, just as the positions and iflK ^onc' 'cs vectors Vf and WFF should be superimposed. However, this is not the case in practice, as shown, for example, by the vectors and Wf or the vectors Vf and WFF in [Fig.4].
[0109] For each position k of the wrist 21, that is to say each position of the print head, a first difference is defined between the vectors VFF and WPF, which the calculator 40 expresses as follows, during a step 120:
[0110] $ = Wf- Vf = (If-If) - [YES] (equation 6)
[0112] where - j^pg-^bf is |the first passage matrix mentioned above; - and are the positions of the intersection points for position k, 2 kA 1 k.2 o expressed in the PG reference point of the wrist 21 and - pf* and are the positions of the droplet impact centers for the 1 A,4 1 k,À<> position k, expressed in the PG reference point of the wrist 21
[0113] This can be expressed in the following form:
[0114] = TPF~^PG.( ( IPG -~ ( ^4 - Pk2&) ) (equation 7) As the matrix ^bi-^pg csl orthonormal, the difference between vectors V?F and can also KK K. L express itself in the following form:
[0115] = (^4- / &) - (^4-^28) (equation 8)
[0116] Equation 6 is the expression of the deviation in the base frame BF, while equation 8 is the expression of this same deviation in the wrist frame PG. The length of the deviation vector is the same in both cases.
[0117] Just as the coordinates of the intersection points or the gap depends on the second passage matrix pTCP^PG^ therefore its parameters Xi to X6
[0118] Each deviation can be considered as an error due to the imprecision of the positioning of the TCP reference frame in the PG reference frame, an error which should be minimized so that the measurement in the TCP reference frame of the print head 10 is as accurate as possible in the basic reference frame BF, by adjusting the parameters Xi to X6, since they are involved in the definition of this deviation.
[0119] During a following step 122, an objective function F is constructed by the calculator 40 as being the sum, for all the positions k, of the squares of the deviations determined in step 120, in the form: 101201 F=ELllïîll 2 <équation9)
[0121]
[0122]
[0123]
[0124]
[0125]
[0126]
[0127]
[0128]
[0129]
[0130]
[0131] During a step 124 subsequent to step 122, also implemented by the computer 40, the objective function F is minimized, which makes it possible to determine the values of the parameters Xi to X6 which globally reduce the difference between the different positions. Step 124 includes a first sub-step 124A in which the objective function F is minimized by acting only on the rotation parameters X4 to X6. This makes it possible to determine optimized values of these three parameters. The minimization of the objective function F during sub-step 124A advantageously takes place by solving a non-linear system of equations, by means of partial derivatives, from a close position, according to the least squares method. Alternatively, this nonlinear system of equations can be solved by Newton's method, the gradient method, the Levenberg-Marquardt method, the Newton-Raphson method, the secant method, a dichotomy method, or an iterative method. According to yet another variant, this non-linear system of equations can be solved, from a nearby position, by means of a discretization of the domain of the six parameters XI-X6 around the nearby position and the evaluation of the objective function F as a function of these parameters. Then, the calculator 40 expresses, in a second sub-step 124B, another deviation also called second deviation. This second deviation is different from the first deviation and it is representative of an offset between the center OTcp of the TCP frame and a defined midpoint AffF, in the base frame BF, between the characteristic points Pf^Pf^ at mid-distance from these. During a sub-step 124B of step 124, the difference is expressed by the calculator 40, for each wrist position k, in the form: J^TCP-PG* king (equation 10) Li Or '0' 0 0 .1. is the expression of the OTcp origin point of the TCP frame in the PG frame. In a following sub-step 124C of step 124, an objective function G is constructed by the calculator 40 as being the sum, for all the positions k, of the squares of the second deviations determined in sub-step 124B, in the form:
[0132] G = Il 2 <eclusion11)
[0133] Step 124 includes a sub-step 124D in which the objective function G is minimized by acting only on the translation parameters Xi to X3. This makes it possible to determine optimized values of these three parameters.
[0134] Advantageously, the minimization of the objective function G takes place by solving a non-linear system of equations, using a second method which may be the same as that used to minimize the objective function F or a different method. The least squares method is particularly suitable here. The method used is preferably chosen from those listed above for the minimization of the objective function F.
[0135] The result of the two sub-steps 124A and 124D is that the parameters Xi to X6 are optimized so that the orientation of the TCP reference frame and the position of its point of origin O icps are known in the wrist reference frame PG with good precision.
[0136] It is possible to be satisfied with this and to go directly to a step 128 where the calculator 40 uses the six parameters XrX6 determined in step 124 to construct the second passage matrix j^tcp^pg cl to define the oriented position of the TCP reference frame in the PG reference frame.
[0137] In this case, the position of the origin point OTCp along the height axis z of the TCP reference frame is not known unequivocally.
[0138] To know this position, the method of the invention comprises an optional step 126 of correcting the position of the origin point OTCp along the height axis z of the TCP reference frame. This step 126 is implemented between steps 124 and 128.
[0139] During this step 126, the coordinates of the theoretical TCP reference frame in the wrist reference frame PG are used, which are known to the robot 20 as mentioned above.
[0140] During a sub-step 126A of step 126, the robot 20 places the print head 10 opposite the fixed surface S, by arranging the x and y axes of the TCP reference frame, defined with the parameters Xi to X6 optimized in step 124, parallel to the mean plane of the fixed surface S. In other words, the nozzles 14 are oriented perpendicular to the fixed surface S. During this sub-step 126A, a movement of bringing the print head and the fixed surface closer together is implemented by the robot until the origin point OTcp of the TCP reference frame is included in the fixed surface S. This is considered to be achieved when the robot 20 calculates that the origin point OTcp belongs to the reference plane pBFr. 1 rej
[0141] During a sub-step 126B of step 126, the computer 40 projects the position of the origin point OTCp of this theoretical reference point onto the line of the heights of the TCP reference point defined with the parameters Xi to X6 optimized in step 124.
[0142] In a sub-step of step 126C, a distance d,4 between one of the nozzles 14 and the fixed surface S is then measured along the height axis z of the optimized TCP reference frame, for example the distance between the outlet of the reference nozzle B16 and the fixed surface S. The measurement step can be carried out automatically, using a measuring device mounted on the print head or on the surface S, such as a laser. Alternatively, this measurement can be carried out by an operator with a measuring device independent of the robot 20, for example a ruler or a caliper.
[0143] In a sub-step 126D of step 126 following sub-step 126C, the position of the origin point OTCp of the TCP reference frame, defined with the parameters Xi to X6 optimized in step 124, is corrected so that the distance di4S becomes equal to a predetermined value d0, for example equal to 10mm. This amounts to placing the center of the TCP reference frame, defined with the parameters Xi to X6 optimized in step 124, at the predetermined distance d0 from the fixed surface S, here 10mm.
[0144] We note dCOIT the distance with which the position of the origin point OTcp is corrected in sub-step 126D. We use the relation
[0145] dCOIT = du s - d0 (equation 12)
[0146] The new parameters X'b X'2 and X'3 which define the position of the origin point OTCp at the end of step 126 and which are calculated in sub-step 126D are defined by the following relation:
[0147] ■xy ■Xf ^2 x2 x3 . 1. . 1. r tTCP^PC, corr 1 A (equation 13)
[0148] The parameters X'b X'2 and X'3 are then used, as new optimized parameters Xb X2 and X3.
[0149] Changing the parameters Xi to X3 to take the values X' i to X'3 respectively amounts to applying a translation along the z axis of the TCP reference frame, such that the measured distance from the s becomes equal to the predetermined value d0.
[0150] During a step 128, the six parameters Xi to X6 determined and optimized in step 124, some of which Xi to X3 were possibly corrected in step 126, are used in the second passage matrix to define the oriented position of the TCP marker in PG marker.
[0151] At the end of step 128, the position and orientation of the TCP reference frame in the PG reference frame are determined precisely and unambiguously and the multi-axis robot 20 is calibrated to operate the print head in an optimized manner by moving it precisely relative to the fixed surface S.
[0152] The invention is not limited to the embodiment shown in the figures and to the variants mentioned above.
[0153]
[0154]
[0155]
[0156]
[0157]
[0158]
[0159]
[0160]
[0161]
[0162]
[0163]
[0164]
[0165]
[0166] Alternatively, the first gap between the vectors and WfF can be expressed, for each position k of wrist 21, according to one of the following approaches: (PkA -^28) A(C- / &) (equation 14) (equation 15) 'HAS " ak = Arcsin (equation 16) ak=(P$-P^)Jj£^ (equation 17) “A = 1- lKXâl|x||«âll (equation 18) = Arccos (equation 19) In the case of equations 14 and 15, the objective function F is the same as that defined in equation 9. In the cases of equations 16 to 19, the objective function F is expressed, for example, in the form: p-VK „ (equation 20) 1 “ Steps 124, 126 and 128 are then adapted. According to another variant of the invention, the second difference aï is expressed during sub-step 124B in the form: sç -1X ( ® 1 x ( A? + Pgi ) < él i uatio " 21 > The remainder of step 124 and steps 126 and 128 are then adapted. According to a variant of the invention not shown, the impacts printed during steps 106 and 110 are used to calculate a gap defined for each position k of the wrist 21, between the coordinates of a characteristic point and the coordinates of an intersection point defined as previously. An objective function is Kl then defined on the basis of this deviation, for example as the sum of the squares of these deviations for all positions k, with k between 1 and K, and all nozzles l, with / between 1 and L. This function is then minimized, for example with the least squares method or another of the methods mentioned above, which makes it possible to determine the optimized values of the six parameters XrX6 of a passage matrix pTCP~*PG defined as above. In this case, no vector comparable to the vectors and WFF mentioned above is used. In this case, the six parameters XrX6 are optimized in a common step, and not in two successive steps such as the sub-steps 124A and 124D mentioned above. A correction step, of the type of step 126, is advantageously implemented.
[0167] According to another variant of the invention not shown, account is taken of the mass, shape, dimensions and / or velocity of the droplets when calculating the intersection points. In other words, the straight lines D4, D28 and equivalent can be replaced by curved lines that take into account the ballistic effect of the ejection of the coating product by the nozzles 14, which arises from the mass of the droplets, their shape, dimensions and velocity. Whether it is a straight line or a curved line taking into account the ballistics, a line passing through the nozzles B4 and / or B28 or another nozzle is used to define each intersection point
[0168] Alternatively, at least one of the objective functions F and G is constructed without involving the square of the deviations. These functions may be equal, for example, to the sum of the absolute values of these deviations or to another value calculated from these deviations.
[0169] Steps 102 and 104 may be implemented at any time before steps 114 and 116.
[0170] The steps of the invention do not have to be repeated each time the robot 20 is put into service. Indeed, when the oriented position of the TCP reference frame is known in the PG reference frame, at the end of step 128, it is deemed to be invariant.
[0171] The steps of the method of the invention are preferably implemented automatically by the control unit formed of components 22 and 40. Steps 126A can also be carried out manually by an operator.
[0172] Any feature described for one embodiment or variation in the foregoing may be implemented for the other embodiments and variations described above, as long as technically feasible.
Claims
Claims
1. Method for calibrating a multi-axis robot (20) associated with a base reference frame (BF) and equipped with a camera (30) and a print head (10) comprising at least a first nozzle (B4), the camera and the print head being mounted on a wrist (21) of the multi-axis robot, characterized in that this method consists in determining an oriented position of a reference frame (TCP) linked to the print head (10) in a reference frame (PG) linked to the wrist (21), the oriented position of the reference frame linked to the print head being defined by six parameters (XrX6) of a matrix (TTCP-*PG} passage between the reference frame (TCP) linked to the print head and the reference frame (PG) linked to the wrist and in that the method comprises at least the following steps consisting in: a. aiming (102) with the camera (30) at least one point of a surface (S) fixed in the fixed frame (BF); b. determine (104), from the result of step a), a mathematical surface (P^p representative of the fixed surface; c. bringing the print head into a first position relative to the fixed surface (S), in which the print head is oriented towards the fixed surface; d. when the print head is in the first position, printing (106), on the fixed surface and by means of the first nozzle (B4), at least one first impact; e. measure (108) using the camera (30), the coordinates, in the base frame, of a first characteristic point (PS / j of the first impact; f. bringing the print head into at least a second position relative to the fixed surface (S), different from the first position and in which the print head is oriented towards the fixed surface; g. when the print head is in the second position, printing (110), on the fixed surface and by means of the first nozzle (B4), at least one second impact; h. measuring (112), using the camera, the coordinates, in the base frame, of a second characteristic point of the second impact; i. express (114), in the base frame (BF) and with the matrix of passage ^tcp-^pg^ |cs coordinates of a first point of intersection ( / f 4) between the mathematical surface (P^-) representative of the fixed surface (S) and a line (D4) passing through the first nozzle (B4) in the first position; j. express (116), in the base frame BF and with the passage matrix (Ttcp~*pg\ the coordinates of a second point of intersection ( / BF^ between the mathematical surface representative of the fixed surface and the line passing through the first nozzle (B4) in the second position; k. express (120), for each position of the print head and each impact, a deviation (q) based on the coordinates of its characteristic point (pfj) and the coordinates of its point of intersection; 1. construct (122) an objective function (F) whose variables are the deviations expressed in step k); m. determine (124) the values of the six parameters (XrX6) of the passage matrix qUj minimize the function objective (F); n. use (128) the six parameters (XrX6) determined in step m) to define the oriented position of the marker (TCP) linked to the print head (10) in the marker linked to the wrist (21).
2. Method according to claim 1, implemented with a print head which comprises at least one second nozzle (B28), characterized in that in step d) a third impact is printed on the fixed surface (S) by means of the second nozzle (B28); during step e) the coordinates, in the base frame (BF), of a third characteristic point (pf^ of the third impact are measured using the camera (30); during step g), a fourth impact is printed on the fixed surface using the second nozzle (B28); in step h), the coordinates, in the base frame, of a fourth point characteristic of the fourth impact are measured using the camera; - in step i), the coordinates of a third point of intersection between the mathematical surface representing the fixed surface (S) and a line (D28) passing through the second nozzle in the first position are expressed in the base frame (BF) and with the passage matrix ÇpTCP-*PG^ |cs; - in step j), the coordinates of a fourth point of intersection ( / ^s) between the mathematical surface representing the fixed surface and the line (D28) passing through the second nozzle in the second position are expressed in the base frame (BF) and with the passage matrix ^tcp-^pg^.
3. Method according to claim 2, characterized in that an axis (z) of the reference mark (TCP) linked to the print head (10) is parallel to the ejection directions of the two nozzles (B4, B28) of the print head and in that the two nozzles are arranged on either side and at equal distance from a reference nozzle (B 16) of the print head through which the axis (z) of the reference mark linked to the print head passes.
4. Method according to one of the preceding claims, characterized in that the six parameters (XrX3) of the passage matrix (j'TCP^-pg^ are broken down into - three translation parameters (XrX3) and - three rotation parameters (X4-X6) in that step m) comprises sub-steps consisting of: ml) determining (124A) the three rotation parameters (X4-X6) by minimizing the objective function (F) constructed in step 1) m2) expressing (124B), for each position of the print head and each nozzle (B4, B28), another deviation (^) based on the coordinates of its characteristic point and the coordinates of its point of intersection, the other deviation being different from that expressed in step k); m3) constructing (124C) another objective function (G), the variables of which are the deviations expressed in sub-step m2); m4) determine (124D) the three translation parameters (XrX3), in
5. minimizing the objective function (G) constructed in step m3). Method according to claims 3 and 4, characterized in that the other deviation is expressed in the form or in the form 7?" - vii tBF \ ak~ 2 X + OR is the other deviation expressed in sub-step m2) for position k are the coordinates, in the base frame (BF), of the point of intersection of the nozzle of rank j for the position kp^ are the coordinates, in the base frame (BF), of the characteristic point of the impact printed with the nozzle of rank j for the position k pTCP-^PG is |the matrix for passing from the mark (TCP) linked to the print head (10) to the mark (PG) linked to the wrist (21); '0' is the expression of the point of origin (OTcp) of the reference frame linked to 0 0 the print head in the mark linked to the print head.
6. Method according to one of claims 4 and 5, characterized in that it comprises a step (126) of correcting the point of origin (OTcp) of the mark (TCP) linked to the print head (10), implemented between steps m) and n) and consisting of: pl) placing (126A) the print head (10) opposite the fixed surface (S) and perpendicular to the fixed surface, in a position where the point of origin (OTCp) of the reference mark (TCP) linked to the print head (10) is in the mathematical surface representative of the surface fixed (S); p2) measuring (126C) a distance (di4 S) between the print head (10) and the fixed surface (S); p3) correcting (126D) the translation parameters (XrX3) by applying a translation along the axis (z) of the heights of the mark (TCP) linked to the print head, such that the distance measured in step p2) is equal to a predetermined distance (do).
7. Method according to one of the preceding claims, characterized in that steps c) and d) are implemented before step e) and steps f) and g) are implemented before step h).
8. Method according to one of the preceding claims, characterized in that the first and second positions are selected arbitrarily.
9. Method according to one of the preceding claims, characterized in that the or each objective function (F, G) is the sum of the squares of the deviations expressed in step k) and, optionally, in step m2).
10. Method according to one of the preceding claims, characterized in that the determination of the values of the six parameters (X1-X6) in step m) is carried out by solving a non-linear system of equations by means of partial derivatives, from a close position, according to the least squares method, the Newton method, the gradient method, the Levenberg-Marquardt method, the Newton-Raphson method, the secant method, a dichotomy method, an iterative method or, from a close position, by means of a discretization of the domain of the six parameters (X1-X6) around the close position and the evaluation of the objective function (F, G).
11. Method according to one of the preceding claims, characterized in that, during step i) and / or j), the expression of the coordinates of the intersection points (if 4) and (JBF j is obtained by the expression of the intersection between the mathematical surface (P^) representative of the fixed surface (S) and a ballistic line coming from the corresponding nozzle (B4, B28).
12. Multi-axis robot associated with a base reference (BF) and equipped with a camera (30) and a print head (10), the print head comprising at least a first nozzle (B4), the camera and the print head being mounted on a wrist (21) of the multi-axis robot, characterized in that it comprises an electronic control unit (24, 40) configured to implement a calibration method according to one of the preceding claims.
Citation Information
Patent Citations
Method for printing an object with a printed image
DE102016204123A1
Mechanical arm hand-eye calibration method based on spatial distance and epipolar line constraint
CN109483516A
Method for painting a workpiece including generating a trajectory adapted to the real workpiece
EP4159386A1
AUTOMATED REGISTRATION process FOR THE MANUFACTURE OF SANDWICH PANEL FOR AEROSTRUCTURE NACELLES
FR3061076A1
Robot hand-eye calibration method and apparatus, computing device, medium and product
US20220258352A1