Method and apparatus for applying a coating product using a printhead
The method addresses the challenges of coating application by using a digital model and automatic calculation to define strips and trajectories for the printhead, optimizing the coating process and improving coverage.
Patent Information
- Application Number
- JP2021100999
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-06-17
- Filing Date
- 2021-06-17
- Publication Date
- 2025-10-16
- Estimated Expiration
- 2041-06-17
AI Technical Summary
Existing methods for applying a coating using a printhead are difficult to implement in practice due to constraints on the shape of the coated surface and printhead movement, making them challenging to use intuitively and achieve optimal results.
A method involving a digital model of the surface to be coated, using a robotic arm with a printhead, where the coating application is defined by automatic calculation of strips, trajectories, and nozzle activation, ensuring the printhead orientation is respected at each point, with iterative adjustments to avoid uncoated areas and optimize movement.
The method simplifies the coating process, making it more intuitive and effective by automatically calculating and optimizing the printhead's trajectory and nozzle activation, resulting in better coverage and reduced complexity.
Smart Images

Figure 0007755399000002 
Figure 0007755399000003 
Figure 0007755399000004
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method for applying a coating to the surface of an object to be coated by means of a print head mounted on a robotic arm, the print head having at least one print nozzle. The present invention also relates to a coating application installation intended for carrying out this method. [Background technology]
[0002] US Patent Application Publication No. 2015 / 0042716 shows how to create a set of points in space corresponding to the area to be coated, how to create a corresponding 3D network, and how to generate trajectory data for moving a robot to which a print head is attached and raster data for actuating the print head.
[0003] From US 2016 / 0052312 A1, there is also known a method of applying a coating by means of a print head moving along two tracks forming a sharp corner between them, which is particularly suitable for coating curved surfaces. Summary of the Invention [Problem to be solved by the invention]
[0004] These known methods, while theoretically feasible, are difficult to implement in practice when constraints on the shape of the coated surface and any uncoated surfaces, as well as constraints on printhead movement, must all be taken into account.
[0005] It is particularly these drawbacks that the present invention aims to remedy by proposing a new method of applying a liquid coating to the surface to be coated by a printhead, which method is easier and more intuitive to use and shows better results than prior art methods. [Means for solving the problem]
[0006] To this end, the invention relates to a method for applying a coating to the surface of an object to be coated, having at least one area to be coated, using a digital model of this surface contained in a computer file, the method being carried out by means of a print head attached to a robotic arm designed to move the print head relative to the surface, the body of the print head comprising at least one print nozzle. According to the invention, the method of application comprises, at a minimum: a) defining, by automatic calculation, strips of the surface to be coated from a computer file containing a model of the surface to be coated; b) defining, by automatic calculation, a trajectory for the surface strip to be coated, said trajectory being formed by a succession of attention points reached by a specific point of the print head with the print head orientation being respected at each attention point; c) deleting, by automatic calculation, the strip to be coated from a computer file modeling the surface to be coated; d) repeating step a) until the modeled surface to be coated has zero area; e) defining a program for activating each print head nozzle for each trajectory; and f) applying the coating by activating each print head nozzle on the different trajectories defined in step b) according to the trigger program defined in step e), while respecting the orientation of the print head at each point of interest. and includes steps performed by a computer.
[0007] According to the present invention, a computer file modeling the surface to be coated by the backward and forward movement of the print head defines a three-dimensional trajectory for the robot that is a function of only that surface, using simple elements such as points, patches, or edges at the perimeter of the surface to be coated. A program can then be automatically generated to properly orient the print head and activate the print head nozzles so that the coating is applied to the portion of the surface to be coated, according to the method of the present invention.
[0008] An initial constraint taken into account by the method of the present invention is that when using initially selected simple elements such as the points, patches and edges described above, the print head will tend to remain oriented in a predetermined direction, for example, a direction corresponding to the forward trajectory along the strip of the surface being coated.
[0009] According to advantageous but non-essential aspects of the invention, the method may incorporate one or more of the following features, used in any combination technically possible: Step b) is bA) substep of defining, by an iterative method, the portion of the surface strip to be coated; bB) calculating the point of impact on the portion defined in sub-step bA) and the axis along which the print head is oriented at the point of impact; bC) Substep of removing by calculation the fragments of the surface strip to be coated; bD) repeating substep bA) again starting from step bD) until the remaining area of the surface strip to be coated is zero; bE) generating a portion of the trajectory corresponding to one forward movement of the print head across the strip to be coated; and bF) generating a portion of the trajectory (backward or forward) corresponding to the further movement of the print head across the strip to be coated, depending on the width of the band of coating transported from the print head and the width of the strip to be coated; The method includes the successive sub-steps of: The method includes a further step for surfaces to be coated that contain at least one uncoated area, which step, performed between steps b) and c), consists of adjusting the trajectory of the print head based on the uncoated area to avoid hitting the object. Step a) comprises at least the following consecutive sub-steps: a1) defining a first orthogonal system, the first orthogonal system comprising: As the origin, a point selected by the user in the representation of space using a computer file, either on a virtual support surface located near the surface to be coated, or on the surface to be coated itself; as the height axis, a normal from the origin on or above the support surface; as the y-axis, the cross product of the height axis and the axis aligned with the direction of movement selected by the user; and The x-axis is the cross product of the y-axis and the height axis a sub-step having: a2) defining a first normal and initializing its value as equal to a vector whose direction is the height axis of the most recently defined first Cartesian system; a3) defining point 1 of the first Cartesian system as the point on the surface to be coated that has the largest y-axis of the first Cartesian system among the points on the surface to be coated; a4) defining point 2 of the first Cartesian system as a point on the surface to be coated located at a first distance, measured in the negative y-axis direction relative to the first point, determined as a function of the distribution of nozzles in the printhead; a5) calculating an average normal to the virtual strip of the surface to be coated, the average normal being perpendicular to the y-axis of the first Cartesian system and defined between a first plane and a second plane passing through the first point and the second point, respectively; a6) a substep of comparing the first normal with the average normal; a7) If it is determined in step a6) that the first normal and the average normal are different, a71) redefining the first normal as equal to the mean normal; a72) redefining the first Cartesian system using this new first normal; a73) Repeat substeps a3) to a6), substep a8) if it is determined in step a6) that the first normal and the average normal are equal, defining the strip to be coated as equal to the provisional strip in step a5). Includes: The printhead body includes several nozzles arranged in parallel rows at a first distance that is a multiple of the distance between two adjacent rows of nozzles, or between two consecutive nozzles in the same row, as measured perpendicular to the direction of printhead movement. Step b) comprises, as a minimum, the following consecutive sub-steps: b1) defining a second Cartesian system having point 1 as the origin and having x-, y- and height-axes that coincide with the axes of the first Cartesian system most recently defined in step a1) or step a72); b2) defining a new x-axis as the x-axis of a second Cartesian system; b3) defining an initial point in a second Cartesian system as the point on the coated surface strip that has the shortest y-axis among the points on the strip; b4) defining a cutting point in a second Cartesian system as a point on the surface strip to be coated, located at a given distance from the initial point along a new x-axis; b5) calculating an average normal to a hypothetical portion of the strip of surface to be coated, defined between a third plane and a fourth plane perpendicular to the new x-axis and passing through the initial point and the cutting point, respectively; b6) calculating a virtual longitudinal axis equal to the normalized cross product of the average normal calculated in step b5) and the inverse of the y-axis of a second Cartesian system; b7) comparing the new x-axis with the assumed longitudinal axis; b8) if it is determined in step b7) that the new x-axis and the tentative longitudinal axis are different, b81) redefine the new x-axis as equal to the hypothetical longitudinal axis; b82) Repeat substeps b3) to b7); b9) if it is determined in step b7) that the new x-axis and the provisional longitudinal axis are equal, defining the portion of the strip to be coated as equal to the provisional portion in step b5). It consists of: Step b) comprises as a minimum the following consecutive sub-steps following sub-steps b1) to b9): b10) calculating an orientation vector for the printhead equal to the cross product of the new x-axis and the inverse y-axis of the second Cartesian system; b11) midway between the orthogonal projections from the initial point and the cutting point onto a line that passes through the initial point and has a direction vector equal to the new axis; and along the y-axis of the second Cartesian system and at a third distance equal to one-half the first distance from the initial point, measured in the negative direction along this axis the substep of defining a center point as the location point; b12) defining the point of impact as a projection from the center point onto the portion of the surface strip to be coated along a line whose direction vector is the orientation vector of the print head; b13) if a point of impact exists, including the point of impact and the orientation vector of the print head in the trajectory. It consists of: The print head body comprises several nozzles arranged in parallel rows, while the coordinate of the center point along the new x-axis of the second Cartesian system is equal to half the sum of the x-coordinates of the orthogonal projections from the initial point and the cutting point onto a line passing through the initial point and having a direction vector equal to the new axis, while the center point is shifted relative to this line in the opposite direction of the y-axis of the second Cartesian system by a distance equal to half the product of the number of nozzle rows and the distance between two of these rows measured along the y-axis. If there is no point of impact in step b12) due to a lack of material from the surface strip to be coated along a line whose direction vector is the orientation vector of the print head and which passes through the center point, the following further sub-steps are performed: b14) finding the end point of the portion of the strip to be coated, the end point being the farthest along an axis parallel to the print head orientation vector in the direction opposite to this vector; b15) projecting the end points onto an axis that passes through the center point and is parallel to the orientation vector of the print head to define an alternative point of collision; b16) matching the point of impact with an alternative point of impact for the portion of the strip that is coated during the method. is performed between sub-steps b12) and b13b). Step b) comprises as a minimum the following consecutive sub-steps following sub-steps b1) to b13): b18) reducing the surface strip to be coated by a certain fraction thereof, i.e. the portion defined in step b9); b19) determining whether the remaining surface strip to be coated has a non-zero area; b20) repeating sub-steps b3) to b19) if the result of the calculation in step b19) is yes. It consists of: Step b) comprises as a minimum the following consecutive sub-steps following sub-steps b1) to b13): b21) defining the axis vector of the print head at each point of impact as equal to the normalized cross product of the orientation vector of the print head at this point and the y-axis of the second Cartesian system; b23) defining a point of interest to be reached using the point of impact, the distribution of at least one nozzle in the print head, the axis vector of the print head and the y-axis of the second Cartesian system; b24) including in the trajectory the point of interest at the corresponding point of impact and the orientation vector of the print head. It consists of: Step b) may include a further sub-step of adding at least one further entry point and / or exit point to the trajectory defined for each coated surface strip relative to those calculated in step b24), and / or step b) may include a further sub-step of optimizing the number of note points in the trajectory when at least one note point is deleted, i.e., a note point that is collinear with the point preceding it and the point following it along the trajectory and whose orientation axis is parallel to the orientation axes of the point preceding it and the point following it along the trajectory. Step b) includes a sub-step for determining the number of times the print head needs to move backward and forward to complete coating of the strip to be coated, depending on the width of the coating band transported from the print head and the width of the strip to be coated. If necessary, after the first forward movement across the strip to be coated, one or more track segments are added to step b). 23 ), by reversing the order of points of interest defined for the preceding trajectory segment. Sub-steps a71) to a73) or b81) and b82) are performed until a limited number of iterations is reached. From the trajectory defined in step b), the computer calculates, for each printhead nozzle, either the coated distance or the uncoated distance for a sequence of printhead travel steps. Step e) consists of the following sub-steps: e1) discretizing the movement of the print head between points of interest in the trajectory by discretized positions; e2) determining the presence of an impingement point for each nozzle at each discretized position in substep e1); e3) calculating, at each discretized position of the trajectory, the coated or uncoated distance and, optionally, a multiplication factor as a function of the distance between the nozzle and the reference nozzle; and e4) constructing a programming file for the actuation of each nozzle along the trajectory; It consists of:
[0010] Viewed from another angle, the invention relates to an apparatus for applying a liquid coating to the surface of an object to be coated, the apparatus comprising a print head mounted on a robotic arm designed to move the print head relative to the surface, the body of which comprises at least one print nozzle, the apparatus comprising an electrical control device configured to perform a method, for example the method described above.
[0011] The invention will be better understood, and other advantages mentioned above will become more apparent, in the light of the following description of the accomplishment of the method of using the principles of the invention, given by way of example only and with reference to the accompanying drawings, in which: [Brief explanation of the drawings]
[0012] [Figure 1] The diagram in FIG. 1 shows the principle of an installation for coating automobile bodies according to the invention, which also carries out the method according to the invention. [Figure 2] FIG. 2 shows a schematic diagram of some printheads that can be used with the equipment of FIG. 1 using the method of the present invention. [Figure 3]The schematic diagram of FIG. 3 is similar to FIG. 2 and shows an alternative printhead that can be used with the installation of FIG. 1 using the method of the present invention. [Figure 4] The diagram in Figure 4 illustrates the principle of backward and forward movement of the printhead of Figure 3 to coat a surface, using two examples of printhead orientation. [Figure 5] The diagram in FIG. 5 shows the principle of a modelled surface to be coated and a support surface located in the same modelling environment during the steps of the method of the invention. [Figure 6] The diagram of Figure 6 shows the surface of Figure 5 during a later step of the method of the present invention. [Figure 7] The diagram in Figure 7 shows the same surface as shown in Figures 5 and 6 during a later step of the method of the invention. [Figure 8] The diagram of Figure 8 shows an expanded view of region VIII of Figure 7 during a later step of the method of the present invention. [Figure 9] The diagram in Figure 9 shows an enlarged view of the same area during a later step of the method of the present invention. [Figure 10] FIG. 10 shows a front view of the printhead and several sizes used in the method of the present invention. [Figure 11] FIG. 11 is a schematic block diagram of the overall method of the present invention. [Figure 12] FIG. 12 is a detailed block diagram of the steps of the method of the present invention. [Figure 13] FIG. 13 is a detailed block diagram of another step of the method of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0013] The installation I shown in FIG. 1 is used to apply paint to an object O, which in the example used for this illustration is a car body.
[0014] More precisely, in this example, installation I is designed for coating the roof of a car body on either side of a central plane π0 parallel to the largest dimension of the body.
[0015] Alternatively, the object to be coated may be other parts of an automobile body, such as a bumper or door, or in general any object that may be coated, such as an aircraft cabin part or a panel of an appliance.
[0016] The installation I comprises a conveyor 2 designed to move an object O along a conveying axis X2 perpendicular to the plane of the drawing in FIG. 1. Preferably, this conveyor is stop-and-go, i.e., it holds the object stationary while the coating is being applied. The installation I further comprises an applicator 10 attached to the end of an arm 22 of a multi-axis robot 20 located near the conveyor 2. Alternatively, the robot 20 may be a reciprocating robot or other robot capable of moving the applicator 10 relative to the object O to be coated. The robot comprises a controller 24, sometimes referred to as a "robot bay," which controls the movement of the arm 22 as a function of a trajectory program TRAJ to be followed.
[0017] 1, the controller is shown in the robot 20. However, the controller may also be located external to the robot.
[0018] The applicator 10 is a printhead consisting of a rigid body 12 and several print nozzles 14 .
[0019] The installation I further comprises an electronic control unit 30, or ECU, which communicates bidirectionally with at least the conveyor 2 and the controller 24 of the robot 20, and further controls the print head 10. To this end, the ECU 30 contains at least one microprocessor and memory for storing computer programs (microprocessor and memory not shown). Communication between the ECU 30 and the controller 24 allows the operation of the print head to be synchronized with the position of the robot arm 22.
[0020] 1, the ECU 30 is shown separate from the devices 2 and 20. Alternatively, the ECU 30 may be integrated into the robot 20.
[0021] As shown in a first example in Figure 2, printhead 10 may consist of a body 12 having a single print nozzle 14. In this case, when printhead 10 is moved in the direction of arrow F1 in Figure 2, printhead 10 deposits a line or swath of coating, which can be considered a brush 15, whose width l15, measured perpendicular to the direction of printhead movement in a plane perpendicular to nozzle 14, has a first value.
[0022] 2, printhead 10 comprises a rigid body 12 having a row 16 of eight nozzles 14, the row 16 being aligned by its centerline. Printhead 10 is movable parallel to arrow F1 and tilted at an angle α relative to the direction of this arrow so that the different lines of coating that together exit nozzles 14 define a continuous band 15 of coating that is applied to the surface, the width 115 of this band 15 having a second value equal to approximately eight times the first value.
[0023] 2, the printhead 10 comprises a row 18 of six print nozzles 14 aligned on a rigid body 12, the row being aligned by its centerline. When the printhead 10 is moved perpendicular to the row, and when the nozzles are spaced sufficiently close to one another, the printhead 10 deposits a continuous band 15 on the surface to be coated, the width l15 of the band having a third value equal to approximately six times the first value.
[0024] 2, the rigid body 12 of the printhead 10 has nozzles 14 arranged in six rows 16 and eight columns 18, identified by their respective centerlines, as in the second and third examples. In this case, as in the second example, the nozzles 14 are arranged very closely in the rigid body 12 so that when the printhead is moved parallel to the arrow F1 and tilted at an angle α, the nozzles 14 apply a swath 15 whose width 115 has a value equal to six times the second value.
[0025] The four printheads shown in FIG. 2 can be considered to be closely spaced in that the band of coating produced by movement of one or more of these heads in the direction of arrow F1 is continuous across its width.
[0026] In the example shown in Figure 3, the printhead 10 contains 48 nozzles 14 arranged in its rigid body 12 in a configuration of six rows 16 and eight columns 18. The difference from the fourth example shown in Figure 2 is that as the printhead 10 is moved parallel to the direction of arrow F1, six separate bands 15 are produced, each having a width l15 equal to the second value described above. These bands 15 are separated in that there are areas 17 between the bands 15 where no coating is applied during movement of the nozzles 10 in the direction of arrow F1, as shown in the center of Figure 3.
[0027] The geometric center of the face of the print head 10 on which the nozzles 14 are mounted is designated as P h It is expressed as:
[0028] In the example of use shown at the bottom of FIG. 3, when the print head 10 is moved parallel to the arrow F1, 3 The printhead 10 is tilted at an angle β greater than the angle α so that 48 separate bands 15 of the type shown at the top of FIG. 1 are applied, and the bands are equally spaced with areas 17 between them where no coating is applied.
[0029] The printhead 10 of FIG. 3 has a non-dense configuration so that the bands 15 are not continuous across the entire width of the area to which the coating is applied, leaving spaces 17 between the bands 15 as explained above.
[0030] Let n denote the number of rows 16 in the printhead 10 and m denote the number of columns 18. The number of nozzles 14 is n x m. In the example of Figure 3, this number is 6 x 8 = 48.
[0031] Consider the configuration of Figure 3, in which printhead 10 is tilted at angle α. In this configuration, denote the distance measured between two adjacent rows of nozzles 16 parallel to width l15 of band 15, and thus perpendicular to the direction of movement represented by arrow F1, as d1. Denote the width of gap 17 measured parallel to width l15 as l17. Distance d1 is equal to the sum of widths l15 and l17.
[0032] Regardless of the printhead used, the nozzles 14 each form an orifice through which the coating is sprayed, having a diameter of between 20 micrometers (μm) and 500 micrometers, preferably between 50 and 200 μm, and even more preferably on the order of 100 μm. The nozzle diameter determines the width of the individual strips deposited by each nozzle, as in the configurations at the top of FIG. 2 and at the bottom of FIG. 3, or the combined width of the strips formed by the juxtaposition of individual strips, as in other configurations. In addition, the nozzles 14 are each supplied by a system for controlling the flow of the coating, which system may be piezoelectric, electromagnetic, or pneumatic.
[0033] The present invention can be used with any of the printheads 10 shown in FIGS. 2 and 3, and with variations thereon in the number of rows 16 and columns 18 and the number of nozzles per column or row, provided that all rows have the same number of nozzles and all columns have the same number of nozzles, i.e., the number of nozzles in each row matches the number of columns and the number of nozzles in each column matches the number of rows.
[0034] For the printhead shown in FIG. 2, the nozzles 14 mounted on the printhead 10 are so closely spaced that they impart a continuous swath or portion thereof of coating having a width of 115 to the surface S to be coated in a single pass, i.e., in one forward movement.
[0035] In the configuration shown in the center of Figure 3 and at the top of Figure 4, width l15 represents half of distance d1, and the surface S or part thereof to be coated can be coated by moving print head 10 forward in the direction of arrow F1 and then backward in the direction of arrow F2.
[0036] In the configuration shown in the lower part of Figure 4, the width 115 is equal to 1 / 3 of the distance d1, and the surface S to be coated, or part thereof, can be completely coated by moving the print head 10 forward in the direction of arrow F1, then backward in the direction of arrow F2, and then forward again in the direction of arrow F3.
[0037] The present invention can be practiced with various configurations of printhead 10 envisioned above, and the number of single or back-and-forward passes will depend on the density of the printhead and, therefore, the configuration used. For the remainder of this description, consider printhead 10 to have n rows and m columns of nozzles 14. For example, in the case of the tilted printhead shown in the center portion of FIG. 3, we know the distance d1 between two rows of nozzles and the width l15 of band 15 as a function of both the distribution of rows 16 and columns 18 and the angle α of tilt of body 12 relative to the direction of printhead movement, represented by arrows F1, F2, or F3, and can therefore deduce the number of back-and-forth passes that must be made by the printhead to completely cover surface S or a portion thereof. That is, For example, for the dense head shown at the bottom of FIG. 2, the number of forward movements is 1 and the number of return movements is 0; For a non-dense head with a d1 / l15 ratio of 2, as shown in the center of FIG. 3 or at the top of FIG. 4, the number of forward movements is 1 and the number of returns is 1; For a non-dense head with a d1 / l15 ratio of 3, as shown in the bottom of FIG. 4 or in the top of FIG. 4, the number of forward movements is 2 and the number of returns is 1.
[0038] Other numbers of backward and forward movements of the printhead are possible, depending on the configuration of the printhead 10. For example, in the case of the tilted printhead shown in the lower part of Figure 3, we know the distance d1 between two consecutive nozzles in the same row, as well as the width l15 of the line 15 deposited by the nozzle 15, as a function of both the distribution of these rows 16 and columns 18 and the angle β of tilt of the body 12 relative to the direction of printhead movement, represented by arrow F1, and can therefore infer the number of times the printhead must move backward and forward.
[0039] The method of the present invention will now be described with reference to FIG. 5 and below.
[0040] Consider the left half of the upper surface of the roof of the car body shown in Figure 1 as the surface S to be coated. As can be seen in Figure 5, this surface S is defined by the front edge B1 and rear edge B2 of the roof and by a center line M, which is a trace of the plane π0 at the top of this roof. In Figure 5, the center line represents the trace of the right half of the upper surface of the roof.
[0041] The surface S to be coated consists of a coated region Z1 and an uncoated region Z0. Additionally, edges B1 and B2 are considered uncoated and are shown in Figure 5 for clarity purposes only.
[0042] Using known techniques, the surface S to be coated can be modeled by a computer file F, for example in STL format. This format allows approximating the actual surface S to be coated by a set of triangular facets, as shown in Figures 6 to 9.
[0043] Alternatively, the file F may be in a different format, for example the .obj or .vtk format, which approximates the real surface by facets, or the .step or .iges format, which represents the mathematical shape of the surface S to be coated.
[0044] First, it is necessary to define the trajectory of the printhead 10 and its orientation relative to the surface S to be coated, which is modeled by a file F. The constraints on this trajectory can be varied, namely: The constraints relate to the robot 20 that moves the printhead 10, which may be a multi-axis robot, a reciprocating robot, an imaging table or a manipulator arm; The constraints relate to the printhead 10, particularly the number of nozzles 14, the arrangement of these nozzles 14 in the body 12, nozzle control, droplet size of the coating product, etc.; The constraints relate to the shape of the surface S to be coated, in particular to its curvature, to the shape of its edges, to the presence of ribs, grooves or holes.
[0045] A computational method is applied to generate the path of the printhead 10 relative to the surface S modeled by the file F.
[0046] 1 in the form of a computer in communication with ECU 30 and controller 24. This calculator 40 functions offline and time-shifted relative to the application of the coating product. In particular, at least some of the calculations by calculator 40 are performed prior to the application of the coating product.
[0047] The method applied by the calculator 40 optionally includes a starting step 100 consisting of surface files from a file library representing the regions Z1 and Z0, determining the contour of the surface S, here the edges B1 and B2, the centre line M and the left edge of the surface S, and then there is the repetitive definition of the inner surfaces, making it possible to fill the portions of each surface defined between the contours by a spiral path or by sweeping movements.
[0048] As part of this method, once the surface S and its contours have been defined and modeled in step 100, a three-dimensional path is first defined based solely on the surface S to be coated and on the configuration of the print head 10 by performing a forward or forward-backward movement of the print head 10. This operation, and others that are part of the method of the present invention and that will be described below, are applied automatically by the computer 40. Thus, the computer 40 acts as an automatic path generator for the robot 20.
[0049] To aid in determining the robot's path, the rules of the calculations performed by the calculator 40 cause the print head 10 to remain more or less oriented in a predetermined direction, e.g., toward a forward movement, supported by simple preselected elements, e.g., points, segments, or edges.
[0050] The first step 102 is to "cut" the sections to be coated in the surface S to be coated, and more specifically in the file F modeling the surface S.
[0051] As shown in Figures 5, 11 and 12, the start step 100 of the method of the invention first comprises an initialization substep 1001 in which the iteration index i is set to 0, and a substep 1002 of adapting the file F to the surface S, in particular based on the edges B1, B2 and M of the surface S and on the regions Z1 and Z0, and to a support surface SP located in the same computational space as the surface S, having a simple shape defined by simple geometric elements, such as points, sections and faces.
[0052] In the illustrated example, surface SP is a flat rectangular surface located near surface S.
[0053] In Figures 11-13, the parameter given in parentheses after a quantity specified in a step or substep is the parameter used to define that quantity.
[0054] By convention, the three orthogonal axes of a Cartesian coordinate system are called the X-axis, the Y-axis, and the Z-axis.
[0055] Step 102 of the method of the present invention consists in defining a section T of the surface S to be coated by calculation using a file F. This step 102 is illustrated in FIG. 12 and includes an initial sub-step 1021 in which the calculator 40 defines an initial Cartesian coordinate system R0, whose origin O is a point selected by the user on the support surface SP using a pointing device such as a mouse. In this sub-step 1021, the Z-axis vector Oz of the first Cartesian coordinate system R0 is initially defined at the origin O to be a normal vector Nsp on the support surface SP. Meanwhile, the Y-axis vector Oy of the first Cartesian coordinate system R0 is defined as a normalized cross product of the Z-axis vector Oz and an axis approximately coincident with the direction of travel of the printhead 10 along the centerline M, which is aligned with the direction of travel selected by the user, for example using a pointing device, along the section SU of the support surface SP selected by the user. Finally, the X-axis vector Ox of the coordinate system R0 is defined as the normalized cross product of the Y-axis vector Oy and the Z-axis vector Oz.
[0056] Alternatively, the user can select an origin O on a different surface, in this case on the surface S, or in the regions Z1 and Z0. The determination of the first Cartesian coordinate system R0 is then adapted on this basis.
[0057] Overall, the method of the present invention calculates the printhead 10 by adjusting the position of this printhead based on a geometric model of the surface S generated by the file F. of It is possible to move it parallel to the section SU.
[0058] We use a quantity known as the "average normal" and represented by the vector N. In a subsequent sub-step 1022 of step 102, calculator 40 initializes this average normal to the Z-axis vector Oz of the first Cartesian coordinate system.
[0059] In the following sub-step 1023, the index i is incremented by one unit.
[0060] In a subsequent sub-step 1024, in the initial Cartesian coordinate system R0, the computer 40 calculates: A point P is defined on the surface S to be coated, the ordinate of which is the maximum among the ordinates of the points on the surface S to be coated in the first Cartesian coordinate system R0. init In other words, as can be seen from FIG. init is the "furthest apart" point on the surface S to be coated in the coordinate system R0 along the Y-axis vector Oy. As shown graphically in parentheses in FIG. 12, point P init is defined as a function of the surface S and the Y-axis Oy.
[0061] Later in substep 1025, point P init Based on this, the calculator 40 calculates the initial point P init Consider another point P on the surface S to be coated, located at a distance d2 measured along the Y-axis vector Oy in the negative direction along this axis. cut This second point P cut corresponds to a virtual cut in the surface S to be coated, so the second point P cut are called cutting points. More specifically, the initial point P init and cutting point P cut A provisional zone T' on the surface to be coated is used, which is defined between two planes π1 and π2 passing through the axis vector Oy, both of which are perpendicular to the Y-axis vector Oy, i.e., parallel to the X-axis vector Ox and the Z-axis vector Oz, respectively. Figure 6 shows this provisional zone T'. Its width, measured along the axis vector Oy, is equal to the distance d2.
[0062] In the example of the center of FIG. 3 and FIG. 4, the distance d2 is defined as (the number n of rows 16 of nozzles 14) × (the distance d1 between two rows). In the example of the bottom of FIG. 3, the distance d2 is defined as (the number n of rows 16 of nozzles 14) × (the number m of columns 18 of nozzles) × (the distance d1 between two nozzle strokes). Thus, the distance d2 is equal to the total width of the beam 15 applied during a forward-return movement in the configuration shown in the top of FIG. 4, and to the total width of the beam 15 applied during a forward-return movement and then a forward movement in the configuration shown in the bottom of FIG. 4. Like the distance d1, the distance d2 depends on the widths l15 and l17 of the beam 15 and spacing 17, i.e., on the value of the angle α or β. In both cases, the distance d2 is a multiple of the distance d1.
[0063] Then, in sub-step 1027, the calculator 40 calculates the average normal vector Nμ on the surface S to be coated between the two planes π1 and π2, ie on the provisional section T′.
[0064] After sub-step 1027, in sub-step 1028, calculator 40 compares the mean normal vector N defined in step 1022 with the mean normal vector Nμ defined in step 1027. This comparison between two vectors can be done in various ways, for example by determining the angle between these two normals or by finding their scalar product. In the case of a comparison using the angle determined between these vectors, the vectors are considered to be the same if the absolute value of this angle is less than a limit value, and different if the absolute value of this angle is greater than this limit value. This limit value is set to 10 -9 ~10, preferably 10 -6 can be determined as follows.
[0065] Depending on the outcome of this comparison in sub-step 1028, calculator 40 applies different sub-steps.
[0066] If the result of the comparison in sub-step 1028 is that the two average normals are different, sub-step 1029 verifies that index i is strictly less than or equal to threshold value V1. In this case, variable vector N is given value vector Nμ in sub-step 1030, and then the first Cartesian coordinate system R0 is redefined in step 1031 in a manner similar to step 1021, but according to the following sequence: the Y-axis vector Oy of the new Cartesian coordinate system R0 is obtained by normalizing the vector obtained from the cross product of vector N and X-axis vector Ox of the first Cartesian coordinate system R0; the Z-axis vector Oz of the new Cartesian coordinate system R0 is defined to be vector N; and the X-axis vector Ox of the new Cartesian coordinate system R0 is obtained by normalizing the vector obtained from the cross product of vector N and Y-axis vector Oy of the new Cartesian coordinate system R0. Sub-steps 1022 to 1028 are then applied repeatedly until step 1028 considers vector N and vector Nμ to be equal, or until a maximum number of iterations V1 is reached, in which case calculator 40 defines the final provisional section T′, defined in the last sub-step performed, 1026, as the section T on the surface to be coated. This is performed during sub-step 1032, which is the last sub-step in step 102 of the method of the present invention.
[0067] In practice, the threshold V1, which is the maximum number of iterations in step 102, can be set to 1-20, preferably 5.
[0068] In essence, step 102 involves dividing each point P into two points P such that the partition T is well defined. init and P cut It is possible to "cut" the section T in the surface S between a first plane π1 and a second plane π2 passing through. It is not necessary that these points are located at the ends of the surface S, but following the application of the iterations of substeps 1022 to 1031, they may be located in an intermediate part of this surface, away from the ends B1 and B2, as shown in FIG.
[0069] After the segment T is determined in step 102, the method of the present invention uses automatic calculation and iteration during the course of step 104 to determine the path T for the printhead to follow relative to this segment T. raj Define the following.
[0070] Step 104 is illustrated in FIG. 13 and first comprises an initialization substep 1041 by zeroing two indexes: index j and index k.
[0071] During a subsequent sub-step 1042, the computer 40 defines a second Cartesian coordinate system R1, the origin of which is the initial point P defined in the last sub-step performed, 1024. init whose X, Y and Z axes are equal to the X, Y and Z axes of the last version of the initial Cartesian coordinate system R0 defined in step 1021 or step 1031.
[0072] In a subsequent sub-step 1043, the computer 40 calculates a third point P start This third point is the X-axis projection vector Ox of the point of the coated section T having the smallest abscissa in the first Cartesian coordinate system R0 onto the second Cartesian coordinate system R1.
[0073] Similarly, in substep 1044, computer 40 calculates a fourth point P end This fourth point is the X-axis projection vector Ox of the point of the coated section T having the largest abscissa in the first Cartesian coordinate system R0 onto the second Cartesian coordinate system R1.
[0074] The third and fourth points can be used to identify the direction of travel for the printhead 10 .
[0075] The order of sub-steps 1043 and 1044 can be reversed. Alternatively, these sub-steps can be performed simultaneously. In another variation, steps 1043 and 1044 do not apply.
[0076] FIG. 7 shows the third and fourth points and the two coordinate systems R0 and R1.
[0077] In sub-step 1045, calculator 40 initializes a variable vector nX, sometimes referred to as new axis X, as the X-axis of second Cartesian coordinate system R1. This sub-step 1045 can be performed before, after, or even simultaneously with sub-steps 1043 and 1044.
[0078] Then, in substep 1046, the index j is incremented by one unit.
[0079] In a subsequent substep 1047, in the second Cartesian coordinate system R1, the computer 40 determines a fifth point Q, sometimes called the initial point of the section, as the point on the section T that has the smallest abscissa in the second Cartesian coordinate system R1 among the points on the section to be coated. init In other words, in this sub-step 1047, the fifth point Q init is defined as the point on the section T that has moved the least along the X axis in the second Cartesian coordinate system R1.
[0080] In a subsequent substep 1048, the computer 40 calculates a sixth point Q, which may also be called a cutting point of the section T, and which is a point on this section that is located at a given distance d3 relative to the fifth point and along the new axis vector nX. cut For example, this distance d3 may be equal to the length L10 of the print head 10 measured parallel to the rows 16. Alternatively, this distance d3 may be significantly smaller than this length, for example 1 / 10 of it, or may be significantly larger than this length, for example 100 times larger. In practice, when the local curvature of the section T of the surface S to be coated can be calculated based on the file F, the distance d3 can be selected based on the local curvature of the section T of the surface S to be coated with respect to the length L10 of the print head 10.
[0081] In the following sub-step 1049, the computer 40 calculates a fifth point Q that is perpendicular to the new axis vector nX and init and the sixth point Q cut A provisional portion P' of the section T is defined as a portion of this section between a third plane π3 and a fourth plane π4 passing through the plane π3. Figure 8 shows this portion P' of the section T.
[0082] If a provisional portion P′ of the partition T has been defined in sub-step 1049 as shown above, then the mean normal vector N′ μ in this portion P′ is calculated in sub-step 1050 .
[0083] In a subsequent sub-step 1051, the calculator 40 calculates a variable representing a temporary longitudinal axis vector Xtemp which is equal to the cross product of the mean normal vector N'μ calculated in sub-step 1050 and the vector -Oy opposite the Y-axis vector Oy in the second Cartesian coordinate system R1, where the cross product has been normalized, i.e. adjusted to a length of 1.
[0084] In the following sub-step 1052, the calculator 40 compares the new X-axis vector nX previously defined with the temporary longitudinal axis vector Xtemp defined in step 1051. The comparison method may be the same as that applied in step 1028 described above with respect to sub-step 1028, or another method allowing the comparison of the two vectors.
[0085] If the result of the comparison in sub-step 1052 is that the two compared vectors are different, the system applies sub-step 1053 to compare index j with threshold V2. If this index is strictly less than threshold V2, a new axis vector nX is taken to be value vector Xtemp in sub-step 1054, and step 104 is started again in sub-step 1046, returning to sub-step 1052. Thus, the iteration is applied for j from 1 to V2 as long as vector Xtemp and vector nX are different.
[0086] If in step 1052 the vectors Xtemp and nX are found to be equal, or if in sub-step 1053 the maximum number of iterations V2 has been reached, a new sub-step 1055 is applied which defines the portion P of the partition T to be coated as equal to the last temporary portion P' defined in the last sub-step 1049 performed.
[0087] Therefore, sub-steps 1041 to 1055 are performed to find the planes π3 and π4 that are perpendicular to the new X-axis vector nX and pass through Q init and Q cut By iteration, it is possible to define a part P of the partition T that is cut between
[0088] The user can select the threshold value V2 for the threshold value V1. In practice, this can be set to 1 to 20, preferably 5.
[0089] After step 1055, sub-step 1056 is applied in which calculator 40 calculates an orientation vector OT for print head 10, which is equal to the normalized cross product of a new X-axis vector nX and the inverse -Oy vector of the Y-axis vector Oy in the second Cartesian coordinate system R1.
[0090] In the following sub-step 1057, the computer 40 calculates the fifth point Q init and the sixth point Q cut The fifth point Q init A seventh point P, called the center point, is located midway through the orthogonal projection onto a line that passes through the center and whose direction vector is equal to the new axis vector nX. centre Calculate the position of this center point P centre is offset by a third distance d4 measured along the Y-axis vector Oy of the second Cartesian coordinate system R1 in the negative direction of this axis with respect to the line passing through these two points. This third distance d4 is defined as half of the first distance d2, and therefore point P centre is approximately halfway between the first plane π1 and the second plane π2 described above.
[0091] In the next sub-step 1058, the seventh point P center However, an eighth point P, called the collision point, is located on the part P of the section T along a line whose direction vector is the orientation vector OT. impact In sub-step 1058, this eighth point P impact is the seventh point and the orientation axis vector OT, the application point P centre and occurs only if an intersection occurs between the line of the direction vector OT and a part P of the section T that contains a filled area, i.e., a region filled with material. This is the case for the first seven parts P1 to P7 of the section T shown in Figure 9.
[0092] According to a variant of the method of the invention not shown, the eighth point P impact is the seventh point P centre However, it can be defined by taking an imaginary line made from the intersection of a first imaginary plane with a second imaginary plane. The first imaginary plane is located midway between the planes π1 and π2, while the second imaginary plane is located midway between the planes π3 and π4. When this imaginary line intersects the filled area in part P of the section T, the point P impact exists.
[0093] In the case of the eighth portion P8 shown enlarged in FIG. 9, the projection of the seventh point falls on the port O8 across the portion P8. In this case, the eighth point P impact As an alternative to point P' impact This alternative point P' is defined. impact To define the point P8, the calculator 40 takes the ninth point, i.e., the end point p8 of the portion P8 that is furthest away in the direction opposite to the orientation vector of the head vector OT. In the example of FIG. 9, this ninth point p8 is located at the "apex" of the protuberance of the portion P8. This point p8 is then taken as the point P8. centre The result of this projection is an eighth point P impact The tenth point P' as an alternative to impact Using the method associated with step 1058, the eighth point P impactIf it is not possible to construct the eighth point P, substep 1059 impact The tenth point P' impact In other words, in this case, the eighth point P impact is the tenth point P' impact is considered to be equal to
[0094] At the end of sub-steps 1058 and 1059, the computer 40 stores the eighth point P impact and the orientation axis vector OT is stored.
[0095] According to a variant of the method of the invention not shown, the eighth point P impact is determined as explained above for the case of the eighth part P8. In other words, in consideration, the seventh point P centre It does not matter whether the line or the overhead line passing through crosses the filled parts of parts P1, P2, etc. Usually, the tenth point P' impact is used.
[0096] Substeps 1056 to 1070 therefore enable the calculation and storage of the theoretical impact point of the jet of coating product on the part P defined in substep 1055 and the print head orientation axis vector OT for this impact point.
[0097] In a subsequent sub-step 1071, the portion P of the partition T for which the collision point and orientation vector have been calculated is deleted from the partition T, and in sub-step 1073 the index j is set to zero, after which step 104 is started again in sub-step 1046.
[0098] As shown in sub-step 1072 of FIG. 13, the series of sub-steps 1046 to 1071 are applied as long as the area of the partition T is not zero.
[0099] Instead, the reduction of the section T of the surface S to be coated, which is performed in step 1071 by deleting the portion P defined in step 1055, is performed by removing the point Q. init This can be replaced with a substep of deleting a fragment from the partition T starting at point Q and extending over a user-specified progress distance dAvance. To do this, the calculator 40 calculates the point Q init Starting from the point Q, add the distance dAvance along the new axis vector nX, and then the calculator 40 calculates the partition T from the point Q. init is swapped with the part of the compartment located a distance dAvance away.
[0100] By deleting the portion P identified in step 1055 or by deleting the variable Q init , vector nX and dAvance, a fragment of partition T is removed in step 1071.
[0101] The iterative method applied in sub-steps 1046 to 1072 is considered to allow a stepwise processing of the partition T and, in step 1070, storing the points and axes for each considered portion P or corresponding portion of the partition T.
[0102] This means that the collision point P impact or alternative collision point P' impact results in the configuration of FIG. 9, where the orientation axis vector OT at this point defines for each surface portion P1, P2, etc.
[0103] After the entire surface of the section T has been processed in sub-steps 1046 to 1071, i.e., after sub-step 1072 has determined that the area of the section T is 0, then in sub-step 1074, for each eighth point, the calculator 40 determines the axis vector AxeXT of the print head 10 at this collision point as equal to the normalized cross product of the orientation vector OT of the print head 10 at this point and the Y-axis vector Oy of the second Cartesian coordinate system R1.
[0104] In a subsequent sub-step 1075, the computer 40 calculates an eighth point P impact , a characteristic point P to be reached, called the “tool center point,” which is a reference point for the spatial placement of the print head 10. tcp More specifically, as shown in FIG. 10, the eighth point P impact is located at half the distance d2 defined above with respect to the print head 10 and at point P impact and P h and are considered to be located at a position such that they are aligned along the axis vector Oy. A reference nozzle 140 is designated among the nozzles 14, e.g., the nozzle located in the lower right corner of the printhead 10 in FIG. 10. This nozzle 140 is located at the tool center point or point P tcp A point P is parallel to the axis vector AxeXT. h and P tcp The deviation dx between the point P and the point P is shown. impact and P h Since the point P is aligned along the axis vector Oy, the displacement dx is also parallel to the axis vector AxeXT. impact and P tcp It is also the deviation between point P impact and P tcp The negative displacement dy is parallel to the Y-axis vector Oy of the second Cartesian coordinate system R1.
[0105] Under these conditions, the position of the reference nozzle 140 is given by the formula:
number
[0106] point P tcp is defined, then in sub-step 1076 following step 1075, the point P tcpare included in a file Traj for the path for the reference nozzle 140 to follow over a section T of the surface S to be coated, together with the vector OT of the head. This means that in the path file Traj, different characteristic points P tcp and different orientation axes of the head vector OT are recorded successively.
[0107] Alternatively, sub-steps 1074-1076 may be applied between sub-steps 1070 and 1071, or even simultaneously with sub-step 1070.
[0108] According to an optional sub-step 1077 of the present invention, at least one further engagement point and at least one further release point for the print head on the path to be completed along the section T can be added to the path file Traj. In effect, two further engagement points P e1 and P e2 and two further open points P d1 and P d2 and are added to the path file generated for each segment T. Two engagement points P e1 and P e2 are the first two points P of the path Traj tcp and collinearity, and from these first two points, Pa Similarly, two open points P d1 and P d2 are the last two points on the path P tcp and are collinear, and the last two points P tcp The two parameterized distances used for the engagement and release points may be the same or different.
[0109] The path file generated for segment T is a single point P tcp , then based on this single point, an axis vector AxeXT is used to define at least one engagement point and at least one release point.
[0110] Alternatively, in accordance with an approach that provides more flexibility in how the printhead 10 is engaged with the path Traj, the engagement point P e1 and P e2 is the point P corresponding to the first point on the path Traj tcp and P e1 and P e2 and that the line on which these points lie is parallel to a vector defined by the cross product of the first orientation axis of the head vector OT for the path Traj and the Y-axis vector Oy of the second Cartesian coordinate system R1. Similarly, according to an approach that provides further flexibility in how the printhead 10 is released from the path Traj, the release point P d1 and P d2 is the point P corresponding to the last point on the path Traj tcp and P d1 and P d2 and that the line on which those points lie is parallel to the vector defined by the cross product of the final orientation axis of the head vector OT for the path Traj and the Y-axis vector Oy of the second Cartesian coordinate system R1.
[0111] The number of engagement and release points is, but is not necessarily, equal to 2. As previously mentioned, the number may be 1. The number may also be 3 or more. The number of engagement points is, but is not necessarily, equal to the number of release points.
[0112] In a subsequent sub-step 1078, the computer 40 calculates the trajectory of the point P tcp In this context, we optimize the number of three consecutive points P tcp are collinear and their orientation axis vectors OT are parallel, the intermediate point P tcp is deleted from the launch file, and the head orientation vector OT associated with this point is deleted as well. This optimization substep optimizes the trajectory point P due to the collinearity of these points in space. tcp This allows reducing the number of operations and avoiding overloading the computing power of the computer 40.
[0113] Sub-step 1078 is optional. Sub-step 1078 is a step of finding the point P in each trajectory file Traj. tcp This may or may not be performed depending on the number of processes and the computing power of the computer 40.
[0114] In the subsequent sub-steps 1079 to 1091 of step 104, the number of forward and backward strokes made to coat the strip T of the surface S is taken into account. The explanations provided above in relation to Figures 3 and 4 apply mutatis mutandis to the coating of the strip T of the surface S to be coated.
[0115] The Armax value is defined as the sum of the number of forward and backward strokes required by the printhead to cover the strip T. In the case shown in the bottom part of Figure 2, this ARmax number is equal to 1. In the case shown in the middle part of Figure 3 and the top part of Figure 4, this number is equal to 2. In the case shown in the bottom part of Figure 4, this number is equal to 3.
[0116] The index k, which is initialized to zero in step 1041 and incremented by one in step 1079, represents the sequence number of the trajectory to be performed, either a forward stroke (when index k is odd) or a backward stroke (when index k is even). The file corresponding to the trajectory T is actually a file of points P tcp and an array of associated vectors OT. When proceeding from index k-1 to index k, computer 40 replicates the array generated in step 1076.
[0117] If the index k is even, the computer 40 inverts the replicated array, i.e., the target point P tcp , the order of the vectors OT associated with each point is changed so that the first point, vector of each point becomes the last point, vector, and vice versa. tcp Regarding this, the calculator 40 calculates the point Ptcp is shifted in the opposite direction to the ordinate axis vector Oy of the second Cartesian system R1 by a distance d5 equal to the value of (index (k-1)) x (beam width l15). In other words, the point P tcp is shifted by a distance d5=(k−1)×l15. The resulting new set of points and the uncorrected orientation vector OT for these different points form the return section of the trajectory along the section T. This new section Δtraj of the trajectory Traj is added to the existing trajectory in substep 1091.
[0118] If index k is odd and not 1, then point P tcp The order of the trajectory segments ΔTraj is maintained relative to the order determined in substep 1076, i.e., is reversed relative to that of the trajectory segments ΔTraj determined for the even index k−1, and several points P tcp is shifted by the same distance d5 in the opposite direction to the axis vector Oy of the second Cartesian system R1 with respect to the last calculation performed. The new set of points obtained and the uncorrected orientation vector OT for these different points form a new front section of the trajectory along the section T. This new section ΔTraj of the trajectory Traj is added to the existing trajectory in substep 1091.
[0119] Therefore, for an index k of 2~ARmax, each segment Δtraj added to the trajectory is calculated by the attention point P defined for the previously calculated trajectory segment. tcp is calculated by reversing the order of
[0120] When the maximum number of forward and backward strokes is reached in step 1090, a complete trajectory for the T-strip is generated in sub-step 1092 of step 104.
[0121] According to an embodiment of the invention not shown, if an uncoated area exists on the surface S, as represented by the area Z0 in Figure 5, the robot trajectory is adjusted so as not to interfere with this area Z0. Consider a strip T of the surface S that crosses the uncoated area Z0. As the computer 40 proceeds with the calculations of step 104 described above, it will consider a point of interest P tcp , its projection P by the director OT onto the uncoated area Z0 tcp / proj If there exists a point P tcp From point P tcp / proj If the vector going to the target point P is in the opposite direction to the orientation vector OT, the computer 40 tcp is considered to mean that the non-coated area Z0 is interfering with the non-coated area Z0. In this case, the shift in the fitted magnitude is tcp is applied to the position of the director OT to move that position in the direction opposite to the director OT from the surface S to be coated to the level of the non-coated zone Z0. In other words, in the non-coated zone Z0, the trajectory followed by the print head is adapted to avoid hitting the object O to be coated, i.e. to avoid interference between the print head 10 and this object.
[0122] The measures taken to avoid interference between the print head 10 and the object to be coated O in the uncoated zone Z0 can also be taken for the coated zone Z1. When step 104 has been carried out with the possible adaptation at the level of the uncoated zone Z0 described above, step 106 is carried out by the computer 40, consisting in automatically deleting, by calculation, from the modeling file F the coated strips T taken into account during the previous steps 102 and 104, before starting again with step 102.
[0123] Instead, in step 106, computer 40 generates a new modeling file F corresponding to the modeling file F from which strip T has been deleted, which is also equivalent to deleting strip T from file F.
[0124] In other words, the generation of trajectories is performed by successive iterations, each corresponding to a strip T, which is deleted from the file F when the corresponding trajectory Traj is determined.
[0125] This is done until the area of the modeled surface S to be coated in file F is zero, i.e. successive deletions of different strips T correspond to the complete elimination of surface S in file F. This is evaluated in step 108. Steps 102 to 106 are performed iteratively as long as the area detected in step 108 is not zero.
[0126] At the end of this step 108, each of the attention points P tcp , the target point P reached by the reference nozzle 140 of the printhead 10 with the printhead orientation vector OT observed. tcp A global trajectory file TRAJ is available containing a set of orbit Tra j include.
[0127] To avoid the risk of interference between the print head 10 and the physical surface of the object O to be coated, a systematic offset of, for example, 10 nm is preferably provided between the points P tcp The offset in the opposite direction to the orientation vector OT associated with each point P of each trajectory Traj is calculated by the controller 24. tcp In practice, the controller 24 is applied to the point P tcp Using these points P tcp1 constitutes a set of points farther from the surface S than the offset of the print head 10. This offset is a measure of safety intended to prevent the print head 10 from hitting the object O to be coated. The value of this offset is chosen according to the accuracy of the movements of the robot 20, the accuracy of the modelling of the surface S in the file F and the shape of the print head 10.
[0128] From the trajectory files Traj generated in the various stages 104, the digital simulation makes it possible to know the position, orientation and possible actuation of each nozzle 14 during stage 110 as a function of the configurable forward steps of the standard nozzle 140 relative to each trajectory Traj.
[0129] This step 110 includes a first sub-step 1101 of determining the position and orientation of each nozzle 14 as a function of a parameterizable feed rate.
[0130] In this sub-step 1101, the computer 40 calculates each movement of the reference nozzle 140 from the point of interest P of the trajectory Traj. tcp and two pairs (P tcp , vector OT) into several elementary steps p. In other words, the computer 40 divides the trajectory Traj into the target point P tcp For nozzle 14, the discretized portion P14 l,p The position of the print head 10 is discretized by
[0131] Assuming the body 12 of the printhead 10 is rigid and accurately modeled, the position of the reference nozzle 140 makes it possible to know the positions of the other nozzles 14 as the printhead 10 moves along the trajectory Traj.
[0132] The nozzle 14 is an index l It is thought that the numbers are numbered from 1 to n × m. P14 is between 1 and n × m. lDuring the movement of the print head 10 along the trajectory Traj, the nozzles 14 l is the point reached by
[0133] In sub-step 1102 of step 110, and at each point P14 l , the computer 40 calculates the point of impact PI of the spray of coating product coming from this nozzle with the surface S, i.e., the nozzle 14 in question. l The point of intersection of the line arranged along the axis of the nozzle 14 with the surface to be coated is l In other words, in substep 1101, the computer 40 searches for each nozzle 14 and each discretized position P14 l,p Regarding the collision point PI l,p If this point of impact PI exists, the computer 40 determines that the nozzle should spray the coating material at this point. If this point of impact PI does not exist, the computer 40 determines that point P14 l While in the range, the nozzle should not spray coating material.
[0134] Consider the printhead 10 advancing along the trajectory at step p. In this case, during substep 1102, each nozzle 14 l , the computer 40 calculates the point P14 reached in step p. l,p , its director in this step OT l,p+1 and collision point PI l,p You can look at the coordinates corresponding to the index l and p mean that the points reached and the impact points are those of nozzle I at step p. Then, computer 40 moves to the next step, p+1, and calculates the impact points of each nozzle 14. l About the collision point PI l,p+1 If this collision point exists, the computer 40 calculates it as point P l,p+1 and related OrientationVector OT l,p+1 The pair formed by
[0135] Nozzle 14 l For two consecutive collision points P I l,p and P.I. l,p+1 exists, computer 40, during substep 1103 of step 110, calculates the distance d between these two collision points. l,p Calculate this distance d l,p is the distance between two steps p and p+1 of the advance of nozzle I along the trajectory Traj. l is the distance covered by
[0136] Similarly, the same nozzle 14 l If there are three consecutive collision points for , the computer 40 determines during sub-step 1103 the distance d to be coated in the second step with the same grade as before. l,p+1 , i.e., point PI l,p+1 and P.I. l,p+2 Calculate the distance between.
[0137] Thus, during movement of the printhead 10 along the trajectory, each nozzle 14 l Regarding the sequence of steps, The distance d coated during this sequence of steps l , i.e. the distance that this nozzle needs to cover when painting, i.e. when spraying a coating material, and The uncovered distance d' in this sequence of steps l , i.e., the distance that this nozzle must cover without painting, i.e., without spraying the coating product, and This allows the determination of
[0138] Since the nozzles 14 are distributed and spaced apart from one another on the front side of the printhead 10, i.e., on the side of the printhead 10 facing the object O to be coated, not all nozzles travel the same distance between two successive steps of the printhead 10. Therefore, the surface S to be coated seen by each nozzle is different. To simplify the calculation, it is possible to calculate the coated and / or uncoated distance for a reference nozzle 140 and to compare the coated or uncoated distance of each nozzle 14 relative to the reference nozzle 140. l Taking into account the position of the nozzle 140, an increase or decrease multiplication factor can be applied, which increases or decreases the coated or uncoated distance relative to the nozzle 140 relative to the reference nozzle 140. l as a function of distance. This is also done during substep 1103.
[0139] Alternatively, in sub-step 1103, the ratio of distances can be applied directly to the associated distances without using a multiplier.
[0140] Whether or not a multiplier is used, in substep 1103 computer 40 l and the reference nozzle 140, the coated distance d at each discretized position of the trajectory is calculated. l or uncoated distance d l , and optionally a multiplication factor.
[0141] Each nozzle 14 l The coated distance d l and uncoated distance d' lThe calculation of the various calculations of the various nozzles 14 for the entire trajectory TRAJ formed by the various trajectories Traj, and if necessary the various calculations of the multiplication coefficients, is carried out during the last sub-step 1104 of step 110, i.e. for each trajectory Traj defined for each section T of the surface S to be coated, by the various nozzles 14 for the entire trajectory TRAJ. l This makes it possible to create a storage medium for the program Prog(TRAJ) for operating the program.
[0142] This programming file Prog(TRAJ) is used by the ECU 30 to program each nozzle 14 l is controlled according to the coated distance, the uncoated distance and the associated multiplication factors.
[0143] As in the alternative envisaged above, when the ratio of distances is applied directly to the associated distances without using a multiplier, the Prog(TRAJ) programming file contains only the covered and uncovered distances and no multiplication factors.
[0144] Alternatively, in each discretization step of sub-step 1101, each nozzle 14 l For the potential collision point PI, the distance d l or d' l and the multiplication factor can be determined similarly.
[0145] Therefore, the order of the sub-steps 1101 to 1103 described above can be changed by adapting step 110.
[0146] In practice, the calculation steps are carried out by computer methods constituting the computer 40, which are programmed for this purpose and which are associated with a computer memory capable of storing the results of these calculations before they are sent to the ECU 30 in the form of a programming file Prog(TRAJ) and to the controller 24 in the form of a trajectory TRAJ.
[0147] Under these conditions, when a program Prog(TRAJ) is defined during step 110 of the method of the invention, as described above, it follows that during step 112 the robot 20, according to the operating program defined in step 110, moves along the trajectory TRAJ to each of the attention points P, relative to the physical surface to be coated, of which file F is a computer model. tcp This can be done when moving the printhead 10, respecting the orientation of the reference nozzle 140 in FIG. 11, and is represented by step 112 in FIG.
[0148] Alternatively, the program Prog(TRAJ) for activating the nozzles 14 of the printhead 10 can be defined immediately after the determination of the path for each strip T of the surface S to be coated. In other words, step 110 can be performed before steps 106 and 108. The different nozzle firing programs defined for each trajectory for the strip T can then be grouped together into a global program for activating the nozzles for the entire trajectory for the entire surface S.
[0149] The present invention has been described above in the case where the markers R0 and R1 are orthogonal. In particular, these marks may be orthogonal, or conversely, they may not be orthogonal and / or normal, in which case the calculations of the method of the present invention are adapted.
[0150] The above-described modes of operation and variations can be combined to create new modes of operation of the present invention. The following embodiments can be given as examples of the present invention. (Appendix 1) A method for applying a coating product to a surface (S) to be coated of an object (O), the surface to be coated being modeled by a computer file (F) and comprising at least one area to be coated (Z1), the method being carried out on the one hand by a print head (10) provided with a body (12) with at least one print nozzle (14) attached on the arm (22) of a robot (20) provided for moving the print head relative to the surface, the method being carried out by a computer (40), a) defining (102) by automatic calculation a strip (T) of the surface to be coated from a computer file (F) containing a model of the surface (S) to be coated; b) A step (104) of defining, by automatic calculation, a trajectory (Traj) for the surface strip (T) to be coated, said trajectory being determined by the distance between each point of interest (P tcp ), the point of interest (P) reached by a given point (140) of the printhead with the printhead orientation (vector OT) observed. tcp ) steps formed by a succession of (104); c) a step (106) of deleting, by automatic calculation, the strip (T) to be coated from the computer file (F) modelling the surface (S) to be coated; d) repeating step a) until the modeled area of the surface to be coated is zero; e) defining (110) for each path (Traj) a program (Prog(TRAJ)) for activating each nozzle (14) of the printhead (10); and f) applying (112) the coating product by actuating each nozzle of the print head on the different trajectories (Traj) defined in step b) according to the actuation program (Prog(TRAJ)) defined in step e), while respecting the orientation (vector OT) of the print head (10) at each point of interest; 10. A method comprising at least the successive steps of: (Appendix 2) Step b) bA) substeps (1041-1055) of iteratively defining portions (P) of a strip (T) of an area (T) of a surface (S) to be coated; bB) the point of collision (P) on the part defined in substep bA) impact ) and the axis of orientation (vector OT) at the point of collision (10) in substeps (1056-1059); bC) Substeps (1041-1071) of removing by calculation a portion (P) of the strip (T) of the surface area (S) to be coated; bD) Sub-step bA) is started again until no more parts are coated; bE) generating a portion of the trajectory (Traj) corresponding to a forward movement of the print head length of the part to be coated (T) (1076); and bF) generating (1091) a portion of the trajectory (ΔTraj) corresponding to a further return or forward movement of the print head along the part to be coated, if necessary, based on the size of the beam of coating product (15) coming from the print head and the size of the part to be recoated (d2); 2. The method of claim 1, comprising the successive substeps of: (Appendix 3) The method is carried out between steps b) and c) when the surface to be coated (S) comprises at least one uncoated area (Z0), and g) Adapting the trajectory (Traj) of the print head (10) based on the area (Z0) not to be coated so as to avoid hitting the object (O). 3. The method of claim 1 or 2, comprising the further step of: (Appendix 4) Step a) a1) a point (O) selected by the user as the origin in the spatial representation using a computer file (F) on a virtual support surface (SP) located near the area to be coated (S) or on the surface to be coated (S) itself; a normal (vector Nsp) perpendicular to the support surface (SP) or surface (S) at the origin as the height axis (vector Oz); As the ordinate axis (vector Oy), the vector product of the height axis and the axis aligned with the direction of travel selected by the user; and The vector product of the abscissa axis (vector Ox) and the ordinate axis (vector Oy) and the height axis (vector Oz) a substep (1021) of defining a first Cartesian coordinate system (R0) having: a2) substep (1022) of defining a first normal (vector N) and taking as its initial value a value equal to the vector whose direction is the height axis (vector Oz) of the most recently defined first Cartesian coordinate system (R0); a3) In the first Cartesian coordinate system (R0), among the points of the surface to be coated, a first point (P init ) substep (1024); a4) in a first Cartesian coordinate system (R0), a second point (P) is determined as a point on the surface to be coated that is located a first distance (d2) from the first point, as determined by the ordinate axis and the location of each nozzle (14) in the printhead (10); cut ) substep (1025); a5) perpendicular to the ordinate axis (vector Oy) of the first Cartesian coordinate system (R0) and at the first point (P init ) and the second point (P cut a substep (1027) of calculating the average normal vector (vector Nμ) of the virtual strip (T′) of the surface to be coated, defined (1026) between a first plane (π1) and a second plane (π2) passing through, respectively, a6) A substep (1028) of comparing the first normal vector (vector N) with the average normal vector (vector Nμ); a7) If it is determined in step a6) that the first normal vector and the average normal vector are different, a71) Redefine the first normal vector as equal to the average normal vector (1030); a72) redefining the first Cartesian coordinate system taking into account the new first normal vector (1031); a73) Repeat substeps a3) to a6). a8) if it is determined in step a6) that the initial normal vector and the average normal vector are equal, a substep (1032) of redefining the portion to be coated (T) as equal to the provisional strip (T') in step a5); 4. The method according to any one of claims 1 to 3, comprising at least the following consecutive substeps: (Appendix 5) 5. The method of claim 4, wherein the body (12) of the print head (10) comprises several nozzles (14) arranged in parallel rows (16), and the first distance (d2) is a multiple of the distance (d1) between two adjacent rows (16) of nozzles or between two consecutive nozzles of the same row, measured perpendicular to the forward movement direction (F1) of the print head. (Appendix 6) Step b) b1) The origin is the first point (P init a sub-step (1042) of defining a second Cartesian coordinate system (R1) whose abscissa axis (vector Ox), ordinate axis (vector Oy) and height axis (vector Oz) are superimposed on the axes of the first Cartesian coordinate system (R0) most recently defined in step a1) or step a72); b2) substep (1045) of defining a new abscissa axis (vector nX) as the abscissa axis (vector Ox) of a second Cartesian coordinate system (R1); b3) In the second Cartesian coordinate system (R1), the initial point (Q init ) substep (1047); b4) In a second Cartesian coordinate system (R1), the cutting point (Q) is determined as a point on the strip of surface to be coated (T) located at a given distance (d3) relative to the initial point and along the new abscissa axis. cut ) substep (1048); b5) perpendicular to the new abscissa axis (vector nX) and at the initial point (Q init ) and cutting points (Q cut a substep (1050) of calculating the average normal vector (vector N'μ) for a hypothetical portion (P') of the defined strip (T) of the surface to be coated, defined (1049) between a third plane (π3) and a fourth plane (π4) passing through the third plane (π3) and the fourth plane (π4), respectively; b6) a substep (1051) of calculating a temporary longitudinal axis (vector Xtemp) equal to the normalized vector product of the mean normal vector (vector N'μ) calculated in step b5) and the inverse of the ordinate Y axis (vector -Oy) of the second Cartesian coordinate system (R1); b7) Substep (1052) of comparing the new abscissa axis (vector nX) with the temporary longitudinal axis (vector Xtemp); b8) if it is determined in step b7) that the new abscissa axis and the tentative longitudinal axis are different, b81) Redefine the new abscissa axis (vector nX) as equal to the temporary longitudinal axis (vector Xtemp) (1054); b82) Repeat substeps b3) to b7); b9) if it is determined in step b7) that the new X-axis and the provisional longitudinal axis are equal, then a substep (1055) of defining the portion of the strip to be coated (P) as equal to the provisional portion (P') in step b5). 6. The method according to claim 4 or 5, comprising at least the following consecutive substeps: (Appendix 7) Step b) follows sub-steps b1) to b9), and b10) calculating a printhead orientation vector (vector OT) equal to the vector product of the new abscissa axis (vector nX) and the inverse of the ordinate axis (vector -Oy) of the second Cartesian coordinate system (R1) (1056); b11) Initial point (Q init ) and cutting points (Q cut ) and the initial point (Q init ) and has a direction vector equal to the new axis (vector nX), and Measured along the ordinate axis (vector Oy) of the second Cartesian coordinate system (R1) and in the negative direction along this axis, the initial point (Q init ) to the third distance (d4), which is half of the first distance (d2). The point to be located is the center point (P centre ) substep (1057); b12) The center point (P) of the strip (T) of the surface to be coated along the line whose direction vector is the orientation vector of the print head (vector OT) centre ) as a projection of the collision point (P impact ) substep (1058); b13) If a point of collision exists, the point of collision (P impact ) and the print head orientation vector (vector OT) to the trajectory (Traj) (1070). 7. The method of claim 6, comprising at least the following consecutive substeps: (Appendix 8) The printhead (10) has a body (12) with several nozzles (14) arranged in parallel rows (16), and a center point (P) along a new abscissa axis (vector nX) of a second Cartesian coordinate system (R1). centre ) is the abscissa of the initial point (Q init ) and cutting points (Q cut ) and the center point (P centre 8. The method of claim 7, wherein the line (n) is shifted relative to this line and in a direction opposite to the ordinate axis (vector Oy) of the second Cartesian coordinate system by a distance (d4) equal to half the product of the number of nozzle rows (n) and the distance (d1) between two of these rows (n × d1 / 2), measured along the ordinate axis. (Appendix 9) The direction vector is the print head orientation vector (vector OT) and the center point (P centre If there is no point of impact in step b12) due to a lack of material in the strip (T) of the surface to be coated along a straight line passing through b14) searching for an end point (p8) of the portion (P) of the strip to be coated, the end point (p8) being located along an axis parallel to the orientation vector (vector OT) of the print head, in the direction opposite to this vector; b15) Center point (P centre ) and parallel to the print head orientation vector (vector OT), an alternative point of collision (P' impact ) the sub-step; b16) Point of collision (P centre ) to the alternative point of impact (P') for the part (P) of the strip (T) to be coated in the process. impact ) and matching substeps (1059) 9. The method according to claim 7 or 8, characterized in that a further substep consisting of: (Appendix 10) Step b) follows sub-steps b1) to b13), and b18) a substep (1071) of reducing the strip (T) of surface to be coated by a certain fraction of itself; b19) a substep (1072) of determining whether the strip of surface to be coated has a non-zero area; b20) if the result of the determination in step b19) is yes, performing sub-steps b3) to b19) again. 10. The method according to any one of appendices 7 to 9, comprising at least the following consecutive substeps: (Appendix 11) 11. The method according to claim 10, characterized in that the portion of the strip (T) from which it is reduced in sub-step b18) is the portion (P) defined in step b9). (Appendix 12) Step b) follows steps b1) to b13), and b21) Each collision point (P impact a substep (1074) of defining the axis vector (vector AxeXT) of the print head at this point as equal to the normalized vector product of the orientation vector (vector OT) of the print head at this point and the ordinate axis (vector Oy) of the second Cartesian coordinate system; b23) Point of collision (P impact ), the distribution (dx, dy) of the nozzles (14) in the print head (10), the axis vector of the head (vector AxeXT) and the Y axis (Oy) of the second Cartesian coordinate system (R1), the target point (P tcp ) substep (1075); b24) The corresponding collision point (P impact ) Noteworthy points (P tcp ) and the print head orientation vector (vector OT) in a trajectory (Traj) (1076). 12. The method according to any one of claims 7 to 11, comprising at least the following consecutive substeps: (Appendix 13) Step b) calculates at least one entry point (P e1 、P e2 ) and / or exit point (P d1 、P d2 ) to the trajectory (Traj) defined for each strip (T) of the surface to be coated; and / or Step b) removes at least one point of interest in the trajectory (P), i.e., a point of interest that is collinear with the points preceding and succeeding it along the length of the trajectory (Traj) and whose axis of orientation (vector OT) is parallel to the axis of orientation of the points preceding and succeeding it along the length of the trajectory. tcp ) and further optimizing the number of 13. The method of claim 12, (Appendix 14) Step b) is a process for producing a beam (15) of coating product from the printhead (10). and the width (d2) of the strip (T) of the surface to be coated, and if necessary, after the first forward movement, one or more sections (ΔTraj) of the trajectory (Traj) are moved to a point of interest (P) defined in step b23) for the previous section of the trajectory. tcp 14. The method of claim 12 or 13, wherein the calculation is performed by reversing the order of (Appendix 15) 15. The method according to any one of appendices 4 to 14, characterized in that substeps a71) to a73) or b81) and b82) are performed until a certain number of iterations (V1, V2) have been performed. (Appendix 16) Based on the trajectory (Traj) defined in step b), the calculator (40) calculates, for each printhead nozzle (14), the distance covered (d I ) or uncovered distance (d' I 16. The method according to any one of appendices 1 to 15, wherein: (Appendix 17) Step e) e1) Discretized position (P14 I,p ) to find the point of interest (P tcp ) a sub-step (1101) of discretizing the shift of the print head (10); e2) In substep e1), each discretized position (P14 l,p ) for each nozzle (14) at l,p ) substep (1102); e3) At each discretized position of the orbit, the covered distance (d l ) or uncovered distance (d' l ) and optionally a multiplication factor based on the distance between the nozzle (14) and the reference nozzle (140); and e4) substep (1104) of generating a programming sheet (Prog(TRAJ)) for actuating each nozzle along the length of the trajectory; 17. The method according to any one of appendices 1 to 16, comprising the substeps: (Appendix 18) 18. An installation for applying a liquid coating product to a surface (S) to be coated of an object (O), characterized in that the installation comprises, on the one hand, a print head (10) attached to an arm (22) of a robot (20) so that the print head can be moved according to the surface, and on the other hand, a body (12) provided with at least one print nozzle (14), the body (12) being provided with at least one print nozzle (14), the setup comprising a computer configured to carry out the method according to any one of claims 1 to 17.
Claims
1. A method for applying a coating product to a surface (S) to be coated of an object (O), the surface to be coated being modeled by a computer file (F) and comprising at least one area to be coated (Z1), the method being carried out on the one hand by a print head (10) provided with a body (12) with at least one nozzle (14) attached on the arm (22) of a robot (20) provided for moving the print head relative to the surface, the method being carried out by a computer (40), a) defining (102) by automatic calculation a strip (T) of the surface to be coated from a computer file (F) containing a model of the surface (S) to be coated; b) A step (104) of defining, by automatic calculation, a trajectory (Traj) for the strip (T) of the surface to be coated, which trajectory is determined by each point of interest (P tcp ), the point of interest (P) reached by the printhead's predetermined point (140) with the printhead's orientation vector (vector OT) being observed. tcp ) (104); c) a step (106) of deleting, by automatic calculation, strips (T) of the surface to be coated from a computer file (F) modelling the surface to be coated (S); d) repeating steps a) to c) until the modeled strip of the surface to be coated is zero; e) defining (110) for each trajectory (Traj) a program (Prog(TRAJ)) for activating each nozzle (14) of the printhead (10); and f) applying (112) the coating product by actuating each nozzle of the print head on the different trajectories (Traj) defined in step b) according to the actuation program (Prog(TRAJ)) defined in step e), while respecting the orientation vector (vector OT) of the print head (10) at each point of interest; 10. A method comprising at least the successive steps of:
2. Step b) bA) substeps (1041-1055) of iteratively defining portions (P) of a strip (T) of a surface (S) to be coated; bB) the point of collision (P) on the part defined in substep bA). impact ) and the axis of the orientation vector (vector OT) at the point of impact (substeps 1056-1059); bC) Substep (1071) of eliminating, by calculation, a portion (P) of the strip (T) of the surface (S) to be coated; bD) starting again from step bA) until no more parts are coated; bE) generating (1076) a portion of the trajectory (Traj) corresponding to the forward movement of the print head along the part (P) to be coated; and bF) generating (1091) a portion of the trajectory (ΔTraj) corresponding to a further return or forward movement of the print head along the part to be coated, if necessary, based on the size of the beam of coating product (15) coming from the print head and the size of the part to be recoated (d2); 2. The method of claim 1, comprising the successive substeps of:
3. The method is carried out between steps b) and c) when the surface (S) to be coated comprises at least one uncoated area (Z0), and g) Adapting the trajectory (Traj) of the print head (10) based on the uncoated area (Z0) to avoid hitting the object (O).
3. The method of claim 1 or 2, comprising the further step of:
4. Step a) a1) a point (O) selected by the user as the origin, in the representation of space using a computer file (F), on a virtual support surface (SP) located near the surface (S) to be coated, or on the surface (S) itself; a normal vector (Nsp) perpendicular to the support surface (SP) or surface (S) at the origin as the height axis (Oz); As the ordinate axis (vector Oy), the vector product of the height axis and the axis aligned with the direction of travel selected by the user; and The vector product of the abscissa axis (vector Ox) and the ordinate axis (vector Oy) and the height axis (vector Oz) a substep (1021) of defining a first Cartesian coordinate system (R0) having: a2) substep (1022) of defining a first normal vector (vector N) and taking as its initial value a value equal to the vector whose direction is the height axis (vector Oz) of the most recently defined first Cartesian coordinate system (R0); a3) In the first Cartesian coordinate system (R0), among the points of the surface to be coated, a first point (P init a sub-step (1024) of defining a4) in a first Cartesian coordinate system (R0), a second point (P) is determined as a point on the surface to be coated that is located a first distance (d2) from the first point, as determined by the ordinate axis and the location of each nozzle (14) in the print head (10); cut a sub-step (1025) of defining a5) perpendicular to the ordinate axis (vector Oy) of the first Cartesian coordinate system (R0) and at the first point (P init ) and the second point (P cut a substep (1027) of calculating the mean normal vector (vector Nμ) of the virtual strip (T′) of the surface to be coated defined (1026) between a first plane (π1) and a second plane (π2) passing through the first plane (π1) and the second plane (π2), respectively; a6) substep (1028) of comparing the first normal vector (vector N) with the average normal vector (vector Nμ); a7) If it is determined in step a6) that the first normal vector and the average normal vector are different, a71) redefining the first normal vector as equal to the average normal vector (1030); a72) redefining the first Cartesian coordinate system taking into account the new first normal vector (1031); a73) Repeating sub-steps a3) to a6). a8) if it is determined in step a6) that the initial normal vector and the average normal vector are equal, a substep (1032) of redefining the portion to be coated (P) as equal to the provisional strip (T') in step a5); 4. The method according to claim 1, comprising at least the following successive substeps:
5. 5. The method of claim 4, wherein the body (12) of the printhead (10) comprises several nozzles (14) arranged in parallel rows (16), and the first distance (d2) is a multiple of the distance (d1) between two adjacent rows (16) of nozzles or between two consecutive nozzles of the same row, measured perpendicularly to the forward movement direction (F1) of the printhead.
6. Step b) b1) The origin is the first point (P init a sub-step (1042) of defining a second Cartesian coordinate system (R1) whose abscissa axis (vector Ox), ordinate axis (vector Oy) and height axis (vector Oz) are superimposed on the axes of the first Cartesian coordinate system (R0) most recently defined in step a1) or step a72); b2) substep (1045) of defining a new abscissa axis (vector nX) as an abscissa axis (vector Ox) of a second Cartesian coordinate system (R1); b3) In a second Cartesian coordinate system (R1), the initial point (Q init a sub-step (1047) of defining b4) In a second Cartesian coordinate system (R1), the cutting point (Q) is determined as a point on the strip of surface to be coated (T) located at a given distance (d3) relative to the initial point and along the new abscissa axis. cut a sub-step (1048) of defining b5) perpendicular to the new abscissa axis (vector nX) and at the initial point (Q init ) and the cutting point (Q cut a substep (1050) of calculating the average normal vector (vector N′μ) for a hypothetical portion (P′) of the defined strip (T) of the surface to be coated, defined (1049) between a third plane (π3) and a fourth plane (π4) passing through the third plane (π3) and the fourth plane (π4), respectively; b6) calculating (1051) a temporary longitudinal axis (vector Xtemp) equal to the normalized vector product of the mean normal vector (vector N′μ) calculated in step b5) and the inverse of the ordinate Y axis (vector −Oy) of the second Cartesian coordinate system (R1); b7) substep (1052) of comparing the new abscissa axis (vector nX) with the temporary longitudinal axis (vector Xtemp); b8) if it is determined in step b7) that the new abscissa axis and the tentative longitudinal axis are different, b81) Redefine the new abscissa axis (vector nX) as equal to the temporary longitudinal axis (vector Xtemp) (1054); b82) repeating sub-steps b3) to b7); b9) if it is determined in step b7) that the new X-axis and the provisional longitudinal axis are equal, then a substep (1055) of defining the portion of the strip to be coated (P) as equal to the provisional portion (P') in step b5); 6. A method according to claim 4 or 5, characterized in that it comprises at least the successive substeps of:
7. Step b) follows sub-steps b1) to b9), and b10) calculating (1056) the printhead orientation vector (vector OT) equal to the vector product of the new abscissa axis (vector nX) and the inverse of the ordinate axis (vector -Oy) of the second Cartesian coordinate system (R1); b11) Initial point (Q init ) and the cutting point (Q cut ) and the initial point (Q init ) and has a direction vector equal to the new axis (vector nX), and Measured along the ordinate axis (vector Oy) of the second Cartesian coordinate system (R1) and in the negative direction along this axis, the initial point (Q init ) to a third distance (d4) which is half of the first distance (d2). The point at which the center point (P centre a sub-step (1057) of defining b12) The center point (P) of the strip (T) of the surface to be coated along a straight line whose direction vector is the orientation vector of the print head (vector OT) centre ) as a projection of the collision point (P impact a sub-step (1058) of defining b13) If a point of collision exists, the point of collision (P impact ) and the print head orientation vector (vector OT) to the trajectory (Traj) (1070).
7. The method of claim 6, comprising at least the successive substeps of:
8. The printhead (10) has a body (12) with several nozzles (14) arranged in parallel rows (16), and a center point (P) along a new abscissa axis (vector nX) of a second Cartesian coordinate system (R1). centre ) is the abscissa of the initial point (Q init ) and the cutting point (Q cut ), and the center point (P centre 8. The method according to claim 7, characterized in that the line (n) is shifted with respect to this straight line and in a direction opposite to the ordinate axis (vector Oy) of the second Cartesian coordinate system by a distance (d4) equal to half the product of the number of rows of nozzles (n) and the distance (d1) between two of these rows (n × d1 / 2), measured along the ordinate axis.
9. The direction vector is the print head orientation vector (vector OT) and the center point (P centre If there is no point of impact in step b12) due to a lack of material in the strip (T) of the surface to be coated along a straight line passing through b14) searching for an end point (p8) of the portion (P) of the strip to be coated, the end point (p8) being furthest along an axis parallel to the orientation vector (vector OT) of the print head in the direction opposite to this vector; b15) Center point (P centre ) and parallel to the print head orientation vector (vector OT), an alternative point of collision (P' impact ) the sub-step of: b16) Point of collision (P centre ) to the alternative point of impact (P') for the part (P) of the strip (T) being coated in the process. impact ) and substep (1059) 9. The method according to claim 7 or 8, characterized in that a further substep consisting of:
10. Step b) follows sub-steps b1) to b13), and b18) substep (1071) of reducing the strip (T) of surface to be coated by a certain fraction of itself; b19) determining whether the strip of surface to be coated has a non-zero area (1072); b20) if the result of the determination in step b19) is yes, performing sub-steps b3) to b19) again.
10. The method according to any one of claims 7 to 9, characterized in that it comprises at least the successive substeps consisting of:
11. 11. A method according to claim 10, characterized in that the portion from which the strip (T) is reduced in sub-step b18) is the portion (P) defined in step b9).
12. Step b) follows steps b1) to b13), and b21) Each collision point (P impact defining (1074) the axis vector (vector AxeXT) of the print head at this point as equal to the normalized vector product of the orientation vector (vector Ot) of the print head at this point and the ordinate axis (vector Oy) of the second Cartesian coordinate system; b23) Point of collision (P impact ), the distribution (dx, dy) of the nozzles (14) in the print head (10), the axis vector of the head (vector AxeXT) and the Y axis (Oy) of the second Cartesian coordinate system (R1), the target point (P tcp a sub-step (1075) of defining b24) The corresponding collision point (P impact ) in the attention point (P tcp ) and the print head orientation vector (vector OT) into a trajectory (Traj) (1076).
12. The method according to any one of claims 7 to 11, characterized in that it comprises at least the successive substeps consisting of:
13. Step b) calculates at least one engagement point (P) in addition to the one calculated in step b24). e1 , P e2 ) and / or the open point (P d1 , P d2 ) to the trajectory (Traj) defined for each strip (T) of the surface to be coated; and / or Step b) removes at least one point of interest in the trajectory (P), i.e., a point of interest that is collinear with the points preceding and succeeding it along the length of the trajectory (Traj) and whose axis of its orientation vector (vector OT) is parallel to the axes of the orientation vectors of the points preceding and succeeding it along the length of the trajectory. tcp ) and further optimizing the number of The method of claim 12, wherein:
14. Step b) is a process for producing a beam (15) of coating product from the printhead (10). and the width (d2) of the strip (T) of the surface to be coated, and if necessary, after the first forward movement, one or more sections (ΔTraj) of the trajectory (Traj) are moved to a point of interest (P) defined in step b23) for the previous section of the trajectory. tcp 14. The method according to claim 12 or 13, characterized in that it is calculated by reversing the order of
15. Method according to any one of claims 4 to 14, characterized in that the sub-steps a71) to a73) or b81) and b82) are performed until a certain number of iterations (V1, V2) have been performed.
16. 16. The method according to any one of claims 1 to 15, characterized in that, based on the trajectory (Traj) defined in step b), the calculator (40) calculates, for each nozzle (14), the covered distance (dl) or the uncovered distance (d'l) from the succession of points (p) of the print head's (10) progression.
17. Step e) is e1) Using the discretized position (P14l,p), find the point of interest (P tcp ) a sub-step (1101) of discretizing the shift of the print head (10); e2) In substep e1), each discretized position (P14 l,p ) for each nozzle (14) at l,p ) substep (1102); e3) At each discretized position of the trajectory, the covered distance (d l ) or uncovered distance (d' l ) and optionally a multiplication factor based on the distance between the nozzle (14) and the reference nozzle (140); and e4) substep (1104) of generating a program (Prog(TRAJ)) for actuating each nozzle along the length of the trajectory; A method according to any one of claims 1 to 16, characterized in that it comprises the sub-steps consisting of:
18. 18. An installation for applying a liquid coating product to a surface (S) of an object (O) to be coated, characterized in that the installation comprises, on the one hand, a print head (10) attached to an arm (22) of a robot (20) so that the print head can be moved according to the surface, and on the other hand, a body (12) provided with at least one nozzle (14), the body (12) being provided with at least one nozzle (14), the setup comprising a computer configured to carry out the method according to any one of claims 1 to 17.
Citation Information
Patent Citations
How to print an object
JP2015520011A
Applicator of coating product, multiaxis robot comprising such applicator, and application method of coating product
JP2017154135A
Methods for printing a curved surface of an object by using an inkjet head
US20160052312A1