Process for painting workpiece comprising generating trajectory suitable for actual workpiece
Patent Information
- Application Number
- JP2022155443
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-09-30
- Filing Date
- 2022-09-28
- Publication Date
- 2025-08-28
AI Technical Summary
Conventional painting robots face challenges due to dimensional deviations between the CAD model and the actual workpiece, leading to poor pattern placement, increased risk of collisions, and inefficient energy consumption, as existing solutions like direct measurement require time and are not reusable.
A method involving the creation of a real 3D model of the workpiece by detecting feature points, applying stress simulation to match the actual shape, and adapting the printhead trajectory to minimize deviations, using AI image analysis and computational methods to generate and store optimized trajectories.
This approach reduces the risk of collisions, improves pattern quality, and enhances energy efficiency by adapting the painting process to the actual workpiece geometry, allowing for reusable and optimized trajectories.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the general technical field of automatic painting processes, and more particularly to the use of painting robots, and more specifically to painting robots equipped with painting print heads.
Background Art
[0002] Spray robots are conventionally known to include a robotic multi-joint arm and a sprayer attached to the arm and arranged to move facing the object to be painted or processed. Some painting robots include a print head attached to the end of the robotic arm, and the print head is used to print a painting pattern or a control zone in an automated manner and without "overspray", that is, without droplets generated from the cloud of paint sprayed by the paint sprayer depositing outside the zone of the pattern to be painted, onto the workpiece. Thus, it is possible to paint a pattern or a control zone without the need to prepare a support in advance using a conventional adhesive mask. This print head generally includes a plurality of nozzles arranged to form a band of paint when the print head is moved facing the surface to be painted.
[0003] A method is known for generating a trajectory from a CAD file (computer-aided design, 3D model of the workpiece) of the workpiece to be coated in order to print a pattern on the workpiece to be decorated or the workpiece to be painted such as a vehicle body. The reference trajectory of the robot and each nozzle of the print head are determined with respect to the arrangement of the CAD model of the workpiece in the CAD model of the workpiece and the 3D model of the coating cell, that is, the zone of the production line where the step of printing the pattern is performed. This trajectory defines the print head passing points with respect to the workpiece and further includes trajectory commands for each nozzle of the print head. This trajectory is defined to move the print head facing the printing zone in order to print the desired pattern in the printing zone.
[0004] Conventionally, the printhead track consists of multiple parallel lines along which the printhead moves, and the activation of the nozzle during this movement leads to the accumulation of paint streaks. The gaps between the parallel lines are configured to limit excessive overlap of the painted streaks in order to restrict paint usage, and to prevent gaps between streaks that leave uncoated zones on the pattern.
[0005] In this way, the CAD model of the workpiece is associated with a print path that is specifically defined according to the geometric shape of the workpiece and the zone to be processed.
[0006] In reality, manufactured workpieces have dimensional deviations from their CAD models. These deviations can be significant in relation to the accuracy required for printing; for example, in stretched workpieces such as car hoods or roofs, deviations can reach the order of several millimeters. Furthermore, there may be a discrepancy between the actual position of the workpiece within the coating cell and the theoretical position of the workpiece's CAD model within the cell's 3D model.
[0007] In addition to degrading the perceived quality of the printed pattern, this deviation can lead to poor pattern placement against established criteria on the workpiece for pattern placement, such as style lines that need to align with the edges of the surface being painted. This situation can further increase the risk of collision between the robot arm and the workpiece being painted, which can lead to workpiece damage and robot damage. In fact, to prevent overpainting, the print head is designed to move at a very short distance from the workpiece being painted. If a workpiece reaches a misplaced paint cell due to a production line malfunction, there is a risk of collision between the workpiece and the robot. Therefore, it is necessary to adapt to the geometric shape and spatial placement of the workpiece.
[0008] Patent Document 1 proposes a solution that involves recording all deviations locally by directly measuring the elements to be painted, thereby performing a measurement step in conjunction with a painting robot. During the measurement step, the same robot movements must nominally be performed so that the painting application is executed accurately. This means that the effects of the robot movements and all errors in measurement and painting are identical. Since the measurement value at each point reflects the sum of all errors at each point, deviations from the exact cause of placement errors, such as the position of the element, the shape of the element, or placement errors related to the robot or the temperature of the element, are irrelevant. However, this process requires calculating a new painting trajectory for each workpiece measured. Furthermore, the measurement process is time-consuming and energy-intensive. In addition, the results of all measurement operations are not reusable as they are only relevant to the workpiece in question. This process also does not protect against the risk of collision between the workpiece and the robot. In fact, since the trajectory of the measurement step is the same as the trajectory of the painting step, the robot may collide with the workpiece if it is mispositioned. [Prior art documents] [Patent Documents]
[0009] [Patent Document 1] International Publication No. 2020 / 225350
[0010] Therefore, it is necessary to propose an adapted processing trajectory that is energy-efficient, suitable for the actual workpiece, and can prevent the risk of collision between the workpiece and the robot. [Overview of the project]
[0011] It was found that the processing trajectory needs to be adapted to the actual workpiece, which prevents the risk of collision between the workpiece and the robot and improves energy efficiency.
[0012] According to a first aspect of the present invention, this need is satisfied by proposing the following method: A method for painting a workpiece using a painting robot equipped with a robotic arm fitted with a paint spraying device, comprising: a primary step S1 of modeling a real 3D model containing information about the painting trajectory; and a primary step S2 of spraying paint, in which the paint spraying device is moved along the painting trajectory facing the workpiece. The aforementioned primary step S1 comprises the following secondary step. S10: Coordinates of model feature points represented in a reference coordinate system, which determine the reference coordinates of at least three model feature points on the nominal 3D model of the workpiece to be painted. S20: At least three actual feature points on the workpiece are detected, each corresponding to one of the model feature points determined on the nominal 3D model during step S10. S30: Transpose the coordinates of the actual feature points and the coordinates of the model feature points into a common coordinate system such as the reference coordinate system. S40: A real 3D model corresponding to the workpiece that is deformed and placed in the paint cell is generated by applying a stress simulation to the nominal 3D model that causes deformation by moving the model feature points toward the respective coordinates of the real feature points so that the positions of the model feature points relative to the nominal 3D model coincide with the positions of the real feature points relative to the real 3D model.
[0013] As may be advantageous, the present invention, individually or in combination, has the following features:
[0014] The substep S20 for detecting actual characteristic points on the workpiece is, Substep S21 to acquire an image of the workpiece, Image analysis substep S22 for detecting the actual feature points of the workpiece, wherein the actual measured feature points are the same characteristic visual elements of the workpiece as the characteristic visual elements of the nominal 3D model determined to be the model feature points, The method includes a substep S23 for measuring the coordinates of the actual feature points.
[0015] The aforementioned image analysis substep S22 is advantageously implemented by an algorithm trained by artificial intelligence processing.
[0016] In the substep S23, the actual feature point is associated with a coordinate in the measurement system coordinate system, and in the specific secondary step S30, A transpose substep S31 in which the coordinates of the actual feature points represented in the measurement system coordinate system and the coordinates of the model feature points of the nominal 3D model represented in the reference coordinate system are represented in the same common coordinate system, A substep S32 for calculating a workpiece coordinate system configured to assign coordinates to actual feature points within the workpiece coordinate system, which is substantially equivalent to the coordinates of related model feature points in the reference coordinate system, wherein the calculation substep S32 makes it possible to identify a transformation matrix from the reference coordinate system to the workpiece coordinate system.
[0017] The substep S40 that generates a real 3D model is A deviation estimation substep S41 is performed in which the coordinates of the actual feature points, as represented in the workpiece coordinate system, are compared with the coordinates of the model feature points, as represented in the reference coordinate system, in order to associate a plurality of displacement vectors between each model feature point and the corresponding real feature point, thereby obtaining a displacement field. The method includes a stress simulation substep S42, which is performed following the deviation estimation substep S41, by applying deformation to the 3D model of the workpiece to minimize the positional deviation between the feature points of the 3D model and the positional deviation of the workpiece, in order to generate the actual 3D model corresponding to the deformed workpiece.
[0018] The primary step S1 of the modeling further includes a secondary step S50 of assigning a trajectory for the print head, and the assigned trajectory is selected to correspond to the actual 3D model in order to adapt the trajectory of the print head to the deformation of the workpiece.
[0019] The assigned secondary sub-step S50 includes a trajectory generation sub-step S51 configured to generate a generation trajectory suitable for the actual 3D model.
[0020] The assigned secondary step S50 includes a storage sub-step S52 in which each generated trajectory during the trajectory generation sub-step S51 is stored in a database associated with the actual 3D model, and when the actual 3D model obtained following the execution of the model generation step S40 substantially corresponds to an entry in the database, during the execution of the step S2 of painting the workpiece, a comparison sub-step S53, which is executed after the model generation step S40 and is configured to compare the actual 3D model obtained by executing the model generation step S40 with the actual 3D model stored in the database, so that the generation trajectory associated with the entry is applied to the actual 3D model.
[0021] The comparison sub-step S53 is executed before the trajectory generation sub-step S51.
[0022] The assigned secondary step S50 further includes an authentication sub-step S54 that is executed prior to the execution of the storage sub-step S52 while the generated trajectory calculated during the trajectory generation sub-step S51 is checked to confirm that the generated trajectory does not include a collision between the painting robot and the workpiece.
[0023] The primary step S1 is a quality control step S60 for detecting defects on the workpiece or production line, in which the displacement field measured during the sub-step S41 is compared with an error detection threshold to detect defects on the workpiece, and / or the components of the transformation matrix obtained in the sub-step S32 are compared with an error detection threshold to detect misalignment of the workpiece, and as a result, defects on the production line are detected. The method further includes the quality control step S60.
[0024] According to another aspect, the present invention relates to an arithmetic unit including a memory and a processor, the memory comprising a program configured to implement the painting method of the present invention when executed by the processor.
[0025] According to another aspect, the present invention relates to a computer program product including code data configured to implement the method according to the present invention when executed by a processor or a computing unit.
[0026] According to another aspect, the present invention relates to a painting robot comprising a robotic arm equipped with a paint spraying device having a print head and an acquisition system having an optical device and a measurement system, the painting robot being configured to be controlled by a control process including the arithmetic unit according to the present invention so as to implement the method according to the present invention.
[0027] Other features and advantages of the present invention will become apparent from the following description, by way of non-limiting example, with reference to the accompanying drawings.
Brief Description of the Drawings
[0028] [Figure 1] It is a schematic diagram of a painting method according to the present invention. [Figure 2] It is a schematic diagram showing in detail step S20 of the painting method according to the present invention. [Figure 3] It is a schematic diagram showing in detail step S30 of the painting method according to the present invention. [Figure 4] This is a schematic diagram showing step S40 of the painting method according to the present invention in detail. [Figure 5] This is a schematic diagram showing in detail step S50 of the painting method according to the present invention. [Figure 6] This figure shows a painting robot according to one aspect of the present invention. [Figure 7] This is a schematic diagram showing a nominal 3D model and a real 3D model obtained by the method according to the present invention. [Modes for carrying out the invention]
[0029] The present invention relates to a method 1 for painting a workpiece 2 using a painting robot 3 equipped with a robot arm 4 fitted with a paint spraying device 5, wherein, prior to the primary step S2 of paint spraying by moving the paint spraying device 5 along a painting trajectory facing the workpiece to be painted, the method comprises a primary step S1 in which, when the workpiece is placed in the painting cell before the painting step is performed, a real 3D model 3Dr corresponding to the workpiece 2 on the production line is modeled during the industrial process according to a nominal 3D model 3Dn of the workpiece and measurements taken on the workpiece on the production line.
[0030] The paint spraying device 5 is preferably equipped with a print head, but may also be equipped with an atomizer as an alternative.
[0031] A nominal 3D model (3Dn model) refers to a model of a workpiece with nominal dimensions defined during product design. It can be a CAD model, i.e., a computer file that models the workpiece.
[0032] The nominal 3D model 3Dn of the workpiece is modeled and placed within a reference coordinate system R1 linked to the nominal 3D model 3Dn; therefore, all points of the nominal 3D model 3Dn of the workpiece have reference coordinates within the reference coordinate system R1.
[0033] The actual 3D model 3Dr is configured to represent the workpiece 2 in the workshop and therefore includes geometric and positional defects of the workpiece 2.
[0034] The first step S1, which models a real-world 3D model 3Dr, includes the following second step. S10: Determine the reference coordinates Cr of at least three model feature points Pm on the nominal 3D model 3Dn of the workpiece to be painted, which are the coordinates of the model feature points Pm represented in the reference coordinate system R1. S20: At least three real feature points Pr on the workpiece 2 are detected, which correspond to the feature points determined in step S10. S30: Determine the position and orientation of the workpiece (2) relative to the painting robot (3). S40: A stress simulation is applied to the nominal 3D model 3Dn to cause deformation, e.g., stretching, twisting, bending, so that the model feature points Pm are moved toward the respective coordinates of their corresponding real feature points Pr, that is, so that the position of the model feature points Pm relative to the nominal 3D model 3Dn coincides with the position of the real feature points Pr relative to the real 3D model 3Dr, thereby generating a 3D model of the workpiece corresponding to the real 3D model 3Dr, i.e., the workpiece 2 that is deformed and placed on the production line. The adjective "primary" used to modify steps S1 and S2 means that, where appropriate, these steps are at a higher level than secondary steps such as steps S10 through S40. This relationship also applies to other secondary steps described below. Steps S1 and S2 can further be considered as main steps, while subsequent steps S10 through S40 and other steps are unit steps of the main step S1.
[0035] This method is carried out by automated computing means using a computer program that, when executed by a processor, contains code data that enables the first step S1 of modeling to be performed.
[0036] The present invention further relates to an arithmetic unit 6 including a memory 7 and a processor 8, wherein the memory comprises a program configured to perform a primary step S1 of modeling, and the processor 8 is configured to execute the program to carry out the primary step S1 of modeling.
[0037] The painting robot 3 may be equipped with a computing unit 6, or alternatively, the computing unit 6 may be offset, for example, by being integrated into the control station of the painting robot 3 or integrated into a remote computer.
[0038] The real-world 3D model 3Dr obtained by the first modeling step S1 can be used to perform different processes.
[0039] In painting method 1, in particular, in a method of printing a pattern on a workpiece using a painting robot 3 equipped with a paint print head 9 having multiple paint spray nozzles that can be controlled independently of each other, a real 3D model 3Dr may be used to calculate a new trajectory for the print head 9 and for new nozzle launch control that defines the application trajectory.
[0040] In the secondary step S10 of the decision, the model feature point Pm refers to a point in the nominal 3D model 3Dn used to represent the position and geometric shape or deformation of the workpiece 2. This point is selected so as to be easily detectable by optical sensors and image analysis processing, and is advantageously placed on the relevant zone of the workpiece, depending on how the actual 3D model 3Dr of the workpiece is used.
[0041] The selection of feature points, particularly their number and location on the workpiece, depends on the calculation of the coordinate system readjustment or deformation, which is the search target. Feature points can be workpiece ends, workpiece corners, division midpoints, line types, ends, holes, vertices, or any point that can be easily detected by image recognition. In this way, the accuracy of step S20 for detecting actual feature points Pr on the workpiece 2 can be improved.
[0042] However, in order to estimate the orientation of workpiece 2, it is necessary to measure at least three misaligned feature points. A larger number of points increases the computational burden, but improves the accuracy of the first step S1 of the modeling process.
[0043] In applications for detecting defects within workpieces during quality control processes, it is more appropriate to place specific feature points on the most vulnerable zone or the zone with the least rigidity of the workpiece, where defects are more likely to be concentrated than in a solid workpiece. This improves the reliability of defect detection.
[0044] In applications of aligning the trajectory of a painting robot, selecting specific feature points on the zone to be painted is more appropriate, as this will result in a more accurate assessment of the zone's location and geometric defects.
[0045] The secondary step S20 for detecting actual feature points Pr on the workpiece 2 includes a substep S21 for acquiring an image of the workpiece 2, which is performed by an acquisition device 10 equipped with an optical device 11 such as a 3D scanner or camera, regardless of whether or not it is associated with an apparatus 12 for illuminating the workpiece 2 with a light pattern using an LED or laser.
[0046] Preferably, the image acquisition device comprises a binocular optical device 11 and a device 12 for illuminating a light pattern that can facilitate the detection of specific points, such as reliefs.
[0047] Next, a secondary substep S22 of image analysis is performed to detect actual feature points Pr of the workpiece. This substep S22 is advantageously implemented by an algorithm trained by an artificial intelligence process. Therefore, for each newly performed secondary detection step S20, the image of the detected actual feature points Pr is stored in a database that enables the image analysis algorithm to be trained. In this way, the robustness of the secondary step S20 for detecting actual feature points Pr can be improved, making it easier to detect actual feature points Pr even in cases of deformation or misalignment that have not been encountered before.
[0048] The measured actual feature points Pr are characteristic visual elements of the workpiece 2 that are the same as the characteristic visual elements of the nominal 3D model 3Dn, which are identified as model feature points Pm. Therefore, each actual feature point Pr corresponds to a model feature point Pm.
[0049] A substep S23 is performed using the acquisition device 10 to measure the coordinates of the actual feature point Pr. The acquisition device 10 includes a measurement system 13, such as a 3D scanner, laser measurement system, or optical device, associated with the measurement system coordinate system R2. The measurement system 13 associates the actual feature point Pr with the coordinates of the measurement system coordinate system R2.
[0050] The term "substep" used to modify substeps S22 to S23 means that the substep is at a lower level than the secondary step 20 to which it belongs. In this sense, the substep is a tertiary step with respect to the primary and secondary steps. This relationship also applies to the other substeps and secondary steps to which they belong, as described below in this specification.
[0051] Next, a specific secondary step S30 is performed, which includes a transpose substep S31 in which the coordinates of the actual feature point Pr in the measurement system coordinate system R2 and the coordinates of the model feature point Pm of the nominal 3D model 3Dn, represented in the reference coordinate system R1, are expressed in the same common coordinate system. The same applies to the reference coordinate system R1 or the robot coordinate system R0.
[0052] During the measurement substep S23, the acquisition device 10 measures the coordinates of the actual characteristic points Pr of the workpiece 2 and represents them in the measurement system coordinate system R2.
[0053] The coordinates of the actual feature point Pr are transposed from the measurement system coordinate system R2 to the robot coordinate system R0.
[0054] In fact, controlling the painting robot 3 involves knowing the position of the painting robot 3 within the robot coordinate system R0.
[0055] Therefore, the position of each point on the painting robot 3 can be known at any point in the robot coordinate system R0. In this way, the position and orientation of the measurement system 13 mounted on the painting robot 3 are always known in the robot coordinate system R0.
[0056] During the measurement substep S23, the measurement system 13 evaluates the position of the actual feature point Pr relative to the measurement system 13. By knowing the position and orientation of the measurement system 13 in the robot coordinate system R0, and by knowing the position of the actual feature point Pr relative to the measurement system 13, the position of the actual feature point Pr in the robot coordinate system R0 can be calculated.
[0057] In the nominal 3D model 3Dn of the workpiece being processed, the coordinates of each point of the workpiece are represented within the reference coordinate system R1, which is a coordinate system linked to the nominal 3D model 3Dn.
[0058] Therefore, the coordinates of the model feature points Pm of the nominal 3D model 3Dn of the workpiece being processed are represented within the reference coordinate system R1.
[0059] The reference coordinate system R1 is implemented within the robot coordinate system R0, which allows the coordinates of points in the reference coordinate system R1 to be represented within the robot coordinate system R0. In other words, a first matrix M10 is known for converting from the reference coordinate system R1 to the robot coordinate system R0.
[0060] In fact, the robot coordinate system R0 is configured to control the painting robot 3. The painting robot 3 is programmed, and its movements are modeled and simulated within a paint cell model. To program the robot model's movements within the painting cell model, the robot model is associated with the model coordinate system Rm. To facilitate the repetition of the robot model's movements within the painting cell, it is necessary to transpose any coordinates in the model coordinate system Rm to the robot coordinate system R0. Thus, a second matrix Mm0 is known for transforming from the model coordinate system Rm to the robot coordinate system R0.
[0061] In practice, a calibration step is advantageously used to correlate the origin of the model coordinate system Rm with the origin of the coordinate system R0, so that the robot coordinate system R0 can be used as a common coordinate system between the model of the painted cell and the actual painted cell.
[0062] The position of the nominal 3D model 3Dn in the workspace model, and consequently the position in the reference coordinate system R1, is determined by the design and is therefore well known. Thus, a third matrix M1m is known for converting from the reference coordinate system R1 to the model coordinate system Rm.
[0063] This allows the coordinates of model feature points Pm and actual feature points Pr, such as the coordinates of the reference coordinate system R1 or the robot coordinate system R0, to be represented within a common coordinate system.
[0064] A substep S32 is performed to calculate the workpiece coordinate system R3, which is included in the secondary step S30 of the transposition. In substep S32, the workpiece coordinate system R3 is calculated from a pair of feature points. The pair of feature points associate a model feature point Pm with a corresponding real feature point Pr. This substep can be performed in various ways, for example, by combining the centroid method with the least squares method or the pseudo-inverse method. The workpiece coordinate system R3 thus calculated is configured to assign coordinates within the workpiece coordinate system R3 to the real feature point Pr, and the coordinates within the workpiece coordinate system R3 are substantially equal to the coordinates of the associated model feature point Pm in the reference coordinate system R1.
[0065] In other words, the workpiece coordinate system R3 is calculated to correspond to workpiece 2 in the reference coordinate system R1 for the nominal 3D model 3Dn.
[0066] Next, the workpiece coordinate system R3 is represented within the robot coordinate system R0.
[0067]
[0072] The above step identifies a transformation matrix Mt from the reference coordinate system R1 to the workpiece coordinate system R3 in the robot coordinate system R0. As a result, the coefficients of the transformation matrix Mt reflect the rotation and translation of the workpiece coordinate system R3, and therefore the workpiece 2, with respect to the reference coordinate system R1, and therefore to the nominal 3D model 3Dn.
[0068] More specifically, this method makes it possible to determine the position and orientation of the workpiece 2 relative to the painting robot 3.
[0069] In this way, the trajectory of the print head 9 can be moved according to the position and orientation of the workpiece 2, so the movement path of the print head 9 relative to the workpiece 2 is the same as the trajectory defined for the actual 3D model 3Dr.
[0070] In embodiments applied to the painting of workpieces on a vehicle body, the coordinates of points on different workpieces of a nominal 3D model 3Dn are represented in a coordinate system linked to the vehicle's nominal 3D model 3Dn, with the vehicle's nominal 3D model 3Dn serving as the reference coordinate system. A matrix for changing from the reference coordinate system R1 to the robot coordinate system R0 is known and can be used to represent the coordinates of points on the vehicle's nominal 3D model 3Dn in the robot coordinate system R0.
[0071] In this way, the coordinates of the vehicle's model feature point Pm, which are represented in the reference coordinate system R1, are represented in the robot coordinate system R0.
[0072] The measurement step is used to determine the coordinates of the real feature points Pr in the robot coordinate system. Next, each real feature point Pr is associated with a corresponding model feature point Pm in order to form a pair of feature points. Then, a step is performed to calculate the actual coordinate system, which allows the print head trajectory defined in the nominal 3D model 3Dn to be transposed onto the workpiece 2.
[0073] During the secondary step S40, which generates the real-world model, the deviation estimation substep S41 is performed as follows. The coordinates of the actual feature point Pr, represented in the workpiece coordinate system R3, are compared with the coordinates of the model feature point Pm, represented in the reference coordinate system R1.
[0074] By comparing the absolute positional deviation between actual feature points Pr and model feature points within the same coordinate system, the obtained positional deviation may have multiple origins, for example, the deformation of the workpiece 2 relative to the nominal 3D model 3Dn, or a position or orientation of the workpiece 2 relative to the robot that is different from the position or orientation of the nominal 3D model 3Dn relative to the robot.
[0075] By first performing substep S32, which calculates the actual reference associated with the workpiece 2, in this case the workpiece coordinate system R3, and by representing the coordinates of the actual feature point Pr in the workpiece coordinate system R3, the orientation and displacement components of the workpiece 2 can be removed from the coordinates of the actual feature point Pr measured on the workpiece 2.
[0076] Therefore, the positional deviation remaining between the model feature point Pm and its corresponding real feature point Pr is considered to be deformation of the workpiece 2.
[0077] The displacement field Cd can be obtained using a substep S41 that estimates such deviations to associate multiple displacement vectors Vd between each model feature point Pm and its corresponding real feature point Pr.
[0078] The stress simulation substep 42 is performed by applying deformation to the 3D model of the workpiece to minimize the positional deviation between the feature points of the 3D model and the feature points of the workpiece 2. In other words, the deformation of the 3D model is simulated by applying forces to reproduce the measured displacement field Cd. In this way, it is possible to generate a real 3D model 3Dr that has substantially the same geometric shape as the workpiece 2.
[0079] Thus, the nominal 3D model 3Dn is modified to generate the actual 3D model 3Dr corresponding to the workpiece 2 to be painted.
[0080] In order to adapt the trajectory of the print head 9 to the deformation of the workpiece 2, a secondary step S50 is performed in which a new trajectory is assigned to the print head 9.
[0081] The nominal 3D model 3Dn includes information about the print head trajectory 9, or information about the print trajectory T0, along with activation information associated with each point or segment of the print trajectory T0, where the trajectory information represents each activation of the print head nozzle for each point or segment of the print trajectory T.
[0082] During the secondary step S50, a new or assigned trajectory T1 and associated nozzle launch information are selected to match the 3D reality model 3Dr. Multiple methods can be used to select these trajectories.
[0083] To generate a suitable generated orbital T2 for the real-world 3D model 3Dr, the orbital generation substep S51 included in the secondary step S50 can be executed.
[0084] Such a generation substep T51 is described in detail in patent application FR-A-3111586, which is incorporated by reference and will not be described in detail here.
[0085] Application FR-A-3111586 describes the implementation of a series of steps performed by a computer, which consist of the following: (a) The categories of the surface to be coated are determined by automatic calculation from a computer file that models the surface to be coated. (b) By automatic calculation and iteration, a trajectory opposite to the section of the surface to be coated is determined, and the trajectory is formed by a series of points of interest reached by the printhead determination point, along with the orientation of the printhead observed at each point of interest. (c) The coated sections are removed from the computer file that models the surface to be coated by calculation. (d) Repeat step a) until the surface area of the modeled surface to be coated is zero. (e) Define the program for operating the printhead nozzles on each track.
[0086] During the execution of the trajectory generation substep S51, steps a) through e) are performed, starting from simple elements identified around the surface to be coated, such as points, segments, or edges, or definitions, provided by a 3D model of the surface to be coated, which allows the robot to generate a three-dimensional trajectory according to the surface to be coated by reciprocating the print head. In this way, an activation program for the print head nozzle can be automatically generated to apply the coated product to the surface to be coated with the product applied and the print head in the correct orientation.
[0087] Application FR-A-3111586 further explains the following:
[0088] Step b) consists of the following series of substeps. bA) Determined by repeating a portion of the surface to be coated. bB) Calculate the collision point on the section defined in substep bA) and the directional axis of the print head at the collision point. b) The calculation removes fragments from the surface to be coated. bD) Repeat step bA) until the surface area of the portion of the surface to be coated is zero. bE) To generate a portion of the trajectory corresponding to the outward movement of the print head along the coated section. and bF) Depending on the width of the coating product flow originating from the printhead and the width of the area to be coated, a portion of the trajectory corresponding to the return or additional outward movement of the printhead is generated along the area to be coated, as needed.
[0089] If the surface to be coated includes at least one uncoated zone, the process is performed between steps b) and c) and comprises an additional step consisting of the following steps. (g) Position the print head trajectory to align with the uncoated zone so that it does not come into contact with the object.
[0090] Step a) comprises a series of substeps consisting of at least the following steps. a1) Define a first Cartesian coordinate system having the following characteristics: In spatial representation using computer files, the origin of a user-selected point on a virtual support surface located near the surface being coated, or on the surface being coated as such. A height axis perpendicular to the support surface or its origin surface. The vertical axis is the vector product between the height axis and the axis aligned in the forward direction selected by the user. The horizontal axis is the vector product between the vertical axis and the height axis. a2) Define the first normal vector and initialize its value to be equal to the vector that represents the direction of the height axis of the first Cartesian coordinate system, which was defined just before. a3) In the first Cartesian coordinate system, a first point is defined as a point on the surface to be coated, and its y-coordinate is the highest point on the surface to be coated within the first Cartesian coordinate system. a4) In a first Cartesian coordinate system, a second point is defined as a point on the surface to be coated, located at a first distance from a first point, measured along the vertical axis and in the negative direction along the axis, wherein the first distance is set according to the distribution of nozzles on the print head. a5) Calculate the average normal for the provisional division of the surface to be coated, which is defined between the first plane and the second plane, which are perpendicular to the vertical axis of the first Cartesian coordinate system and pass through the first and second points, respectively. a6) Compare the first normal vector with the average normal vector. a7) If the first normal and the average normal are identified as different in step a6), a71) Redefine the first normal to be equal to the mean normal. a72) Redefine the first Cartesian coordinate system taking into account the new first normal. a73) Repeat substeps a3) through a6). a8) If the first normal and the mean normal are identified as equal in step a6), determine the division to be coated as equal to the provisional division in step a5).
[0091] Step b) comprises a series of substeps consisting of at least the following steps. b1) In step a1) or step a72), define a second Cartesian coordinate system with the first point as the origin, and whose horizontal, vertical, and height axes coincide with the axes of the first Cartesian coordinate system defined immediately before. b2) Define a new horizontal axis as the horizontal axis of the second Cartesian coordinate system. b3) In the second Cartesian coordinate system, the initial point is defined as a point on the segment of the surface to be coated, and its horizontal axis is lowest at the point on the segment. b4) In the second Cartesian coordinate system, a cutting point is defined as a point on the section of the surface to be coated, and this point is positioned at a predetermined distance from the initial point along the new horizontal axis. b5) Calculate the average normal for the provisional divisions of the surface to be coated, which are defined between a third plane and a fourth plane that are perpendicular to the new horizontal axis and pass through the initial point and the cutting point, respectively. b6) Calculate a hypothetical vertical axis that is equal to the normalized vector product between the mean normal calculated in step b5) and the opposite side of the vertical axis of the second Cartesian coordinate system. b7) Compare the new horizontal axis with the temporary vertical axis. b8) If it is determined in step b7) that the new horizontal axis and the temporary vertical axis are different, b81) Redefine the new horizontal axis as being equal to the temporary vertical axis. b82) Repeat substeps b3) through b7). b9) If the new horizontal axis and the provisional vertical axis are identified as the same in step b7), define a portion of the area to be coated so that it is equal to the provisional area in step b5).
[0092] Step b) comprises a series of substeps consisting of at least substeps b1) through b9) followed by the next step. b10) Calculate the print head direction vector, which is equal to the vector product between the new horizontal axis and the opposite side of the vertical axis in the second Cartesian coordinate system. b11) Determine the center point as a point located below this point. An intermediate point between the orthogonal projection of the initial point and a cutting point on the line passing through the initial point, where the direction vector is equal to the new axis. A third distance is measured from an initial point along the vertical axis of the second Cartesian coordinate system, and is in the negative direction along the axis, wherein the third distance is equal to half of the first distance. b12) The impact point is defined as the projection of the center point on the portion of the surface being coated along the line of the orientation vector, which is the direction vector of the print head. b13) If an impact point exists, add the impact point and the print head direction vector to the trajectory.
[0093] While the printhead nozzles are arranged in parallel, the ax-coordinate of the center point along the new ax-axis of the second Cartesian coordinate system is equal to the sum of the ax-coordinate of the orthogonal projection of the initial point and the ax-coordinate of the cutting point, on a straight line passing through the initial point where the orientation vector is equal to the new axis, and on the other hand, the center point is shifted in the opposite direction to the direction of the vertical axis of the second Cartesian coordinate system relative to the line by a distance that is equal to half the product of the number of nozzle rows and the distance between two rows.
[0094] If there is no impact point in step b12 because no material is present in the section of the surface to be coated along the line, the orientation vector is the direction vector of the print head and passes through the center point, and an additional substep consisting of the following is performed between substeps b12) and b13): b14) Search for the extremum on the portion of the area to be coated that is furthest from the printhead direction vector in the opposite direction along an axis parallel to the printhead direction vector. b15) To determine the alternative impact point, project the extreme point onto an axis passing through the center point and parallel to the print head's direction vector. b16) Assimilate the impact point to an alternative impact point for the portion of the section that will be coated during processing.
[0095] Step b) comprises a series of substeps that follow at least substeps b1) through b13), and consists of the following: b18) Reduce the number of surface sections to be coated by a portion of the section, particularly the section defined in step b9). b19) Determine whether the surface area of the portion of the surface to be coated has become zero. b20) If the result of step b19 is positive, repeat substeps b3) through b19).
[0096] Step b) comprises a series of substeps that follow at least substeps b1) through b13), and consists of the following: b21) The axis vector of the print head at each collision point is defined as being equal to the normalized vector product of the print head's direction vector at that point and the vertical axis of the second Cartesian coordinate system. b23) Determine the point of interest reached from the impact point, the distribution of single and multiple nozzles on the print head, the axis vector of the head, and the vertical axis of the second Cartesian coordinate system. b24) Include the printhead's point of interest and direction vector at the corresponding impact point within the orbit.
[0097] Step b) includes an additional substep of adding at least one entry point and / or at least one exit point to the trajectory defined for each section of the surface to be coated, in addition to the points calculated in step b24), and / or Step b) includes an additional substep of optimizing the number of points of interest in the trajectory, in which at least one point of interest, i.e., a point of interest that lies collinear with the points before and after the point of interest along the trajectory, is removed, and the directional axis of the trajectory is parallel to the directional axis of the point before the point of interest and parallel to the directional axis of the point after the point of interest along the trajectory.
[0098] Step b) comprises a substep of determining one or more sections of a trajectory following a first forward movement, which is calculated by reversing the order of points of interest defined in step b2) relative to the preceding trajectory sections, depending on the width of the flow of the coating product originating from the printhead and the width of the section of the surface to be coated, and optionally the order of the points of interest defined in step b2).
[0099] Substeps a71) to a73) or substeps b81) and b82) are executed until the maximum number of iterations is reached.
[0100] From the trajectory defined in step b), the computer calculates for each nozzle of the print head whether the distance is coated or not throughout the series of forward movement steps of the print head.
[0101] Step e) includes the following substeps: e1) The discretized positions discretize the movement of the printhead between points of interest in the trajectory. e2) Determine the presence of impact points from each nozzle at each position discretized in substep e1). e3) Calculate the coated distance or uncoated distance for each discretized position of the orbit, and, if necessary, a multiplier factor corresponding to the distance between the nozzle and the reference nozzle. e4) Create a programming file to operate the nozzle along the orbit.
[0102] Such elements are described in detail in FR-A-3111586, which is incorporated by reference to and included in this application.
[0103] Advantageously, each orbit T2 generated during the orbit generation substep S51 is saved during the save substep S52 to a database associated with the corresponding real-world 3D model 3Dr.
[0104] Advantageously, the assignment secondary step S50 further includes a substep S53 which compares the actual 3D model 3Dr and the associated generated print trajectory T2 with a 3D model stored in a database, the comparison substep S53 being performed after the model generation substep S40 and advantageously before the trajectory generation substep S51.
[0105] During the comparison substep S53, the 3D reality 3Dr model obtained by performing the model generation substep S40 is compared with the 3D reality 3Dr model stored in the database.
[0106] If the 3D reality model 3Dr obtained following the execution of the model generation step S40 substantially corresponds to an entry in the database, the generated trajectory T2 associated with that entry is applied to the 3D reality model 3Dr during the step of painting the workpiece. In this way, the calculations required to perform the process are limited, and the execution of the trajectory generation substep S51 is prevented when the same is not necessary, saving time and energy.
[0107] To obtain the Ce error region, the coordinates of the feature points of the 3D real model 3Dr obtained following the execution of the model generation step S40 are compared with the coordinates of the feature points of the 3D model in the database. It is understood that the coordinates of such points are represented in the workpiece coordinate system R3, which is linked to the real 3D model 3Dr on the one hand and to the database 3D model on the other, in order to compare only the geometric deviations related to deformation.
[0108] A match between the 3D reality model 3Dr and the 3D model from the database is observed if each error is less than a first threshold set by the user according to the application constraints, and if the sum of the squares of each error 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 that the user wants to achieve. The first threshold may be on the order of 1 / 10 of a millimeter, for example, and the second threshold may be on the order of 1 millimeter, for example.
[0109] If the actual 3D model 3Dr obtained following the execution of step S4 does not correspond to an entry in the database, the trajectory generation substep S51 is executed to calculate a new print trajectory corresponding to the actual 3D model 3Dr.
[0110] The trajectory generation substep S51 can be performed either "online," i.e., when the production line is stopped during the execution of the trajectory generation substep S51, or "offline," i.e., when the workpiece is removed from the production line, thereby enabling the start of new processing for the next workpiece and maximizing the flow of the production line. After the workpiece is removed from the production line, the trajectory generation substep S51 is executed, and during the database saving substep S52, the trajectory calculated for the surface in the database is saved along with the associated real-world 3D model 3Dr, which generates a new entry in the database.
[0111] Optionally, the authentication substep S54 is performed before the saving substep S52 is executed, and the generated trajectory T2 calculated in the trajectory generation substep S51 is checked to confirm that there are no collisions between the painting robot 3 and the workpiece 2 during this step. The operator can provide the authentication substep S54 by observing the execution of the painting step using the generated trajectory T2, or by numerical simulation of the painting stage.
[0112] In this way, only certified compatible tracks are stored in the database, thus limiting the risk of workpiece deterioration during production.
[0113] Furthermore, during the trajectory generation substep S51, it is also advantageous to impose intermediate points on the robot in order to prevent collisions with the workpiece or to generate an allowable space in which each point of the trajectory is located. The allowable space can be obtained, for example, by appropriately arranging two surfaces corresponding to the nominal 3D model 3Dn of the workpiece located at a predetermined distance from each other, or by applying orientation and positional constraints to each trajectory point, for example, such that each point of the generated trajectory has an orientation within a 45-degree opening cone, preferably a 20-degree opening cone, with respect to the normal of the workpiece at the point of the generated trajectory.
[0114] In this way, constraints can be imposed during the generation of new trajectories, preventing the risk of collisions between the robot and the workpiece.
[0115] Advantageously, the secondary quality control step S60 can be performed using different elements calculated during the model generation process.
[0116] Different detection thresholds can be applied to two elements, for example, the coordinate system transformation matrix Mt determined during substep S32 and the displacement field Cd determined during substep S41 for estimating the deviation.
[0117] In a manner comparable to the comparison substep S53, the measured displacement field Cd is compared with an error detection threshold, and if one of the vectors in the region exceeds the error detection threshold, the workpiece is considered non-conforming. The total displacement is further compared with a second detection threshold to declare the workpiece non-conforming if the total displacement exceeds a second threshold.
[0118] The components of the transformation matrix Mt are compared to error detection thresholds, where each translation component must be less than the first threshold, the sum of the translation components must be less than the second threshold, all rotation components must be less than the third threshold, and the sum of the rotation components must be less than the fourth threshold.
[0119] Firstly, it is necessary to compare the rotation components of the coordinate system transformation matrix. If the sum of the rotation components does not reach the fault detection threshold, a comparison of the fault detection thresholds of the rotation components is performed. If one of the thresholds is reached, it is declared that the workpiece is incorrectly positioned, and in this way, the non-conforming operation of the production line is identified.
[0120] Since the theoretical position of the workpiece relative to the origin of the robot coordinate system is known, it is possible to calculate the theoretical transformation related to rotation according to the rotation component of the coordinate system transformation matrix.
[0121] The translation component is compared to the theoretical translation associated with rotation. In this way, the positioning error can be obtained. The positioning error is compared to an error detection threshold. When the threshold is reached, it is declared that the workpiece is incorrectly positioned. In this way, operational problems in the production line can be detected.
[0122] Therefore, in addition to modeling the zones to be painted and the trajectory performed on the workpiece 2, a primary step S1 can be used to model the workpiece, and quality control of the workpiece can be performed by comparing the deformation at a specific critical point with an acceptable threshold. In this way, it is possible to detect whether the quality of the production line is deteriorating and to intervene accordingly.
[0123] In this way, it becomes possible to detect characteristic deformations of the production line and directly apply pre-stored paint trajectories corresponding to those characteristic deformations, thereby limiting the calculation of paint trajectories and saving computational power.
Claims
1. A method (1) for painting a workpiece (2) using a painting robot (3) having a robot arm (4) equipped with a paint spraying device (5), comprising a primary step S1 of modeling a real 3D model (3Dr) comprising information of a painting trajectory, and a primary step S2 of paint spraying, in which the paint spraying device (5) is moved along the painting trajectory opposite the workpiece (2), The primary step S1 is S10: Determining reference coordinates (Cr) of at least three model feature points (Pm) on a nominal 3D model (3Dn) of the workpiece to be painted, the model feature points (Pm) being coordinates expressed in a reference coordinate system (R1); S20: Detecting at least three actual feature points (Pr) on the workpiece (2), each corresponding to one of the model feature points (Pm) determined on the nominal 3D model (3Dn) during step S10; S30: A secondary step of transposing the coordinates of the real feature points (Pr) and the coordinates of the model feature points (Pm) into a common coordinate system such as the reference coordinate system (R1), The primary step S1 of modelling comprises: S40: A secondary step of generating a real 3D model (3Dr) corresponding to the workpiece (2) deformed and placed in a paint cell by applying a stress simulation to the nominal 3D model (3Dn) to cause deformations that move the model features (Pm) toward the respective coordinates of their corresponding real features (Pr) so that the positions of the model features (Pm) relative to the nominal 3D model (3Dn) coincide with the positions of the real features (Pr) relative to the real 3D model (3Dr), A method (1) characterized by:
2. The sub-step S20 of detecting actual feature points (Pr) on the workpiece (2) includes: a sub-step S21 of acquiring an image of the workpiece (2); an image analysis substep S22 of detecting the actual feature points (Pr) of the workpiece, wherein the actual measured feature points (Pr) are characteristic visual elements of the workpiece (2) that are the same characteristic visual elements of the nominal 3D model (3Dn) that have been determined to be the model feature points (Pm); and a sub-step S23 of measuring the coordinates of the real feature points (Pr). The method of claim 1.
3. 3. The method according to claim 2, wherein the image analysis substep S22 is realized by an algorithm advantageously trained by an artificial intelligence process.
4. During the sub-step S23, the real feature points (Pr) are associated with coordinates in the measurement system coordinate system (R2), and the specific secondary step S30 is a transposition sub-step S31 in which the coordinates of the real feature points (Pr) expressed in the measurement system coordinate system (R2) and the coordinates of the model feature points (Pm) of the nominal 3D model (3Dn) expressed in the reference coordinate system (R1) are expressed in the same common coordinate system; a calculation substep S32 of a workpiece coordinate system (R3) configured to assign coordinates to real feature points (Pr) in the workpiece coordinate system (R3), the workpiece coordinate system (R3) being substantially equal to the coordinates in said reference coordinate system (R1) of associated model feature points (Pm), making it possible to identify a transformation matrix (Mt) from said reference coordinate system (R1) to said workpiece coordinate system (R3), 4. The method according to any one of claims 2 to 3.
5. The sub-step S40 of generating a real 3D model (3Dr) comprises: a deviation estimation substep S41 in which the coordinates of the actual feature points (Pr) expressed in the workpiece coordinate system (R2) are compared with the coordinates of the model feature points (Pm) expressed in the reference coordinate system (R1) so as to associate a plurality of displacement vectors (Vd) between each model feature point (Pm) and the corresponding actual feature point (Pr), thereby obtaining a displacement field (Cd); a stress simulation sub-step S42, which is performed following the deviation estimation sub-step S41, by applying a deformation to the 3D model of the workpiece so as to minimize a positional deviation between the feature points of the 3D model and a positional deviation of the workpiece (2) in order to generate the real 3D model (3Dr) corresponding to the deformed workpiece (2), The method of claim 4.
6. said primary step S1 of modelling further comprises a secondary step S50 of allocating an assigned trajectory (T1) of a print head (9), said assigned trajectory (T1) being selected to correspond to said real 3D model (3Dr) in order to adapt the trajectory of said print head (9) to the deformations of said workpiece (2); 4. The method according to any one of claims 1 to 3.
7. The method according to claim 6, wherein said secondary allocation sub-step S50 comprises a trajectory generation sub-step S51 configured to generate a generative trajectory (T2) suited to said real 3D model (3Dr).
8. 8. The method of claim 7, wherein the assignment substep S50 further comprises: a storing substep S52, in which each generated trajectory (T2) during the trajectory generation substep S51 is stored in a database associated with the real 3D model (3Dr); and a comparing substep S53, which is performed after the model generation step S40 and is configured to compare the real 3D model (3Dr) obtained by performing the model generation step S40 with the real 3D model (3Dr) stored in the database, so that if the real 3D model (3Dr) obtained following execution of the model generation step S40 substantially corresponds to an entry in the database, the generated trajectory (T2) associated with the entry is applied to the real 3D model (3Dr) during execution of the step S2 of painting the workpiece.
9. The method of claim 8 , wherein the comparison substep S53 is performed before the trajectory generation substep S51 .
10. 9. The method according to claim 8, wherein the allocation substep S50 further comprises a validation substep S54, performed prior to the execution of the storage substep S52, during which the generated trajectory (T2) calculated during the trajectory generation substep S51 is checked to ensure that the generated trajectory (T2) does not include a collision between the painting robot (3) and the workpiece (2).
11. 5. The method according to claim 4, wherein the primary modeling step S1 further comprises a quality control step S60 for detecting defects on the workpiece or on the production line, in which the displacement field measured in sub-step S41 is compared with an error detection threshold in order to detect defects on the workpiece and / or the components of the transformation matrix (MT) obtained in sub-step S32 are compared with an error detection threshold in order to detect misalignment of the workpiece (2) and consequently defects on the production line.
12. 1. A computing unit (6) comprising a memory (7) and a processor (8), said memory (7) containing a program configured to implement the coating method (1) according to any one of claims 1 to 3 when said processor (8) executes the same.
13. A computer program product comprising code data configured to perform the method of any one of claims 1 to 3 when executed by a processor or computing unit.
14. A painting robot (3) comprising a robot arm (4) equipped with a paint spraying device (5) having a print head (9) and an acquisition system (10) comprising an optical device (11) and a measurement system (13), the painting robot (3) being configured to be controlled by a control station comprising a computing unit according to claim 12 so as to carry out the method according to any one of claims 1 to 3.