US20210394217A1 - Method and facility for applying a coating product using a print head - Google Patents
Method and facility for applying a coating product using a print head Download PDFInfo
- Publication number
- US20210394217A1 US20210394217A1 US17/350,453 US202117350453A US2021394217A1 US 20210394217 A1 US20210394217 A1 US 20210394217A1 US 202117350453 A US202117350453 A US 202117350453A US 2021394217 A1 US2021394217 A1 US 2021394217A1
- Authority
- US
- United States
- Prior art keywords
- point
- axis
- print head
- coated
- strip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 239000011248 coating agent Substances 0.000 title claims description 35
- 238000000576 coating method Methods 0.000 title claims description 35
- 230000003213 activating effect Effects 0.000 claims abstract description 9
- 230000004913 activation Effects 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 86
- 238000004364 calculation method Methods 0.000 claims description 21
- 239000000463 material Substances 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 5
- 239000007788 liquid Substances 0.000 claims description 3
- 230000006870 function Effects 0.000 description 11
- DSCFFEYYQKSRSV-KLJZZCKASA-N D-pinitol Chemical compound CO[C@@H]1[C@@H](O)[C@@H](O)[C@H](O)[C@H](O)[C@H]1O DSCFFEYYQKSRSV-KLJZZCKASA-N 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000005507 spraying Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000005002 finish coating Substances 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41M—PRINTING, DUPLICATING, MARKING, OR COPYING PROCESSES; COLOUR PRINTING
- B41M1/00—Inking and printing with a printer's forme
- B41M1/40—Printing on bodies of particular shapes, e.g. golf balls, candles, wine corks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B13/00—Machines or plants for applying liquids or other fluent materials to surfaces of objects or other work by spraying, not covered by groups B05B1/00 - B05B11/00
- B05B13/02—Means for supporting work; Arrangement or mounting of spray heads; Adaptation or arrangement of means for feeding work
- B05B13/04—Means for supporting work; Arrangement or mounting of spray heads; Adaptation or arrangement of means for feeding work the spray heads being moved during spraying operation
- B05B13/0447—Installation or apparatus for applying liquid or other fluent material to conveyed separate articles
- B05B13/0452—Installation or apparatus for applying liquid or other fluent material to conveyed separate articles the conveyed articles being vehicle bodies
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B21—MECHANICAL METAL-WORKING WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
- B21J—FORGING; HAMMERING; PRESSING METAL; RIVETING; FORGE FURNACES
- B21J1/00—Preparing metal stock or similar ancillary operations prior, during or post forging, e.g. heating or cooling
- B21J1/06—Heating or cooling methods or arrangements specially adapted for performing forging or pressing operations
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B1/00—Nozzles, spray heads or other outlets, with or without auxiliary devices such as valves, heating means
- B05B1/14—Nozzles, spray heads or other outlets, with or without auxiliary devices such as valves, heating means with multiple outlet openings; with strainers in or outside the outlet opening
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B12/00—Arrangements for controlling delivery; Arrangements for controlling the spray area
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B12/00—Arrangements for controlling delivery; Arrangements for controlling the spray area
- B05B12/02—Arrangements for controlling delivery; Arrangements for controlling the spray area for controlling time, or sequence, of delivery
- B05B12/04—Arrangements for controlling delivery; Arrangements for controlling the spray area for controlling time, or sequence, of delivery for sequential operation or multiple outlets
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B12/00—Arrangements for controlling delivery; Arrangements for controlling the spray area
- B05B12/08—Arrangements for controlling delivery; Arrangements for controlling the spray area responsive to condition of liquid or other fluent material to be discharged, of ambient medium or of target ; responsive to condition of spray devices or of supply means, e.g. pipes, pumps or their drive means
- B05B12/084—Arrangements for controlling delivery; Arrangements for controlling the spray area responsive to condition of liquid or other fluent material to be discharged, of ambient medium or of target ; responsive to condition of spray devices or of supply means, e.g. pipes, pumps or their drive means responsive to condition of liquid or other fluent material already sprayed on the target, e.g. coating thickness, weight or pattern
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B12/00—Arrangements for controlling delivery; Arrangements for controlling the spray area
- B05B12/08—Arrangements for controlling delivery; Arrangements for controlling the spray area responsive to condition of liquid or other fluent material to be discharged, of ambient medium or of target ; responsive to condition of spray devices or of supply means, e.g. pipes, pumps or their drive means
- B05B12/12—Arrangements for controlling delivery; Arrangements for controlling the spray area responsive to condition of liquid or other fluent material to be discharged, of ambient medium or of target ; responsive to condition of spray devices or of supply means, e.g. pipes, pumps or their drive means responsive to conditions of ambient medium or target, e.g. humidity, temperature position or movement of the target relative to the spray apparatus
- B05B12/124—Arrangements for controlling delivery; Arrangements for controlling the spray area responsive to condition of liquid or other fluent material to be discharged, of ambient medium or of target ; responsive to condition of spray devices or of supply means, e.g. pipes, pumps or their drive means responsive to conditions of ambient medium or target, e.g. humidity, temperature position or movement of the target relative to the spray apparatus responsive to distance between spray apparatus and target
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B12/00—Arrangements for controlling delivery; Arrangements for controlling the spray area
- B05B12/16—Arrangements for controlling delivery; Arrangements for controlling the spray area for controlling the spray area
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B12/00—Arrangements for controlling delivery; Arrangements for controlling the spray area
- B05B12/16—Arrangements for controlling delivery; Arrangements for controlling the spray area for controlling the spray area
- B05B12/18—Arrangements for controlling delivery; Arrangements for controlling the spray area for controlling the spray area using fluids, e.g. gas streams
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B13/00—Machines or plants for applying liquids or other fluent materials to surfaces of objects or other work by spraying, not covered by groups B05B1/00 - B05B11/00
- B05B13/02—Means for supporting work; Arrangement or mounting of spray heads; Adaptation or arrangement of means for feeding work
- B05B13/04—Means for supporting work; Arrangement or mounting of spray heads; Adaptation or arrangement of means for feeding work the spray heads being moved during spraying operation
- B05B13/0431—Means for supporting work; Arrangement or mounting of spray heads; Adaptation or arrangement of means for feeding work the spray heads being moved during spraying operation with spray heads moved by robots or articulated arms, e.g. for applying liquid or other fluent material to 3D-surfaces
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05C—APPARATUS FOR APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05C5/00—Apparatus in which liquid or other fluent material is projected, poured or allowed to flow on to the surface of the work
- B05C5/02—Apparatus in which liquid or other fluent material is projected, poured or allowed to flow on to the surface of the work the liquid or other fluent material being discharged through an outlet orifice by pressure, e.g. from an outlet device in contact or almost in contact, with the work
- B05C5/027—Coating heads with several outlets, e.g. aligned transversally to the moving direction of a web to be coated
- B05C5/0275—Coating heads with several outlets, e.g. aligned transversally to the moving direction of a web to be coated flow controlled, e.g. by a valve
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05D—PROCESSES FOR APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05D1/00—Processes for applying liquids or other fluent materials
- B05D1/02—Processes for applying liquids or other fluent materials performed by spraying
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B21—MECHANICAL METAL-WORKING WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
- B21J—FORGING; HAMMERING; PRESSING METAL; RIVETING; FORGE FURNACES
- B21J13/00—Details of machines for forging, pressing, or hammering
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B21—MECHANICAL METAL-WORKING WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
- B21J—FORGING; HAMMERING; PRESSING METAL; RIVETING; FORGE FURNACES
- B21J13/00—Details of machines for forging, pressing, or hammering
- B21J13/08—Accessories for handling work or tools
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B21—MECHANICAL METAL-WORKING WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
- B21J—FORGING; HAMMERING; PRESSING METAL; RIVETING; FORGE FURNACES
- B21J7/00—Hammers; Forging machines with hammers or die jaws acting by impact
- B21J7/02—Special design or construction
- B21J7/10—Special design or construction with both drive and hammer connected to a fulcrumed lever, e.g. tail hammers
- B21J7/12—Special design or construction with both drive and hammer connected to a fulcrumed lever, e.g. tail hammers the lever being a spring, i.e. spring hammers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B21—MECHANICAL METAL-WORKING WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
- B21J—FORGING; HAMMERING; PRESSING METAL; RIVETING; FORGE FURNACES
- B21J7/00—Hammers; Forging machines with hammers or die jaws acting by impact
- B21J7/20—Drives for hammers; Transmission means therefor
- B21J7/36—Drives for hammers; Transmission means therefor for drop hammers
- B21J7/42—Drives for hammers; Transmission means therefor for drop hammers operated by rotary drive, e.g. electric motors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/135—Nozzles
- B41J2/14—Structure thereof only for on-demand ink jet heads
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J29/00—Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
- B41J29/38—Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J3/00—Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
- B41J3/407—Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed for marking on special material
- B41J3/4073—Printing on three-dimensional objects not being in sheet or web form, e.g. spherical or cubic objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41M—PRINTING, DUPLICATING, MARKING, OR COPYING PROCESSES; COLOUR PRINTING
- B41M1/00—Inking and printing with a printer's forme
- B41M1/26—Printing on other surfaces than ordinary paper
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/135—Nozzles
- B41J2/14—Structure thereof only for on-demand ink jet heads
- B41J2002/14475—Structure thereof only for on-demand ink jet heads characterised by nozzle shapes or number of orifices per chamber
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45065—Sealing, painting robot
Definitions
- This 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 robot arm with at least one print nozzle.
- the invention also relates to the facility of a coating application intended for the implementation of this method.
- US-A-2015/0042716 shows how to generate a set of points in space corresponding to an area to be coated, generate a corresponding three-dimensional network, and generate trajectory data for moving a robot mounted with a print head, as well as raster data for activating a print head.
- the invention intends to remedy, by proposing a new method of applying a liquid coating to a surface to be coated by means of a print head, this method being easier and more intuitive to use and exhibiting better results than those of the prior art.
- the invention concerns a method of applying a coating to the surface of an object to be coated, using a digital model of this surface contained in a computer file, with at least one area to be coated, this method being implemented by means of a print head mounted on a robot arm designed for moving the print head in relation to the surface, the body of which is equipped with at least one print nozzle.
- the method of application is performed by a computer and includes:
- a computer file modelling the surface to be coated via back-and-forth movements of a print head uses simple elements such as points, segments, or edges on the periphery of the surface to be coated to define a three-dimensional trajectory for the robot that is a function only of that surface. Then, with the method of the invention, a program can be automatically generated to orient the print head correctly and activate the print head nozzles such that the coating is applied to the portions of the surface to be coated.
- An initial constraint taken into account by the method of the invention is that the print head tended to remain oriented in a predefined direction, e.g., a direction corresponding to a forward trajectory along a strip of the surface to be coated, using simple elements selected initially like the aforementioned points, segments, and edges.
- this method may incorporate one or more of the following features, used in any combination that is technically feasible:
- the invention relates to a facility for applying a liquid coating to the surface of an object to be coated, this facility including a print head mounted on a robot arm designed for moving the print head in relation to the surface, the body of which is equipped with at least one print nozzle.
- This facility comprises an electronic control unit configured to implement a method such as that described above.
- FIG. 1 shows the principle of a facility for coating a motor vehicle body in accordance with the invention, which implements a method also in accordance with the invention;
- FIG. 2 shows diagrams of several print heads that may be used by the facility of FIG. 1 , using the method of the invention
- FIG. 3 is similar to FIG. 2 , showing another print head that may be used by the facility in FIG. 1 , using the method of the invention;
- FIG. 4 shows the principle of back-and-forth movements of the print head of FIG. 3 to coat a surface with two examples of print head orientation
- FIG. 5 shows the principle of a modelled surface to be coated and a supporting surface placed in the same modelled environment during an operation of the method of the invention
- FIG. 6 shows the surface of FIG. 5 during a later operation of the method of the invention
- FIG. 7 shows the same surface as that shown in FIGS. 5 and 6 during a later step of the method of the invention
- FIG. 8 shows a close-up view of area VIII in FIG. 7 during a later operation of the method of the invention
- FIG. 9 shows the same close-up view during a later operation of the method of the invention.
- FIG. 10 shows a front view of the print head and some sizes used in the method of the invention.
- FIG. 11 is an overall block diagram of the method of the invention.
- FIG. 12 is a detailed block diagram of an operation of the method of the invention.
- FIG. 13 is a detailed block diagram of another operation of the method of the invention.
- the facility I shown in FIG. 1 is used for applying paint to objects O which, in the example used for this figure, are motor vehicle bodies.
- facility I is designed for coating the roof of the vehicle body on either side of a median plane n 0 parallel to the largest dimension of the body.
- the objects to be coated may be other parts of a motor vehicle body, such as bumpers or doors or, in general, any object that can be coated, such as, for instance, parts of an aircraft cabin or household appliance panels.
- Facility I includes a conveyor 2 designed to move objects O along a conveying axis X 2 , perpendicular to the plane of FIG. 1 .
- This conveyor is preferably of the “stop-and-go” type, that is to say, it holds the objects stationary while the coating is being applied.
- Facility I also includes an applicator 10 mounted at the end of an arm 22 of a multi-axis robot 20 placed near conveyor 2 .
- robot 20 may be a reciprocating robot or any other robot capable of moving applicator 10 in relation to the objects O to be coated.
- Robot 20 includes a controller 24 , sometimes referred to as a “robot bay”, which controls the movements of arm 22 as a function of a trajectory program TRAJ to be followed.
- controller 24 is shown inside of robot 20 . However, controller 24 may alternatively be placed outside of robot 20 .
- Applicator 10 is a print head including a rigid body 12 and a number of print nozzles 14 .
- Facility I also includes an electronic control unit 30 , or ECU, which is in bidirectional communication with at least conveyor 2 and controller 24 of robot 20 , and which also controls print head 10 .
- ECU 30 contains at least one micromethodor and memory for storing a computer program (micromethodor and memory not shown). Communication between ECU 30 and controller 24 allows the activation of the print head to be synchronized with the position of robot arm 22 .
- ECU 30 is shown independent of devices 2 and 20 .
- ECU 30 may be integrated into robot 20 .
- print head 10 may include a body 12 with a single print nozzle 14 .
- print head 10 deposits a line or band of coating, which may be qualified as a brush 15 , whose width I 15 , measured perpendicular to the direction of movement of the print head in the plane perpendicular to the nozzle 14 , has a first value.
- print head 10 includes a rigid body 12 on which is mounted a row 16 of eight nozzles 14 , identified by its center line.
- Print head 10 may be moved parallel to arrow F 1 , being inclined at an angle ⁇ with respect to the direction of this arrow, so that the different lines of coating exiting nozzles 14 together define a continuous band 15 of coating applied to a surface, the width I 15 of this band 15 having a second value equal to approximately eight times the first value.
- print head 10 includes a column 18 , identified by its center line, of six print nozzles 14 arranged on a rigid body 12 .
- print head 10 deposits a continuous band 15 on a surface to be coated, the width I 15 of this band having a third value, equal to about six times the first value.
- rigid body 12 of print head 10 holds nozzles 14 arranged in six rows 16 and eight columns 18 , identified by their respective center lines as in the second and third examples.
- nozzles 14 are very tightly arranged on rigid body 12 , so that when print head 10 is moved parallel to arrow F 1 , being inclined at an angle ⁇ , as in the second example, the various nozzles 14 apply a band 15 , the width of which I 15 has a value equal to six times the second value.
- the four types of print heads shown in FIG. 2 may be considered compact, in the sense that the bands of coating produced by the movement of one or the other of these heads in the direction of arrow F 1 are continuous across the width.
- print head 10 contains, on its rigid body 12 , forty-eight nozzles 14 arranged into a configuration of six rows 16 and eight columns 18 .
- a difference from the fourth example shown in FIG. 2 is that when print head 10 is moved parallel to arrow F 1 , six separate bands 15 are produced, each with a width I 15 of comparable value to the second value mentioned above. These bands 15 are separate, in that between them are areas 17 where no coating is applied during movement of print head 10 in the direction of arrow F 1 , as shown in the center of FIG. 3 .
- print head 10 is tilted at an angle ⁇ greater than angle ⁇ so that when print head 10 is moved parallel to arrow F 1 , forty-eight separate bands 15 of the type shown in the upper portion of FIG. 2 are applied, these bands being equally spaced, with between them areas 17 where no coating is applied.
- Print head 10 in FIG. 3 has a non-compact configuration, such that bands 15 are not continuous over the entire width of the area where the coating is applied, since areas 17 remain between these bands, as explained above.
- n the number of rows 16
- m the number of columns 18 on print head 10 .
- nozzles 14 each form an orifice from which the coating is sprayed, with 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 produces the width of the individual band deposited by each nozzle, as in the configurations at the top of FIG. 2 and the bottom of FIG. 3 , or the combined width of the bands formed by the juxtaposition of individual bands, as in the other configurations.
- nozzles 14 are each fed via a system for controlling the flow of the coating, which may be of the piezoelectric, electromagnetic, or pneumatic type.
- the invention may be used with any of print heads 10 shown in FIGS. 2 and 3 , and with variations thereof for the numbers of rows 16 and columns 18 and the numbers of nozzles per column or row, provided that all the rows have the same number of nozzles and all the columns have the same number of nozzles, meaning that the number of nozzles in each row corresponds to the number of columns, and the number of nozzles in each column corresponds to the number of rows.
- width I 15 represents half of distance d 1 , and a surface S to be coated, or a portion thereof, may be coated by moving print head 10 forward in the direction of arrow F 1 , then back in the direction of arrow F 2 .
- width I 15 is equal to one-third of distance d 1 , and a surface S to be coated, or a portion thereof, may be completely coated by moving print head 10 forward in the direction of arrow F 1 , then back in the direction of arrow F 2 , then forward again in the direction of arrow F 3 .
- print head 10 may be implemented with the various configurations of print head 10 envisaged above, the number of single or back-and-forth movements depending on the compactness of the print head, and thus on the configuration used.
- print head 10 has n rows and m columns of nozzles 14 .
- an inclined print head as shown in the middle portion of FIG.
- this surface S is delimited by the roof's front edge B 1 and rear edge B 2 and by a center line M which is the trace of plane n 0 on the top of this roof.
- the center line represents the trace of the right half of the upper surface of the roof.
- the surface to be coated S includes an area Z 1 to be coated, and an area Z 0 not to be coated.
- edges B 1 and B 2 are considered not to be coated, and are only shown in FIG. 5 for the sake of clarity.
- the surface to be coated S is modelled by a computer file F which, in the example, is in STL format.
- This format makes it possible to approximate the real surface S to be coated via a set of triangular facets, as shown in FIGS. 6-9 .
- file F may be in a different format, such as .obj or .vtk, which approximate the real surface via facets, or an .iges or .step format, which represent the mathematical shape of the surface to be coated S.
- a calculation strategy is applied to generate the path of print head 10 with respect to the surface S modelled by file F.
- Calculator 40 works offline, time-shifted with respect to application of the coating product. In particular, at least some of the calculations by calculator 40 are performed before application of the coating product.
- the strategy applied with calculator 40 includes a startup step 100 including selection of surface files from a file library, representing zones Z 1 and Z 0 , to determine the outer contours of surface S, here edges B 1 and B 2 , center line M and the left edge of surface S, followed by iterative definition of the inner surfaces, enabling the filling of each portion of surface defined between the outer contours by a spiral path or by a sweep motion.
- a 3-dimensional path is first defined for print head 10 based solely on the surface S to be coated and the configuration of print head 10 , by conducting a forward or forward-return movement.
- This operation as well as the other operations that are part of the method of the invention and that are described below, are applied automatically by calculator 40 .
- Calculator 40 thus serves as an automatic path generator for robot 20 .
- a rule in the calculations performed by calculator 40 makes print head 10 remain more or less oriented in a predefined direction, such as towards a forward movement, supported by simple preselected elements such as points, segments or an edge.
- the first step 102 ‘cuts’ a section to be coated, in the surface to be coated S, more specifically in the file F that models surface S.
- startup step 100 of the method of the invention first includes an initialization sub-step 1001 , in which an iteration index i is zeroed, and a sub-step 1002 to adapt file F to surface S, in particular based on edges B 1 , B 2 and M of surface S and zones Z 1 and Z 0 , as well as a support surface SP located in the same calculation space as surface S, with a simple geometry defined by simple geometric elements, such as points, segments and faces.
- surface SP is a flat rectangular surface located in the vicinity of surface S.
- the parameters given in brackets after a quantity identified in a step or a sub-step are the parameters used to define this quantity.
- the three orthogonal axes of an orthogonal coordinate system are called the X-axis, Y-axis and Z-axis.
- Step 102 in the method of the invention includes defining a section T of the surface to be coated S, by calculation using file F.
- Step 102 is illustrated in FIG. 12 and includes an initial sub-step 1021 in which calculator 40 defines an initial orthogonal coordinate system R 0 whose origin O is a point selected by the user in the support surface SP, such as with a pointing device like a mouse.
- the Z-axis ⁇ right arrow over (Oz) ⁇ of the first orthogonal coordinate system R 0 is initially set to a normal ⁇ right arrow over (Nsp) ⁇ on the support surface SP at the origin point O.
- the Y-axis ⁇ right arrow over (Oy) ⁇ of the first orthogonal coordinate system O is set to the normalized cross product of the Z-axis ⁇ right arrow over (Oy) ⁇ and an axis aligned on a travel direction selected by the user, by means of a segment SU of support surface SP selected by the user, such as with a pointing device, as approximately corresponding to a travel direction of print head 10 along center line M.
- the X-axis ⁇ right arrow over (Ox) ⁇ of coordinate system R 0 is set to the normalized cross product of the Y-axis ⁇ right arrow over (Oy) ⁇ and the Z-axis ⁇ right arrow over (Oy) ⁇ .
- the user may select the origin point O on a different surface, in this case surface S or in zones Z 1 and Z 0 . Determination of the first orthogonal coordinate system R 0 is then adapted based on this.
- the method of the invention makes it possible to have print head 10 move parallel to segment SU, by adjusting the position of print head based 10 on the geometric model of surface S created by file F.
- calculator 40 initializes this average normal to the Z-axis ⁇ right arrow over (Oz) ⁇ of the first orthogonal coordinate system.
- index i is incremented by one unit.
- calculator 40 defines a point P init as a point on the surface to be coated S whose ordinate there, in the first orthogonal coordinate system R 0 , is the greatest among those of the points on the surface to be coated.
- point P init is the ‘furthest’ along the Y-axis ⁇ right arrow over (Oy) ⁇ , in coordinate system R 0 , amongst the points on the surface to be coated S.
- point P init is defined as a function of surface S and the Y-axis ⁇ right arrow over (Oy) ⁇ .
- calculator 40 defines another point P cut as a point on the surface to be coated S that is located, with respect to the initial point P init , at a distance d 2 measured along the Y-axis ⁇ right arrow over (Oy) ⁇ and in a negative direction along this axis.
- This second point P cut is called the cut point because it corresponds to a virtual cut on the surface to be coated S.
- a temporary section T′ on the surface to be coated that is defined between two planes n 1 and n 2 passing through initial point P init and cut point P cut , respectively, both of which are perpendicular to Y-axis ⁇ right arrow over (Oy) ⁇ , i.e., parallel to X-axis ⁇ right arrow over (Ox) ⁇ and Z-axis ⁇ right arrow over (Oz) ⁇ .
- FIG. 6 shows this temporary section T′. Its width, measured along the axis ⁇ right arrow over (Oy) ⁇ , is equal to the distance d 2 .
- the distance d 2 is set to the number n of rows 16 of nozzles 14 multiplied by the distance d 1 between two rows.
- distance d 2 is set to the number n of rows 16 of nozzles 14 multiplied by the number m of columns 18 of nozzles multiplied by the distance d 1 between two nozzle strokes.
- distance d 2 is equal to the total width of beams 15 applied during a forward-return movement in the configuration shown in the top part of FIG. 4 , and to the total width of beams 15 applied during a forward-return movement following by a forward movement in the configuration shown in the bottom part of FIG. 4 .
- distance d 2 depends on widths I 15 and I 17 of beams 15 and areas 17 , i.e., the value of angle ⁇ or ⁇ . In any case, distance d 2 is a multiple of distance d 1 .
- calculator 40 calculates the average normal ⁇ right arrow over (N ⁇ ) ⁇ on the surface to be coated S between planes n 1 and n 2 , i.e., on the temporary section T′.
- calculator 40 compares the average normal ⁇ right arrow over (N) ⁇ defined at step 1022 and the average normal ⁇ right arrow over (N ⁇ ) ⁇ defined at step 1027 .
- This comparison between two vectors may be performed in several ways, such as by determining an angle between these two normals, by finding their scalar product. In the case of a comparison using an angle determined between these vectors, these vectors are considered identical 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 can be set between 10 ⁇ 9 ° and 10°, and preferably to 10 ⁇ 6 °.
- calculator 40 applies different sub-steps.
- a sub-step 1029 verifies that index i is strictly less than or equal to a threshold value V 1 . If this is the case, the variable ⁇ right arrow over (N) ⁇ takes the value ⁇ right arrow over (N ⁇ ) ⁇ at sub-step 1030 , then the first orthogonal coordinate system R 0 is redefined at step 1031 , in a manner similar to step 1021 , but according to the sequence below: the Y-axis ⁇ right arrow over (Oy) ⁇ of the new orthogonal coordinate system R 0 is obtained by normalizing the vector resulting from the cross product of ⁇ right arrow over (N) ⁇ and the X-axis ⁇ right arrow over (Ox) ⁇ of the first orthogonal coordinate system R 0 .
- the Z-axis ⁇ right arrow over (Oz) ⁇ of the new orthogonal coordinate system R 0 is set to ⁇ right arrow over (N) ⁇ .
- the X-axis ⁇ right arrow over (Ox) ⁇ of the new orthogonal coordinate system R 0 is obtained by normalizing the vector resulting from the cross product of ⁇ right arrow over (N) ⁇ and the Y-axis ⁇ right arrow over (Oy) ⁇ of the new orthogonal coordinate system R 0 .
- sub-steps 1022 - 1028 are applied again until vectors ⁇ right arrow over (N) ⁇ and ⁇ right arrow over (N ⁇ ) ⁇ are considered equal at step 1028 or the maximum number of iterations V 1 is reached, in which case calculator 40 defines the last temporary section T′ defined in the last sub-step 1026 performed, as section T on the surface to be coated. This occurs during a sub-step 1032 that is the final sub-step of step 102 of the method of the invention.
- threshold value V 1 that is the maximum number of iterations in step 102 , may be set between 1 and 20, and preferably to 5.
- step 102 enabled ‘cutting’ a section T in surface S, as this section is well defined, between the first and second planes n 1 and n 2 passing through points P init and P cut , respectively. These points are not necessarily located on an edge of surface S, but may be located in an intermediate portion of this surface, away from edges B 1 and B 2 as shown in FIG. 7 , following iterative application of sub-steps 1022 - 1031 .
- the method of the invention uses an automatic calculation and iterations, over the course of a step 104 , to define a path Traj for the print head to follow with respect to this section T.
- Step 104 is detailed in FIG. 13 and first includes an initialization sub-step 1041 by zeroing two indexes: index j and index k.
- calculator 40 defines a second orthogonal coordinate system R 1 whose origin is the initial point P init defined at the last sub-step 1024 performed and whose X, Y and Z-axes are the same as those of the last version of the first orthogonal coordinate system R 0 defined at step 1021 or step 1031 .
- calculator 40 defines a third point P start , referred to as the ‘start point’.
- This third point is the X-axis projection ⁇ right arrow over (Ox) ⁇ of the second orthogonal coordinate system R 1 of a point of the section to be coated T with the smallest abscissa in the first orthogonal coordinate system R 0 .
- calculator 40 defines a fourth point P end , referred to as the ‘end point’.
- This fourth point is the X-axis projection ⁇ right arrow over (Ox) ⁇ of the second orthogonal coordinate system R 1 of a point of the section to be coated T with the greatest abscissa in the first orthogonal coordinate system R 0 .
- the third and fourth points can be used to identify a travel direction for print head 10 .
- sub-steps 1043 and 1044 may be reversed. Alternatively, these sub-steps may be performed simultaneously. In another variant, steps 1043 and 1044 are not applied.
- FIG. 7 shows the third and fourth points, as well as the two coordinate systems: R 0 and R 1 .
- calculator 40 initializes a variable ⁇ right arrow over (nX) ⁇ that is referred to as a new axis X, as the X-axis of the second orthogonal coordinate system R 1 .
- This sub-step 1045 may be performed before or after sub-steps 1043 and 1044 , or even at the same time.
- index j is incremented by one unit.
- a fifth point Q init which is referred to as the initial point of the section, as a point on section T with the smallest abscissa in the second orthogonal coordinate system R 1 among the points on the section to be coated.
- the fifth point Q init is defined as the point on section T that has travelled the least along the X-axis in the second orthogonal coordinate system R 1 .
- calculator 40 defines a sixth point Q cut , which is referred to as the cut point of section T and which is a point on this section located, with respect to the fifth point and along the new axis ⁇ right arrow over (nX) ⁇ , at a given distance d 3 .
- distance d 3 may be equal to the length L 10 of print head 10 measured parallel to a row 16 .
- distance d 3 may be much less than this length, such as one tenth of it, or much greater, such as one hundred times this length.
- distance d 3 may be selected based on the local curvature of section T of the surface to be coated S with respect to length L 10 of print head 10 , as this curvature may be calculated based on file F.
- calculator 40 defines a temporary portion P′ of section T as the portion of this section between a third plane n 3 and a fourth plane n 4 perpendicular to the new axis ⁇ right arrow over (nX) ⁇ and passing through the fifth and sixth points Q init and Q cut , respectively.
- FIG. 8 shows this portion P′ of section T.
- calculator 40 calculates a variable for the temporary longitudinal axis ⁇ right arrow over (Xtemp) ⁇ equal to the cross product of the average normal ⁇ right arrow over (N′ ⁇ ) ⁇ calculated in sub-step 1050 and of the opposite ⁇ right arrow over (Oy) ⁇ of the Y-axis ⁇ right arrow over (Oy) ⁇ of the second orthogonal coordinate system R 1 , as this cross product is normalized, i.e., scaled to a length of 1.
- calculator 40 compares the new X-axis ⁇ right arrow over (nX) ⁇ defined previously and the temporary longitudinal axis ⁇ right arrow over (Xtemp) ⁇ defined at step 1051 .
- the comparison method may be the same as that applied at step 1028 mentioned above, or a different method enabling comparison of two vectors.
- the system applies a sub-step 1053 to compare index j to a threshold value V 2 . If index j is strictly less than threshold value V 2 , then the new axis ⁇ right arrow over (nX) ⁇ takes the value ⁇ right arrow over (Xtemp) ⁇ at sub-step 1054 , and step 104 is resumed at sub-step 1046 to return to sub-step 1052 .
- an iteration method is applied, for j between 1 and V 2 , as long as vectors ⁇ right arrow over (Xtemp) ⁇ and ⁇ right arrow over (nX) ⁇ are different.
- a new sub-step 1055 is applied that defines a portion P of the section to be coated T as equal to the last temporary portion P′ defined at the last sub-step 1049 performed.
- sub-steps 1041 - 1055 enable definition, by iteration, of a portion P of section T cut between Q init and Q cut , through which planes n 3 and n 4 pass, which are perpendicular to the new X-axis ⁇ right arrow over (nX) ⁇ .
- threshold value V 2 may be set between 1 and 20, and preferably to 5.
- a sub-step 1056 is applied in which calculator 40 calculates an orientation vector ⁇ right arrow over (OT) ⁇ for print head 10 , which is equal to the normalized cross product of the new X-axis ⁇ right arrow over (nX) ⁇ and the opposite ⁇ right arrow over (Oy) ⁇ of the Y-axis ⁇ right arrow over (Oy) ⁇ of the second orthogonal coordinate system R 1 .
- calculator 40 calculates the position of a seventh point P center , referred to as the center point, located halfway between the orthogonal projections of the fifth and sixth points Q init and Q cut on a line passing through the fifth point Q init and of a direction vector equal to the new axis ⁇ right arrow over (nX) ⁇ .
- This center point P center is offset, with respect to this line passing through these two points, by a third distance d 4 measured along the Y-axis ⁇ right arrow over (Oy) ⁇ of the second orthogonal coordinate system R 1 , in a negative direction on this axis.
- This third distance d 4 is set to half of first distance d 2 , and the point P center is roughly halfway between the first and second planes n 1 and n 2 mentioned above.
- the seventh point P center is projected along a line whose direction vector is the orientation vector ⁇ right arrow over (OT) ⁇ on the portion P of section T in the form of an eighth point P impact , referred to as the impact point.
- this eighth point P impact is only created if an intersection occurs between the line of the direction vector ⁇ right arrow over (OT) ⁇ and the application point P center , and portion P of section T, which includes a full zone, i.e., full of the material, with respect to the seventh point and the orientation axis ⁇ right arrow over (OT) ⁇ . This is the case for the first seven portions P 1 to P 7 of section T, shown in FIG. 9 .
- the eighth point P impact may be defined without using the seventh point P center , but by taking an imaginary line made up of the intersection of a first imaginary plane and a second imaginary plane.
- the first imaginary plane is located halfway between planes n 1 and n 2
- the second imaginary plane is located halfway between planes n 3 and n 4 .
- Point P impact exists if this imaginary line intersects a full zone in portion P of section T.
- calculator 40 takes a ninth point, namely the end point p 8 of portion P 8 which is the furthest away in the opposite direction of the orientation vector of the head ⁇ right arrow over (OT) ⁇ .
- this ninth point p 8 is located at the ‘vertex’ of a boss of portion P 8 .
- This point p 8 is then projected perpendicularly on an axis passing through point P center and parallel to the orientation axis of the head ⁇ right arrow over (OT) ⁇ .
- the result of this projection is defined as the tenth point P impact , as an alternative to the eighth point P impact .
- a sub-step 1059 uses the tenth point P impact as the eighth point P impact .
- the eighth point P impact is considered equal to the tenth point P′ impact .
- calculator 40 stores the eighth point P impact and the orientation axis ⁇ right arrow over (OT) ⁇ in a storage unit linked to this calculator, which is not shown.
- the eighth point P impact is always determined as explained above for the case of the eighth portion P 8 . In other words, it does not matter whether or not the line passing through the seventh point P center or the imaginary line intersects a full part of portion P 1 , P 2 , etc., under consideration.
- the tenth point P impact is always used.
- sub-steps 1056 - 1070 enable calculation and storage of a theoretical impact point of a jet of coating product onto portion P defined in sub-step 1055 , as well as an orientation axis ⁇ right arrow over (OT) ⁇ of the print head for this impact point.
- portion P of section T in which the impact point and orientation vector were calculated, is removed from section T, and step 104 resumes at sub-step 1046 , after zeroing index j, in a sub-step 1073 .
- the series of sub-steps 1046 - 1071 is applied as long as the area of section T is not zero.
- the reduction of section T of the surface to be coated S, performed at step 1071 by removing portion P defined at step 1055 , may be replaced with a sub-step that removes a fraction, from section T, that starts at point Q init and extends over a travel distance Advance defined by the user.
- calculator 40 starts from point Q init and adds distance Advance along the new axis ⁇ right arrow over (nX) ⁇ , then calculator 40 replaces section T with the part of the section located beyond distance Advance with respect to point Q init .
- a fraction of section T is removed at step 1071 .
- sub-steps 1046 and 1072 enable gradual treatment of section T and storage, at step 1070 , of a point and an axis for each portion considered, P or equivalent, of the section T.
- calculator 40 determines, for each eighth point and at a sub-step 1074 , an axis vector ⁇ right arrow over (AxeXT) ⁇ of print head 10 at this impact point as equal to the normalized cross product of the orientation vector ⁇ right arrow over (OT) ⁇ of print head 10 at this point and the Y-axis ⁇ right arrow over (Oy) ⁇ of the second orthogonal coordinate system R 1 .
- calculator 40 uses the eighth point P impact to define a characteristic point P tcp to reach, referred to as the ‘tool center point’, which is a reference point for spatial positioning of print head 10 . More specifically, as shown in FIG. 10 , the eighth point P impact is considered to be located, with respect to print head 10 , at half the distance d 2 defined above and in a position such that points P impact and P h are aligned along the axis ⁇ right arrow over (Oy) ⁇ .
- a reference nozzle 140 is designated among the nozzles 14 , such as the nozzle located in the bottom right corner of print head 10 in FIG. 10 . Nozzle 140 may be defined as the tool center point or point P tcp .
- the offset dx is noted, parallel to the axis vector ⁇ right arrow over (AxeXT) ⁇ , between points P h and P tcp .
- the offset dx is also the offset parallel to the axis vector ⁇ right arrow over (AxeXT) ⁇ , between points P impact and P tcp .
- the offset dy is noted between points P impact and P tcp parallel to the Y-axis ⁇ right arrow over (Oy) ⁇ of the second orthogonal coordinate system R 1 , in a negative direction.
- the position of the reference nozzle 140 may be considered to be the position of the characteristic point P tcp expressed as a function of the position of the impact point P impact according to the equation:
- a point P tcp is defined, it is included, with the orientation axis of the head ⁇ right arrow over (OT) ⁇ , in file Traj for the path for the reference nozzle 140 to follow with respect to section T of the surface to be coated S, in a sub-step 1076 following step 1075 .
- sub-steps 1074 - 1076 may be applied between sub-steps 1070 and 1071 , or even at the same time as sub-step 1070 .
- the path file Traj it is possible to add, to the path file Traj, at least one additional engagement point and at least one additional release point for the print head on the path to be completed along section T.
- two additional engagement points, P e1 and P e2 , and two additional release points, P d1 and P d2 are added to the path file created for each section T.
- the two engagement points P e1 and P e2 are collinear with the first two points P tcp of the path Traj and are located at a parametrized distance from these first two points.
- the two release points P d1 and P d2 are collinear with the last two points P tcp on the path and located at a parametrized distance from it.
- the two parametrized distances used for the engagement and release points may be the same or different.
- the axis ⁇ right arrow over (AxeXT) ⁇ is used to define the engagement point(s) and the release point(s) based on this single point.
- engagement points P e1 and P e2 are defined by the fact that points P e1 , P e2 and P tcp , corresponding to the first point on the path Traj, are collinear, and by the fact that the line on which they are located is parallel to the vector defined by the cross product of the first orientation axis of the head ⁇ right arrow over (OT) ⁇ for the path Traj and the Y-axis ⁇ right arrow over (Oy) ⁇ of the second orthogonal coordinate system R 1 .
- release points P d1 and P d2 are defined by the fact that points P d1 , P d2 and P tcp , corresponding to the last point on the path Traj, are collinear and by the fact that the line, on which they are located, is parallel to the vector defined by the cross product of the last orientation axis of the head ⁇ right arrow over (OT) ⁇ for the path Traj and the Y-axis ⁇ right arrow over (Oy) ⁇ of the second orthogonal coordinate system R 1 .
- the number of engagement and release points is not necessarily equal to two. As mentioned above, it can be equal to 1. It may also be greater than or equal to 3. The number of engagement points is not necessarily equal to the number of release points.
- calculator 40 performs an optimization of the number of points P tcp of the trajectory file Traj.
- the intermediate point P tcp of note is removed from the trajectory file, as well as the head orientation vector ⁇ right arrow over (OT) ⁇ associated with this point.
- This optimization sub-step makes it possible to reduce the number of P tcp points of the trajectory according to the collinearity of these points in space, and to avoid an overload of the calculation capacities of calculator 40 .
- Sub-step 1078 is optional. It may or may not be implemented depending on the number of points P tcp in each trajectory file Traj, and the computing capabilities of calculator 40 .
- step 104 the number of forward and backward strokes to be made to coat strip T of surface S is taken into account.
- the explanations provided above with reference to FIGS. 3 and 4 apply, mutatis mutandis, to the coating of a strip T of the surface S to be coated.
- the Ar max value is defined as the sum of the number of forward and backward strokes required to cover the strip T with the print head. In the case shown in the lower part of FIG. 2 , the Ar max number is equal to 1. In the case shown in the middle part of FIG. 3 and at the top of FIG. 4 , the Ar max number is equal to 2. In the case shown in the lower part of FIG. 4 , the Ar max number is equal to 3.
- the index k represents a sequence number of the trajectory to be taken, whether it is a forward stroke, when k is odd, or a backward stroke, when k is even.
- the file corresponding to the trajectory T is presented in practice as an array of points P tcp and associated vectors ⁇ right arrow over (OT) ⁇ .
- the calculator 40 duplicates the array created at step 1076 .
- calculator 40 inverts the duplicated array, i.e., changes the order of the remarkable points P tcp , respectively the associated vectors ⁇ right arrow over (OT) ⁇ , so that the first points, respectively the first vectors, become the last and vice versa.
- calculator 40 shifts it in the direction opposite to the ordinate axis ⁇ right arrow over (Oy) ⁇ of the second orthogonal rule R 1 , by a distance d 5 equal to the value of k ⁇ 1, multiplied by width I 15 of a beam
- This new section ⁇ traj of trajectory Traj is added to the existing trajectory in a sub-step 1091 .
- the order of the points P tcp is maintained with respect to that determined in sub-step 1076 , i.e., reversed with respect to that of the trajectory section ⁇ traj determined for the index k ⁇ 1 which is even, and the various points P tcp are shifted, with respect to the last calculation carried out and in the direction opposite to the axis ⁇ right arrow over (Oy) ⁇ of the second orthogonal rule R 1 , by the same distance d 5 .
- the set of new points obtained and the orientation vectors ⁇ right arrow over (OT) ⁇ which are not modified for these different points, form a new forward section of the trajectory, along the section T. This new section ⁇ traj of the trajectory Traj is added to the existing trajectory in a sub-step 1091 .
- each section ⁇ traj added to the trajectory is calculated by reversing the order of the remarkable points P ctp defined for the previously calculated trajectory section.
- the complete trajectory for the T-strip is generated in a sub-step 1092 of step 104 .
- a zone not to be coated is present on surface S, as represented by zone Z 0 in FIG. 5 , the trajectory of the robot is adjusted so as not to collide with this zone Z 0 .
- a strip T of surface S that intersects a zone not to be coated Z 0 is considered.
- calculator 40 proceeds with the calculations of the above-mentioned step 104 , if, for one of the remarkable points P tcp , its projection P tcp/proj according to the orientation vector ⁇ right arrow over (OT) ⁇ on the zone Z 0 not to be coated exists, and if a vector going from the point P tcp to the point P tcp/proj is in the opposite direction to the orientation vector ⁇ right arrow over (OT) ⁇ , calculator 40 considers this to mean that the remarkable point P tcp is in collision with zone Z 0 not to be coated.
- a shift, of adapted amplitude is applied to the position of remarkable point P tcp in order to move it away from the surface to be coated S, to the level of the area not to be coated Z 0 , in a direction opposite to the orientation vector ⁇ right arrow over (OT) ⁇ .
- the trajectory to be followed by print head 10 is adapted so as not to hit the object to be coated O, i.e., to avoid a collision between print head 10 and object O.
- step 104 has been implemented, with possibly an adaptation at the level of a zone Z 0 not to be coated as mentioned above, a step 106 is implemented by calculator 40 which consists of automatically removing from modelling file F, by computation, the strip to be coated T taken into account during the previous steps 102 and 104 , before starting again at step 102 .
- calculator 40 creates a new modelling file F which corresponds to the modelling file F from which the strip T has been removed. This is equivalent to removing strip T from file F.
- trajectory generation is carried out by successive iterations, each corresponding to a strip T, these T strips being removed from file F as the corresponding trajectories Traj are determined.
- step 108 As long as the area detected at step 108 is not zero, steps 102 - 106 are implemented iteratively.
- a global trajectory file TRAJ is available containing a set of remarkable points P tcp to be reached by the reference nozzle 140 of print head 10 , with, at each remarkable point, an orientation vector ⁇ right arrow over (OT) ⁇ of the print head to be respected, this trajectory file including Traj trajectories corresponding to the possible forward and backward strokes to be made on each strip T.
- a systematic offset is preferably applied by controller 24 to all points P tcp of each trajectory Traj, for example, an offset of 10 mm in a direction opposite to the orientation vector ⁇ right arrow over (OT) ⁇ associated with the point P tcp .
- controller 24 uses points P tcp to construct a set of points further from the surface S than these points P tcp .
- This offset is a safety measure, intended to prevent print head 10 from hitting the object to be coated O. The value of this offset is selected according to the accuracy of the movements of robot 20 , the accuracy of the modelling of surface S in file F, and the geometry of print head 10 .
- a digital simulation makes it possible to know, during a stage 110 , the position, orientation and possible activation of each nozzle 14 as a function of a configurable advance step of the standard nozzle 140 , on each trajectory Traj.
- Step 110 includes a first sub-step 1101 of determining the position and orientation of each nozzle 14 as a function of the parametrizable feed rate.
- calculator 40 segments each movement of the reference nozzle 140 into several elementary steps p, between two pairs (P tcp , ⁇ right arrow over (OT) ⁇ ) each formed by a remarkable point P tcp of trajectory Traj and the associated head orientation vector ⁇ right arrow over (OT) ⁇ .
- calculator 40 discretizes movement of print head 10 , between remarkable points P tcp of a trajectory Traj, for the nozzles 14 , by means of discretized positions P 14 I,p .
- the position of reference nozzle 140 makes it possible to know the position of the other nozzles 14 when print head 10 moves along trajectory Traj.
- nozzles 14 are numbered from 1 to n ⁇ m, with index I.
- P 14 is a point reached by a nozzle 14 i during movement of print head 10 along a trajectory Traj, with I between 1 and n ⁇ m.
- calculator 40 searches for the corresponding nozzle 14 I , for a point of impact PI of the spray of coating product exiting from this nozzle with the surface S, i.e., a point of intersection between a straight line arranged along the axis of the nozzle 14 I in question and the surface to be coated S.
- calculator 40 determines existence of an impact point PI I,p for each nozzle 14 and at each discretized position P 14 I,p at sub-step 1101 . If the point of impact PI exists, calculator 40 considers that the nozzle should spray coating material at this point. If this point of impact PI does not exist, calculator 40 assumes that the nozzle should not spray coating material while at point P 14 I .
- calculator 40 may note the point reached P 14 I,p at step p, its orientation ⁇ right arrow over (OT) ⁇ Ip+1 in this step and the coordinates of the corresponding impact point PI I,p , the indices I and p meaning that the point reached and the impact point are those of nozzle I at step p.
- Calculator 40 then moves on to the next step, p+1, and repeats the same operations of calculating the impact point PI I,p+1 for each nozzle 14 I . If this point of impact exists, calculator 40 records it again as a pair formed by point PI I,p+1 and associated vector ⁇ right arrow over (OT) ⁇ I,p+1 .
- calculator 40 calculates, at sub-step 1103 of step 110 , a distance d I,p between these two points of impact.
- Distance d I,p is the distance to be covered by nozzle 14 I between the two steps p and p+1 of advance of nozzle I along trajectory Traj.
- calculator 40 calculates, at sub-step 1103 , the distance d I,p+1 to be coated in the second step, namely the distance between points PI I,p+1 and PI I,p+2 , with the same grading as before.
- nozzles 14 are distributed and spaced from each other on the front side of print head 10 , i.e., the side of print head 10 that faces the object O to be coated, not all nozzles travel the same distance between two steps of progression of print head 10 .
- the surface to be coated S seen from each nozzle is different.
- the distance ratio can be applied immediately to the relevant distances without using a multiplier at sub-step 1103 .
- calculator 40 calculates a distance to be coated, d I , or a distance not to be coated, d′ i , at each discretized position of the trajectory and, optionally, multiplier coefficients based on the distance between a nozzle 14 I and a reference nozzle 140 .
- a programming file i.e., a storage medium for a program, Prog(TRAJ)
- Prog(TRAJ) for activating the various nozzles 14 I on the overall trajectory TRAJ formed by the various trajectories Traj, in particular on each trajectory Traj defined opposite each section T of the surface to be coated S.
- This programming file Prog(TRAJ) is used by ECU 30 to control each nozzle 14 I according to the distances to be coated, the distances not to be coated and the associated multiplying coefficients.
- the Prog(TRAJ) programming file only contains the distances to be covered and not covered, but no multiplier coefficient.
- each discretization step of sub-step 1101 it is possible to determine the potential impact point PI, as well as the distance d i or d′ I and the multiplier coefficient, for each nozzle 14 I .
- calculation steps are carried out by the computer methodor which constitutes calculator 40 , this methodor being programmed for this purpose and associated with a computer memory in which the result of these calculations can be stored, before being transmitted, in the form of the programming file Prog(TRAJ) to ECU 30 and in the form of trajectory TRAJ to controller 24 .
- program Prog(TRAJ) when program Prog(TRAJ) has been defined at step 110 of the invention method, as mentioned above, it may be implemented at a step 112 when robot 20 moves print head 10 opposite the physical surface to be coated, of which file F is the computer model, along trajectory TRAJ, respecting the orientations of reference nozzle 140 at each remarkable point P tcp , according to the activation program defined at step 110 , which is represented by step 112 in FIG. 11 .
- program Prog(TRAJ) for activating nozzles 14 of print head 10 may be defined immediately after determination of the path opposite each strip T of the surface to be coated S. In other words, step 110 may occur prior to steps 106 and 108 . It is then possible to group together the different nozzle activation programs defined for each trajectory opposite a strip T, into a global program for activating the nozzles over the entire trajectory, with regard to the entire surface S.
- the invention is described above in the case where the markers R 0 and R 1 are orthogonal. In particular, these markers may be orthonormal or, conversely, non-orthogonal and/or non-normal. The calculations of the method of the invention are then adapted accordingly.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Manufacturing & Machinery (AREA)
- Application Of Or Painting With Fluid Materials (AREA)
- Coating Apparatus (AREA)
- Manipulator (AREA)
- Ink Jet (AREA)
Abstract
Description
- This application claims priority of French Patent Application No. 20 06334, filed on Jun. 17, 2020.
- This 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 robot arm with at least one print nozzle. The invention also relates to the facility of a coating application intended for the implementation of this method.
- US-A-2015/0042716 shows how to generate a set of points in space corresponding to an area to be coated, generate a corresponding three-dimensional network, and generate trajectory data for moving a robot mounted with a print head, as well as raster data for activating a print head.
- It is also known, from US-A-2016/0052312, how to apply a coating by means of print heads moving along two trajectories that form an acute angle between them, which is particularly suitable for coating a curved surface.
- These known methods are workable in theory but are, in practice, difficult to implement when the constraints related to the geometry of the surface to be coated and any surface that is not to be coated, as well as the constraints related to the movement of the print head, must all be taken into account.
- It is these drawbacks in particular that the invention intends to remedy, by proposing a new method of applying a liquid coating to a surface to be coated by means of a print head, this method being easier and more intuitive to use and exhibiting better results than those of the prior art.
- To this end, the invention concerns a method of applying a coating to the surface of an object to be coated, using a digital model of this surface contained in a computer file, with at least one area to be coated, this method being implemented by means of a print head mounted on a robot arm designed for moving the print head in relation to the surface, the body of which is equipped with at least one print nozzle. According to the invention, the method of application is performed by a computer and includes:
-
- a) defining a strip of the surface to be coated via an automatic calculation from the computer file containing the model of the surface to be coated;
- b) defining, via an automatic computation, a trajectory opposite the surface strip to be coated, this trajectory being formed by a succession of remarkable points to be reached by a specific point of the print head, with, at each remarkable point, an orientation of the print head to be respected;
- c) removing, via an automatic computation, the strip to be coated from the computer file modelling the surface to be coated;
- d) repeating a) until the modelled surface to be coated is of zero area;
- e) defining a program for activating each print head nozzle on each trajectory; and
- f) applying the coating by activating each print head nozzle on the different trajectories defined at b) while respecting orientation of the print head at each remarkable point, according to the triggering program defined at e).
- With this invention, a computer file modelling the surface to be coated via back-and-forth movements of a print head uses simple elements such as points, segments, or edges on the periphery of the surface to be coated to define a three-dimensional trajectory for the robot that is a function only of that surface. Then, with the method of the invention, a program can be automatically generated to orient the print head correctly and activate the print head nozzles such that the coating is applied to the portions of the surface to be coated.
- An initial constraint taken into account by the method of the invention is that the print head tended to remain oriented in a predefined direction, e.g., a direction corresponding to a forward trajectory along a strip of the surface to be coated, using simple elements selected initially like the aforementioned points, segments, and edges.
- According to advantageous but not mandatory aspects of the invention, this method may incorporate one or more of the following features, used in any combination that is technically feasible:
-
- b) includes:
- bA) defining a portion of the surface strip to be coated via an iterative method;
- bB) calculating a point of impact on the portion defined at bA) and an axis on which the print head will be oriented at the point of impact;
- bC) removing, by computation, a fraction of the surface strip to be coated;
- bD) starting over from bA) and repeating 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) depending on the width of the band of coating delivered from the print head and that of the strip to be coated, generate the portion of the trajectory (back or forth) corresponding to an additional movement of the print head across the strip to be coated.
- The method includes an additional operation for surfaces to be coated that contain at least one area that is not to be coated. This operation, implemented between b) and c), includes adjusting the print head trajectory based on the area not to be coated so as not to hit the object.
- a) includes:
- a1) defining a first orthogonal system, having
- as origin a point selected by a user, either on an imaginary supporting surface located near the surface to be coated in a representation of space using the computer file, or on the surface to be coated itself,
- as height axis a normal from the point of origin at the supporting surface or on the surface,
- as y-axis the cross product of the height axis and an axis aligned with a direction of movement selected by the user, and
- as x-axis the cross product of the y-axis and the height axis.
- a2) defining a first normal and initiate its value as equal to a vector whose direction is the most recently-defined height axis of the first orthogonal system;
- a3) defining
point 1 of the first orthogonal system as the point on the surface to be coated with the longest y-axis of the first orthogonal system, among the points on the surface to be coated; - a4) defining
point 2 of the first orthogonal system as the point on the surface to be coated located, with respect to the first point, at a first distance, measured going back along the y-axis, this first distance being fixed as a function of the distribution of the nozzles on the print head; - a5) calculating a mean normal to a temporary strip of the surface to be coated, defined between a first plane and a second plane perpendicular to the y-axis of the first orthogonal system and passing respectively through the first and second points
- a6) comparing the first normal to the mean normal;
- a7) if the first normal and the mean normal are identified as different during a6),
- a71) redefining the first normal as equal to the mean normal;
- a72) redefining the first orthogonal system using this new first normal;
- a73) reiterating a3) to a6);
- a8) if the first normal and the mean normal are identified as equal at a6), define the strip to be coated as equal to the temporary strip at a5).
- a1) defining a first orthogonal system, having
- The print head body is equipped with several nozzles arranged in parallel rows with first distance being a multiple of a distance between two rows of adjacent nozzles or between two consecutive nozzles in the same row, measured perpendicular to the print head's direction of movement.
- b) comprises:
- b1) defining a second orthogonal system having as origin the
point 1, and as x and y axes and axis heights coincident with most recently-defined axis of the first orthogonal system, at a1) or at a72); - b2) defining a new x-axis as the x-axis of the second orthogonal system;
- b3) defining an initial point on the second orthogonal system as the point on the surface strip to be coated having the shortest y-axis among the points on the strip;
- b4) defining a cut-off point on the second orthogonal system as a point on the surface strip to be coated, located along the new x-axis at a given distance from the initial point;
- b5) calculating a mean normal to a temporary portion of the strip of the 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 cut-off point, respectively;
- b6) calculating a temporary longitudinal axis equal to the normalized cross product of the mean normal calculated at b5) and the opposite of the y-axis of the second orthogonal system;
- b7) comparing the new x-axis to the temporary longitudinal axis;
- b8) if the new x-axis and the temporary longitudinal axis are identified as different at b7), then
- b81) redefining the new x-axis as equal to the temporary longitudinal axis;
- b82) reiterating b3) to b7)
- b9) if the new x-axis and the temporary longitudinal axis are identified as equal at b7), defining a portion of the strip to be coated as equal to the temporary portion at b5).
- b1) defining a second orthogonal system having as origin the
- b) comprises, following b1) to b9):
- b10) calculating an orientation vector for the print head equal to the cross product of the new x-axis and the opposite of the y-axis of the second orthogonal system;
- b11) defining a center point as a point located
- halfway between the orthogonal projections from the initial point and the cut-off point on a line passing through the initial point and a direction vector equal to the new axis, and
- at a third distance from the initial point measured along the y-axis of the second orthogonal system and going back along this axis, the third distance being equal to one-half the first distance;
- b12) defining a point of impact as the projection from the center point on the portion of the surface strip to be coated along a line whose direction vector is the print head orientation vector;
- b13) if a point of impact exists, including the point of impact and the print head orientation vector in the trajectory.
- The print head body is equipped with several nozzles arranged in parallel rows, while the coordinate of the center point along the new x-axis of the second orthogonal system is equal to half the sum of the x-coordinates of the orthogonal projections from the initial point and the cut-off point on a straight line passing through the initial point and the direction vector equal to the new axis while the center point is shifted, with respect to this line, in the direction opposite that of the y-axis of the second orthogonal system, by a distance equal to half the product of the number of nozzle rows and the distance between two of these rows as measured along the y-axis.
- If the point of impact at b12) does not exist, due to the absence of material from the surface strip to be coated along a line whose direction vector is the print head orientation vector and which passes through the center point, then performing, between b12) and b13):
- b14) find an end-point for the portion of the strip to be coated, whose position along an axis parallel to the print head orientation vector is furthest away, in a direction opposite to this vector;
- b15) project the end-point onto an axis passing through the center point and parallel to the print head orientation vector to define an alternate point of impact; and
- b16) assimilate the point of impact with the alternate point of impact for the portion of strip to be coated in progress.
- b) includes, following b1) to b13):
- b18) reducing the surface strip to be coated by a fraction thereof, i.e., by the portion defined at b9);
- b19) determining whether the remaining surface strip to be coated has a non-zero area;
- b20) if the result of the calculation at b19) is affirmative, reiterating b3) to b19).
- b) includes, following b1) to b13):
- b21) defining a print head axis vector at each point of impact as equal to the normalized cross product of the print head orientation vector at this point and the y-axis of the second orthogonal system;
- b23) using the point of impact, the distribution of the nozzle(s) on the print head, the print head axis vector, and the y-axis of the second orthogonal system to define a remarkable point to be reached;
- b24) including the remarkable point and the print head orientation vector at the corresponding point of impact in the trajectory.
- b) includes adding at least one additional entry point and/or exit point, compared to those calculated at b24), to the trajectory defined for each surface strip to be coated, and/or optimizing the number of remarkable points on the trajectory when at least one remarkable point is removed, i.e., a remarkable point that is collinear with a point preceding it and a point following it along the trajectory, and whose orientation axis is parallel to that of the point preceding it and the point following it along the trajectory.
- b) includes determining the number of times the print head needs to move back and forth to finish coating the strip to be coated, depending on the width of the band of coating delivered from the print head and that of the strip to be coated. Where needed, after the first forward movement across the strip to be coated, one or more trajectory sections are calculated by reversing the order of the remarkable points defined for the preceding trajectory section at b22).
- a71) to a73), or b81) and b82) are implemented until a limited number of iterations is reached.
- From the trajectory defined at b), the computer calculates, for each print head nozzle, a distance to be either coated or not coated over a succession of forward steps of the print head.
- e) includes:
- e1) discretizing the movement of the print head between the remarkable points on a trajectory by means of discretized positions;
- e2) determining the existence of an impact point for each nozzle in each position discretized at e1);
- e3) calculating a distance to be coated or not coated at each discretized position of the trajectory and, optionally, multiplier coefficients, as a function of the distance between a nozzle and a reference nozzle; and
- e4) building a programming file for the activation of each nozzle along the trajectories.
- b) includes:
- Viewed from another angle, the invention relates to a facility for applying a liquid coating to the surface of an object to be coated, this facility including a print head mounted on a robot arm designed for moving the print head in relation to the surface, the body of which is equipped with at least one print nozzle. This facility comprises an electronic control unit configured to implement a method such as that described above.
- The invention will be better understood and advantages beyond these will emerge more clearly in light of the following description of the accomplishment of a method using its principle, given solely by way of example and made with reference to the accompanying drawings, in which:
-
FIG. 1 shows the principle of a facility for coating a motor vehicle body in accordance with the invention, which implements a method also in accordance with the invention; -
FIG. 2 shows diagrams of several print heads that may be used by the facility ofFIG. 1 , using the method of the invention; -
FIG. 3 is similar toFIG. 2 , showing another print head that may be used by the facility inFIG. 1 , using the method of the invention; -
FIG. 4 shows the principle of back-and-forth movements of the print head ofFIG. 3 to coat a surface with two examples of print head orientation; -
FIG. 5 shows the principle of a modelled surface to be coated and a supporting surface placed in the same modelled environment during an operation of the method of the invention; -
FIG. 6 shows the surface ofFIG. 5 during a later operation of the method of the invention; -
FIG. 7 shows the same surface as that shown inFIGS. 5 and 6 during a later step of the method of the invention; -
FIG. 8 shows a close-up view of area VIII inFIG. 7 during a later operation of the method of the invention; -
FIG. 9 shows the same close-up view during a later operation of the method of the invention; -
FIG. 10 shows a front view of the print head and some sizes used in the method of the invention; -
FIG. 11 is an overall block diagram of the method of the invention; -
FIG. 12 is a detailed block diagram of an operation of the method of the invention; and -
FIG. 13 is a detailed block diagram of another operation of the method of the invention. - The facility I shown in
FIG. 1 is used for applying paint to objects O which, in the example used for this figure, are motor vehicle bodies. - More precisely, in this example, facility I is designed for coating the roof of the vehicle body on either side of a median plane n0 parallel to the largest dimension of the body.
- Alternatively, the objects to be coated may be other parts of a motor vehicle body, such as bumpers or doors or, in general, any object that can be coated, such as, for instance, parts of an aircraft cabin or household appliance panels.
- Facility I includes a
conveyor 2 designed to move objects O along a conveying axis X2, perpendicular to the plane ofFIG. 1 . This conveyor is preferably of the “stop-and-go” type, that is to say, it holds the objects stationary while the coating is being applied. Facility I also includes anapplicator 10 mounted at the end of anarm 22 of amulti-axis robot 20 placed nearconveyor 2. Alternatively,robot 20 may be a reciprocating robot or any other robot capable of movingapplicator 10 in relation to the objects O to be coated.Robot 20 includes acontroller 24, sometimes referred to as a “robot bay”, which controls the movements ofarm 22 as a function of a trajectory program TRAJ to be followed. - In
FIG. 1 ,controller 24 is shown inside ofrobot 20. However,controller 24 may alternatively be placed outside ofrobot 20. -
Applicator 10 is a print head including arigid body 12 and a number ofprint nozzles 14. - Facility I also includes an
electronic control unit 30, or ECU, which is in bidirectional communication with at leastconveyor 2 andcontroller 24 ofrobot 20, and which also controlsprint head 10. To this end,ECU 30 contains at least one micromethodor and memory for storing a computer program (micromethodor and memory not shown). Communication betweenECU 30 andcontroller 24 allows the activation of the print head to be synchronized with the position ofrobot arm 22. - In
FIG. 1 ,ECU 30 is shown independent ofdevices ECU 30 may be integrated intorobot 20. - As shown in the first example of
FIG. 2 ,print head 10 may include abody 12 with asingle print nozzle 14. In this case, whenprint head 10 is moved in the direction of arrow F1 inFIG. 2 ,print head 10 deposits a line or band of coating, which may be qualified as abrush 15, whose width I15, measured perpendicular to the direction of movement of the print head in the plane perpendicular to thenozzle 14, has a first value. - In the second example shown in
FIG. 2 ,print head 10 includes arigid body 12 on which is mounted arow 16 of eightnozzles 14, identified by its center line.Print head 10 may be moved parallel to arrow F1, being inclined at an angle α with respect to the direction of this arrow, so that the different lines ofcoating exiting nozzles 14 together define acontinuous band 15 of coating applied to a surface, the width I15 of thisband 15 having a second value equal to approximately eight times the first value. - In the third example shown in
FIG. 2 ,print head 10 includes acolumn 18, identified by its center line, of sixprint nozzles 14 arranged on arigid body 12. Whenprint head 10 is moved perpendicular to this column, and provided that the nozzles are sufficiently close to each other,print head 10 deposits acontinuous band 15 on a surface to be coated, the width I15 of this band having a third value, equal to about six times the first value. - In the fourth example shown in
FIG. 2 ,rigid body 12 ofprint head 10 holdsnozzles 14 arranged in sixrows 16 and eightcolumns 18, identified by their respective center lines as in the second and third examples. In this case, nozzles 14 are very tightly arranged onrigid body 12, so that whenprint head 10 is moved parallel to arrow F1, being inclined at an angle α, as in the second example, thevarious nozzles 14 apply aband 15, the width of which I15 has a value equal to six times the second value. - The four types of print heads shown in
FIG. 2 may be considered compact, in the sense that the bands of coating produced by the movement of one or the other of these heads in the direction of arrow F1 are continuous across the width. - In the example shown in
FIG. 3 ,print head 10 contains, on itsrigid body 12, forty-eightnozzles 14 arranged into a configuration of sixrows 16 and eightcolumns 18. A difference from the fourth example shown inFIG. 2 is that whenprint head 10 is moved parallel to arrow F1, sixseparate bands 15 are produced, each with a width I15 of comparable value to the second value mentioned above. Thesebands 15 are separate, in that between them areareas 17 where no coating is applied during movement ofprint head 10 in the direction of arrow F1, as shown in the center ofFIG. 3 . - Designate by Ph the geometric center of the face of
print head 10 on whichnozzles 14 are mounted. - In the example of use shown at the bottom of
FIG. 3 ,print head 10 is tilted at an angle β greater than angle α so that whenprint head 10 is moved parallel to arrow F1, forty-eightseparate bands 15 of the type shown in the upper portion ofFIG. 2 are applied, these bands being equally spaced, with between themareas 17 where no coating is applied. -
Print head 10 inFIG. 3 has a non-compact configuration, such thatbands 15 are not continuous over the entire width of the area where the coating is applied, sinceareas 17 remain between these bands, as explained above. - Designate by n the number of
rows 16, and by m the number ofcolumns 18 onprint head 10. The number ofnozzles 14 is n×m. In the example ofFIG. 3 , this number is 6×8=48. - Consider the configuration of
FIG. 3 , in whichprint head 10 is inclined by angle α. In this configuration, designate by d1 a distance measured parallel to width I15 of aband 15, therefore perpendicular to the direction of movement represented by arrow F1, between two adjacent rows ofnozzles 16. Designate by I17 the width of anarea 17, measured parallel to width I15. Distance d1 is equal to the sum of widths I15 and I17. - Regardless of the print head used,
nozzles 14 each form an orifice from which the coating is sprayed, with 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 produces the width of the individual band deposited by each nozzle, as in the configurations at the top ofFIG. 2 and the bottom ofFIG. 3 , or the combined width of the bands formed by the juxtaposition of individual bands, as in the other configurations. In addition,nozzles 14 are each fed via a system for controlling the flow of the coating, which may be of the piezoelectric, electromagnetic, or pneumatic type. - The invention may be used with any of print heads 10 shown in
FIGS. 2 and 3 , and with variations thereof for the numbers ofrows 16 andcolumns 18 and the numbers of nozzles per column or row, provided that all the rows have the same number of nozzles and all the columns have the same number of nozzles, meaning that the number of nozzles in each row corresponds to the number of columns, and the number of nozzles in each column corresponds to the number of rows. - For the print heads shown in
FIG. 2 , given how compactly nozzles 14 are mounted onprint head 10, a continuous band of coating with a width of I15 on a surface S to be coated, or a portion thereof, with a single pass, that is to say one forward movement. - In the configuration shown in the middle of
FIG. 3 and the upper portion ofFIG. 4 , width I15 represents half of distance d1, and a surface S to be coated, or a portion thereof, may be coated by movingprint head 10 forward in the direction of arrow F1, then back in the direction of arrow F2. - In the configuration shown in the lower portion of
FIG. 4 , width I15 is equal to one-third of distance d1, and a surface S to be coated, or a portion thereof, may be completely coated by movingprint head 10 forward in the direction of arrow F1, then back in the direction of arrow F2, then forward again in the direction of arrow F3. - The invention may be implemented with the various configurations of
print head 10 envisaged above, the number of single or back-and-forth movements depending on the compactness of the print head, and thus on the configuration used. For the remainder of this description, it is assumed thatprint head 10 has n rows and m columns ofnozzles 14. For example, with an inclined print head as shown in the middle portion ofFIG. 3 , one knows, as a function both of the distribution of the rows andcolumns body 12 with respect to the print head's direction of movement represented by arrow F1, F2, or F3, distance d1 between two rows of nozzles, as well as width I15 ofband 15, and one may deduce the number of times printhead 10 must move back and forth to completely cover surface S or a portion thereof, i.e.: -
- for a compact head such as shown in the lower portion of
FIG. 2 , the number of forward movements is 1 and the number of returns is 0, - for a non-compact head with
a d 1/I15 ratio of 2, as shown in the middle portion ofFIG. 3 or in the upper portion ofFIG. 4 , the number of forward movements is 1 and the number of returns is 1, - for a non-compact head with
a d 1/I15 ratio of 3, as shown in the lower portion ofFIG. 4 or in the upper portion ofFIG. 4 , the number of forward movements is 2 and the number of returns is 1.
- for a compact head such as shown in the lower portion of
- Other numbers of back-and-forth movements of
print head 10 are possible, depending on configuration ofprint head 10. For example, with an inclined print head as shown in the lower portion ofFIG. 3 , one knows, as a function both of the distribution of these rows andcolumns body 12 with respect to the print head's direction of movement represented by arrow F1, distance d1 between two consecutive nozzles in the same row, as well as width I15 ofline 15 deposited by anozzle 15, and one may deduce the number of times printhead 10 must move back and forth. - The method of the invention will now be described with reference to
FIG. 5 and the following figures. - Consider the left half of the upper surface of the roof of the vehicle body shown in
FIG. 1 to be the surface to be coated S. As sees inFIG. 5 , this surface S is delimited by the roof's front edge B1 and rear edge B2 and by a center line M which is the trace of plane n0 on the top of this roof. InFIG. 5 , the center line represents the trace of the right half of the upper surface of the roof. - The surface to be coated S includes an area Z1 to be coated, and an area Z0 not to be coated. In addition, edges B1 and B2 are considered not to be coated, and are only shown in
FIG. 5 for the sake of clarity. - Using a known technique, the surface to be coated S is modelled by a computer file F which, in the example, is in STL format. This format makes it possible to approximate the real surface S to be coated via a set of triangular facets, as shown in
FIGS. 6-9 . - Alternatively, file F may be in a different format, such as .obj or .vtk, which approximate the real surface via facets, or an .iges or .step format, which represent the mathematical shape of the surface to be coated S.
- First, define the trajectory of the
print head 10 and its orientation with respect to the surface to be coated S modelled by file F. The constraints of this trajectory are various: -
- they relate to
robot 20 that movesprint head 10 and may be a multi-axis robot, a reciprocating robot, a plotting table, or a manipulator arm; - they relate to print
head 10, in particular to the number ofnozzles 14, to the arrangement of thesenozzles 14 onbody 12, to the nozzle controls, the drop size of the coating product, etc.; - they relate to the shape of the surface S to be coated, in particular to its curvature, to the geometry of its edges, to the presence of ribs, grooves or holes.
- they relate to
- A calculation strategy is applied to generate the path of
print head 10 with respect to the surface S modelled by file F. - This calculation strategy is applied in a
calculator 40, shown inFIG. 1 in the form of a computer that communicates withECU 30 and withcontroller 24.Calculator 40 works offline, time-shifted with respect to application of the coating product. In particular, at least some of the calculations bycalculator 40 are performed before application of the coating product. - The strategy applied with
calculator 40 includes astartup step 100 including selection of surface files from a file library, representing zones Z1 and Z0, to determine the outer contours of surface S, here edges B1 and B2, center line M and the left edge of surface S, followed by iterative definition of the inner surfaces, enabling the filling of each portion of surface defined between the outer contours by a spiral path or by a sweep motion. - As part of this strategy, and once surface S and its outer contours are defined and modelled in
step 100, a 3-dimensional path is first defined forprint head 10 based solely on the surface S to be coated and the configuration ofprint head 10, by conducting a forward or forward-return movement. This operation, as well as the other operations that are part of the method of the invention and that are described below, are applied automatically bycalculator 40.Calculator 40 thus serves as an automatic path generator forrobot 20. - To facilitate determination of the robot's path, a rule in the calculations performed by
calculator 40 makesprint head 10 remain more or less oriented in a predefined direction, such as towards a forward movement, supported by simple preselected elements such as points, segments or an edge. - The first step 102 ‘cuts’ a section to be coated, in the surface to be coated S, more specifically in the file F that models surface S.
- As shown in
FIGS. 5, 11 and 12 ,startup step 100 of the method of the invention first includes aninitialization sub-step 1001, in which an iteration index i is zeroed, and a sub-step 1002 to adapt file F to surface S, in particular based on edges B1, B2 and M of surface S and zones Z1 and Z0, as well as a support surface SP located in the same calculation space as surface S, with a simple geometry defined by simple geometric elements, such as points, segments and faces. - In the example in the figures, surface SP is a flat rectangular surface located in the vicinity of surface S.
- In
FIGS. 11-13 , the parameters given in brackets after a quantity identified in a step or a sub-step are the parameters used to define this quantity. - By convention, the three orthogonal axes of an orthogonal coordinate system are called the X-axis, Y-axis and Z-axis.
- Step 102 in the method of the invention includes defining a section T of the surface to be coated S, by calculation using
file F. Step 102 is illustrated inFIG. 12 and includes an initial sub-step 1021 in whichcalculator 40 defines an initial orthogonal coordinate system R0 whose origin O is a point selected by the user in the support surface SP, such as with a pointing device like a mouse. In sub-step 1021, the Z-axis {right arrow over (Oz)} of the first orthogonal coordinate system R0 is initially set to a normal {right arrow over (Nsp)} on the support surface SP at the origin point O. On the other hand, the Y-axis {right arrow over (Oy)} of the first orthogonal coordinate system O is set to the normalized cross product of the Z-axis {right arrow over (Oy)} and an axis aligned on a travel direction selected by the user, by means of a segment SU of support surface SP selected by the user, such as with a pointing device, as approximately corresponding to a travel direction ofprint head 10 along center line M. Finally, the X-axis {right arrow over (Ox)} of coordinate system R0 is set to the normalized cross product of the Y-axis {right arrow over (Oy)} and the Z-axis {right arrow over (Oy)}. - Alternatively, the user may select the origin point O on a different surface, in this case surface S or in zones Z1 and Z0. Determination of the first orthogonal coordinate system R0 is then adapted based on this.
- Overall, the method of the invention makes it possible to have
print head 10 move parallel to segment SU, by adjusting the position of print head based 10 on the geometric model of surface S created by file F. - One uses a quantity known as the ‘average normal’ and designated {right arrow over (N)}. In a
subsequent sub-step 1022 ofstep 102,calculator 40 initializes this average normal to the Z-axis {right arrow over (Oz)} of the first orthogonal coordinate system. - In a subsequent sub-step 1023, index i is incremented by one unit.
- In a subsequent sub-step 1024, in an initial orthogonal coordinate system R0,
calculator 40 defines a point Pinit as a point on the surface to be coated S whose ordinate there, in the first orthogonal coordinate system R0, is the greatest among those of the points on the surface to be coated. In other words, as seen inFIG. 6 , point Pinit is the ‘furthest’ along the Y-axis {right arrow over (Oy)}, in coordinate system R0, amongst the points on the surface to be coated S. As shown schematically in brackets inFIG. 12 , point Pinit is defined as a function of surface S and the Y-axis {right arrow over (Oy)}. - In a
later sub-step 1025, based on point Pinit,calculator 40 defines another point Pcut as a point on the surface to be coated S that is located, with respect to the initial point Pinit, at a distance d2 measured along the Y-axis {right arrow over (Oy)} and in a negative direction along this axis. This second point Pcut is called the cut point because it corresponds to a virtual cut on the surface to be coated S. More specifically, one uses a temporary section T′ on the surface to be coated that is defined between two planes n1 and n2 passing through initial point Pinit and cut point Pcut, respectively, both of which are perpendicular to Y-axis {right arrow over (Oy)}, i.e., parallel to X-axis {right arrow over (Ox)} and Z-axis {right arrow over (Oz)}.FIG. 6 shows this temporary section T′. Its width, measured along the axis {right arrow over (Oy)}, is equal to the distance d2. - In the example of the center part of
FIG. 3 andFIG. 4 , the distance d2 is set to the number n ofrows 16 ofnozzles 14 multiplied by the distance d1 between two rows. In the example at the bottom part ofFIG. 3 , distance d2 is set to the number n ofrows 16 ofnozzles 14 multiplied by the number m ofcolumns 18 of nozzles multiplied by the distance d1 between two nozzle strokes. Thus, distance d2 is equal to the total width ofbeams 15 applied during a forward-return movement in the configuration shown in the top part ofFIG. 4 , and to the total width ofbeams 15 applied during a forward-return movement following by a forward movement in the configuration shown in the bottom part ofFIG. 4 . As with distance d1, distance d2 depends on widths I15 and I17 ofbeams 15 andareas 17, i.e., the value of angle α or β. In any case, distance d2 is a multiple of distance d1. - Next, in a sub-step 1027,
calculator 40 calculates the average normal {right arrow over (Nμ)} on the surface to be coated S between planes n1 and n2, i.e., on the temporary section T′. - After sub-step 1027, at a sub-step 1028
calculator 40 compares the average normal {right arrow over (N)} defined atstep 1022 and the average normal {right arrow over (Nμ)} defined atstep 1027. This comparison between two vectors may be performed in several ways, such as by determining an angle between these two normals, by finding their scalar product. In the case of a comparison using an angle determined between these vectors, these vectors are considered identical 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 can be set between 10−9° and 10°, and preferably to 10−6°. - Depending on the result of the comparison at sub-step 1028,
calculator 40 applies different sub-steps. - If the result of the comparison in sub-step 1028 is that the two average normals are different, a sub-step 1029 verifies that index i is strictly less than or equal to a threshold value V1. If this is the case, the variable {right arrow over (N)} takes the value {right arrow over (Nμ)} at sub-step 1030, then the first orthogonal coordinate system R0 is redefined at
step 1031, in a manner similar to step 1021, but according to the sequence below: the Y-axis {right arrow over (Oy)} of the new orthogonal coordinate system R0 is obtained by normalizing the vector resulting from the cross product of {right arrow over (N)} and the X-axis {right arrow over (Ox)} of the first orthogonal coordinate system R0. The Z-axis {right arrow over (Oz)} of the new orthogonal coordinate system R0 is set to {right arrow over (N)}. The X-axis {right arrow over (Ox)} of the new orthogonal coordinate system R0 is obtained by normalizing the vector resulting from the cross product of {right arrow over (N)} and the Y-axis {right arrow over (Oy)} of the new orthogonal coordinate system R0. Next, sub-steps 1022-1028 are applied again until vectors {right arrow over (N)} and {right arrow over (Nμ)} are considered equal atstep 1028 or the maximum number of iterations V1 is reached, in whichcase calculator 40 defines the last temporary section T′ defined in the last sub-step 1026 performed, as section T on the surface to be coated. This occurs during a sub-step 1032 that is the final sub-step ofstep 102 of the method of the invention. - In practice, threshold value V1 that is the maximum number of iterations in
step 102, may be set between 1 and 20, and preferably to 5. - In sum,
step 102 enabled ‘cutting’ a section T in surface S, as this section is well defined, between the first and second planes n1 and n2 passing through points Pinit and Pcut, respectively. These points are not necessarily located on an edge of surface S, but may be located in an intermediate portion of this surface, away from edges B1 and B2 as shown inFIG. 7 , following iterative application of sub-steps 1022-1031. - Once section T has been determined at
step 102, the method of the invention uses an automatic calculation and iterations, over the course of astep 104, to define a path Traj for the print head to follow with respect to this section T. - Step 104 is detailed in
FIG. 13 and first includes aninitialization sub-step 1041 by zeroing two indexes: index j and index k. - During a subsequent sub-step 1042,
calculator 40 defines a second orthogonal coordinate system R1 whose origin is the initial point Pinit defined at the last sub-step 1024 performed and whose X, Y and Z-axes are the same as those of the last version of the first orthogonal coordinate system R0 defined atstep 1021 orstep 1031. - In a subsequent sub-step 1043,
calculator 40 defines a third point Pstart, referred to as the ‘start point’. This third point is the X-axis projection {right arrow over (Ox)} of the second orthogonal coordinate system R1 of a point of the section to be coated T with the smallest abscissa in the first orthogonal coordinate system R0. - Similarly, at sub-step 1044,
calculator 40 defines a fourth point Pend, referred to as the ‘end point’. This fourth point is the X-axis projection {right arrow over (Ox)} of the second orthogonal coordinate system R1 of a point of the section to be coated T with the greatest abscissa in the first orthogonal coordinate system R0. - The third and fourth points can be used to identify a travel direction for
print head 10. - The order of sub-steps 1043 and 1044 may be reversed. Alternatively, these sub-steps may be performed simultaneously. In another variant,
steps -
FIG. 7 shows the third and fourth points, as well as the two coordinate systems: R0 and R1. - At sub-step 1045,
calculator 40 initializes a variable {right arrow over (nX)} that is referred to as a new axis X, as the X-axis of the second orthogonal coordinate system R1. This sub-step 1045 may be performed before or after sub-steps 1043 and 1044, or even at the same time. - Next, in a sub-step 1046, index j is incremented by one unit.
- In a subsequent sub-step 1047, in a second orthogonal coordinate
system R1 calculator 40 defines a fifth point Qinit, which is referred to as the initial point of the section, as a point on section T with the smallest abscissa in the second orthogonal coordinate system R1 among the points on the section to be coated. In other words, in this sub-step 1047, the fifth point Qinit is defined as the point on section T that has travelled the least along the X-axis in the second orthogonal coordinate system R1. - In a subsequent sub-step 1048,
calculator 40 defines a sixth point Qcut, which is referred to as the cut point of section T and which is a point on this section located, with respect to the fifth point and along the new axis {right arrow over (nX)}, at a given distance d3. For instance, distance d3 may be equal to the length L10 ofprint head 10 measured parallel to arow 16. Alternatively, distance d3 may be much less than this length, such as one tenth of it, or much greater, such as one hundred times this length. In practice, distance d3 may be selected based on the local curvature of section T of the surface to be coated S with respect to length L10 ofprint head 10, as this curvature may be calculated based on file F. - In a subsequent sub-step 1049,
calculator 40 defines a temporary portion P′ of section T as the portion of this section between a third plane n3 and a fourth plane n4 perpendicular to the new axis {right arrow over (nX)} and passing through the fifth and sixth points Qinit and Qcut, respectively.FIG. 8 shows this portion P′ of section T. - If a temporary portion P′ of section T was defined in sub-step 1049, as indicated above, the average normal {right arrow over (N′μ)} at this portion P′ is calculated in a sub-step 1050.
- In a subsequent sub-step 1051,
calculator 40 calculates a variable for the temporary longitudinal axis {right arrow over (Xtemp)} equal to the cross product of the average normal {right arrow over (N′μ)} calculated in sub-step 1050 and of the opposite −{right arrow over (Oy)} of the Y-axis {right arrow over (Oy)} of the second orthogonal coordinate system R1, as this cross product is normalized, i.e., scaled to a length of 1. - In a subsequent sub-step 1052,
calculator 40 compares the new X-axis {right arrow over (nX)} defined previously and the temporary longitudinal axis {right arrow over (Xtemp)} defined atstep 1051. The comparison method may be the same as that applied atstep 1028 mentioned above, or a different method enabling comparison of two vectors. - If the result of the comparison at sub-step 1052 is that the two vectors compared are different, the system applies a sub-step 1053 to compare index j to a threshold value V2. If index j is strictly less than threshold value V2, then the new axis {right arrow over (nX)} takes the value {right arrow over (Xtemp)} at sub-step 1054, and step 104 is resumed at sub-step 1046 to return to sub-step 1052. Thus, an iteration method is applied, for j between 1 and V2, as long as vectors {right arrow over (Xtemp)} and {right arrow over (nX)} are different.
- If vectors {right arrow over (Xtemp)} and {right arrow over (nX)} are found to be equal at
step 1052, or if the maximum number of iterations V2 is reached at sub-step 1053, then a new sub-step 1055 is applied that defines a portion P of the section to be coated T as equal to the last temporary portion P′ defined at the last sub-step 1049 performed. - Thus, sub-steps 1041-1055 enable definition, by iteration, of a portion P of section T cut between Qinit and Qcut, through which planes n3 and n4 pass, which are perpendicular to the new X-axis {right arrow over (nX)}.
- The user may select threshold value V2 for threshold value V1. In practice, threshold value V2 may be set between 1 and 20, and preferably to 5.
- After
step 1055, a sub-step 1056 is applied in whichcalculator 40 calculates an orientation vector {right arrow over (OT)} forprint head 10, which is equal to the normalized cross product of the new X-axis {right arrow over (nX)} and the opposite −{right arrow over (Oy)} of the Y-axis {right arrow over (Oy)} of the second orthogonal coordinate system R1. - In a subsequent sub-step 1057,
calculator 40 calculates the position of a seventh point Pcenter, referred to as the center point, located halfway between the orthogonal projections of the fifth and sixth points Qinit and Qcut on a line passing through the fifth point Qinit and of a direction vector equal to the new axis {right arrow over (nX)}. This center point Pcenter is offset, with respect to this line passing through these two points, by a third distance d4 measured along the Y-axis {right arrow over (Oy)} of the second orthogonal coordinate system R1, in a negative direction on this axis. This third distance d4 is set to half of first distance d2, and the point Pcenter is roughly halfway between the first and second planes n1 and n2 mentioned above. - In a subsequent sub-step 1058, the seventh point Pcenter is projected along a line whose direction vector is the orientation vector {right arrow over (OT)} on the portion P of section T in the form of an eighth point Pimpact, referred to as the impact point. At sub-step 1058, this eighth point Pimpact is only created if an intersection occurs between the line of the direction vector {right arrow over (OT)} and the application point Pcenter, and portion P of section T, which includes a full zone, i.e., full of the material, with respect to the seventh point and the orientation axis {right arrow over (OT)}. This is the case for the first seven portions P1 to P7 of section T, shown in
FIG. 9 . - According to a variant of the method of invention that is not shown, the eighth point Pimpact may be defined without using the seventh point Pcenter, but by taking an imaginary line made up of the intersection of a first imaginary plane and a second imaginary plane. The first imaginary plane is located halfway between planes n1 and n2, while the second imaginary plane is located halfway between planes n3 and n4. Point Pimpact exists if this imaginary line intersects a full zone in portion P of section T.
- In the case of the eighth portion P8 shown in the magnification in
FIG. 9 , the projection of the seventh point falls in a port O8 that crosses portion P8. In this case, a point P′impact is defined, as an alternative to the eighth point Pimpact. To define this alternative point Pimpact,calculator 40 takes a ninth point, namely the end point p8 of portion P8 which is the furthest away in the opposite direction of the orientation vector of the head {right arrow over (OT)}. In the example ofFIG. 9 , this ninth point p8 is located at the ‘vertex’ of a boss of portion P8. This point p8 is then projected perpendicularly on an axis passing through point Pcenter and parallel to the orientation axis of the head {right arrow over (OT)}. The result of this projection is defined as the tenth point Pimpact, as an alternative to the eighth point Pimpact. As the eighth point Pimpact cannot be constructed using the approach referred to atstep 1058, a sub-step 1059 uses the tenth point Pimpact as the eighth point Pimpact. In other words, in this case, the eighth point Pimpact is considered equal to the tenth point P′impact. - At the end of
steps calculator 40 stores the eighth point Pimpact and the orientation axis {right arrow over (OT)} in a storage unit linked to this calculator, which is not shown. - According to a variant of the method of invention that is not shown, the eighth point Pimpact is always determined as explained above for the case of the eighth portion P8. In other words, it does not matter whether or not the line passing through the seventh point Pcenter or the imaginary line intersects a full part of portion P1, P2, etc., under consideration. The tenth point Pimpact is always used.
- Thus, sub-steps 1056-1070 enable calculation and storage of a theoretical impact point of a jet of coating product onto portion P defined in sub-step 1055, as well as an orientation axis {right arrow over (OT)} of the print head for this impact point.
- In a subsequent sub-step 1071, portion P of section T, in which the impact point and orientation vector were calculated, is removed from section T, and step 104 resumes at sub-step 1046, after zeroing index j, in a sub-step 1073.
- As shown in sub-step 1072 in
FIG. 13 , the series of sub-steps 1046-1071 is applied as long as the area of section T is not zero. - Alternatively, the reduction of section T of the surface to be coated S, performed at
step 1071 by removing portion P defined atstep 1055, may be replaced with a sub-step that removes a fraction, from section T, that starts at point Qinit and extends over a travel distance Advance defined by the user. To do this,calculator 40 starts from point Qinit and adds distance Advance along the new axis {right arrow over (nX)}, thencalculator 40 replaces section T with the part of the section located beyond distance Advance with respect to point Qinit. - Whether by removing portion P identified at
step 1055 or by means of the part determined using variables Qinit, {right arrow over (nX)} and Advance, a fraction of section T is removed atstep 1071. - It is understood that the iterative method applied between sub-steps 1046 and 1072 enables gradual treatment of section T and storage, at
step 1070, of a point and an axis for each portion considered, P or equivalent, of the section T. - This leads to the configuration in
FIG. 9 where an impact point Pimpact or an alternative impact point P′impact is defined for each portion of surface P1, P2, etc., with an orientation axis at this point, OT. - Once the entire surface of section T has undergone treatment in sub-steps 1046-1071, i.e., once sub-step 1072 determines that the area of section T is zero,
calculator 40 determines, for each eighth point and at a sub-step 1074, an axis vector {right arrow over (AxeXT)} ofprint head 10 at this impact point as equal to the normalized cross product of the orientation vector {right arrow over (OT)} ofprint head 10 at this point and the Y-axis {right arrow over (Oy)} of the second orthogonal coordinate system R1. - At a subsequent sub-step 1075,
calculator 40 uses the eighth point Pimpact to define a characteristic point Ptcp to reach, referred to as the ‘tool center point’, which is a reference point for spatial positioning ofprint head 10. More specifically, as shown inFIG. 10 , the eighth point Pimpact is considered to be located, with respect toprint head 10, at half the distance d2 defined above and in a position such that points Pimpact and Ph are aligned along the axis {right arrow over (Oy)}. Areference nozzle 140 is designated among thenozzles 14, such as the nozzle located in the bottom right corner ofprint head 10 inFIG. 10 .Nozzle 140 may be defined as the tool center point or point Ptcp. The offset dx is noted, parallel to the axis vector {right arrow over (AxeXT)}, between points Ph and Ptcp. As points Pimpact and Ph are aligned along the axis {right arrow over (Oy)}, the offset dx is also the offset parallel to the axis vector {right arrow over (AxeXT)}, between points Pimpact and Ptcp. The offset dy is noted between points Pimpact and Ptcp parallel to the Y-axis {right arrow over (Oy)} of the second orthogonal coordinate system R1, in a negative direction. - Under these conditions, the position of the
reference nozzle 140 may be considered to be the position of the characteristic point Ptcp expressed as a function of the position of the impact point Pimpact according to the equation: -
P tcp =P impact +dx×{right arrow over (AxeXT)}−dy×{right arrow over (Oy)} (Equation 1) - If a point Ptcp is defined, it is included, with the orientation axis of the head {right arrow over (OT)}, in file Traj for the path for the
reference nozzle 140 to follow with respect to section T of the surface to be coated S, in a sub-step 1076 followingstep 1075. This successively records the different characteristic points Ptcp and the different orientation axes of the head {right arrow over (OT)}, corresponding to the different portions P or fractions of section T, in the path file Traj. - Alternatively, sub-steps 1074-1076 may be applied between sub-steps 1070 and 1071, or even at the same time as sub-step 1070.
- According to an optional sub-step of the
invention 1077, it is possible to add, to the path file Traj, at least one additional engagement point and at least one additional release point for the print head on the path to be completed along section T. In practice, two additional engagement points, Pe1 and Pe2, and two additional release points, Pd1 and Pd2, are added to the path file created for each section T. The two engagement points Pe1 and Pe2 are collinear with the first two points Ptcp of the path Traj and are located at a parametrized distance from these first two points. Similarly, the two release points Pd1 and Pd2 are collinear with the last two points Ptcp on the path and located at a parametrized distance from it. The two parametrized distances used for the engagement and release points may be the same or different. - If the path file generated for a section T contains a single point Ptcp, the axis {right arrow over (AxeXT)} is used to define the engagement point(s) and the release point(s) based on this single point.
- Alternatively, and according to an approach that offers more flexibility in the method of engaging
print head 10 on path Traj, engagement points Pe1 and Pe2 are defined by the fact that points Pe1, Pe2 and Ptcp, corresponding to the first point on the path Traj, are collinear, and by the fact that the line on which they are located is parallel to the vector defined by the cross product of the first orientation axis of the head {right arrow over (OT)} for the path Traj and the Y-axis {right arrow over (Oy)} of the second orthogonal coordinate system R1. Similarly, and according to an approach that offers more flexibility in the method of releasingprint head 10 from the path Traj, release points Pd1 and Pd2 are defined by the fact that points Pd1, Pd2 and Ptcp, corresponding to the last point on the path Traj, are collinear and by the fact that the line, on which they are located, is parallel to the vector defined by the cross product of the last orientation axis of the head {right arrow over (OT)} for the path Traj and the Y-axis {right arrow over (Oy)} of the second orthogonal coordinate system R1. - The number of engagement and release points is not necessarily equal to two. As mentioned above, it can be equal to 1. It may also be greater than or equal to 3. The number of engagement points is not necessarily equal to the number of release points.
- In a subsequent sub-step 1078,
calculator 40 performs an optimization of the number of points Ptcp of the trajectory file Traj. In this context, if three successive Ptcp points of the trajectory file are collinear and their orientation axes {right arrow over (OT)} are parallel, then the intermediate point Ptcp of note is removed from the trajectory file, as well as the head orientation vector {right arrow over (OT)} associated with this point. This optimization sub-step makes it possible to reduce the number of Ptcp points of the trajectory according to the collinearity of these points in space, and to avoid an overload of the calculation capacities ofcalculator 40. -
Sub-step 1078 is optional. It may or may not be implemented depending on the number of points Ptcp in each trajectory file Traj, and the computing capabilities ofcalculator 40. - In the subsequent sub-steps 1079-1091 of
step 104, the number of forward and backward strokes to be made to coat strip T of surface S is taken into account. The explanations provided above with reference toFIGS. 3 and 4 apply, mutatis mutandis, to the coating of a strip T of the surface S to be coated. - The Ar max value is defined as the sum of the number of forward and backward strokes required to cover the strip T with the print head. In the case shown in the lower part of
FIG. 2 , the Ar max number is equal to 1. In the case shown in the middle part ofFIG. 3 and at the top ofFIG. 4 , the Ar max number is equal to 2. In the case shown in the lower part ofFIG. 4 , the Ar max number is equal to 3. - The index k, initialized at zero at
step 1041 and incremented by 1 atstep 1079, represents a sequence number of the trajectory to be taken, whether it is a forward stroke, when k is odd, or a backward stroke, when k is even. The file corresponding to the trajectory T is presented in practice as an array of points Ptcp and associated vectors {right arrow over (OT)}. When passing from index k−1 to index k, thecalculator 40 duplicates the array created atstep 1076. - If k is even,
calculator 40 inverts the duplicated array, i.e., changes the order of the remarkable points Ptcp, respectively the associated vectors {right arrow over (OT)}, so that the first points, respectively the first vectors, become the last and vice versa. For each remarkable point Ptcp,calculator 40 shifts it in the direction opposite to the ordinate axis {right arrow over (Oy)} of the second orthogonal rule R1, by a distance d5 equal to the value of k−1, multiplied by width I15 of a beam In other words, the points Ptcp are shifted by distance d5=(k−1)×I15. The set of new points obtained and the orientation vectors {right arrow over (OT)}, which are not modified for these different points, form a return section of the trajectory, along section T. This new section Δtraj of trajectory Traj is added to the existing trajectory in a sub-step 1091. - If k is odd and different from 1, the order of the points Ptcp is maintained with respect to that determined in sub-step 1076, i.e., reversed with respect to that of the trajectory section Δtraj determined for the index k−1 which is even, and the various points Ptcp are shifted, with respect to the last calculation carried out and in the direction opposite to the axis {right arrow over (Oy)} of the second orthogonal rule R1, by the same distance d5. The set of new points obtained and the orientation vectors {right arrow over (OT)}, which are not modified for these different points, form a new forward section of the trajectory, along the section T. This new section Δtraj of the trajectory Traj is added to the existing trajectory in a sub-step 1091.
- Thus, for k between 2 and Ar max, each section Δtraj added to the trajectory is calculated by reversing the order of the remarkable points Pctp defined for the previously calculated trajectory section.
- When the maximum number of forward and backward strokes is reached at
step 1090, the complete trajectory for the T-strip is generated in a sub-step 1092 ofstep 104. - According to an aspect of the invention not shown, if a zone not to be coated is present on surface S, as represented by zone Z0 in
FIG. 5 , the trajectory of the robot is adjusted so as not to collide with this zone Z0. A strip T of surface S that intersects a zone not to be coated Z0 is considered. Whencalculator 40 proceeds with the calculations of the above-mentionedstep 104, if, for one of the remarkable points Ptcp, its projection Ptcp/proj according to the orientation vector {right arrow over (OT)} on the zone Z0 not to be coated exists, and if a vector going from the point Ptcp to the point Ptcp/proj is in the opposite direction to the orientation vector {right arrow over (OT)},calculator 40 considers this to mean that the remarkable point Ptcp is in collision with zone Z0 not to be coated. In this case, a shift, of adapted amplitude, is applied to the position of remarkable point Ptcp in order to move it away from the surface to be coated S, to the level of the area not to be coated Z0, in a direction opposite to the orientation vector {right arrow over (OT)}. In other words, at zone Z0 not to be coated, the trajectory to be followed byprint head 10 is adapted so as not to hit the object to be coated O, i.e., to avoid a collision betweenprint head 10 and object O. - The approach implemented, at zone Z0 not to be coated, to avoid a collision between
print head 10 and the object to be coated O, may also be implemented for the zone to be coated Z1. Whenstep 104 has been implemented, with possibly an adaptation at the level of a zone Z0 not to be coated as mentioned above, astep 106 is implemented bycalculator 40 which consists of automatically removing from modelling file F, by computation, the strip to be coated T taken into account during theprevious steps step 102. - Alternatively, at
step 106,calculator 40 creates a new modelling file F which corresponds to the modelling file F from which the strip T has been removed. This is equivalent to removing strip T from file F. - In other words, trajectory generation is carried out by successive iterations, each corresponding to a strip T, these T strips being removed from file F as the corresponding trajectories Traj are determined.
- This is done until the area of the surface to be coated S modelled in file F is zero, i.e., the successive removal of the different strips T corresponds to the total elimination of the surface S in the file F. This is evaluated at
step 108. As long as the area detected atstep 108 is not zero, steps 102-106 are implemented iteratively. - At the end of
step 108, a global trajectory file TRAJ is available containing a set of remarkable points Ptcp to be reached by thereference nozzle 140 ofprint head 10, with, at each remarkable point, an orientation vector {right arrow over (OT)} of the print head to be respected, this trajectory file including Traj trajectories corresponding to the possible forward and backward strokes to be made on each strip T. - In order to avoid any risk of interference between
print head 10 and the physical surface of the object O to be coated, a systematic offset is preferably applied bycontroller 24 to all points Ptcp of each trajectory Traj, for example, an offset of 10 mm in a direction opposite to the orientation vector {right arrow over (OT)} associated with the point Ptcp. In effect,controller 24 uses points Ptcp to construct a set of points further from the surface S than these points Ptcp. This offset is a safety measure, intended to preventprint head 10 from hitting the object to be coated O. The value of this offset is selected according to the accuracy of the movements ofrobot 20, the accuracy of the modelling of surface S in file F, and the geometry ofprint head 10. - From the trajectory files Traj generated at the
various stages 104, a digital simulation makes it possible to know, during astage 110, the position, orientation and possible activation of eachnozzle 14 as a function of a configurable advance step of thestandard nozzle 140, on each trajectory Traj. - Step 110 includes a
first sub-step 1101 of determining the position and orientation of eachnozzle 14 as a function of the parametrizable feed rate. - At sub-step 1101,
calculator 40 segments each movement of thereference nozzle 140 into several elementary steps p, between two pairs (Ptcp, {right arrow over (OT)}) each formed by a remarkable point Ptcp of trajectory Traj and the associated head orientation vector {right arrow over (OT)}. In other words,calculator 40 discretizes movement ofprint head 10, between remarkable points Ptcp of a trajectory Traj, for thenozzles 14, by means of discretized positions P14 I,p. - Assuming that
body 12 ofprint head 10 is rigid and correctly modelled, the position ofreference nozzle 140 makes it possible to know the position of theother nozzles 14 whenprint head 10 moves along trajectory Traj. - It is considered that
nozzles 14 are numbered from 1 to n×m, with index I. P14 is a point reached by anozzle 14 i during movement ofprint head 10 along a trajectory Traj, with I between 1 and n×m. - In a sub-step 1102 of
step 110, and at each point P14 I,calculator 40 searches for the correspondingnozzle 14 I, for a point of impact PI of the spray of coating product exiting from this nozzle with the surface S, i.e., a point of intersection between a straight line arranged along the axis of thenozzle 14 I in question and the surface to be coated S. In other words,calculator 40 determines existence of an impact point PII,p for eachnozzle 14 and at each discretized position P14 I,p at sub-step 1101. If the point of impact PI exists,calculator 40 considers that the nozzle should spray coating material at this point. If this point of impact PI does not exist,calculator 40 assumes that the nozzle should not spray coating material while at point P14 I. - It is considered that
print head 10 is advancing at step p along the trajectory. In this case, during sub-step 1102 and for eachnozzle 14 I,calculator 40 may note the point reached P14 I,p at step p, its orientation {right arrow over (OT)}Ip+1 in this step and the coordinates of the corresponding impact point PII,p, the indices I and p meaning that the point reached and the impact point are those of nozzle I at step p.Calculator 40 then moves on to the next step, p+1, and repeats the same operations of calculating the impact point PII,p+1 for eachnozzle 14 I. If this point of impact exists,calculator 40 records it again as a pair formed by point PII,p+1 and associated vector {right arrow over (OT)}I,p+1. - When there are two consecutive points of impact, PII,p and PII,p+1, for
nozzle 14 I,calculator 40 calculates, at sub-step 1103 ofstep 110, a distance dI,p between these two points of impact. Distance dI,p is the distance to be covered bynozzle 14 I between the two steps p and p+1 of advance of nozzle I along trajectory Traj. - Similarly, if there are three consecutive impact points for the
same nozzle 14 I,calculator 40 calculates, at sub-step 1103, the distance dI,p+1 to be coated in the second step, namely the distance between points PII,p+1 and PII,p+2, with the same grading as before. - Thus, during movement of
print head 10 along the trajectory, it is possible to determine, for eachnozzle 14 i and for a succession of steps, -
- the distance di to be coated over this sequence of steps, i.e., the distance this nozzle has to cover when painting, i.e., spraying coating material, and
- the distance of I, not to be covered on this succession of steps, i.e., the distance that this nozzle must cover without painting, i.e., without spraying such a product.
- As the
nozzles 14 are distributed and spaced from each other on the front side ofprint head 10, i.e., the side ofprint head 10 that faces the object O to be coated, not all nozzles travel the same distance between two steps of progression ofprint head 10. Thus, the surface to be coated S seen from each nozzle is different. To simplify the calculations, it is possible to calculate the distance to be coated and/or the distance not to be coated forreference nozzle 140 and to apply a multiplying coefficient of increase or decrease, taking into account the position of eachnozzle 14 I with respect toreference nozzle 140 on the distances to be coated or not to be coated, this in order to correct the distances to be coated or not to be coated as a function of the distance ofnozzle 14 I in relation toreference nozzle 140. This is also carried out at sub-step 1103. - Alternatively, the distance ratio can be applied immediately to the relevant distances without using a multiplier at sub-step 1103.
- Whether or not a multiplier is used, at sub-step 1103
calculator 40 calculates a distance to be coated, dI, or a distance not to be coated, d′i, at each discretized position of the trajectory and, optionally, multiplier coefficients based on the distance between anozzle 14 I and areference nozzle 140. - The various calculations of the distances to be coated di and of the distances not to be coated d′i and, if necessary, of the multiplying coefficients, for each
nozzle 14 i make it possible to create, at afinal sub-step 1104 ofstep 110, a programming file, i.e., a storage medium for a program, Prog(TRAJ), for activating thevarious nozzles 14 I on the overall trajectory TRAJ formed by the various trajectories Traj, in particular on each trajectory Traj defined opposite each section T of the surface to be coated S. - This programming file Prog(TRAJ) is used by
ECU 30 to control eachnozzle 14 I according to the distances to be coated, the distances not to be coated and the associated multiplying coefficients. - When the distance ratio is immediately applied to the distances concerned, without using a multiplier, as envisaged in the above alternative, the Prog(TRAJ) programming file only contains the distances to be covered and not covered, but no multiplier coefficient.
- Alternatively, at each discretization step of sub-step 1101, it is possible to determine the potential impact point PI, as well as the distance di or d′I and the multiplier coefficient, for each
nozzle 14 I. - Thus, the order of sub-steps 1101-1103 mentioned above may be changed by adapting
step 110. - In practice, the calculation steps are carried out by the computer methodor which constitutes
calculator 40, this methodor being programmed for this purpose and associated with a computer memory in which the result of these calculations can be stored, before being transmitted, in the form of the programming file Prog(TRAJ) toECU 30 and in the form of trajectory TRAJ tocontroller 24. - Under these conditions, when program Prog(TRAJ) has been defined at
step 110 of the invention method, as mentioned above, it may be implemented at astep 112 whenrobot 20 movesprint head 10 opposite the physical surface to be coated, of which file F is the computer model, along trajectory TRAJ, respecting the orientations ofreference nozzle 140 at each remarkable point Ptcp, according to the activation program defined atstep 110, which is represented bystep 112 inFIG. 11 . - Alternatively, program Prog(TRAJ) for activating
nozzles 14 ofprint head 10 may be defined immediately after determination of the path opposite each strip T of the surface to be coated S. In other words, step 110 may occur prior tosteps - The invention is described above in the case where the markers R0 and R1 are orthogonal. In particular, these markers may be orthonormal or, conversely, non-orthogonal and/or non-normal. The calculations of the method of the invention are then adapted accordingly.
- The above-mentioned operating mode and variants may be combined to generate new operating modes of the invention.
Claims (18)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2006334A FR3111586B1 (en) | 2020-06-17 | 2020-06-17 | Method and installation for applying coating product by means of a printing head |
FR2006334 | 2020-06-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20210394217A1 true US20210394217A1 (en) | 2021-12-23 |
US11872578B2 US11872578B2 (en) | 2024-01-16 |
Family
ID=72709512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/350,453 Active US11872578B2 (en) | 2020-06-17 | 2021-06-17 | Method and facility for applying a coating product using a print head |
Country Status (7)
Country | Link |
---|---|
US (1) | US11872578B2 (en) |
EP (1) | EP3925706B1 (en) |
JP (1) | JP2021194770A (en) |
KR (1) | KR20210156238A (en) |
CN (1) | CN113799382B (en) |
ES (1) | ES3025963T3 (en) |
FR (1) | FR3111586B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220193997A1 (en) * | 2020-12-23 | 2022-06-23 | Seiko Epson Corporation | Three-Dimensional Object Printing Apparatus And Three-Dimensional Object Printing Method |
US20220288780A1 (en) * | 2021-03-12 | 2022-09-15 | University Of South Florida | Control of robotic arms through hybrid inverse kinematics and intuitive reference frame |
US20220305662A1 (en) * | 2021-03-25 | 2022-09-29 | Abb Schweiz Ag | Painting robot system and painting method |
CN116371696A (en) * | 2023-04-12 | 2023-07-04 | 福州大学 | A curved surface spraying method and system based on a plane pattern of an industrial robot |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3127428A1 (en) | 2021-09-30 | 2023-03-31 | Exel Industries | PROCESS FOR PAINTING A PART INCLUDING THE GENERATION OF A TRAJECTORY ADAPTED TO THE REAL PART |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019201367A1 (en) * | 2018-04-17 | 2019-10-24 | Buestgens Burkhard | Drop-on-demand coating of surfaces |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2958207B1 (en) * | 2010-03-30 | 2012-04-20 | Essilor Int | INKJET PRINTING TYPE DEPOSIT METHOD |
DE102012006371A1 (en) | 2012-03-29 | 2012-07-05 | Heidelberger Druckmaschinen Aktiengesellschaft | Method for printing image on body i.e. tank of e.g. passenger car, involves generating three or higher-dimension raster matrix data to control inkjet printhead, and printing image with inkjet printhead using raster data |
DE102014011301A1 (en) * | 2013-08-30 | 2014-12-18 | Heidelberger Druckmaschinen Ag | Method for generating a relative movement between a jet unit and a curved surface |
DE102014012395A1 (en) | 2014-08-21 | 2016-02-25 | Heidelberger Druckmaschinen Ag | Method and apparatus for printing a curved surface of an object with an ink jet head |
FR3048368A1 (en) * | 2016-03-04 | 2017-09-08 | Exel Ind | COATING PRODUCT APPLICATOR, MULTIAXIS ROBOT COMPRISING SUCH APPLICATOR AND METHOD FOR APPLYING COATING PRODUCT |
-
2020
- 2020-06-17 FR FR2006334A patent/FR3111586B1/en active Active
-
2021
- 2021-06-17 ES ES21179941T patent/ES3025963T3/en active Active
- 2021-06-17 CN CN202110674840.6A patent/CN113799382B/en active Active
- 2021-06-17 US US17/350,453 patent/US11872578B2/en active Active
- 2021-06-17 EP EP21179941.6A patent/EP3925706B1/en active Active
- 2021-06-17 KR KR1020210078807A patent/KR20210156238A/en active Pending
- 2021-06-17 JP JP2021100999A patent/JP2021194770A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019201367A1 (en) * | 2018-04-17 | 2019-10-24 | Buestgens Burkhard | Drop-on-demand coating of surfaces |
US20210170763A1 (en) * | 2018-04-17 | 2021-06-10 | Burkhardt BÜSTGENS | Drop-on-demand - coating of surfaces |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220193997A1 (en) * | 2020-12-23 | 2022-06-23 | Seiko Epson Corporation | Three-Dimensional Object Printing Apparatus And Three-Dimensional Object Printing Method |
US20220288780A1 (en) * | 2021-03-12 | 2022-09-15 | University Of South Florida | Control of robotic arms through hybrid inverse kinematics and intuitive reference frame |
US20220305662A1 (en) * | 2021-03-25 | 2022-09-29 | Abb Schweiz Ag | Painting robot system and painting method |
US12157237B2 (en) * | 2021-03-25 | 2024-12-03 | Abb Schweiz Ag | Painting robot system and painting method |
CN116371696A (en) * | 2023-04-12 | 2023-07-04 | 福州大学 | A curved surface spraying method and system based on a plane pattern of an industrial robot |
Also Published As
Publication number | Publication date |
---|---|
FR3111586B1 (en) | 2022-08-12 |
US11872578B2 (en) | 2024-01-16 |
JP2021194770A (en) | 2021-12-27 |
EP3925706B1 (en) | 2025-03-12 |
KR20210156238A (en) | 2021-12-24 |
FR3111586A1 (en) | 2021-12-24 |
EP3925706C0 (en) | 2025-03-12 |
CN113799382B (en) | 2024-10-01 |
EP3925706A1 (en) | 2021-12-22 |
ES3025963T3 (en) | 2025-06-10 |
CN113799382A (en) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11872578B2 (en) | Method and facility for applying a coating product using a print head | |
US11504848B2 (en) | Robotic programming apparatus | |
US20210308865A1 (en) | Initial reference generation for robot optimization motion planning | |
JP2021194770A5 (en) | ||
US8050786B2 (en) | Method for building three-dimensional objects with thin wall regions | |
Andulkar et al. | Novel integrated offline trajectory generation approach for robot assisted spray painting operation | |
CN109865621B (en) | Spraying pose splitting method and application | |
US20150190926A1 (en) | Method and system for off-line programming of multiple interacting robots | |
US11865787B2 (en) | Method and system for additive manufacturing | |
CN109689309B (en) | Optimization method for a coating robot and corresponding coating system | |
CN103809463B (en) | Taught point for simulator robot instructs system of selection | |
CN102672306A (en) | Method and system for automatic robot welding based on multilayer and multi-pass welding of curved surfaces | |
CN103611646A (en) | Method for spraying robot spatial path planning | |
CN115715244B (en) | Programming method for spraying equipment and corresponding spraying equipment | |
JP2023051848A (en) | Process for painting workpiece comprising generating trajectory suitable for actual workpiece | |
CN116038705B (en) | A spray gun trajectory planning method for spraying robots | |
US20040213915A1 (en) | Method of flexible process planning for surface processes | |
CA3168187A1 (en) | Method and server for calculating a trajectory of an articulated arm of a robot | |
CN118591441A (en) | Simulation method for coating equipment and corresponding coating equipment | |
Anotaipaiboon et al. | Curvilinear space-filling curves for five-axis machining | |
KR20250010648A (en) | Systems and methods for surface fitting, path planning and surface treatment of objects | |
Verduyn et al. | Shape-based path adaptation and simulation-based velocity optimization of initial tool trajectories for robotic spray painting | |
US20210402478A1 (en) | Motion technique for deposition processes to manufacture leading edge protective sheaths | |
JP7522396B2 (en) | Design device, design method, and program | |
JP4282874B2 (en) | Generating control data for manipulators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: EXEL INDUSTRIES, FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEVRON, DIDIER;BEAUDOIN, CAMILIEN;REEL/FRAME:057036/0745 Effective date: 20210622 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: EX PARTE QUAYLE ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO EX PARTE QUAYLE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |