Method for Calibrating a Multi-axis Robot Equipped with a Camera and a Printing Head and Robot Configured to Implement Such a Method

Information

  • Patent Application
  • 20250178203
  • Publication Number
    20250178203
  • Date Filed
    December 04, 2024
    6 months ago
  • Date Published
    June 05, 2025
    6 days ago
Abstract
According to this method, a mathematical surface (PrefBF) is determined (104), a printing head is brought into a first position and then into a second position, where a first impact and a second impact are printed (106, 110), then the coordinates of a characteristic point (P1,4BF, P2,4BF) of the first or second impact (108, 112) are measured. We express (114) the coordinates of a first intersection point (I1,4BF) and those of a second intersection point (I2,4BF). We express (120) a deviation ({right arrow over (εk)}) based on the coordinates of the characteristic points (Pk,jBF) and intersection point (Ik,jBF). We construct (122) an objective function (F) whose variables are the deviations ({right arrow over (εk)}). We determine (124) values for six parameters (X1-X6) of a passage matrix (TTCP→PG) which minimise the objective function (F). These six parameters (X1-X6) are used (128) to define an oriented position of the frame (TCP) linked to the printing head in the frame linked to the wrist.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of FR 2313581, filed on Dec. 5, 2023, which is incorporated herein by reference in its entirety.


FIELD OF INVENTION

This invention relates to a method of calibrating a multi-axis robot associated with a base frame and equipped with a camera and a printing head.


BACKGROUND

In the field of coating product application using a multi-axis robot equipped with a printing head, it is important to be able to control the operation of this printing head precisely, in particular by taking into account the positioning of this printing head in relation to a surface to be coated. To do this, a multi-axis robot is fitted with a camera that can identify the robot's environment, in particular a surface to be coated, against which the printing head is to be positioned.


To date, the operation of a multi-axis robot equipped with a printing head is based on the assumption that the position and orientation of an orthogonal frame linked to the printing head is known in relation to a frame linked to the robot's wrist and to a fixed base frame linked to a place in which the multi-axis robot is positioned. The exact position of this frame linked to the printing head depends in particular on the way and the precision with which the printing head is mounted on the robot's wrist.


It is known from FR3061076A1 to calibrate the position of a printing head mounted on a robot, before each cycle of operation of this printing head, by carrying out an automatic verification of an actual position of a print point with respect to a reference point of the printing head and then, if necessary, a correction of a deviation between a print point and a reference point of the printing head. This method is relatively complex to implement and the teaching in this document does not optimise calibration.


On the other hand, DE102016204123A1 discloses a marking method using labels in which fine positioning of a printing head is used, without explaining how such fine positioning can be achieved.


There is therefore a need for an effective calibration method for a multi-axis robot equipped with a camera and a printing head. such a method should enable the printing head to be set up easily and accurately, without being too complex or requiring the use of labels.


SUMMARY OF THE INVENTION

To this end, the invention relates to a method of calibrating a multi-axis robot associated with a base frame and equipped with a camera and a printing head comprising at least a first nozzle, the camera and the printing head being mounted on a wrist of the multi-axis robot. In accordance with the invention, this method consists of determining an oriented position of a frame linked to the printing head in a frame linked to the wrist, the oriented position of the frame linked to the printing head being defined by six parameters of a matrix passing between the frame linked to the printing head and the frame linked to the wrist. The method comprises at least the following steps consisting in:

    • a) aiming the camera at least one point on a fixed surface in the fixed frame;
    • b) determining, from the result of step a), a mathematical surface representative of the fixed surface;
    • c) bringing the printing head into a first position relative to the fixed surface, in which the printing head is oriented towards the fixed surface;
    • d) when the printing head is in the first position, printing at least a first impact on the fixed surface by means of the first nozzle;
    • e) measuring, with the camera, the coordinates, in the base frame, of a first characteristic point of the first impact;
    • f) bringing the printing head into at least one second position relative to the fixed surface, different from the first position and in which the printing head is oriented towards the fixed surface;
    • g) when the printing head is in the second position, printing at least one second impact on the fixed surface by means of the first nozzle;
    • h) measuring, with the camera, the coordinates, in the base frame, of a second point characteristic of the second impact;
    • i) expressing, in the BF base frame 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) expressing, in the BF base frame and using the passage matrix, the coordinates of a second point of intersection between the mathematical surface representing the fixed surface and the line passing through the first nozzle in the second position;
    • k) expressing, for each printing head position and each impact, a deviation based on the coordinates of its characteristic point and the coordinates of its intersection point;
    • l) constructing an objective function whose variables are the deviations expressed in step k);
    • m) determining the values of the six parameters of the passage matrix that minimise the objective function;
    • n) using the six parameters determined in step m) to define the oriented position of the frame linked to the printing head in the frame linked to the wrist.


The steps in the method of the invention make it possible to define the oriented position of a frame linked to the printing head in the frame linked to the wrist, which makes it possible to position the printing head correctly in space. In other words, the invention makes it possible to know the position and orientation of the printing head in a frame of reference linked to the robot's wrist, whereas the robot model makes it possible to know the position of the wrist in a base frame of reference, linked to the room in which the robot is installed. The invention's method therefore enables precise relative positioning between the printing head and a fixed surface to be coated by this printing head.


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 combination that is technically feasible:

    • in step d) a third impact is printed on the fixed surface by means of the second nozzle;
    • in step e), one measures, with the camera, the coordinates, in the base frame, of a third point characteristic of the third impact;
    • in step g), a fourth impact is printed on the fixed surface by means of the second nozzle;
    • in step h), one measures, with the camera, the coordinates, in the base frame, of a fourth point characteristic of the fourth impact;
    • in 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;
    • in step j), 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 are expressed, in the base frame and with the passage matrix.
    • An axis of the frame linked to the printing head is parallel to the directions of ejection of the two nozzles of the printing head, while the two nozzles are disposed on either side of and at equal distance from a reference nozzle of the printing head through which the axis of the frame linked to the printing head passes.
    • The six parameters of the passage matrix can be broken down into three translation parameters and three rotation parameters, and step m) comprises sub-steps consisting in:
      • m1) determining the three rotation parameters by minimising the objective function constructed in step l)
      • m2) expressing, for each printing head position and nozzle, a further deviation based on the coordinates of its characteristic point and the coordinates of its intersection point, the further deviation being different from that expressed in step k);
      • m3) constructing another objective function, whose variables are the deviations expressed in sub-step m2);
      • m4) determining the three translation parameters, minimising the objective function constructed in step m3)
    • The other difference is expressed in the form








a
k



=



T

TCP

PG


×

[



0




0




0




1



]


-


1
2

×

(


P

k
,
j

BF

+

P

k
,
j

BF


)







or in the form








a
k



=



1
2

×

(


I

k
,
j

BF

+

I

k
,
j′

BF


)


-


1
2

×

(


I

k
,
j

BF

+

I

k
,
j′

BF


)







where

    • {right arrow over (αk)} is the other deviation expressed in sub-step m2) for position k
    • Ik,jBF are the coordinates, in the base frame, of the intersection point of the nozzle of rank j for position k
    • Pk,jBF are the coordinates, in the base frame, of the characteristic point of the impact printed with the nozzle of rank j for position k
    • TTCP→PG is the passage matrix from the frame linked to the printing head to the frame linked to the wrist;






[



0




0




0




1



]




is the expression of the point of origin of the printing head-related frame in the printing head-related frame.

    • The method comprises a step of correcting the point of origin of the frame linked to the printing head, implemented between steps m) and n) and consisting in:
      • p1) placing the printing head opposite the fixed surface and perpendicular to the fixed surface, in a position where the point of origin of the frame linked to the printing head is in the mathematical surface representative of the fixed surface (S);
      • p2) measuring the distance between the printing head and the fixed surface;
      • p3) correcting the translation parameters by applying a translation along the height axis of the frame linked to the printing head, so that the distance measured in step p2) is equal to a predetermined distance
    • Steps c) and d) are carried out before step e) and steps f) and g) are carried out before step h).
    • The first and second positions are selected arbitrarily.
    • The or each objective function is the sum of the squares of the deviations expressed in step k) and, optionally, step m2).
    • The values of the six parameters in step m) are determined by solving a system of non-linear equations by means of partial derivatives, starting from a nearby position, according to the method of least squares, 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 discretising the domain of the six parameters around the near position and evaluating the objective function.
    • During step i) and/or j), the expression of the coordinates of the intersection points is obtained by expressing the intersection between the mathematical surface representing the fixed surface and a ballistic line coming from the corresponding nozzle.


According to another aspect, the invention relates to a multi-axis robot associated with a base frame and equipped with a camera and a printing head, the printing head comprising at least a first nozzle, the camera and the printing head being mounted on a wrist of the multi-axis robot. In accordance with the invention, this robot comprises an electronic control unit configured to implement a calibration method as described above.


This robot offers the same advantages as the method described in the invention.





BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be better understood and other advantages thereof will become clearer in the light of the following description of an embodiment of a calibration method and a multi-axis robot in accordance with its principle, given by way of example only and made with reference to the appended drawings.



FIG. 1 is a schematic representation of the principle of a multi-axis robot conforming to the invention in use with the method of the invention.



FIG. 2 is a schematic representation of a printing head of the robot shown in FIG. 1 and geometric reference points associated with the operation of this robot.



FIG. 3 is a schematic representation of a fixed plate used in the method of the invention, during one stage of this method.



FIG. 4 is a schematic representation of the same plate in another stage of the invention.



FIG. 5 is a block diagram of the method of the invention.





DETAILED DESCRIPTION

The multi-axis robot 20 shown in FIG. 1 comprises an arm formed by sections articulated together about six axes A1 to A6, and a wrist 21 which forms the distal end of this arm. According to a non-represented variant of the invention, the wrist can be articulated relative to the end of the arm of the multi-axis robot 20, about a seventh axis.


A printing head 10 comprises a rigid body 12 fitted with a nozzle 14. This printing head 10 is mounted on the wrist 21. It is designed to apply a coating product, such as paint or varnish, to objects not shown, such as motor vehicle bodies.


A camera 30 is mounted on the wrist 21 and fixed to it by appropriate mechanical means, such as screws or clips. The camera 30 is attached to the wrist 21 in a way that is strong enough to withstand the accelerations to which the camera is subjected as the robot moves.


Advantageously, the camera is a CCD or laser camera with one or two cameras (binocular and/or profilometer).


Consider a fixed BF base frame, which is linked to a room LO in which the multi-axis robot 20 is located.


Consider a PG frame linked to wrist 21. A model of the robot can be used to switch from the PG frame to the BF frame, and vice versa. This model is well known. By way of a non-limitative example, this may be the “Denavit-Hartenberg” model, or the “Modified Denavit-Hartenberg” model, also known as the “Khalil Kleinfinger” model, or the PoE (Product of Exponential) model.


We consider a TCP frame linked to the printing head 10 and which is arranged, in a longitudinal direction LD of the body 12, opposite a reference nozzle. This orientated frame is sometimes referred to as the “Tool Centre Point”. The x-axis of the TCP frame is parallel to the longitudinal direction LD and its point of origin OTCP, which is the centre of the TCP frame, is noted.


In the example, the printing head 10 has thirty-two nozzles distributed on either side of a median plane P12 of the body 12 which contains the y and z axes of the TCP frame and to which the x axis of this frame is perpendicular. The median plane P12 is located halfway along the abscissa axis and the longitudinal direction LD, between longitudinal ends 122 and 124 of the body 12.


j is the rank of a nozzle 14 in the row of nozzles 14, where j is a natural number between 1 and 32. Bj is a nozzle of rank j.


The x-axis of the TCP frame is oriented from nozzle B32 to nozzle B1.


In the example shown, the reference nozzle is B16. The point of origin OTCP is therefore located opposite nozzle B16.


The height axis z of TCP passes through the reference nozzle B16 and is oriented away from the body 12.


Alternatively, the reference nozzle is another nozzle in 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.


The point of origin OTCP is located at a height hO, measured parallel to the z axis, from the outlet of the nearest nozzle 14. The height ho is set at a value between 2 and 30 mm, preferably 10 mm.


By convention, the z-height axis of the TCP frame is parallel to the direction of ejection of the nozzles 14 and oriented in the direction of ejection. The z-height axis is aligned with the ejection direction of the reference nozzle, in this case nozzle B16.


The y axis of the TCP frame is perpendicular to the x and z axes.


The invention's calibration method consists of determining an oriented position of the TCP reference linked to the printing head in the PG reference linked to the wrist 21.


This method is implemented in a computer 40 which is shown in FIG. 1 in the form of a computer and which communicates with a controller 24 arranged in a base 22 of the robot 20. The computer 40 is programmed to implement the method of the invention automatically. The controller 24 and the computer 40 together form an electronic control unit for the multi-axis robot 20.


Alternatively, the parts 24 and 40 of this control unit are formed by a single physical entity, which can be integrated into the base 22.


Consider a physical surface S supported by a plate 50, fixedly positioned near the robot 20, in the room LO, in an area accessible to the printing head 10. Robot 20 is capable of projecting paint droplets onto surface S. The fixed surface S is the surface of a plate 50 which acts as a support for the droplets of printed coating products.


The method of the invention begins with a start-up step 100 during which the controller 24 and the computer 40 are initialised.


In a second step 102 of the invention, the robot 20 uses its camera 30 to scan 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 PV1, PV2, . . . . PVN adopted successively by the printing head 10 carried by the robot arm 20.


At least one aiming point is used, enabling at least one cloud of several points on the fixed surface S to be aimed at. In practice, several aiming points are used, particularly if the fixed surface S is left-handed.


From each point of view PV1, PV2, etc., the camera 30 is able to locate one or more clouds of points belonging to the fixed surface S, insofar as they are included in its field of view, which is represented in FIG. 3 by a four-sided polyhedron.


From the cloud or clouds of points identified by the camera 30 during this step 102, the computer 40 determines, during a step 104, an average plane, in the case where the surface S is flat as in FIG. 3, passing as best as possible through all these clouds of points. This can be determined, for example, using the least squares method. This determination makes it possible to construct a geometric reference plane PrefBF. representative of the fixed surface S which is itself fixed in the BF base frame. This reference plane PrefBF is defined by a point of origin OrefBF and a normal {right arrow over (nrefBF)}. The plane PrefBF is a mathematical reference surface, representative of the fixed surface S and known to the computer 40, at the end of step 104.


In the example shown, the fixed surface S is flat and the reference plane PrefBF coincides with surface S.


Alternatively, the surface S can be cylindrical, pyramidal, spherical or any other shape. In this case, step 104 consists of determining an average shape associated with the cylindrical, pyramidal, spherical or any other surface S.


At the end of step 104, a mathematical reference surface, representative of the surface S, is obtained.


To implement the method of the invention, the robot 20 has the coordinates of the theoretical TCP frame of the printing head in the PG wrist frame. These coordinates of the theoretical TCP frame are taken from a CAD model of the robot 20 fitted with the printing head 10. They are used during the steps of acquiring points by printing droplets on the surface S, by bringing the printing head 10 into different positions, represented in FIG. 4 by three positions.


K is the number of print positions used for dot acquisition, where K is a natural number greater than 1. k is the sequence number of a position used to acquire points, with k being a natural number between 1 and K. Each position of the printing head 10 corresponds to a position of the wrist 21 and vice versa. In the following, therefore, a position k is referred to as the position of the printing head 10 or the position of the wrist 21 or both. In each of these positions, the printing head faces the fixed surface S of plate 50.


According to the robot 20 calibration method, the printing head is brought to a first position relative to the fixed surface S, with k equal to 1. In step 106, the robot activates certain nozzles 14 on the printing head to print an impact on the fixed surface S with each nozzle activated.


L is the number of active nozzles 14 in each position of the printing head 10, i.e. the number of drops printed on the surface S in each position.


In the version of the invention explained in detail below with reference to the figures, L is 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 frame. In the example, these are nozzles B4 and B28 mounted on the body 12, equidistant from the reference nozzle B16.


Alternatively, another pair of nozzles 14 can be used, preferably equidistant from the reference nozzle.


During step 106, nozzle B4 prints an impact on the fixed surface S and nozzle B28 prints another impact on the fixed surface S.


In general terms, we note Pk,jBF a characteristic point, in the BF base frame, of the geometric centre 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 respectively note Pk,rBF a characteristic point of the impact imparted by nozzle B4 and Pk,28BF a characteristic point of the impact printed by nozzle B28, when the wrist is in position k.


For each position k of the printing head 10, a vector VkBF is defined which extends from the characteristic point Pk,28BF to the characteristic point Pk,4BF.


We have the relation:










V
k
BF

=


P

k
,
4

BF

-

P

k
,
28

BF






(

equation


1

)







Each vector VkBF can be determined by the computer 40 on the basis of the characteristic points PRk,28BF and Pk,4BF identified by the camera 30.


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 vector VkBF.


In step 108 of the method, the coordinates of the characteristic points P1,4BF and P1,28BF are measured by the camera 30, which locates the impacts of the drops deposited on the surface S, then the vector V1BF is calculated by the computer 40.


The multi-axis robot 20 then moves the printing head to at least one second position relative to the fixed surface S, different from the first position and in which the printing head 10 is also oriented towards the fixed surface. In the second position of wrist 21 and printing head 10, k is 2.


In step 110, the robot activates the same nozzles B4 and B28 of the printing head as in step 106 to print a second impact with nozzle B4 and another impact with nozzle B28 on the fixed surface S.


The other impacts printed with the nozzle B28 when the printing head 10 is in the first position, respectively in the second position, can be considered as third and fourth impacts.


In a step 112, the coordinates of the characteristic points P2,4BF and P2,28BF are measured by the camera 30, which detects the impacts of the drops deposited on the surface S, then the vector V2BF is calculated by the computer 40.


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.


The positions of the wrist 21, which determines the positions of the printing head 10, are chosen arbitrarily, for k between 1 and K, being different in pairs.


We respectively note Bk,4BF and Bk,28BF the positions of nozzle B4 and nozzle B28 in the BF base frame, when printing head 10 is in position k.


In the TCP frame on the printing head 10, these two positions Bk,4BF and Bk,28BF are deemed to be known, due to the definition and construction of the printing head 10.


These positions can also be expressed in the BF base frame by the following two equations:










B

k
,
4

BF

=


T
k

PG

BF


×

T

TCP

PG


×

B

k
,
4

TCP






(

equation


2

)













B

k
,
28

BF

=


T
k

PG

BF


×

T

TCP

PG


×

B

k
,

2

8


TCP






(

equation


3

)







where

    • TkPG→BF is a matrix of the transition from the wrist PG frame to the BF base frame when the printing head 10 is in position k and
    • TTCP→PG is a passage matrix from the TCP frame to the PG wrist frame.


The first passage matrix TkPG→BF is an orthonormal matrix, defined for each position k, while the second passage matrix TTCP→PG is independent of the position k of the printing head 10.


The second passage matrix can be expressed as










T

TCP

PG


=

[





cos

(

X
5

)

·

cos

(

X
6

)








sin

(

X
4

)

·

sin

(

X
5

)

·

cos

(

X
6

)


-


cos

(

X
4

)

·
sin

(
6



)







cos

(

X
4

)

·

sin

(

X
5

)

·

cos

(

X
6

)


+


sin

(

X
4

)

·
sin

(
6



)




X
1







cos

(

X
5

)

·

sin

(

X
6

)







sin



(

X
4

)

·
sin




(

X
5

)

·

sin

(

X
6

)



+


cos

(

X
4

)

·
cos

(
6



)






cos



(

X
4

)

·
sin




(

X
5

)

·

sin

(

X
6

)



-


sin

(

X
4

)

·
cos

(
6



)




X
2






-

sin

(

X
5

)






sin

(

X
4

)

·

cos

(

X
5

)






cos

(

X
4

)

·

cos

(

X
5

)





X
3





0


0


0


1



]





(

equation


4

)







where the sixteen coefficients of the second passage matrix TTCP→PG are expressed as a function of six parameters X1 to X6.


The parameters X1, X2 and X3 correspond to a translation of the centre of the TCP frame linked to the printing head, with respect to the centre of the PG 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 with respect to each other. In the case of the matrix presented in equation 4, these are the angles of the Roll-Pitch-Yaw convention.


Alternatively, another representation of these angles can be used.


Knowing the second matrix TTCP→PG enables the TCP frame to be positioned in the PG frame linked to the wrist, and therefore to calibrate the printing head, which forms a tool of the robot 20. The invention's method enables the parameters X1 to X6, and therefore this second matrix, to be determined.


We also note Ik,4BF and Ik,28BF the coordinates, in the BF base frame, of a point of intersection between the mathematical reference surface PrefBF and a straight line D4 or D28 passing through nozzle B4, or nozzle B28 respectively, and parallel to the direction of ejection of coating product from the nozzle in question. More generally, Ik,jBF designates the coordinates, in the BF base frame, of a point of intersection between the mathematical reference surface PrefBF and a straight line passing through the nozzle of rank j.


Regardless of position k, the straight line D4 or D28 passing through nozzle B4 or B28 is, by construction of the TCP frame, considered to be parallel to the z axis of this frame. Each position Ik,4BF or Ik,28BF is calculated, in a step 114, by the computer 40 as the intersection of the straight line D4 or D28, corresponding to the nozzle B4 or B28 in position k of the printing head, and the representative mathematical surface formed by the plane PrefBF.


In each position k, the coordinates of each intersection point Ik,4BF or Ik,28BF are expressed by the computer 40 as a function of the position Bk,4BF or Bk,28BF of the corresponding nozzle B4 or B28 and the passage matrices TkPG→BF and TTCP→PG. In particular, the coordinates of each intersection point Ik,4BF or Ik,28BF depend on the second passage matrix TTCP→PG, and therefore on its parameters X1 to X6.


In practice, the coordinates of each intersection point I1,4BF or I1,28BF in the first position, with k equal to 1, are expressed at a step 114 and the coordinates of each intersection point I2,4BF or I2,28BF in the second position, with k equal to 2, are expressed in a step 116.


The order of steps 114 and 116 is not restrictive. They can also be simultaneous.


For each position k of the printing head 10 or wrist 21, a vector WkBF is defined which extends from the intersection point Ik,28BF to the intersection point Ik,4BF. We have the relation:










W
k
BF

=


I

k
,
4

BF

-

I

k
,
28

BF






(

equation


5

)







Each vector WkBF can be calculated by the computer 40 and also depends on the second passage matrix TTCP→PG and its parameters X1 to X6, since this is the case for the intersection points Ik,4BF and Ik,28BF.


In theory, the Pk,4BF and Ik,4BF positions should be identical, as should the Pk,28BF and Ik,28BF positions. The vectors VkBF and WkBF should therefore be superimposed. However, this is not the case in practice, as shown, for example, by the vectors V2BF and W2BF or the vectors VkBF and WkBF in FIG. 4.


For each position k of the wrist 21, i.e. each position of the printing head, a first deviation {right arrow over (εk)} is defined between the vectors VkBF and WkBF, which the computer 40 expresses as follows, in a step 120:











ε
k



=



W
k
BF

-

V
k
BF


=



(


I

k
,
4

BF

-

I

k
,
28

BF


)

-

(


P

k
,
4

BF

-

P

k
,
28

BF


)


=


(



T
k

BF

PG


·

I

k
,
4

PG


-


T
k

BF

PG


·

I

k
,
28

PG



)

-

(



T
k

BF

PG


·

P

k
,
4

PG


-


T
k

BF

PG


·

P

k
,
28

PG



)








(

equation


6

)







where

    • TkPG→BF is the first passage matrix mentioned above;
    • Ik,4PG and Ik,28PG are the positions of the intersection points for position k, expressed in the PG frame of wrist 21 and
    • Pk,4PG and Pk,28PG are the positions of the droplet impact centres for position k, expressed in the PG frame of wrist 21


This can be expressed as follows:











ε
k



=


T
k

BF

PG


·

(


(


I

k
,
4

PG

-

I

k
,
28

PG


)

-

(


P

k
,
4

PG

-

P

k
,
28

PG


)


)






(

equation


7

)







Since the matrix TkBF→PG is orthonormal, the difference between the vectors VkBF and WkBF can also be expressed as:











ε
k



=


(


I

k
,
4

PG

-

I

k
,
28

PG


)

-

(


P

k
,
4

PG

-

P

k
,
28

PG


)






(

equation


8

)







Equation 6 is the expression of the deviation {right arrow over (εk)} in the BF base frame, while equation 8 is the expression of the same deviation in the wrist PG frame. The length of the deviation vector {right arrow over (εk)} is the same in both cases.


Like the coordinates of the intersection points Ik,4BF or Ik,28BF, the deviation {right arrow over (εk)} depends on the second passage matrix TTCP→PG, and therefore on its parameters X1 to X6.


Each deviation {right arrow over (εk)} can be considered as an error due to the inaccuracy of the positioning of the TCP frame in the PG frame, an error which must be minimised so that the measurement in the TCP frame of the printing head 10 is as accurate as possible in the BF base frame, by adjusting the parameters X1 to X6., since they are involved in defining this deviation.


In a subsequent step 122, an objective function F is constructed by the computer 40 as the sum, for all positions k, of the squares of the deviations determined in step 120, in the form:









F
=







k
=
1

K







ε
k





2






(

equation


9

)







In a step 124 subsequent to step 122, also implemented by the computer 40, the objective function F is minimised, making it possible to determine the values of the parameters X1 to X6 which reduce the overall deviation {right arrow over (εk)} of the various positions.


Step 124 comprises a first sub-step 124A in which the objective function F is minimised by adjusting only the rotation parameters X4 to X6. This makes it possible to determine optimised values for these three parameters.


Minimisation of the objective function F in sub-step 124A advantageously takes place by solving a non-linear system of equations, by means of partial derivatives, from a nearby position, using the method of least squares.


Alternatively, this non-linear system of equations can be solved by the Newton 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, starting from a near position, by discretising the domain of the six parameters X1-X6 around the near position and evaluating the objective function F as a function of these parameters.


Then, in a second sub-step 124B, the computer 40 expresses another deviation {right arrow over (ak)}, also known as the second deviation.


This second deviation {right arrow over (ak)} is different from the first deviation {right arrow over (εk)} and is representative of an offset between the OTCP centre of the TCP frame and a mid-point MkBF defined, in the BF base frame, between the characteristic points Pk,4BF and Pk,2BF at mid-distance from them.


In a sub-step 124B of step 124, the deviation {right arrow over (ak)} is expressed by the computer 40, for each wrist position k, as:











b
k



=



T

TCP

PG


×

[



0




0




0




1



]


-


1
2

×

(


P

k
,
4

PG

+

P

k
,
28

PG


)







(

equation


10

)









where

[



0




0




0




1



]




is the expression of the point of origin OTCP of the TCP frame in the PG frame.


In a subsequent sub-step 124C of step 124, an objective function G is constructed by the computer 40 as the sum, for all positions k, of the squares of the second deviations determined in sub-step 124B, in the form:









G
=







k
=
1

K







b
k





2






(

equation


11

)







Step 124 comprises a sub-step 124D in which the objective function G is minimised by adjusting only the translation parameters X1 to X3. This makes it possible to determine optimised values for these three parameters.


Advantageously, the objective function G is minimised by solving a non-linear system of equations, using a second method which may be the same as that used to minimise the objective function F or a different method. The method of least squares is particularly suitable here. The method used is preferably chosen from those listed above for minimising the objective function F.


The result of the two sub-steps 124A and 124D is that the parameters X1 to X6 are optimised so that the orientation of the TCP frame of reference and the position of its point of origin OTCP are known in the PG wrist frame of reference with good accuracy.


It is possible to be satisfied with this and proceed directly to a step 128 where the computer 40 uses the six parameters X1-X6 determined in step 124 to construct the second passage matrix TTCP→PG and define the oriented position of the TCP frame in the PG frame.


In this case, the position of the origin OTCP along the z-height axis of the TCP frame is not known unequivocally.


To find out this position, the method of the invention includes an optional step 126 of correcting the position of the point of origin OTCP along the z-height axis of the TCP frame. This step 126 is implemented between steps 124 and 128.


During this step 126, the coordinates of the theoretical TCP frame of reference in the PG wrist frame of reference are used, which are known to the robot 20 as mentioned above.


During a sub-step 126A of step 126, the robot 20 places the printing head 10 facing the fixed surface S, arranging the x and y axes of the TCP frame, defined with the parameters X1 to X6 optimised 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, the robot moves the printing head towards the fixed surface until the point of origin OTCP of the TCP frame lies within the fixed surface S. This is considered to have been achieved when the robot 20 calculates that the point of origin OTCP belongs to the reference plane PrefBF.


In a sub-step 126B of step 126, the computer 40 projects the position of the point of origin OTCP of this theoretical frame onto the straight line of the heights of the TCP frame defined with the parameters X1 to X6 optimised in step 124.


In a sub-step of step 126C, a distance d14-S between one of the nozzles 14 and the fixed surface S, for example the distance between the outlet of the reference nozzle B16 and the fixed surface S, is then measured along the height axis z of the optimised TCP frame. The measuring step can be carried out automatically, using a measuring device mounted on the printing head or on the surface S, such as a laser. Alternatively, this measurement can be carried out by an operator using a measuring device independent of the robot 20, for example a ruler or a calliper.


In a sub-step 126D of step 126 following sub-step 126C, the position of the point of origin OTCP of the TCP frame, defined with the parameters X1 to X6 optimised in step 124, is corrected so that the distance d14-S becomes equal to a predetermined value d0, for example equal to 10 mm. This amounts to placing the centre of the TCP frame, defined with the parameters X1 to X6 optimised in step 124, at the predetermined distance do from the fixed surface S, in this case 10 mm.


We note dcorr the distance by which the position of the point of origin OTCP is corrected at sub-step 126D. We have the relation










d
corr

=


d

14
-
S


-

d
0






(

equation


12

)







The new parameters X′1, X′2 and X′3 which define the position of the point of origin OTCP at the end of step 126 and which are calculated in sub-step 126D are defined by the following relationship:










[





X


1







X


2







X


3





1



]

=


[




X
1






X
2






X
3





1



]

+


d
corr

×

T

TCP

PG


×

[



0




0




1




0



]







(

equation


13

)







Parameters X′1, X′2 and X′3 are then used as the new optimised parameters X1, X2 and X3.


Changing the parameters X1 to X3 to take on the values X′1 to X′3 respectively is equivalent to applying a translation along the z axis of the TCP frame, such that the measured distance d14-S becomes equal to the predetermined value d0.


In a step 128, the six parameters X1 to X6 determined and optimised in step 124, some of which X1 to X3 may have been corrected in step 126, are used in the second pass matrix TTCP→PG to define the oriented position of the TCP frame in the PG frame.


At the end of step 128, the position and orientation of the TCP frame in the PG frame are accurately and uniquely determined, and the multi-axis robot 20 is calibrated to operate the printing head in an optimised manner by moving it accurately relative to the fixed surface S.


The invention is not limited to the embodiment shown in the figures and to the variants mentioned above.


Alternatively, the first deviation between the vectors VkBF and WkBF can be expressed, for each position k of the wrist 21, according to one of the following approaches:











ε
k



=


(


P

k
,
4

PG

-

P

k
,
28

PG


)



(


I

k
,
4

PG

-

I

k
,
28

PG


)






(

equation


14

)














ε
k



=



(


P

k
,
4

PG

-

P

k
,
28

PG


)



(


I

k
,
4

PG

-

I

k
,
28

PG


)







P

k
,
4

PG

-

P

k
,
28

PG




×




I

k
,
28

PG

-

I

k
,
28

PG










(

equation


15

)













α
k

=


Arcsin

(





(


P

k
,
4

PG

-

P

k
,
28

PG


)



(


I

k
,
4

PG

-

I

k
,
28

PG


)









P

k
,
4

PG

-

P

k
,
28

PG




×




I

k
,
4

PG

-

I

k
,
28

PG






)

>
0





(

equation


16

)













α
k

=


(


P

k
,
4

PG

-

P

k
,
28

PG


)

·

(


I

k
,
4

PG

-

I

k
,
28

PG


)






(

equation


17

)













α
k

=

1
-



(


P

k
,
4

PG

-

P

k
,
28

PG


)

·

(


I

k
,
4

PG

-

I

k
,
28

PG


)







P

k
,
4

PG

-

P

k
,
28

PG




×




I

k
,
4

PG

-

I

k
,
28

PG











(

equation


18

)













α
k

=

Arccos

(




"\[LeftBracketingBar]"



(


P

k
,
4

PG

-

P

k
,
28

PG


)

·

(


I

k
,
4

PG

-

I

k
,
28

PG


)




"\[RightBracketingBar]"







P

k
,
4

PG

-

P

k
,
28

PG




×




I

k
,
4

PG

-

I

k
,
28

PG






)





(

equation


19

)







In equations 14 and 15, the objective function F is the same as that defined in equation 9. In equations 16 to 19, the objective function F is expressed, for example, as:









F
=








k

2

=


k

1

+
1


K



α
k






(

equation


20

)







Steps 124, 126 and 128 are then adapted.


According to another variant of the invention, the second deviation {right arrow over (ak)} is expressed in sub-step 124B as:











a
k



=



1
2

×

(


I

k
,
4

PG

+

I

k
,
28

PG


)


-


1
2

×

(


P

k
,
4

PG

+

P

k
,
28

PG


)







(

equation


21

)







The rest of step 124 and steps 126 and 128 are then adapted.


According to a non-represented variant of the invention, the impacts printed during steps 106 and 110 are used to calculate a defined deviation for each position k of the wrist 21, between the coordinates of a characteristic point Pk,lBF and the coordinates of an intersection point Ik,lBF defined as above. An objective function is 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 l between 1 and L. This function is then minimised, for example with the method of least squares or another of the methods mentioned above, making it possible to determine the optimised values of the six parameters X1 to X6 of a passage matrix TTCP→PG defined as above. In this case, no vector comparable to the VkBF and WkBF vectors mentioned above is used. In this case, the six parameters X1 to X6 are optimised in a common step, and not in two successive steps such as the sub-steps 124A and 124D mentioned above. A correction step, such as step 126, is advantageously implemented.


According to another variant of the invention, not shown, the mass, shape, dimensions and/or speed of the droplets are taken into account when calculating the intersection points. In other words, the straight lines D4, D28 and equivalent can be replaced by curved lines which take into account the ballistic effect of the ejection of the coating product by the nozzles 14, which results from the mass of the droplets, their shape, their dimensions and their speed. Whether it is a straight line or a curved line taking into account ballistics, a line passing through nozzles B4 and/or B28 or another nozzle is used to define each intersection point Ik,jBF.


Alternatively, at least one of the objective functions F and G is constructed without using the square of the deviations. These functions can be equal, for example, to the sum of the absolute values of these deviations or to another value calculated from these deviations.


Steps 102 and 104 can be carried out at any time before steps 114 and 116.


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 frame of reference is known in the PG frame of reference, at the end of step 128, it is deemed to be invariant.


The steps in the method of the invention are preferably carried out automatically by the control unit formed by components 22 and 40. Steps 126A can also be carried out manually by an operator.


Any feature described for one embodiment or variant in the foregoing may be implemented for the other embodiments and variants described above, insofar as technically feasible.

Claims
  • 1. A method for calibrating a multi-axis robot associated with a base frame and equipped with a camera and a printing head comprising at least a first nozzle, the camera and the printing head being mounted on a wrist of the multi-axis robot, this method consisting in determining an oriented position of a frame associated with the printing head in a frame of reference linked to the wrist, the oriented position of the frame linked to the printing head being defined by six parameters of a passage matrix between the frame linked to the printing head and the frame linked to the wrist and this method comprising at least the following steps: a) aiming with the camera at least one point on a surface fixed in the base frame;b) determining, from the result of step a), a mathematical surface representative of the fixed surface;c) bringing the printing head into a first position relative to the fixed surface, in which the printing head is oriented towards the fixed surface;d) when the printing head is in the first position, printing at least one first impact on the fixed surface by means of the first nozzle;e) measuring, with the camera, the coordinates, in the base frame, of a first characteristic point of the first impact;f) bringing the printing head into at least one second position relative to the fixed surface, different from the first position and in which the printing head is oriented towards the fixed surface;g) when the printing head is in the second position, printing at least one second impact on the fixed surface by means of the first nozzle;h) measuring, with the camera, the coordinates, in the base frame, of a second characteristic point of the second impact;i) expressing, in the base frame 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) expressing, in the base frame 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) expressing, for each position of the printing head and each impact, a deviation based on the coordinates of its characteristic point and the coordinates of its intersection point;l) constructing an objective function whose variables are the deviations expressed in step k);m) determining the values of the six parameters of the passage matrix which minimise the objective function; andn) using the six parameters determined in step m) to define the oriented position of the frame linked to the printing head in the frame linked to the wrist.
  • 2. The method of claim 1, carried out with a printing head which comprises at least one second nozzle, wherein: during step d), a third impact is printed on the fixed surface by means of the second nozzle;during step e), one measures, with the camera, the coordinates, in the base frame, of a third characteristic point of the third impact;during step g), a fourth impact is printed on the fixed surface by means of the second nozzle;during step h), the one measures, with the camera, the coordinates, in the base frame, of a fourth characteristic point of the fourth impact;during step i), the coordinates of a third intersection point 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 using the passage matrix; andin step j), the coordinates of a fourth intersection point between the mathematical surface representative of the fixed surface and the line passing through the second nozzle in the second position are expressed, in the base frame and using the passage matrix.
  • 3. The method of claim 2, wherein an axis of the frame linked to the printing head is parallel to the directions of ejection of the two nozzles of the printing head and wherein the two nozzles are arranged on either side of and at equal distance from a reference nozzle of the printing head through which the axis passes.
  • 4. The method of claim 1, wherein: the six parameters of the passage matrix constitute three translation parameters and three rotation parameters; andstep m) comprises the following sub-steps: m1) determining the three rotation parameters by minimising the objective function constructed in step l);m2) expressing, for each printing head position and each nozzle, a further deviation based on the coordinates of its characteristic point and the coordinates of its intersection point, the other deviation being different from that expressed in step k);m3) constructing another objective function, the variables of which are the deviations expressed in sub-step m2); andm4) determining the three translation parameters, by minimising the objective function constructed in step m3).
  • 5. The method of claims 3, wherein: the six parameters of the passage matrix constitute three translation parameters and three rotation parameters; andwherein step m) comprises the following sub-steps: m1) determining the three rotation parameters by minimising the objective function constructed in step l)m2) expressing, for each printing head position and each nozzle, a further deviation based on the coordinates of its characteristic point and the coordinates of its intersection point, the other deviation being different from that expressed in step k);m3) constructing another objective function, the variables of which are the deviations expressed in sub-step m2);m4) determining the three translation parameters, by minimising the objective function constructed in step m3); andthe other deviation is expressed in the following form
  • 6. The method of claim 4 comprising a step of correcting the point of origin of the frame linked to the printing head, implemented between steps m) and n) and comprising: p1) placing the printing head facing the fixed surface and perpendicular to the fixed surface, in a position where the point of origin of the frame linked to the printing head is in the mathematical surface representative of the fixed surface;p2) measuring a distance between the printing head and the fixed surface; andp3) correcting the translation parameters by applying a translation along the axis of the heights of the reference frame linked to the printing head, so that the distance measured in step p2) is equal to a predetermined distance.
  • 7. The method of claim 1, wherein steps c) and d) are carried out before step e) and steps f) and g) are carried out before step h).
  • 8. The method of claim 1, wherein the first and second positions are selected arbitrarily.
  • 9. The method of claim 1, wherein the or each objective function is the sum of the squares of the deviations expressed in step k) and, optionally, in step m2).
  • 10. The method of claim 1, wherein the determination of the values of the six parameters in step m) is carried out by solving a non-linear system of equations by means of partial derivatives, starting from a near position, according to the method of least squares, 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 near position, by discretising the domain of the six parameters around the near position and evaluating the objective function.
  • 11. The method of claim 1, wherein, in step i) and/or j), the expression of the coordinates of the intersection points is obtained by expressing the intersection between the mathematical surface representative of the fixed surface and a ballistic line coming from the corresponding nozzle.
  • 12. A multi-axis robot associated with a base frame of reference and equipped with a camera and a printing head, the printing head comprising at least a first nozzle, the camera and the printing head being mounted on a wrist of the multi-axis robot, comprising an electronic control unit configured to implement the calibration method of claim 1.
Priority Claims (1)
Number Date Country Kind
2313581 Dec 2023 FR national