METHOD FOR PAINTING A PART INCLUDING THE GENERATION OF A TRAJECTORY ADAPTED TO THE ACTUAL PART
By generating a realistic 3D model through stress simulations and image analysis, the method addresses dimensional deviations in painting robots, ensuring accurate and efficient paint trajectories without collisions and energy waste.
Patent Information
- Application Number
- FR2021010365
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-30
- Publication Date
- 2025-12-26
- Estimated Expiration
- 2041-09-30
AI Technical Summary
Existing painting robots face challenges in adapting to dimensional deviations of actual parts from CAD models, leading to potential collisions and inefficient energy consumption due to the need for recalculating trajectories for each part, which is time-consuming and risky.
A method involving the generation of a realistic 3D model by applying stress simulations to a nominal 3D model to match actual part characteristics, allowing for the adaptation of paint trajectories to minimize collisions and deformations, using image analysis and artificial intelligence for precise point detection.
This approach effectively avoids collisions and optimizes energy use by generating adaptable paint trajectories, ensuring accurate pattern application on real parts while reducing the risk of robot-part collisions and minimizing energy consumption.
Smart Images

Figure 00000026_0000 
Figure 00000026_0001 
Figure 00000026_0002
Abstract
Description
Title of the invention: METHOD FOR PAINTING A PART COMPRISING THE GENERATION OF A TRAJECTORY ADAPTED TO THE ACTUAL PART. TECHNICAL FIELD OF THE INVENTION
[0001] The invention relates to the general technical field of automated painting processes, in particular by means of painting robots, and more particularly painting robots equipped with a paint printing head. TECHNOLOGICAL BACKGROUND OF THE INVENTION
[0002] It is known that spraying robots typically comprise a robotic articulated arm and a sprayer mounted on this arm, arranged to be moved in relation to a part to be painted or treated. Some painting robots are offered with print heads, mounted at the end of a robotic arm, which are used to automatically print patterns or contrasting areas onto parts without overspray, that is, without droplets from a spray cloud of paint from a paint sprayer being deposited outside the area of the pattern to be painted. It is thus possible to paint the pattern or contrasting area without the need for prior preparation of the substrate, typically using self-adhesive masks.These print heads typically have a plurality of nozzles arranged to form a band of paint when the print head is moved over the surface to be painted.
[0003] In order to print a pattern on a part to be decorated or painted, for example, a car body, it is known to generate a trajectory from the CAD (Computer-Aided Design, 3D model of the part) file of the part to be coated. A reference trajectory for the robot and each nozzle of the print head is defined relative to the CAD model of the part and relative to the positioning of this CAD model of the part within a 3D model of the coating cell, i.e., the area of the production line in which the pattern printing step is performed. The trajectory defines the points of passage of the print head relative to the part and also includes activation instructions for each of the print head nozzles. The trajectory is defined to move the print head relative to the area to be painted in order to print the desired pattern onto the area to be painted.
[0004] Conventionally, the trajectories comprise a plurality of parallel lines along which the print head is moved, and the activation of the nozzles during this movement leads to the deposition of a strip of paint. The spacing between the parallel lines is configured to both limit excessive overlap of the paint strips, in order to limit the use of paint, and absolutely avoid any gaps between the strips, which would leave an uncovered area on the design.
[0005] The CAD model of the part is therefore associated with printing trajectories specifically defined according to the geometry of the part and the areas to be treated.
[0006] In reality, the manufactured part exhibits dimensional deviations from the CAD model. These deviations can be significant with respect to the precision required for printing, potentially reaching an order of magnitude of several millimeters on an extended part, such as a car hood or roof. Furthermore, there may be a discrepancy between the actual position of the part in the coating cell and the theoretical position of the part in the 3D model of the cell.
[0007] In addition to degrading the perceived quality of the printed pattern, these deviations can lead to incorrect positioning of the patterns relative to the reference points defined on the part for positioning the pattern, for example, style lines that must coincide with an edge of the surface to be painted. This can also generate a risk of collision between the robotic arm and the part to be painted, potentially resulting in destruction of the part and damage to the robot. Indeed, to avoid overspray, the print heads are designed to be moved at a very short distance from the parts to be painted. If the part arrives in the painting cell incorrectly positioned due to a malfunction in the production line, there is therefore a risk of collision between the part and the robot. It is therefore necessary to be able to adapt to the geometry of part 2 and its positioning in space.
[0008] A document WO2020 / 225350 proposes a solution consisting of locally recording all deviations by direct measurement on the component to be painted by performing a measurement step with the painting robot. During the measurement step, the same robot movement is nominally performed as for the paint application. This implies that the robot's behavior and the influence of all errors during measurement and application are identical. The exact cause of a positioning error, for example, deviations in the component's position, the component's shape, or positioning errors related to the robot's or component's temperature, are irrelevant, because the measured value for each measurement point reflects the sum of all errors at the respective point. However, such a method requires calculating a new paint path for each measured part. Furthermore, the measurement process consumes time and energy.Furthermore, the results of each measurement operation are not reusable because they are only associated with the specific part. This process also does not protect against the risk of collision between the part and the robot. Indeed, since the trajectory of the measurement step is identical to the trajectory of the painting step, the robot can collide with the part. with the part if it is incorrectly positioned.
[0009] There is therefore a need to propose an adaptation of processing trajectories adapted to real parts, which makes it possible to avoid any risk of collision between the part and the robot and which is energy efficient. Summary of the invention
[0010] It is observed that there is a need for an adaptation of processing trajectories adapted to real parts, which makes it possible to avoid any risk of collision between the part and the robot and which is energy efficient.
[0011] According to a first aspect of the invention, this need is met by proposing a method for painting a part using a painting robot comprising a robotic arm equipped with a paint spraying device, the method comprising a step S1 of modeling a realistic 3D model including paint trajectory information, and a paint spraying step S2 during which the paint spraying device is moved along the paint trajectory relative to the part, step S1 comprising the steps of: • S10: Determination of the reference coordinates of at least three model characteristic points on a nominal 3D model of the part to be painted, the coordinates of the model characteristic points being expressed in a reference frame; • S20: Detection of at least three actual characteristic points on the part, the actual characteristic points corresponding respectively on the part to one of the model characteristic points determined on the nominal 3D model during step S10; • S30: Transposition of the coordinates of the real characteristic points and of the coordinates of the model's characteristic points in a common frame of reference, for example the reference frame; • S40: Generation of a realistic 3D model corresponding to the part as deformed and positioned in a paint cell, by applying stress simulations to the nominal 3D model causing deformations so as to move the model characteristic points to the respective coordinates of their corresponding real characteristic point, so as to match the position of the model characteristic points relative to the nominal 3D model with the position of the real characteristic points relative to the realistic 3D model.
[0012] Optionally, but advantageously, the process includes the following features, taken alone or in combination:
[0013] Step S20 of detecting actual characteristic points on the part includes: • a substep S21 for acquiring an image of the part, and • a sub-step S22 of image analysis to detect characteristic points actual part characteristics, the actual characteristic points (Pr) recorded being the same distinctive visual elements of the part as the distinctive visual elements of the nominal 3D model which are considered as the model characteristic points, and • a sub-step S23 of measuring the coordinates of the actual characteristic points;
[0014] the image analysis substep S22 is advantageously implemented using an algorithm trained by an artificial intelligence process;
[0015] During substep S23, the actual characteristic points are associated with coordinates in a measurement system frame, and wherein the identification step S30 comprises: • a transposition substep S31 during which the coordinates of the actual characteristic points expressed in the measurement system frame and the coordinates of the model characteristic points of the nominal 3D model expressed in the reference frame will be expressed in the same common frame, and • a substep S32 of calculation of a part coordinate system configured to assign to a real characteristic point coordinates in the part coordinate system substantially equivalent to the coordinates in the reference coordinate system of the associated model characteristic point, this substep allowing to identify the transformation matrix of the reference coordinate system to the part coordinate system;
[0016] Step S40 of generating a realistic 3D model includes: • A gap estimation substep S41 is performed, during which the following are compared: • the coordinates of the actual characteristic points expressed in the part coordinate system and • the coordinates of the model characteristic points expressed in the reference frame, so as to associate a plurality of displacement vectors (Vd) between each model characteristic point and the corresponding real characteristic point, thus obtaining a displacement field, and • a stress simulation sub-step S42 is then carried out by applying deformations to the 3D model of the part in order to minimize the positional differences between the characteristic points of the 3D model and those of the part, in order to generate the realistic 3D model corresponding to the part as deformed;
[0017] the method further includes step S50 of assigning an assigned trajectory for the print head, the assigned trajectory being selected to match the realistic 3D model in order to adapt the trajectories of the print head to the deformations of the part;
[0018] Step S50 includes a trajectory generation substep S51 configured to generate a generated trajectory adapted to the realistic 3D model;
[0019] The method further includes a recording substep S52 during which each trajectory generated during the trajectory generation substep S51 is then recorded in a database, associated with the realistic 3D model, and a comparison substep S53 carried out after the model generation step S40, configured to compare the realistic 3D model obtained by executing the model generation step S40 with the realistic 3D models recorded in the database, so that if the realistic 3D model obtained following the execution of the model generation step S40 substantially corresponds to an entry in the database, the generated trajectories associated with this entry are applied to the realistic 3D model during the execution of the painting step S2 of the part;
[0020] the comparison substep S53 is carried out before the trajectory generation substep S51;
[0021] the process further includes a certification substep S54 which is carried out before the execution of the recording substep S52, during which the generated trajectory calculated during the trajectory generation substep S51 is checked to verify that this generated trajectory does not involve a collision between the painting robot and the part;
[0022] The process further includes a quality control step S60 configured to detect a defect on a part or a production line, during which the displacement field measured during substep S41 is compared with error detection thresholds, so as to detect a defect on the part, and / or the components of the transformation matrix obtained through substep S32 are compared with error detection thresholds, so as to detect a positioning defect of the part and therefore a defect on the production line.
[0023] According to another aspect, the invention relates to a computing unit comprising a memory and a processor, the memory comprising a program configured to implement a painting process according to the invention when executed by the processor.
[0024] According to another aspect, the invention relates to a computer program product comprising code data configured to, when executed by a processor or computing unit, enable the implementation of a method according to the invention.
[0025] According to another aspect, the invention relates to a painting robot comprising a robotic arm equipped with a paint projection device including a print head, an acquisition system including an optical device and a measurement system, the painting robot being configured to be controlled by means of a control station including a computing unit according to the invention, so as to implement a process according to the invention. BRIEF DESCRIPTION OF THE FIGURES
[0026] Other features and advantages of the invention will become clear from the description given below, by way of example and not limitation, with reference to the accompanying figures, among which:
[0027] Fig. 1 is a schematic representation of a painting process according to the invention;
[0028] Fig. 2 is a schematic representation detailing step S20 of a painting process according to the invention;
[0029] Fig. 3 is a schematic representation detailing step S30 of a painting process according to the invention;
[0030] Fig. 4 is a schematic representation detailing step S40 of a painting process according to the invention;
[0031] Fig. 5 is a schematic representation detailing step S50 of a painting process according to the invention;
[0032] Figure 6 represents a painting robot conforming to one aspect of the invention;
[0033] Figure 7 is a schematic representation illustrating a 3D model nominal and a realistic 3D model obtained by means of a process according to the invention. DETAILED DESCRIPTION
[0034] The invention relates to a method 1 for painting a part 2 using a painting robot 3 comprising a robotic arm 4 equipped with a paint projection device 5, the method 1 comprising, prior to a paint projection step S2 by moving the paint projection device 5 along a paint trajectory in relation to a part to be painted, a step SI of modeling a realistic 3D model 3Dr corresponding to a part 2 on a production line, during an industrial process, based on a nominal 3D model 3Dn of the part and measurements taken on the part 2 on the production line, preferably when the part is positioned in a paint cell before carrying out the painting step.
[0035] The paint projection device 5 preferably includes a print head, but may alternatively include a sprayer.
[0036] The nominal 3D model 3Dn is understood to be the model of the part defined during the product design, with its nominal dimensions. It may be a CAD model, that is to say a computer file modeling the part.
[0037] The nominal 3Dn model of the part is modeled and positioned in a reference frame RI linked to the nominal 3Dn model, so that the points of the nominal 3Dn model of the part all have reference coordinates in the reference frame RI.
[0038] The realistic 3Dr model is configured to represent part 2 in the workshop, and therefore includes the geometric defects and positioning defects of part 2.
[0039] Such an SI step in modeling a realistic 3D model 3Dr comprises the steps of: • S10: Determination of the reference coordinates Cr of at least three points model characteristics Pm on the nominal 3D model 3Dn of the part to be painted, the reference coordinates Cr of these model characteristic points Pm being expressed in the reference frame RI; • S20: Detection of at least three actual characteristic points Pr on part 2, the actual characteristic points Pr corresponding respectively to the characteristic points determined during the SI step; • S30: Identification of the position and orientation of part (2) relative to the painting robot (3); • S40: Generation of a realistic 3D model (3Dr), that is, a 3D model of the part corresponding to part 2 as deformed and positioned on the production line, by applying to the nominal 3D model 3Dn simulations of stresses causing deformations, for example stretching, twisting, bending, so as to move the model characteristic points Pm towards the respective coordinates of their corresponding real characteristic point Pr, in other words so as to match the position of the model characteristic points Pm relative to the nominal 3D model 3Dn with the position of the real characteristic points Pr relative to the realistic 3D model 3Dr.
[0040] Such a process is implemented by automated computing means, by means of a computer program comprising code data which, when executed by a processor, allows the implementation of the SI modeling step.
[0041] The invention therefore also relates to a computing unit 6 comprising a memory 7 and a processor 8, the memory comprising the program configured to implement the SI modeling step, the processor 8 being configured to implement the program so as to carry out the SI modeling step.
[0042] The painting robot 3 can be equipped with the computing unit 6, or alternatively the computing unit 6 can be remote, for example integrated into a control station of the painting robot 3, or integrated into a remote computer.
[0043] The realistic 3Dr model obtained by means of the SI modeling step can then be used to carry out different processes.
[0044] In a painting process 1, in particular a process for printing a pattern on a part implemented by means of the painting robot 3 equipped with a paint printing head 9 comprising a plurality of paint projection nozzles that can be controlled independently of each other, the realistic 3D model 3Dr can be used to calculate a new trajectory of the printing head 9, and new nozzle activation commands that define an application trajectory.
[0045] During the determination step S10, characteristic model points Pm are understood to be points of the nominal 3D model 3Dn which will be used to represent the position and geometry, or deformation, of the part 2. They are chosen to be easily detectable by means of optical sensors and image analysis processes, and are advantageously positioned on relevant areas of the part depending on the use made of the realistic 3D model 3Dr of the part.
[0046] The choice of characteristic points, particularly their number and position on the part, depends on the desired outcome: registration of the coordinate system or calculation of deformation. The characteristic points can be part extremities, part corners, segment midpoints, style lines, edges, holes, vertices, or any point easily detectable by image recognition. This improves the accuracy of step S20, which detects the actual characteristic points Pr on part 2.
[0047] However, it is necessary to identify at least three non-aligned characteristic points in order to deduce the orientation of part 2. A greater number of points increases the calculation but improves the accuracy of the SI modeling step.
[0048] When used to detect a defect in a part, in a quality control process, it is, for example, more relevant for certain characteristic points to be located on the weakest or least rigid areas of the part, which are more prone to concentrating defects than solid parts. This improves the reliability of defect detection.
[0049] In an application to adapt a painting robot trajectory, it is more relevant to choose certain characteristic points on the area to be painted, which will allow for a more precise evaluation of the position and geometry defects of this area.
[0050] Step S20 of detecting actual characteristic points Pr on part 2 includes a sub-step S21 of acquiring an image of part 2, carried out by means of an acquisition device 10, comprising an optical device 11 for example a 3D scanner or a camera, associated or not with a projection device 12 of a luminous pattern by LED or LASER.
[0051] Preferably, the image acquisition device includes a binocular optical device 11 and a projection device 12 of a light pattern, which makes it easier to detect particular points, for example reliefs.
[0052] A second image analysis substep S22 is then performed to detect the actual characteristic points Pr of the part. Advantageously, the image analysis substep S22 is implemented using an algorithm trained by an artificial intelligence process. Thus, at each new detection step S20, the images of the detected actual characteristic points Pr are stored in a database for training the image analysis algorithm. This improves the robustness of the actual characteristic point Pr detection step S20, enabling it to detect the actual characteristic points Pr even in cases of deformation or positioning errors not previously encountered.
[0053] The actual characteristic points Pr identified are the same distinctive visual elements of part 2 as the distinctive visual elements of the nominal 3D model 3Dn, which are considered to be the model characteristic points Pm. Each actual characteristic point Pr therefore corresponds to a model characteristic point Pm.
[0054] A substep S23 of measuring the coordinates of the actual characteristic points Pr is then carried out using the acquisition device 10. The acquisition device 10 comprises a measuring system 13, for example a 3D scanner, a laser measuring system, or an optical device, associated with a measuring system frame R2. The measuring system 13 associates the actual characteristic points Pr with coordinates in the measuring system frame R2.
[0055] The identification step S30 is then carried out, comprising a transposition substep S31 during which the coordinates of the actual characteristic points Pr in the measurement system frame R2 and the coordinates of the model characteristic points Pm of the nominal 3D model 3Dn expressed in the reference frame RI are expressed in the same common frame. This can be the reference frame RI or the robot frame R0.
[0056] During the measurement substep S23, the acquisition device 10 measures the coordinates of real characteristic points Pr of the part 2 and expresses these coordinates in the measurement system frame R2.
[0057] The coordinates of the actual characteristic points Pr are transposed from the measurement system frame R2 into a robot frame R0.
[0058] Indeed, the control / command of the painting robot 3 involves knowing the position of painting robot 3 in robot reference RO.
[0059] The position of each point of the painting robot 3 is therefore known at all times in the robot frame RO.
[0060] The position and orientation of the measuring system 13, mounted on the painting robot 3, is therefore known at all times in the robot frame R0. During the measurement substep S23, the measuring system 13 evaluates the position of a real characteristic point Pr relative to the measuring device 13. By knowing the position and orientation of the measuring system 13 in the robot frame R0 and by knowing the position of a real characteristic point Pr relative to the measuring system 13, the position of the real characteristic point Pr in the robot frame R0 can be calculated.
[0061] In the nominal 3Dn model of the part to be processed, the coordinates of each point of the part are expressed in the reference frame RI, which is a reference frame linked to the nominal 3Dn model.
[0062] The coordinates of the characteristic points model Pm of the nominal 3D model 3Dn of the part to be processed are therefore expressed in the reference frame RL
[0063] The reference frame RI is implemented in the robot frame R0, which allows the coordinates of a point of the reference frame RI to be expressed in the robot frame R0. In other words, a first transformation matrix M10 from the reference frame RI to the robot frame R0 is known.
[0064] Indeed, the robot frame R0 is configured to perform the control of the painting robot 3. The painting robot 3 is programmed, and its operation is modeled and simulated in a painting cell model. To program the operation of the robot model in the painting cell model, the robot model is associated with a model frame Rm. For the operation of the robot model to be reproduced by the painting robot 3 in the painting cell, it is necessary to be able to transpose any coordinate of the model frame Rm into the robot frame R0. A second transformation matrix MmO from the model frame Rm to the robot frame R0 is therefore known.
[0065] In practice, a calibration step advantageously allows the origins of the model frame Rm and the frame R0 to be associated so that the robot frame R0 can be used as a common reference between the model of the paint cell and the real paint cell.
[0066] The position of the nominal 3D model 3Dn, and therefore of the reference frame RI, in the workshop model is defined by design and is thus well known. A third transformation matrix Mlm from the reference frame RI to the model frame Rm is therefore known.
[0067] It is therefore possible to express in a common coordinate system the coordinates of the model characteristic points Pm and the coordinates of the actual characteristic points Pr, by for example the reference frame RI or the robot frame RO.
[0068] A substep S32 for calculating a part coordinate system R3 is then carried out, during which a part coordinate system R3 is calculated from pairs of characteristic points. A pair of characteristic points associates a model characteristic point Pm and the corresponding real characteristic point Pr. This step can be carried out by different methods, for example by combining a centroid method and a least squares method, or a pseudo-inverse method. The part coordinate system R3 thus calculated is configured to assign to a real characteristic point Pr coordinates in the part coordinate system R3 that are substantially equivalent to the coordinates in the reference frame RI of the associated model characteristic point Pm.
[0069] In other words, the part reference R3 is calculated to be the equivalent for part 2 of the reference reference RI for the nominal 3Dn model.
[0070] The part reference R3 will then be expressed in the robot reference R0.
[0071] This step allows the transformation matrix Mt to be identified from the reference frame RI to the part frame R3 in the robot frame R0. The coefficients of the transformation matrix Mt therefore translate the rotations and translations of the part frame R3, and therefore of part 2, with respect to the reference frame RI, and therefore to the nominal 3D model 3Dn.
[0072] More specifically, this allows the position and orientation of part 2 to be identified in relation to the painting robot 3.
[0073] This then allows the trajectories of the print head 9 to be moved according to the position and orientation of the part 2, so that the path traveled by the print head 9 with respect to the part 2 is identical to the trajectory defined for the realistic 3Dr model.
[0074] In an embodiment applied to painting a part of an automobile body, the coordinates of the points of the different parts of the nominal 3D model 3Dn are expressed in a reference frame linked to the nominal 3D model 3Dn of the vehicle, which then serves as the reference frame. The transformation matrix from the reference frame RI to the robot frame R0 is known and allows the coordinates of the points of the nominal 3D model 3Dn of the vehicle to be expressed in the robot frame R0.
[0075] The coordinates of the model characteristic points Pm of the vehicle, expressed in the reference frame RI, are thus expressed in the robot frame R0.
[0076] A measurement step identifies the coordinates of the actual characteristic points Pr in the robot frame. Each actual characteristic point Pr is then associated with a corresponding model characteristic point Pm to form pairs of characteristic points. A calculation step for an actual frame is then performed, which subsequently allows the trajectories of the print head defined in the nominal 3D model 3Dn to be transposed to part 2.
[0077] During the realistic model generation step S40, a deviation estimation substep S41 is performed, during which the following are compared: • the coordinates of the actual characteristic points Pr expressed in the part coordinate system R3 and • the coordinates of the model characteristic points Pm expressed in the reference frame RI.
[0078] By comparing an absolute position difference, in the same frame of reference, between a real characteristic point Pr and a model characteristic point, the position difference obtained can have several origins: a deformation of the part 2 with respect to the nominal 3D model 3Dn, or a positioning or orientation of the part 2 with respect to the robot different from the positioning or orientation of the nominal 3D model 3Dn with respect to the robot.
[0079] By first performing substep S32 of calculation of a real frame linked to part 2, here the frame part R3, and by expressing the coordinates of the real characteristic points Pr in the frame part R3, this makes it possible to remove the orientation and displacement components of part 2 from the coordinates of the real characteristic points Pr measured on part 2.
[0080] The positional differences that remain between a model characteristic point Pm and the corresponding real characteristic point Pr are therefore considered as deformations of part 2.
[0081] This gap estimation substep S41 thus makes it possible to associate a plurality of displacement vectors Vd between each model characteristic point Pm and the corresponding real characteristic point Pr, which makes it possible to obtain a displacement field Cd.
[0082] A stress simulation substep 42 is then performed by applying deformations to the 3D model of the part in order to minimize the positional differences between the characteristic points of the 3D model and those of the part 2. In other words, deformations of the 3D model are simulated by applying forces to it in order to reproduce the measured displacement field Cd. This makes it possible to generate a realistic 3D model 3Dr, exhibiting a geometry substantially identical to that of the part 2.
[0083] The nominal 3D model 3Dn is thus modified to generate a realistic 3D model 3Dr corresponding to the part 2 to be painted.
[0084] A step S50 of assigning new trajectories for the print head 9 is then carried out, in order to adapt the trajectories of the print head 9 to the deformations of the part 2.
[0085] The nominal 3D model 3Dn includes print head trajectory information 9, or print trajectory T0, as well as activation information associated with each point or segment of this printing path TO, the activation information represents the activation of each of the print head nozzles for each point or segment of the printing path T.
[0086] During step S50, a new trajectory, or assigned trajectory Tl, and the associated nozzle activation information will be selected to match the realistic 3D model 3Dr. Several methods can be used to select these trajectories.
[0087] A trajectory generation substep S51 can be performed in order to generate a trajectory generated T2 adapted to the realistic 3D 3D model 3Dr.
[0088] The implementation of such a T51 generation substep is described in detail in patent application FR2006334, and will not be described in detail here.
[0089] This application FR2006334 describes the implementation of the following successive steps, carried out by a computer and consisting of: • a) define, by an automatic calculation from the computer file modeling the surface to be covered, a slice of the surface to be covered; • b) define, by an automatic calculation and by iterations, a trajectory with respect to the slice of surface to be coated, this trajectory being formed of a succession of remarkable points to be reached by a determined point of the print head with, at each remarkable point, an orientation of the print head to be respected; • c) remove, by calculation, the section to be covered from the computer file modeling the surface to be covered; • d) repeat from step a) until the modeled surface to be covered has zero area; • e) define a program for activating the print head nozzles on each path; and
[0090] During the execution of substep S51, the trajectory generation process, steps a) to e), starting from simple elements identified at the periphery of a surface to be coated, such as points, segments, or edges, define, from a 3D model of the surface to be coated, a three-dimensional trajectory of the robot solely based on the surface to be coated, by making back-and-forth movements with a print head. This also allows for the automatic generation of the print head nozzle activation program, in order to apply the coating product to the surface to be coated, precisely where it needs to be applied and with the correct orientation of the print head.
[0091] Application FR2006334 also describes that:
[0092] Step b) comprises successive substeps consisting of: • bA) define by iterations a portion of the surface slice to be coated; • bB) calculate an impact point on the portion defined in substep bA) and an orientation axis of the print head at the impact point; • bC) remove, by calculation, a fraction of the slice of surface to be covered; • bD) repeat from step bA) until the surface slice to be coated or of zero area; • bE) generate a portion of the trajectory corresponding to one pass of the print head along the edge to be coated; and • bF) depending on the width of a beam of coating product from the print head and a width of the edge to be coated, generate where appropriate a part of the trajectory corresponding to a return or an additional forward movement of the print head along the edge to be coated.
[0093] When the surface to be coated includes at least one area not to be coated, the process includes an additional step, carried out between steps b) and c), consisting of: • g) adapt the print head trajectory in relation to the area not to be coated, so as not to hit the object.
[0094] Step a) comprises at least successive substeps consisting of: • a) define a first orthogonal coordinate system having • the origin is a point selected by a user in an imaginary support surface located near the surface to be covered in a spatial representation using the computer file, or in the surface to be covered itself • for the height axis a normal to the support surface or to the surface at the origin point, • for the y-axis, the cross product of the altitude axis and an axis aligned with a user-selected feed direction, and • the x-axis is the cross product of the y-axis and the altitude axis • a2) Define a first normal vector and initialize its value as equal to a vector whose direction is the altitude axis of the first orthogonal coordinate system defined last; • a3) define, in the first orthogonal coordinate system, a first point as a point of the surface to be covered whose ordinate is the greatest in the first orthogonal coordinate system, among the points of the surface to be covered; • a4) define, in the first orthogonal coordinate system, a second point as a point on the surface to be coated located, relative to the first point, at a first distance measured along the ordinate axis and in a negative direction along this axis, this first distance being fixed according to the distribution of the nozzles on the print head; • a5) calculate a mean normal to a temporary slice of the surface at to cover defined between a first plane and a second plane perpendicular to the ordinate axis of the first orthogonal coordinate system and passing respectively through the first and second points • a6) compare the first normal and the mean normal; • a7) if the first normal and the mean normal are identified as different (different to step a6), • a71) redefine the first normal as equal to the mean normal; • a72) redefine the first orthogonal coordinate system taking into account this new normal first; • a73) implement substeps a3) to a6); • a8) if the first normal and the mean normal are identified as equal to step a6), define the section to be coated as equal to the temporary section of step a5).
[0095] Step b) comprises at least successive substeps consisting of: • bl) define a second orthogonal coordinate system having as its origin the first point, and as axes of abscissa, ordinate and height of the axes coincident with the axes of the first orthogonal coordinate system defined last, in step al) or in step a72); • b2) define a new x-axis as the x-axis of the second orthogonal coordinate system; • b3) define, in the second orthogonal coordinate system, an initial point as a point of the slice of surface to be covered whose abscissa is the smallest among the points of the slice; • b4) define, in the second orthogonal coordinate system, a cutting point as a point on the slice of surface to be covered located, relative to the initial point and along the new x-axis, at a given distance; • b5) calculate a mean normal distribution at a temporary portion of the slice the surface to be covered defined between a third plane and a fourth plane perpendicular to the new x-axis and passing respectively through the initial point and the cut point • b6) calculate a temporary longitudinal axis equal to the cross product normalized to the mean normal calculated in step b5) and to the opposite of the ordinate axis of the second orthogonal coordinate system; • b7) compare the new x-axis and the temporary longitudinal axis; • b8) if the new x-axis and the temporary longitudinal axis are identified as different in step b7), • b81) redefine the new x-axis as equal to the long axis temporary gitudinal; • b82) reimplement substeps b3) to b7) • b9) if the new x-axis and the temporary longitudinal axis are identified as equal in step b7), define a portion of the slice to be coated as equal to the temporary portion in step b5).
[0096] Step b) comprises at least successive substeps following substeps bl) to b9) and consisting of: • blO) calculate an orientation vector of the print head equal to the cross product of the new x-axis and the opposite of the y-axis of the second orthogonal coordinate system; • bl 1) define a point with center as a point located • at the midpoint between the orthogonal projections of the initial point and the cutting point onto a line passing through the initial point and with a direction vector equal to the new axis and • at a third distance from the initial point measured along the ordinate axis of the second orthogonal coordinate system and in a negative direction along this axis, this third distance being equal to half of the first distance; • bl2) define an impact point as the projection of the center point onto the portion of the surface slice to be coated along a straight line whose direction vector is the orientation vector of the print head; • b 13) if the point of impact exists, add the point of impact and the vector orientation of the print head in the trajectory.
[0097] The nozzles of the print head are arranged in parallel rows, while the abscissa, along the new x-axis of the second orthogonal frame, of the center point is equal to half the sum of the abscissas of the orthogonal projections of the initial point and the cut point onto a line passing through the initial point and with direction vector equal to the new axis and while the center point is offset, with respect to this line and in the opposite direction to that of the ordinate axis of the second orthogonal frame, by a distance measured along the ordinate axis and equal to half the product of the number of rows of nozzles and the distance between two of these rows.
[0098] If the point of impact of step bl2) does not exist, due to the absence of material on the surface slice to be coated along a straight line whose direction vector is the orientation vector of the print head and which passes through the center point, sub-steps Additional steps are implemented between substeps bl2) and bl3), which consist of: • b 14) find an extreme point of the portion of the slice to be coated whose position along an axis parallel to the orientation vector of the print head is furthest away in a direction opposite to this vector; • bl5) project the extreme point onto an axis passing through the center point and parallel to the orientation vector of the print head to define an alternative impact point; • bl6) assimilate the point of impact to the alternative point of impact for the portion of the slice to be coated during treatment.
[0099] Step b) comprises at least successive substeps following substeps b1) to b13) and consisting of: • b 18) reduce the surface area to be covered by a fraction of it, in particular the portion defined in step b9); • b 19) determine if the slice of surface to be covered has a non-zero area; • b20) if the result of the determination in step b19) is positive, set to new implementation of sub-steps b3) to b19).
[0100] Step b) comprises at least successive substeps following substeps b1) to b13) and consisting of: • b21) Define a print head axis vector at each point of impact as equal to the normalized cross product of the print head orientation vector at that point and the ordinate axis of the second orthogonal coordinate system; • b23) define a notable point to be reached from the point of impact, of the distribution of the nozzle(s) on the print head, of the head axis vector and of the ordinate axis of the second orthogonal coordinate system; • b24) include the notable point and the orientation vector of the head printing at the corresponding point of impact in the trajectory.
[0101] Step b) includes an additional substep of adding to the trajectory defined for each slice of the surface to be coated at least one entry point and / or at least one exit point, additional to those calculated in step b24) and / or step b) includes an additional substep of optimizing the number of notable points of the trajectory during which at least one notable point is removed, namely a notable point collinear with a point preceding it and with a point following it along the trajectory and whose orientation axis is parallel to the orientation axis of the point preceding it and with the orientation axis of the point following it along the trajectory.
[0102] Step b) includes a substep of determination, based on the width of a the beam of coating product from the print head and a width of the surface slice to be coated, the number of round trips of the print head to be made to coat the slice to be coated and, where applicable, one or more sections of the trajectory, following the first trip, are calculated by reversing the order of the notable points defined in step b22) for the previous trajectory section.
[0103] Substeps a71) to a73) or substeps b81) and b82) are implemented until a limit of iterations is reached.
[0104] From the trajectory defined in step b), the calculator calculates, for each nozzle of the print head, a distance to be coated or a distance not to be coated over a succession of advance steps of the print head.
[0105] Step e) comprises substeps consisting of: • el) discretize the movement of the print head, between notable points of a trajectory, by means of discretized positions; • e2) determine the existence of an impact point for each nozzle in each discretized position at substep el); • e3) calculate a distance to be paved or a distance not to be paved in each discretized position of the trajectory and, possibly, of the multiplying coefficients, as a function of the distance between a nozzle and a reference nozzle; And • e4) build a programming file for activating the nozzles along trajectories.
[0106] These elements are described in detail in application FR2006334 and we refer to its contents.
[0107] Advantageously, each trajectory generated T2 during the trajectory generation substep S51 is then recorded in a database, associated with the corresponding realistic 3Dr model, during a recording substep S52.
[0108] Advantageously, the assignment step S50 further includes a substep S53 of comparison to the 3D models recorded in the database listing the realistic 3Dr 3D models and their associated generated printing trajectory T2, the comparison substep S53 being carried out after the model generation step S40, and advantageously before the trajectory generation substep S51.
[0109] During the comparison substep S53, the realistic 3Dr model obtained by executing the model generation step S40 is compared with the realistic 3Dr models recorded in the database.
[0110] If the realistic 3D model 3Dr obtained following the execution of the model generation step S40 corresponds substantially to an entry in the database, the generated trajectories T2 associated with this entry are applied to the realistic 3D model 3Dr during the execution of the part painting step. This limits the calculation required to implement the process, avoiding the execution of the S51 trajectory generation substep if it is not necessary, thus saving time and energy.
[0111] The coordinates of the characteristic points of the realistic 3Dr model obtained following the execution of the S40 model generation step are compared with the coordinates of the characteristic points of the 3D model in the database, to obtain an error field Ce. It is understood that the coordinates of these points are expressed respectively in the part coordinate system R3 linked to the realistic 3Dr model on the one hand and to the 3D model in the database on the other, so as to compare only the geometric deviations related to deformations.
[0112] The correspondence between the realistic 3Dr model and the 3D model from the database is observed if each error is less than a first threshold established by the user according to the application constraints, and if the sum of the squares of all the errors is less than a second threshold defined by the user. The first and second thresholds are determined by the user according to the quality and performance constraints they wish to meet. The first threshold might, for example, be on the order of one-tenth of a millimeter, and the second threshold might, for example, be on the order of a millimeter.
[0113] If the realistic 3Dr model obtained following the execution of step S4 does not correspond to an entry in the database, a substep S51 of trajectory generation is executed in order to calculate a new printing trajectory corresponding to the realistic 3Dr model.
[0114] This trajectory generation substep S51 can be performed either "online," meaning the production line is stopped during the execution of the trajectory generation substep S51, or "offline," meaning the part is removed from the production line, allowing a new process to begin for the next part and maximizing the production line flow. Once the part is removed from the production line, a trajectory generation substep S51 is performed, and the calculated trajectories for this surface are recorded in the database during a database recording substep S52, along with the associated realistic 3Dr model, creating a new entry in the database.
[0115] Optionally, a certification substep S54 is performed before the execution of the recording substep S52, during which the generated trajectory T2 calculated during the trajectory generation substep S51 is checked to verify that this generated trajectory T2 does not involve a collision between the paint robot 3 and the part 2. The certification substep S54 can be performed by a operator by observing the implementation of the painting step using the generated trajectory T2, or by numerical simulation of the painting phase.
[0116] This allows only certified compliant trajectories to be recorded in the database, which limits the risk of part degradation during production.
[0117] It is also advantageous, during the trajectory generation substep S51, to impose waypoints on the robot to avoid any collision with the part, or to generate a tolerance space within which each point of the trajectory must be located. The tolerance space can, for example, be obtained by positioning two surfaces corresponding to the nominal 3Dn model of the part located at a given distance from each other, or by applying an orientation and position constraint to each trajectory point, for example, each generated trajectory point must have an orientation within a 45° opening cone, preferably a 20° opening cone with respect to a normal to the part at that generated trajectory point.
[0118] This makes it possible to impose constraints when generating a new trajectory which helps to avoid the risk of collision between the robot and the part.
[0119] Advantageously, a quality control step S60 can be carried out using the various elements calculated during the model generation process.
[0120] Different detection thresholds can for example be applied to two elements: the transformation matrix Mt of the reference frame determined during the substep S32 of calculating a part reference frame and the displacement field Cd determined during the substep of estimating deviations S41.
[0121] Comparably to the S53 comparison substep, the measured displacement field Cd is compared with error detection thresholds, configured such that if one of the vectors of the field exceeds an error detection threshold the part is considered non-conforming, and also the sum of the displacements is compared to a second detection threshold so as to declare the part non-conforming if the sum of the displacements exceeds this threshold.
[0122] The components of the transformation matrix Mt are compared to error detection thresholds: the translation components must each be less than one threshold, the sum of the translation components must be less than a second threshold, the rotation components must all be less than a third threshold, the sum of the rotation components must be less than a fourth threshold.
[0123] It is necessary to first compare the rotational components of the coordinate system transformation matrix; if the fault detection threshold of the sum of the rotational components is not reached, the fault detection thresholds of the rotational components are compared; if one of the thresholds is reached, the part is declared misaligned; this makes it possible to identify non-operation conforming to the production line.
[0124] The theoretical position of the part relative to the origin of the robot frame is known, therefore the theoretical translation associated with a rotation according to the rotation components of the frame transformation matrix can be calculated.
[0125] The translational components are then compared to the theoretical translation associated with the rotation. This yields positioning errors. The positioning errors are compared to error detection thresholds. If a threshold is reached, the part is declared mispositioned. This also allows for the detection of a fault in the operation of the production line.
[0126] The SI step of part modeling therefore allows, in addition to modeling the area to be painted on part 2 and the trajectory to be followed, for a quality control of the part to be performed by comparing the deformation at certain critical points with tolerance thresholds. This makes it possible to detect if the quality of a production line is deteriorating and to intervene accordingly.
[0127] This also makes it possible to detect the characteristic deformation of a production line and to directly apply a previously recorded paint trajectory corresponding to this characteristic deformation, which saves computing power by limiting the calculation of the paint trajectory.
Claims
Demands
1. A method (1) for painting a part (2) using a painting robot (3) comprising a robotic arm (4) equipped with a paint spraying device (5), the method (1) comprising, a step S1 of modeling a realistic 3D model (3Dr) including paint path information, and a paint spraying step S2 during which the paint spraying device (5) is moved along the paint path opposite the part (2), the step S1 comprising the steps of: - S10: Determination of the reference coordinates (Cr) of at least three model characteristic points (Pm) on a nominal 3D model (3Dn) of the part to be painted, the coordinates of the model characteristic points (Pm) being expressed in a reference frame (RI); - S20: Detection of at least three real characteristic points (Pr) on part (2), the actual characteristic points (Pr) corresponding respectively on part (2) to one of the model characteristic points (Pm) determined on the nominal 3D model (3Dn) during step S10 - S30: Transposition of the coordinates of the characteristic points real characteristics (Pr) and coordinates of the model characteristic points (Pm) in a common frame, for example the reference frame (RI); characterized in that the SI step further includes a step of: - S40: Generation of a corresponding realistic 3D model (3Dr) to the part (2) as deformed and positioned in a paint cell, by applying to the nominal 3D model (3Dn) stress simulations causing deformations so as to move the model characteristic points (Pm) towards the respective coordinates of their corresponding real characteristic point (Pr), so as to match the position of the model characteristic points (Pm) relative to the nominal 3D model (3Dn) with the position of the real characteristic points (Pr) relative to the realistic 3D model (3Dr).
2.
3.
4.
5. A method according to claim 1, wherein the step S20 of detecting actual characteristic points (Pr) on the part (2) comprises: - a substep S21 for acquiring an image of part (2), and - a substep S22 of image analysis to detect the actual characteristic points (Pr) of the part, the actual characteristic points (Pr) identified being the same distinctive visual elements of the part (2) as the distinctive visual elements of the nominal 3D model (3Dn) which are considered to be the model characteristic points (Pm), and - a sub-step S23 of measuring the coordinates of the real characteristic points (Pr). A method according to claim 2, wherein the image analysis substep S22 is advantageously implemented by means of an algorithm trained by an artificial intelligence method. A method according to any one of claims 2 to 3, wherein in substep S23 the actual characteristic points (Pr) are associated with coordinates in a measurement system frame (R2), and wherein the identification step S30 comprises: - a transposition substep S31 during which the coordinates of the actual characteristic points (Pr) expressed in the measurement system frame (R2) and the coordinates of the model characteristic points (Pm) of the nominal 3D model (3Dn) expressed in the reference frame (RI) will be expressed in the same common frame, and - a substep S32 of calculation of a part frame (R3) configured to assign to a real characteristic point (Pr) coordinates in the part frame (R3) substantially equivalent to the coordinates in the reference frame (RI) of the associated model characteristic point (Pm), this substep allowing to identify the transformation matrix (Mt) of the reference frame (RI) to the part frame (R3). Method according to claim 4, wherein the generation step S40 of a realistic 3D model (3Dr) includes: - a substep of deviation estimation S41 is carried out, during which are compared: • the coordinates of the real characteristic points (Pr) expressed in the part frame (R2) and • the coordinates of the model characteristic points (Pm) expressed in the reference frame (RI), so as to associate a plurality of displacement vectors (Vd) between each model characteristic point (Pm) and the corresponding real characteristic point (Pr), which makes it possible to obtain a displacement field (Cd), and - a substep of stress simulation S42 is then carried out by applying deformations to the 3D model of the part so as to reduce as much as possible the positional deviations between the characteristic points of the 3D model and those of the part (2), so as to generate the realistic 3D model (3Dr) corresponding to the part (2) as deformed.
6. A method according to any one of claims 1 to 5, further comprising step S50 of assigning an assigned trajectory (Tl) for the print head (9), the assigned trajectory (Tl) being selected to match the realistic 3D model (3Dr) in order to adapt the trajectories of the print head (9) to the deformations of the part (2).
7. A method according to claim 6, wherein step S50 comprises a trajectory generation substep S51 configured to generate a generated trajectory (T2) adapted to the realistic 3D model (3Dr).
8. A method according to claim 7, further comprising a recording substep S52 in which each trajectory generated (T2) during the trajectory generation substep S51 is subsequently recorded in a database, associated with the realistic 3D model (3Dr), and a comparison substep S53 performed after the model generation step S40, configured to compare the realistic 3D model (3Dr) obtained by performing the model generation step S40 with the realistic 3D models (3Dr) recorded in the database, such that if the realistic 3D model (3Dr) obtained following the execution of the S40 model generation step, which essentially corresponds to an entry in the database, the generated trajectories (T2) associated with this entry are applied to the realistic 3D model (3Dr) during the execution of the S2 painting step of the part.
9. Method according to claim 8 wherein the comparison substep S53 is carried out before the trajectory generation substep S51.
10. A method according to any one of claims 8 to 9, further comprising a certification substep S54 is carried out before the execution of the registration substep S52, during which the generated trajectory (T2) calculated during the trajectory generation substep S51 is checked to verify that this generated trajectory (T2) does not involve a collision between the paint robot (3) and the part (2).
11. A method according to any one of claims 4 and 5 to 10, further comprising a quality control step S60 configured to detect a defect on a part or a production line, during which the displacement field (Cd) measured during substep S41 is compared with error detection thresholds, so as to detect a defect on the part (2), and / or the components of the transformation matrix (Mt) obtained through substep S32 are compared with error detection thresholds, so as to detect a positioning defect of the part (2) and thus a defect on the production line.
12. Computing unit (6) comprising a memory (7) and a processor (8), the memory (7) comprising a program configured to implement a painting process (1) according to any one of claims 1 to 11 when executed by the processor (8).
13. Product computer program comprising code data configured to, when executed by a processor or computing unit, enable the implementation of a method according to any one of claims 1 to 11.
14. Painting robot (3) comprising a robotic arm (4) equipped with a paint projection device (5) comprising a print head (9), an acquisition system (10) comprising an optical device (11) and a measuring system (13), the painting robot (3) being configured to be controlled by means of a control station comprising a computing unit (6) according to claim 12, so as to implement a method according to any one of claims 1 to 11.