Application path generation program

The coating path generation program automates path planning for coating devices, addressing inefficiencies by optimizing paths and reducing manual intervention, ensuring thorough and timely application of coating agents.

JP2026077183APending Publication Date: 2026-05-13DENSO CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
DENSO CORP
Filing Date
2024-10-25
Publication Date
2026-05-13

AI Technical Summary

Technical Problem

Existing path generation programs for robot operation in coating devices do not generate optimal paths for planar coating, leading to inefficiencies and the need for specialized skills and time-consuming manual path planning.

Method used

A coating path generation program that automates the generation of paths by performing region recognition, division, pattern mapping, and optimization, using a path generation device with functional units to control a coating apparatus in four axes, avoiding interference and overtravel, and generating drive programs without specialized skills.

Benefits of technology

Enables efficient and automated generation of coating paths, ensuring complete coverage with minimal overlap or interference, reducing man-hours, and meeting quality and cycle time requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026077183000001_ABST
    Figure 2026077183000001_ABST
Patent Text Reader

Abstract

This provides a coating path generation program capable of generating appropriate coating paths. [Solution] The path generation program generates a path for the coating apparatus 1 to operate on the substrate 50 and apply the coating agent 15. The path generation device 60, which is configured as at least one processing unit, divides the coating area CA, which is set based on information of the substrate 50, into divided areas DA, assigns a coating pattern according to the shape of the divided area, and generates a coating path based on the coating pattern assigned according to the divided area. This makes it possible to automate the coating path generation and to make the path generation process more efficient.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0006] , , , , ,

[0001] The present invention relates to a coating path generation program.

Background Art

[0002] Conventionally, a program generation device for generating an operation program of a robot is known. For example, in Patent Document 1, trajectory information related to a linear operation is generated from an operation point, and when interference or overtravel is included, the trajectory information is edited.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, the path generated based on the operation point as in Patent Document 1 is not necessarily optimal as a path in a coating device that performs planar coating.

[0005] The present invention has been made in view of the above problems, and an object thereof is to provide a coating path generation program capable of generating an appropriate coating path.​​​​​​​​​​

[0007] [Figure 1] This is a perspective view showing a coating apparatus according to one embodiment. [Figure 2] This is a schematic plan view showing a coating apparatus according to one embodiment. [Figure 3] (a) is a diagram showing the side view and coating form of a nozzle according to one embodiment, and (b) is a plan view showing the normal coating shape. [Figure 4] (a) is a diagram showing the front view of the nozzle and the coating form according to one embodiment, (b) is a diagram showing the fine line coating shape, and (c) is a diagram showing the dot coating shape. [Figure 5] Block diagram showing a coating path generation apparatus according to one embodiment. [Figure 6] This is a diagram illustrating a prohibited area according to one embodiment. [Figure 7] This is a flowchart illustrating a program generation algorithm according to one embodiment. [Figure 8] This is a flowchart illustrating the domain expansion process according to one embodiment. [Figure 9] This is an explanatory diagram illustrating domain expansion according to one embodiment. [Figure 10] This is an explanatory diagram illustrating a state in which the coating area and the coating prohibition area overlap according to one embodiment. [Figure 11] This is an explanatory diagram illustrating the avoidance of a coating prohibition area according to one embodiment. [Figure 12] This is a flowchart illustrating the vertical fill area setting process according to one embodiment. [Figure 13] This is an enlarged view of section XIII in Figure 3. [Figure 14] This is an explanatory diagram illustrating a vertical coating method according to one embodiment. [Figure 15] This is a flowchart illustrating the region decomposition process according to one embodiment. [Figure 16] This is a flowchart illustrating the process of expanding a divided region according to one embodiment. [Figure 17] This is an explanatory diagram illustrating the division and expansion of the coating area according to one embodiment. [Figure 18] A flowchart for explaining the coating pattern arrangement process according to an embodiment. [Figure 19] An explanatory diagram for explaining the arrangement of the coating pattern according to an embodiment. [Figure 20] A diagram showing a coating pattern map according to an embodiment. [Figure 21] An explanatory diagram for explaining the avoidance of the coating prohibited area by offset according to an embodiment. [Figure 22] An explanatory diagram for explaining a state where the avoidance of the coating prohibited area by offset according to an embodiment cannot be achieved. [Figure 23] An explanatory diagram for explaining the avoidance of the coating area by offset and stroke shortening according to an embodiment. [Figure 24] A flowchart for explaining the coating pattern correction process according to an embodiment. [Figure 25] An explanatory diagram for explaining the coating pattern correction for avoiding the interference area according to an embodiment. [Figure 26] A diagram showing an aggregate of coating models to which the coating model according to an embodiment can be applied. [Figure 27] A flowchart for explaining the route setting process according to an embodiment. [Figure 28] An explanatory diagram for explaining the route setting process according to an embodiment. [Figure 29] A diagram showing the coating route generated by the coating route generation program according to an embodiment. [Figure 30] A plan view showing the coating test result using the coating route generated using the coating route generation program of an embodiment.

MODE FOR CARRYING OUT THE INVENTION

[0008] (One embodiment) The coating path generation program according to the present invention will be described below with reference to the drawings. One embodiment is shown in Figures 1 to 30. The coating path generation program according to one embodiment generates a coating path for operating the coating apparatus 1.

[0009] As shown in Figures 1 and 2, the coating apparatus 1 includes a nozzle 10, a base 20, rail members 21-23, and actuators 26-29, etc. The nozzle 10 is held by a nozzle holding member 11 and is configured to dispense coating agent 15 onto the substrate 50 from its tip, which is located vertically downwards. The coating agent 15 in this embodiment is a drip-proofing agent. The substrate 50 is placed on the base 20.

[0010] Rail members 21 to 23 are held by the base 20. In this embodiment, the direction in which the first rail member 21 extends is the x-direction, the direction in which the second rail member 22 extends is the y-direction, and the direction in which the third rail member 23 extends is the z-direction. Additionally, the x-direction may be considered the horizontal direction and the y-direction the vertical direction as appropriate.

[0011] The nozzle holding member 11 is slidably mounted on the first rail member 21 by the driving force of the actuator 26. As the nozzle holding member 11 slides on the first rail member 21, the nozzle 10 becomes movable in the x direction.

[0012] The first rail member 21 is provided so as to be slidable on the second rail member 22 by the driving force of the actuator 27. As the first rail member 21 slides on the second rail member 22, the nozzle 10 can move in the y direction.

[0013] The nozzle holding member 11 is slidably mounted on the third rail member 23 by the driving force of the actuator 28. As the nozzle holding member 11 slides on the third rail member 23, the nozzle 10 becomes movable in the z direction.

[0014] Furthermore, the nozzle 10 is rotatable about the z-axis by actuator 29. The rotation direction of the nozzle 10 is the θ direction. Thus, the nozzle 10 is operable in four axes: x, y, z, and θ. In this embodiment, actuators 26 to 29 are all motors, but other devices may be used as actuators.

[0015] As shown in Figures 3(a) and 4(a), when the coating agent 15 is dispensed from the nozzle 10, the coating shape on the substrate 50 becomes approximately oval. As shown in Figure 3(a), in normal coating, the nozzle 10 is moved in the short-side direction of the dispensed coating agent 15. As a result, as shown in Figure 3(b), the coating agent 15 is applied with a width W1. In this embodiment, the state in which the nozzle 10 is moved in the x-direction (see Figure 1) to perform normal coating is considered the standard coating state.

[0016] As shown in Figure 4(a), in fine-line coating, the nozzle 10 is moved in the longitudinal direction of the dispensed coating agent 15. As a result, as shown in Figure 4(b), the coating agent 15 is applied with a width W2 smaller than the width W1. In Figures 3(b) and 4(b), the coating start position is defined as the start SP and the coating end position as the end TP.

[0017] Furthermore, in the dot coating shown in Figure 4(c), the valve is turned on instantaneously (for example, 0.05 seconds) without moving the nozzle 10. This results in the coating agent 15 being applied in an oval shape with a smaller area than when the nozzle 10 is moved. Hereafter, the path through which the center of the nozzle passes will be referred to as the coating line. Note that dot coating can also be interpreted as being included in the broader definition of a coating line where the start and end points coincide.

[0018] As shown in Figure 5, the path generation device 60 generates a program that controls the coating operation in which the coating device 1 is operated to coat the substrate 50 with the coating agent 15. It is mainly composed of a microcontroller, for example, and internally includes a CPU, ROM, RAM, I / O (not shown), and bus lines connecting these components. The path generation device 60 may be a single arithmetic unit or may be composed of multiple arithmetic units. The path generation device 60 has functional blocks such as a coating target information acquisition unit 61, a coating path generation unit 62, and a program generation unit 63.

[0019] The coating target information acquisition unit 61 acquires information such as the coating area CA (see Figure 9, etc.), the coating prohibition area KA (see Figure 6, etc.), interference components 51 (see Figure 25), and the outer shape of the substrate from the product drawing of the substrate 50 to be coated. The coating area CA is the area to which the coating agent 15 is applied. The coating prohibition area KA is an area where the application of the coating agent 15 is prohibited, such as the washer contact surface shown in Figure 6(a) and the SMD (surface mount device) package shown in Figure 6(b). Note that not all SMDs are prohibited from being coated; depending on the product requirements, electronic components within the coating area CA may be coated with the coating agent 15. In Figure 6, etc., the coating prohibition area KA is shown with hatching. Interfering components 51 are components that are taller than the coating height NH (for example, 15 [mm] from the top surface of the substrate, see Figure 5), which is the nozzle height during coating.

[0020] As shown in Figure 5, the coating path generation unit 62 generates a coating path by combining normal coating, fine line coating, and dot coating. The program generation unit 63 generates a drive program that drives the robot controller 65 to create the coating path generated by the coating path generation unit 62. The robot controller 65 controls the drive of the coating apparatus 1 to apply the coating agent 15 to the substrate 50. In Figure 5 and other figures, the coating lines are schematically shown with thick arrows.

[0021] Incidentally, when applying a coating agent 15 such as an anti-drip agent for the purpose of protecting the substrate 50, it is preferable to control the coating apparatus 1 so that the coating agent 15 is applied in a coating path that satisfies quality and cycle time. Generating the coating path requires specialized skills and experience for path planning and coding, and can take a relatively long time. On the other hand, from the standpoint of efficiency, there is a growing need to quickly generate drive programs even without specialized skills.

[0022] Therefore, in this embodiment, the coating path generation unit 62 automates the generation of coating paths by performing processes such as region recognition of the substrate 50, region division, coating pattern mapping, and path optimization. In addition, the program generation unit 63 automatically generates a drive program based on the paths generated by the coating path generation unit 62.

[0023] The program generation algorithm for operating the coating apparatus 1 will be explained based on the flowchart in Figure 7. Figure 7 provides an overview of the algorithm, and details of each process will be described later. In S10, the coating path generation unit 62 recognizes the area of ​​the substrate 50 based on the product drawing, etc. In S20, the coating path generation unit 62 performs expansion processing of the coating area CA. In S30, the coating path generation unit 62 sets the vertical coating area YA where normal coating in the vertical direction is performed.

[0024] In S40, the coating path generation unit 62 performs region division processing. In S50, the coating path generation unit 62 performs expansion processing of the divided region DA. In S60, the coating path generation unit 62 places coating patterns for each of the divided region DA. In S70, the coating path generation unit 62 modifies the coating pattern of the interference region IA. In S80, the coating path generation unit 62 sets the coating path based on the coating patterns assigned to each divided region DA. The created coating path data is output to the program generation unit 63 as an intermediate file.

[0025] In S90, the program generation unit 63 reads the diagram obtained from the coating path generation unit 62 and automatically generates robot parameters using an application. It also automatically converts the generated parameter information into a block program. The generated robot program is output to the robot controller 65. The robot controller 65 drives the coating device 1 based on the robot program to coat the substrate 50 along the generated coating path.

[0026] The region expansion process will be explained based on Figures 8 to 11. Figure 8 is a flowchart that explains the details of the region expansion process (S20 in Figure 7). In S201, the coating path generation unit 62 detects the vertices that constitute the coating region CA, refers to data such as a map that correlates the boundary classification of connected lines with the direction of movement, and expands the coating region CA by a predetermined expansion width (for example, 2 [mm]).

[0027] For example, as shown in Figure 9, the coated area CA is expanded outward by shifting the left edge to the left, the upper edge upward, and the right edge to the right. Although not shown in the illustration, the boundary of the uncoated area surrounded by the coated area CA is also expanded by moving the boundary line in a direction that reduces the size of the uncoated area.

[0028] Returning to Figure 8, in S202, which follows S201, the coating path generation unit 62 determines whether the boundary line of the expanded coating area CA is in contact with the coating prohibition area KA (see Figure 10). If it is determined that the boundary line of the expanded coating area is not in contact with the coating prohibition area KA (S202: NO), the process in S203 is skipped. If it is determined that the boundary line of the expanded coating area CA is in contact with the coating prohibition area KA (S202: YES), the process proceeds to S203, and the boundary line of the coating area CA is moved back.

[0029] As shown in FIGS. 10 and 11, when the extended coating area CA overlaps with the coating prohibited area KA, the coating area CA is retracted in the direction where the overlapping width of the overlapping area OA is smaller so that the coating area CA does not contact the coating prohibited area KA. For example, in the example of FIG. 11, since C1 > C2, the coating area is retracted by shifting the upper boundary line in the drawing downward. Also, when C1 < C2, the right boundary line in the drawing is shifted leftward, and so on. Note that FIG. 11 corresponds to an enlarged view of part XI in FIG. 10.

[0030] The vertical coating area setting process will be described based on FIGS. 12 to 14. FIG. 12 is a flowchart for explaining the details of the vertical coating area setting process (S30 in FIG. 7). In S301, the coating path generation unit 62 extracts the vertical boundary line in the coating area CA.

[0031] The processes of S302 to S304 are processes performed for all the extracted vertical boundary lines. In S302, the coating path generation unit 62 determines whether the length Ly of the vertical boundary line is equal to or greater than the vertical coating execution determination value Yth. The vertical coating execution determination value Yth is set according to the coating width W1 (for example, 18 [mm]) in normal coating. When it is determined that the length Ly of the vertical boundary line is equal to or greater than the vertical coating execution determination value Yth (S303: YES), a vertical coating area YA for coating the vertical boundary line in the vertical direction is set. When it is determined that the length Ly of the vertical boundary line is less than the vertical coating execution determination value Yth (S302: NO), the process proceeds to S304, and no vertical coating area is set for the vertical boundary line. When the processing for all the extracted vertical boundary lines is completed, the loop processing is terminated.

[0032] As shown in FIG. 13, when normal coating is performed, unevenness may occur in the coating shape at the end TP. The same applies to the start end SP side (not shown in FIG. 13). Therefore, as shown in FIG. 14, in order to absorb the unevenness of the coating shape, vertical coating, which is normal coating in the vertical direction, is performed in the boundary area. Thereby, the finish of the coating area can be made beautiful. In FIG. 14 and the like, the vertical coating area YA is shown in a matte finish.

[0033] The region division process and the expansion process of the divided region will be explained based on Figures 15 to 17. Figure 15 is a flowchart that explains the details of the region division process (S40 in Figure 7). In S401, the coating path generation unit 62 searches for change points on the vertical boundary line of the coating region CA where there is a change in the horizontal direction. Here, if a vertical coating region YA is set, the boundary line with the vertical coating region YA is used as the vertical boundary line. In S402, the coating path generation unit 62 divides the coating region horizontally at the searched change points. Hereafter, the horizontally divided region will be called the divided region DA.

[0034] In S403, the coating path generation unit 62 determines whether the search has been completed for the entire vertical boundary line. If it is determined that the search is not complete (S403: NO), the process returns to S401 and is repeated. If it is determined that the search is complete (S403: YES), this process is terminated.

[0035] Figure 16 is a flowchart illustrating the details of the expansion process of the divided region DA (S50 in Figure 7). In S501, the coating path generation unit 62 expands all divided regions DA set in the region division process in four directions by a predetermined overlap width (for example, 2 [mm]). In this embodiment, the same value is used as the overlap width and the expansion width, but they may be different.

[0036] In S502, the coating path generation unit 62 determines whether the expanded area deviates from the area to be coated. If it is determined that the area does not deviate from the area to be coated (S502: NO), S503 is skipped and the expanded area is maintained. If it is determined that the area deviates from the area to be coated (S502: YES), the boundary line is moved back to the area to be coated.

[0037] The diagram on the left side of Figure 17 corresponds to the diagram in Figure 14. As shown in the center of Figure 17, the remaining area excluding the vertically painted area YA is divided horizontally, and the painted area CA is replaced with a collection of rectangular divided areas DA. In this embodiment, since the painted model is rectangular in shape, by dividing the painted area CA into rectangles, each divided area DA can be made to match the shape of the painted model. Furthermore, as shown on the right side of Figure 17, by expanding the divided areas DA and overlapping the boundary areas, it is possible to prevent areas from being missed during painting.

[0038] Figure 18 is a flowchart illustrating the details of the coating pattern placement process (S60 in Figure 7), which is performed for all divided regions DA. In S601, the coating path generation unit 62 places the coating pattern for the divided regions DA.

[0039] The processing from S602 onward is performed on all placed coating patterns. In S602, the coating path generation unit 62 determines whether the placed coating pattern is in contact with the coating prohibition area KA. If it is determined that it is not in contact with the coating prohibition area KA (S602: NO), the processing from S603 onward is skipped. If it is determined that it is in contact with the coating prohibition area KA (S602: YES), the process proceeds to S603.

[0040] The processing from S603 onward is performed on all coating prohibition areas KA that overlap with the coating pattern. In S603, the coating path generation unit 62 determines whether the coating prohibition area KA interferes with only one side of the coating pattern. If it is determined that the coating prohibition area KA interferes with two or more sides of the coating pattern (S603: NO), the process proceeds to S608. If it is determined that the coating prohibition area KA interferes with only one side of the coating pattern (S603: YES), the process proceeds to S604.

[0041] In S604, the coating path generation unit 62 determines whether contact with the coating prohibition area KA can be avoided by offsetting the arranged coating pattern. If it is determined that contact with the coating prohibition area KA can be avoided by offsetting (S604: YES), the process proceeds to S605 and the coating pattern is offset. If it is determined that contact with the coating prohibition area KA cannot be avoided by offsetting (S604: NO), the process proceeds to S606.

[0042] In S606, the coating path generation unit 62 determines whether contact with the coating prohibited area KA can be avoided by limiting the stroke (ST in the figure) of the arranged coating pattern. If it is determined that the coating prohibited area KA can be avoided by limiting the stroke (S606: YES), the process proceeds to S607, where the stroke is limited and set as the coating pattern for that area. If it is determined that the coating prohibited area KA cannot be avoided by limiting the stroke (S606: NO), the process proceeds to S613.

[0043] In S608, which is triggered when the coating prohibition area KA interferes with two or more sides (S603: NO), the coating path generation unit 62 determines whether the overlapping portion between the coating prohibition area KA and the coating pattern is horizontally elongated or not. If it is determined that the overlapping portion is horizontally elongated (S608: YES), the process proceeds to S609; if it is determined that it is vertically elongated (S608: NO), the process proceeds to S611.

[0044] The processing in S609 and S610 is the same as the processing in S604 and S605. When the overlapping portion is horizontally elongated, if the coating prohibited area KA can be avoided by offsetting (S609: YES), the coating pattern is offset (S610). If contact with the coating prohibited area KA cannot be avoided by offsetting (S608: NO), the process proceeds to S613.

[0045] The processes in S611 and S612 are the same as those in S606 and S607. When the overlapping portion is elongated vertically, if the coating prohibition area KA can be avoided by stroke restriction (S611: YES), the stroke is restricted (S612). If contact with the coating prohibition area KA cannot be avoided by stroke restriction (S611: NO), the process proceeds to S613.

[0046] If the coating prohibition area KA cannot be avoided (S606:NO, S609:NO, or S611:NO), in S613, the coating pattern placed in that area is canceled. For example, if the assigned coating pattern is a normal coating, a new coating pattern is assigned in that area, such as by replacing it with a fine line coating or dot coating. Once the coating prohibition area KA avoidance process for that coating pattern is completed, the loop process ends, and the coating prohibition area avoidance process is performed for any coating patterns that have not yet been processed. The loop process also ends once processing for all coating patterns is completed.

[0047] The arrangement of the coating patterns will be explained based on Figures 19 and 20. As shown in Figure 19, if the coating area CA (not shown in Figure 19) is composed of a collection of divided areas DA1 to DA7, a coating pattern is placed for each of the divided areas DA1 to DA7. Conventionally, coating patterns were applied to the coating area CA based on the operator's experience and trial and error, whereas in this embodiment, a predetermined number (e.g., 60 or more) of coating patterns are mapped to the two axes of the vertical and horizontal dimensions of the area.

[0048] An example of a coating pattern map is shown in Figure 20. In Figure 20, the horizontal axis represents the horizontal dimension of the area, and the vertical axis represents the vertical dimension of the area. Block arrows indicate normal coating, thin line arrows indicate thin line coating, and ovals indicate dot coating. The pattern map is composed of combinations of coating lines.

[0049] In areas where the horizontal length is shorter than the threshold Xth for normal coating and the vertical length is also relatively small, patterns P1 and P2 are assigned, and dot coating is performed a number of times corresponding to the area. In areas where the horizontal length is shorter than the threshold Xth for normal coating and a relatively sufficient vertical length is available, patterns P3 and P4 are assigned, and normal coating is performed in the vertical direction. However, if it is not possible to avoid the coating-prohibited area KA, this is replaced with dot coating a number of times corresponding to the area.

[0050] In areas where the horizontal length is longer than the threshold Xth and the vertical length is shorter, pattern P5 is assigned, and fine line coating is performed. In areas where the vertical length is longer than the length that can be normally coated, patterns P6 to P11 are assigned, and normal coating or a combination of normal coating and fine line coating is performed. In addition, in areas with relatively short vertical lengths, such as patterns P6 and P7, if the coating prohibited area KA cannot be avoided with normal coating, it is replaced with fine line coating.

[0051] A concrete example of coating pattern placement will be explained using region DA5 in Figure 19 as an example. Region DA5 has a horizontal dimension of X5 and a vertical dimension of Y5, so referring to the map in Figure 20, the coating pattern to be set and placed for region DA5 is pattern P11, which performs normal coating three times.

[0052] The adjustment of the coating pattern to avoid overlap with the coating prohibition area KA will be explained with reference to Figures 21 to 23. In Figure 21, if the placed coating pattern Pn overlaps with the coating prohibition area KA in the vertical direction (upper side of the paper in the example of Figure 19), the coating pattern Pn is moved in a direction that avoids the overlap (lower side of the paper in the example of Figure 19). If this avoids overlap with the coating prohibition area KA, the moved coating pattern Pn is set as the coating pattern for that area (S605 in Figure 18).

[0053] As shown in Figure 22, if the positioned coating pattern Pn overlaps with the coating prohibition area KA on both sides in the vertical direction, the coating pattern is canceled because offsetting the coating pattern Pn does not allow the coating prohibition area KA to be avoided (S613 in Figure 18).

[0054] Figure 23 shows an example where the placed coating pattern Pn overlaps with the coating prohibition area KA in the vertical and horizontal directions (in the example of Figure 21, the bottom and right sides of the paper). For the vertical overlap, as explained in Figure 21, the coating pattern Pn is moved in a direction where overlap can be avoided (in the example of Figure 23, the upward direction of the paper) (S605 in Figure 18). For the horizontal overlap, the coating prohibition area KA is avoided by reducing the coating stroke (S607 in Figure 18).

[0055] Figure 24 is a flowchart illustrating the details of the coating pattern modification in the interference region IA (S70 in Figure 7), and is a process performed for all divided regions DA. In S701, the coating path generation unit 62 determines whether the coating line, which is the path through which the nozzle center passes when coating the arranged coating pattern, enters the interference region IA. The interference region IA is set to a predetermined range from the interfering component 51 (for example, 9 [mm] around the outer edge of the interfering component 51). If it is determined that the coating line does not enter the interference region IA (S701: NO), the process from S702 onwards is skipped, and the set coating pattern is not changed. If it is determined that the coating line enters the interference region IA (S701: YES), the process proceeds to S702.

[0056] In S702, the coating path generation unit 62 cancels the coating pattern in the portion where the coating line enters the interference region IA by reducing the stroke. In S703, the coating path generation unit 62 sets a coating pattern in which the canceled portion can be coated by rotating the nozzle 10 head by 90°.

[0057] The modification of the coating pattern in the interference region IA will be explained with reference to Figure 25. In Figure 25, the arrow drawn in the center of the coating pattern is the coating line. As shown in Figure 25(a), an interference component 51 is mounted on the substrate 50, and the area around the interference component 51 is the interference region IA where it interferes with the nozzle 10. In this case, the coating line in the coating pattern set in this region overlaps with the interference region IA.

[0058] Therefore, as shown in Figure 25(b), the overlap between the coating line and the interference region IA is avoided by reducing the stroke of the coating line. In Figure 25(b), the area that is not coated due to the shortened stroke is designated as the cancellation region SA and is shown with hatching. Also, for illustrative purposes, hatching is applied to the parts corresponding to the cancellation region SA in Figures 25(a) and (c).

[0059] As shown in Figure 25(c), in order to apply the coating agent 15 to the cancellation region SA as well, the head of the nozzle 10 is rotated by 90° to position a coating pattern in which the coating line does not overlap with the interference region IA. By overlapping the lateral coating shown in Figure 25(b) and the vertical coating shown in Figure 25(c), the coating region CA can be coated without any missed spots. Note that in Figure 25(c), the coating region by vertical coating is shown with a textured surface, and the coating pattern of the lateral coating is omitted to avoid complexity.

[0060] As a result, as simply shown in Figure 26, a coating pattern is assigned to each of the rectangular divisions DA into which the coating area CA is divided, and a collection of coating models capable of filling the entire coating area CA is set up.

[0061] In this embodiment, a "start point" and an "end point" are defined for the coating lines that constitute the set coating model, and the optimal path is derived. Figure 27 is a flowchart illustrating the details of the path setting process (S80 in Figure 7). In S801, the coating path generation unit 62 selects one arbitrary coating line that constitutes the coating pattern, and in S802, sets any end of the selected coating line as the start point and the opposite end as the end point.

[0062] In S803, the coating path generation unit 62 sets the end of the unselected coating line closest to the end set in S802 as the start, and the opposite end of the selected coating line as the end. In S804, the coating path generation unit 62 determines whether or not there are any unprocessed coating lines. If it is determined that there are unprocessed coating lines (S804: YES), S803 is repeated. If it is determined that there are no unprocessed coating lines (S804: NO), the process proceeds to S805. The process up to S804 can be considered as the initial path setting process, and the process from S805 onwards can be considered as the optimization process that improves the set initial path.

[0063] In S805, the coating path generation unit 62 selects a pair for which a swapping study has not yet been conducted. Here, "pair" refers to any combination of two coating lines. In S806, the coating path generation unit 62, in the currently set path, swaps the start and end points of the two coating lines in the section between the pair selected in S805, and generates a swapped path with the order reversed.

[0064] In S807, the coating path generation unit 62 determines whether the replacement path is shorter than the original path. If it is determined that the replacement path is shorter than the original path (S807: YES), the process proceeds to S808, where the replacement path is adopted as the path for the section between the pairs selected in S805. If it is determined that the replacement path is not shorter than the original path (S807: NO), the replacement path is not adopted, and the process returns to the original path.

[0065] In S810, the coating path generation unit 62 determines whether or not there are any pairs for which replacement consideration has not yet been performed. If it is determined that there are any pairs for which replacement has not been performed (S810: YES), the process returns to S805 and is repeated. If it is determined that there are no pairs for which replacement has not been performed (S810: NO), the currently set coating path is determined as the final path.

[0066] The route setting process will be explained based on Figure 28. Figure 28(a) is a diagram illustrating the initial route setting. For simplicity, six coating lines from RA to RF will be used as an example. First, coating line RA is selected as an arbitrary coating line, with the left edge of the paper set as the start point and the right edge as the end point. Since the left edge of the paper of coating line RB is closest to the end point of coating line RA, coating line RB is selected as the coating line to be coated after coating line RA, and its start and end points are set. By repeating this process, the route RA→RB→RC→RD→RE→RF is set as the initial route.

[0067] Figure 28(b) illustrates the path optimization process. In the initial path set in Figure 28(a), for example, coating lines RA and RD are selected as a pair. For coating lines RB and RC, which are located in the section between coating lines RA and RD, a swapped path is generated by reversing the order of the start and end points. Comparing this to the original path, the swapped path is shorter, so the swapped path is adopted. As a result, the path is optimized, and the coating path RA→RC→RB→RD→RE→RF is generated.

[0068] This generates a path for applying the coating agent 15 to the coating area CA, as simply shown in Figure 29. The numbers "1" to "9" in Figure 29 indicate the order in which the coating model is traversed. In the path optimization calculation described in Figures 27 and 28, depending on the shape of the coating area CA, it may be necessary to calculate a very large number of patterns (e.g., trillions) to find the shortest distance, and the generated path does not necessarily have to be the theoretical shortest path (i.e., the optimal solution), but may be an approximate solution.

[0069] As shown in Figure 5, the coating path generated by the coating path generation unit 62 is written out as an intermediate file and output to the program generation unit 63 (S90 in Figure 7). The program generation unit 63 automatically generates robot parameters from the acquired coating path and transfers the generated robot parameters along with the coating path coordinate data to the robot controller 65. The robot controller 65 controls the drive of the coating device 1 based on the transferred information. This makes it possible to generate a robot program related to the drive of the coating device 1 without coding.

[0070] Figure 30 shows the coating test results automatically generated by the path generation device 60. In Figure 30, uncoated areas within the coating area CA are indicated by hatching. By operating the coating device 1 using the drive program generated using the path generation program of this embodiment, the coating area CA could be properly coated with the coating agent 15. In the demonstration results, the coating coverage rate was 95% or more, there were no adhesions to the coating prohibited area KA, and the cycle time met the requirements of the actual machine. Furthermore, compared to cases where coating path planning and coding are not automated, the automatic generation of the robot program by the path generation device 60 makes it possible to generate coating paths even without specialized knowledge, and significantly reduces the man-hours required for program generation.

[0071] As described above, the path generation program of this embodiment generates a path for the coating apparatus 1 to operate on the substrate 50 and apply the coating agent 15. The path generation device 60, which is configured as at least one processing unit, divides the coating area CA, which is set based on information of the substrate 50, into divided areas DA, assigns a coating pattern according to the shape of the divided areas DA, and generates a coating path based on the coating pattern assigned according to the divided areas DA. This makes it possible to automate the coating path generation and to make the path generation process more efficient.

[0072] The path generation program instructs the path generation device 60 to expand the coating area CA by a predetermined width. If the expanded coating area CA overlaps with the coating prohibition area KA where the coating agent 15 is not to be applied, the program moves back the boundary line of the expanded coating area CA. This increases the probability that the entire coating area CA can be reliably coated. It also allows for avoidance of coating the coating prohibition area KA.

[0073] The path generation program instructs the path generation device 60 that, when a coating pattern assigned to a divided region DA overlaps with a coating prohibition region KA, if it is possible to avoid the coating prohibition region KA, it will assign a coating pattern to the divided region DA while avoiding the coating prohibition region KA; otherwise, it will cancel the assigned coating pattern.

[0074] In detail, the path generation program instructs the path generation device 60 to avoid the prohibited coating area KA by shifting the coating pattern assigned to the divided area DA in a direction parallel to the coating direction of the assigned coating pattern if the coating pattern overlaps with the prohibited coating area KA.

[0075] Furthermore, the path generation program instructs the path generation device 60 to avoid the prohibited coating area KA by shortening the stroke of the assigned coating pattern if the coating pattern assigned to the divided area DA overlaps with the prohibited coating area KA. This makes it possible to assign an appropriate coating pattern to each divided area DA while avoiding coating into the prohibited coating area KA.

[0076] The path generation program instructs the path generation device 60 to expand each rectangular divided region DA by a predetermined overlap width so as to overlap with adjacent regions, and then assigns a coating pattern to the expanded divided region DA. This prevents uncoated areas at the boundaries of the divided region DA.

[0077] The coating apparatus 1 has a nozzle 10 for dispensing coating agent. If an interfering component 51 that interferes with the nozzle 10 is mounted on the substrate 50, a predetermined area around the interfering component 51 is defined as the interference region IA. If the coating pattern assigned to the divided region DA overlaps with the interference region IA, the path generation program instructs the path generation apparatus 60 to reduce the coating pattern so that it does not overlap with the interference region IA. The path generation program also instructs the path generation apparatus 60 to arrange a pattern that can be coated by changing the coating direction for the reduced cancellation portion. This prevents the nozzle 10 from entering the interference region IA and allows for the setting of an appropriate coating path.

[0078] The path generation program instructs the path generation device 60 to define a start and end point in any one of several coating lines corresponding to the coating pattern assigned to the divided region DA. It then generates a coating path by repeatedly setting the end of the next unselected coating line closest to the end point as the start point of the next coating line to be coated, and the opposite end point as the end point. For coating points, the start and end points can be considered to be at the same coordinates. This allows for the appropriate setting of the coating path.

[0079] The route generation program instructs the route generation device 60 to select two coating lines from the generated coating route and, if rearranging the order of the coating lines that make up the section between the two coating lines shortens the route length, adopt the rearrangement result as the route for that section. This makes it possible to shorten the coating route.

[0080] (Other embodiments) In the above embodiment, for example, 60 or more coating patterns are mapped as a predetermined number for the two axes of the coating area, namely the vertical and horizontal dimensions. In other embodiments, the number of coating patterns can be arbitrarily set according to the size of the substrate to be coated, etc. Furthermore, the coating apparatus only needs to be able to drive the nozzles in four axes, and its configuration may differ from that of the above embodiment.

[0081] The control unit and its method described herein may be implemented by a dedicated computer provided by configuring a processor and memory programmed to perform one or more functions embodied by a computer program. Alternatively, the control unit and its method described herein may be implemented by a dedicated computer provided by configuring a processor by one or more dedicated hardware logic circuits. Alternatively, the control unit and its method described herein may be implemented by one or more dedicated computers configured by a combination of a processor and memory programmed to perform one or more functions and a processor configured by one or more hardware logic circuits. Furthermore, the computer program may be stored as instructions executed by the computer on a computer-readable non-transitional tangible recording medium. The present invention is not limited in any way to the embodiments described above, and can be implemented in various forms without departing from the spirit of the invention. [Explanation of Symbols]

[0082] 1. Coating device 10...nozzles 15. Coating agent 50... circuit board 60... Path generation device (processing unit) 61. Application target information acquisition unit 62... Coating path generation unit 63...Program generation unit 65... Robot Controller

Claims

1. A coating path generation program that generates a coating path in which a coating apparatus (1) that applies a coating agent (15) to a substrate (50) operates, At least one processing unit (60) The coating area, which is set based on the information of the substrate, is divided into divided areas. A coating pattern is assigned according to the shape of the divided region. A coating path generation program that generates the coating path based on the coating pattern assigned according to the divided region.

2. The coating area is expanded by a predetermined width. The coating path generation program according to claim 1, wherein if the expanded coating area overlaps with a coating prohibition area where the coating agent is not to be applied, the boundary line of the expanded coating area is moved back.

3. When the coating pattern assigned to the divided region overlaps with the coating prohibition region, If the coating prohibition area can be avoided, the coating pattern is assigned to the divided region while avoiding the coating prohibition area. The coating path generation program according to claim 2, which cancels the assigned coating pattern if the coating prohibition area cannot be avoided.

4. The coating path generation program according to claim 3, which, when the coating pattern assigned to the divided region overlaps with the coating prohibition region, shifts the assigned coating pattern in a direction parallel to the coating direction to avoid the coating prohibition region.

5. The coating path generation program according to claim 3 or 4, which, when the coating pattern assigned to the divided region overlaps with the coating prohibition region, avoids the coating prohibition region by shortening the stroke of the assigned coating pattern.

6. A coating path generation program according to claim 1 or 2, wherein each of the rectangularly divided divided regions is expanded by a predetermined overlap width so as to overlap with an adjacent region, and the coating pattern is assigned to the expanded divided region.

7. The coating apparatus has a nozzle (10) for dispensing the coating agent, If an interfering component (51) that interferes with the nozzle is mounted on the substrate, a predetermined area around the interfering component is defined as the interference region. The coating path generation program according to claim 1, wherein if the coating pattern assigned to the divided region overlaps with the interference region, the coating pattern is reduced so as not to overlap with the interference region, and the coating direction is changed for the reduced cancellation portion to arrange a pattern that can be coated.

8. A coating path generation program according to claim 1, which generates a coating path by defining a start point and an end point in any one of a plurality of coating lines corresponding to the coating pattern assigned to the divided region, and repeatedly setting the end of the next unselected coating line closest to the end point as the start point of the next coating line to be coated and the opposite end point as the end point.

9. The coating path generation program according to claim 8, wherein if the length of the coating path is shortened by selecting two coating lines in the generated coating path and rearranging the order of the coating lines that constitute the section between the two coating lines, the rearrangement result is adopted as the path for that section.