Teaching device for laser processing

By introducing a graphical user interface processing unit and motion program optimization technology into the laser processing system, the processing path and sequence are automatically adjusted, solving the problem of cumbersome operator adjustments in existing technologies and achieving high efficiency and short cycle time in laser processing.

CN110871432BActive Publication Date: 2025-01-10FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201910816960.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-08-31
Filing Date
2019-08-30
Publication Date
2025-01-10
Estimated Expiration
2039-08-30

AI Technical Summary

Technical Problem

In existing laser processing systems, operators need to make tedious adjustments to the path and sequence in the teaching device, which leads to extended processing time and a lack of effective information output to shorten cycle time.

Method used

A teaching pendant with a graphical user interface processing unit is used to display the processing and non-processing periods in a time sequence through the graphical user interface, optimize the dot group and motion speed, generate motion programs for the robot and scanner, and automatically adjust the processing path and sequence.

Benefits of technology

It improves the efficiency of laser processing, reduces processing cycle time, and provides intuitive information output to help operators optimize the processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110871432B_ABST
    Figure CN110871432B_ABST
Patent Text Reader

Abstract

The present invention relates to a teaching device for laser processing. A teaching device is used in a laser processing system that uses a robot to move the laser emission position while performing laser processing on a workpiece, the teaching device having a graphical user interface processing unit that arranges and displays a processing period and a non-processing period between the processing periods of each processing point in a time series in a recognizable manner in a strip-shaped area, wherein the processing period is a period during which the robot irradiates each of a plurality of processing points set for the workpiece with a laser while moving along a processing path to perform processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a teaching device for teaching a laser processing system using a robot. Background Art

[0002] Laser processing systems that process multiple processing points on a workpiece while moving a scanner mounted on a robot are becoming popular. Japanese Patent Application Laid-Open No. 2006-344052 describes an example of a teaching device in such a laser processing system. Summary of the invention

[0003] In the teaching operation using the teaching pendant as described above, the operator is required to use the teaching pendant to perform various adjustment operations such as adjustment of the machining path and adjustment of the machining sequence, so as to shorten the machining operation time for all machining points of the machining object, that is, the cycle time. A teaching pendant capable of outputting useful information to the operator operating the teaching pendant to shorten the cycle time is desired.

[0004] One method disclosed herein is a teaching device for a laser processing system that performs laser processing on a workpiece while using a robot to move the emission position of the laser, the teaching device having a graphical user interface processing unit that displays a processing period and a non-processing period in a time series in a recognizable manner in a strip-shaped area, wherein the processing period is a period during which the robot moves along a processing path while irradiating the laser to each of a plurality of processing points set for the workpiece for processing, and the non-processing period is a period between the processing periods of each of the processing points. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The purpose, features and advantages of the present invention will become more apparent from the following description of the embodiments associated with the accompanying drawings.

[0006] Figure 1 This is a diagram showing the overall configuration of a laser processing system including a laser processing teaching device according to one embodiment.

[0007] Figure 2 This is a diagram showing functional blocks constituting the laser processing teaching device.

[0008] Figure 3 This is a diagram showing the main flow of the operation program creation process executed by the laser processing teaching device.

[0009] Figure 4 This is a flowchart showing the details of the dot group determination process.

[0010] Figure 5This is a flowchart showing the details of the motion speed determination process.

[0011] Figure 6 This is a diagram for explaining the grouping of dot groups.

[0012] Figure 7 This is a diagram showing an example of a plane defining a dot group.

[0013] Figure 8 It is a diagram for explaining optimization of grouping.

[0014] Fig. 9 This is a diagram showing an example of the density of welding time.

[0015] Fig.10 This is a diagram for explaining the density of welding time.

[0016] Fig.11 This is a diagram for explaining the optimization of the movement order between groups.

[0017] Fig.12 This is a diagram for explaining determination of the weldable period.

[0018] Fig.13 This is a diagram for explaining determination of the dotting order.

[0019] Fig.14A This is a diagram for explaining a defect caused by a difference in execution timing of the motion programs of the robot and the scanner.

[0020] Fig. 14B This is a diagram for explaining a defect caused by a difference in execution timing of the motion programs of the robot and the scanner.

[0021] Fig.15A It is a graph showing the movement trajectory of the scanner.

[0022] Fig. 15B It is a graph showing the movement trajectory of the scanner.

[0023] Fig.16 This is a flowchart showing a process of running an operating program on an actual machine to measure the amount of variation in execution time.

[0024] Fig.17 This is a flowchart showing a process of obtaining the maximum execution time deviation amount.

[0025] Fig.18 This is a diagram showing an example of a GUI displayed on the display screen of the laser processing teaching device.

[0026] Fig.19 It is a diagram showing a display example of a color bar.

[0027] Fig. 20 This is a diagram showing an example of a simulation screen linked to a slider.

[0028] Fig.21 This is a diagram showing an example of a GUI displayed on the display screen of the laser processing teaching device.

[0029] Fig. 22 This is a diagram showing an example of a GUI displayed on the display screen of the laser processing teaching device.

[0030] Fig.23 This is a diagram showing an example of a GUI displayed on the display screen of the laser processing teaching device.

[0031] Fig.24 This is a diagram showing an example of a GUI displayed on the display screen of the laser processing teaching device.

[0032] Fig.25 This is a diagram showing an example of a GUI displayed on the display screen of the laser processing teaching device. DETAILED DESCRIPTION

[0033] Below, the embodiments of the present invention are described with reference to the accompanying drawings. In all the drawings, corresponding structural elements are marked with common reference symbols. For ease of understanding, the scales of these drawings are appropriately changed. In addition, the method shown in the drawings is an example for implementing the present invention, and the present invention is not limited to the illustrated method.

[0034] Figure 1 The overall structure of a laser processing system 100 including a laser processing teaching device 1 according to one embodiment is shown. The laser processing system 100 is configured as a so-called collaborative remote laser processing system in which a galvanometer scanner (hereinafter, simply referred to as a scanner) 50 as a processing head installed at the front end of the arm of a robot 10 is moved while scanning with laser light, thereby processing each processing point on a workpiece W. Figure 1 In the structural example, the laser processing system 100 includes a robot 10, a robot control device 20 for controlling the robot 10, a laser oscillator 30, and a laser processing teaching device 1. Figure 1 In the structural example, the robot 10 is a vertical multi-joint robot, but other types of robots may also be used. In addition, a laser scanning device other than a galvanometer scanner may also be used. The scanner 50 has the following functions: by driving a reflector, the laser sent from the laser oscillator 30 via an optical fiber is scanned in the XY direction; and by driving a lens in the Z direction, the laser spot is moved in the Z direction.

[0035] The laser processing teaching device 1 is a programming device that can generate the operation program of the robot 10 and the scanner 50 off-line. Figure 1In the structural example shown, the laser processing teaching device 1 is connected to the robot control device 20 via a network, and the action program of the robot 10 created by the laser processing teaching device 1 can be transferred from the laser processing teaching device 1 to the robot control device 20 via the network. The robot 10 operates according to the action program loaded into the robot control device 20. In addition, the laser processing teaching device 1 generates an action program for the scanner 50. The robot control device 20 can have a structure as a general computer having a CPU, ROM, RAM, a storage device, etc. The action program of the scanner 50 generated by the laser processing teaching device 1 is transferred from the laser processing teaching device 1 to the control unit of the scanner 50 via the robot control device 20. The control unit of the scanner 50 can operate according to the loaded action program. The control unit of the scanner 50 can have a structure as a general computer having a CPU, ROM, RAM, a storage device, etc.

[0036] The laser processing system 100 can perform various laser processing such as welding and cutting. Below, it is assumed that the laser processing system 100 performs welding for explanation. As described in detail below, the laser processing teaching device 1 creates the following action program: the point group of the welding object is divided into the best group, and the action speed is optimized, so as to minimize the time required for a series of welding actions for the point group (hereinafter also referred to as cycle time). In addition, the laser processing teaching device 1 can have a structure as a general PC with hardware structural elements such as CPU, ROM, RAM, hard disk, input device, display device, network interface, etc. Various information processing devices such as desktop PC, notebook PC, portable information terminal, etc. can be used as the laser processing teaching device 1.

[0037] Figure 2 Functional blocks constituting the laser processing teaching device 1 are shown. Figure 2 The functional blocks shown can be realized by executing software by the CPU of the laser processing teaching device 1, or can be realized by using dedicated hardware such as ASIC (Application Specific Integrated Circuit). Figure 2 As shown, the laser processing teaching device 1 has a data input unit 110, a grouping unit 120, a teaching processing adjustment unit 130, an action program production unit 140, a graphical user interface (GUI) processing unit 150, a simulation execution unit 160, an execution time difference maximum value acquisition unit 170 and a laser action trajectory acquisition unit 172.

[0038] The data input unit 110 is used to obtain various data required for the operation program creation process, including the welding point group of the welding object, the welding time of each welding point, the welding pattern, the model data of the workpiece, etc. These various data can be stored in advance in the storage device in the laser processing teaching device 1, or can be input to the laser processing teaching device 1 through the operation unit. Alternatively, various data can be input to the laser processing teaching device 1 from an external device through a network.

[0039] The grouping unit 120 groups the dot groups acquired by the data input unit 110, and optimizes the groups and the dot order within the group. The teaching process adjustment unit 130 determines the motion speed so that all the dots of the welding object can be welded with the shortest cycle time. The action program production unit 140 has a function as a teaching data output unit that outputs the teaching data of the robot 10 and the scanner 50 using the path determined by the grouping unit 120 and the motion speed determined by the teaching process adjustment unit 130, and has a function of producing an action program. The GUI processing unit 150 generates and displays a graphical user interface (GUI) for displaying and setting information related to the action program production process. The details of the GUI processing unit 150, the execution time difference maximum value acquisition unit 170, and the laser action trajectory acquisition unit 172 are described later. The simulation execution unit 160 uses the action program of the robot 10 and the scanner 50 to perform a simulation action.

[0040] Figure 3 The main flow of the motion program creation process performed by the laser processing teaching device 1 is shown. The motion program creation process is performed under the control of the CPU of the laser processing teaching device 1. In step S1, the data input unit 110 reads the model data of the robot, the fixture and the workpiece W, the point positions of the point group of the welding object, and the welding time and welding pattern data of each point.

[0041] Next, in step S2, the grouping unit 110 performs processing to determine dot groups. The grouping is performed so as to satisfy the following criteria.

[0042] (1) The distance between the path of the robot passing through the dot group and each dot is within the operating range (scanning range) of the scanner.

[0043] (2) When the foot of a perpendicular line from each landing point to the robot path defines a line segment of a length corresponding to the welding time along the path, the landing point group is determined so that the density of the line segments corresponding to the welding time on the path becomes uniform.

[0044] Figure 4 4 is a flowchart showing the details of the dot group determination process performed in step S2. Figure 6 First, in step S21, the dot group G0 is grouped into temporary dot groups. Here, one group specifies a plurality of dot groups that are welded during the period when the robot 10 is moving under one action command. In one group, the robot 10 moves under one action command, during which the scanner 50 performs a scanning action to weld each dot group. Under one action command, the robot 10 moves along a straight line at a constant speed. As an example, the dot group G0 is temporarily divided into Figure 6 The three dot groups G1 to G3 are shown on the right side of FIG.

[0045] In step S22, the path of the robot 10 passing through the center of the dot group is determined for each group G1-G3. The path is determined by the path determination unit 121 which is a function of the grouping unit 120. For example, a straight line passing through the center of the dot group is obtained by the least square method. When group G1 is described as an example, path R1 is obtained as a straight line that minimizes the sum of the squares of the distances from each dot 101-105 to path R1. In addition, the dot position is a position in a three-dimensional space, so each dot 101-105 is actually distributed in a three-dimensional space, but a plane passing through the position obtained by averaging the positions of each dot is defined, and each dot is assumed to exist at the position obtained by projecting each dot onto the plane to determine the above path. The plane passing through the position obtained by averaging the positions of each dot can be obtained by using, for example, the least square method or the Newell algorithm. It is assumed that through the processing of step S22, paths R1, R2, and R3 are determined as the paths of dot groups G1, G2, and G3, respectively. Alternatively, the path may be determined as a path along which the foot of a perpendicular line extending from the laser irradiation position to the plane defining the dot group moves on the plane.

[0046] In addition, according to the distribution state of the points (the shape of the welding surface), the plane projected by the points of the point group can be defined as a plane inclined relative to the horizontal direction. Figure 7 As shown, the plane H1 for defining the dot group G1 is defined as a plane inclined relative to the plane H2 for defining the dot group G2. By determining the plane in this way, it is possible to form a plane setting that matches the distribution of the dot groups. In addition, Figure 7 The figure also shows an example of the operating range of the scanner 50 set at the laser irradiation positions D1 and D2. While the robot 10 is on the path corresponding to the dot group G2, the posture of the robot 10 is controlled so that the scanner 5 faces the plane H2.

[0047] Next, in step S23, it is confirmed for each dot group whether each dot is within the operating range of the scanner 50. For example, when describing the dot group G1, the confirmation in step S23 can be performed based on whether the distance from each dot 101-105 to the path R1 is within the operating range of the scanner 50. When dots outside the operating range of the scanner 50 are found (S23: No), the dots are regrouped (step S21).

[0048] Next, in the loop processing of steps S24 to S26, the grouping is optimized based on the distribution of the points in the point group and the welding time of each point. Figure 8 The dot groups shown are used to illustrate the optimization of grouping. Figure 8 In the example, dots 131 to 138 are distributed in one dot group G10. Path P10 is the path set for the dot group G10 by the processing of step S22. As described above, in the action corresponding to one action command, the robot moves at a uniform speed. Therefore, when the robot's action speed is set lower so that the robot 10 can complete the welding of all dots 131-135 in the part 140 where the dots are denser, the robot unnecessarily moves at a low speed in the part 141 where the dots are sparse. Therefore, in this case, if the dot group G10 is divided into a dot group of part 140 and a dot group of part 141, the average speed of the robot can be increased. That is, it can be said that it is preferable to group the dots in a way that the distribution of the dots in one dot group becomes uniform.

[0049] However, it is also necessary to consider that the welding time varies for each welding point. Fig. 9 As shown in FIG. 1 , a line segment of a length corresponding to the welding time of each point is set on the path with the foot of the perpendicular line from each point to the path as the center. This line segment corresponds to the welding time of one point during the movement time of the robot's path, and is therefore referred to as welding time below. As an example, Fig. 9 In FIG. 1 , a welding time of 132 s is set with a foot position 132 c of a perpendicular line from the strike point 132 to the path P10 as the center. Fig. 9 Thick double arrow lines are used to indicate the welding time.

[0050] In step S24, the density (sparseness) of the welding time on the path is calculated. In this case, the density of the welding time can also be expressed as the concentration of the welding time. For example, Fig.10 As shown in the upper part of , the wide intervals d1 and d2 between the welding times SG1, SG2, and SG3 set on the path correspond to a low density (sparse state) of welding times. Fig.10As shown in the lower part of , the state where the intervals d11 and d12 between the welding times SG10, SG11, and SG12 are narrow corresponds to a high density (dense state) of the welding times. The state where the intervals between adjacent welding times are wide indicates that the speed of the robot can be increased in the portion of the path corresponding to these welding times. In contrast, the state where the intervals between adjacent welding times are narrow indicates that the speed of the robot cannot be increased in the portion of the path corresponding to these welding times. Therefore, the unevenness of the density of the welding times set on the path of a certain dot group (unevenness of the sparse state) is evaluated, and when the density unevenness is high, the grouping is re-performed to reduce the unevenness of the density of the welding times of each dot group, thereby improving the speed of the welding action as a whole.

[0051] Therefore, in step S24, a value indicating the density non-uniformity is calculated for the intervals between the welding times set on the path of a certain dot group. As an example, the density of the welding time between each small interval of a fixed length on the path can be obtained, and the non-uniformity of the density of the welding time can be calculated based on the deviation of the density. Then, in step S25, an evaluation value is calculated so that the smaller the density non-uniformity, the higher the score.

[0052] In step S26, it is determined whether the evaluation value of each dot group is above a predetermined threshold value. In the case where there is a group whose evaluation value is less than the predetermined threshold value (S26: "No"), the group is grouped again so that the evaluation value of the group becomes higher, and the processing from step S22 is repeated. On the other hand, in the case where the evaluation values ​​of all dot groups are above the threshold value, the processing of step S27 is performed. By such a loop processing, the dot grouping can be optimized. In addition, in such an optimized loop processing, for example, a genetic algorithm can be used.

[0053] Next, in step S27, the movement order between the dot groups and the dot order within the dot group are optimized. Fig.11 The groups are grouped and the paths are determined as shown on the left side of . Fig.11 In the example on the left side of FIG, the welding target spot groups are grouped into three spot groups G201-G203, and paths P201-P203 are set for each group. In step S27, the moving direction of the paths set for the spot groups and the moving order between the spot groups are optimized. Fig.11The left side of the diagram shows the state before optimization, and the right side shows the state after optimization. In the state before optimization, the order between groups is group G201→group G203→group G202. In addition, the order of dotting from bottom to top in the figure is determined for group G201, the order of dotting from bottom to top in the figure is determined for dotting group G203, and the order of dotting from left to right in the figure is determined for dotting group G202. It can be understood that the total moving distance between groups is long in the state before optimization, so there is room for improvement.

[0054] exist Fig.11 In the optimized state on the right side of , the order of movement between groups is dot group G201→dot group G202→dot group G203. In addition, the dot order from bottom to top is determined for dot group G201, the dot order from left to right is determined for dot group G202, and the dot order from top to bottom is determined for dot group G203. It can be understood that the total distance of movement between groups is minimized in the optimized state. As a method for determining the movement order that minimizes the total movement distance between dot groups, various techniques known in the art for solving the so-called traveling salesman problem (Japanese: Tour Salesman Problem) can be used. Through the above processing, the completion Figure 3 The decision process of the dot group in the main flow (step S2).

[0055] Next, in step S3 of the main flow, the movement speed of the robot of each dotting group is determined. Figure 5 1 is a flowchart showing the details of the motion speed determination process. The process is performed by the teaching process adjustment unit 130. First, in step S31, a temporary robot speed is set for each dot group. The temporary speed of all dot groups can be uniformly set to a low speed that is considered to be able to weld the dots of each dot group without any problem. Alternatively, the temporary speed of each dot group can be uniformly set to a representative speed based on an experience value.

[0056] Next, in step S32, the robot path determined in step S2 of the main process and the motion speed of each dot group determined in step S31 are used to generate a motion program for the robot 10, and the motion simulation of the robot is performed. By performing the motion simulation, the position data of each interpolation cycle of the robot (hereinafter also referred to as the motion path) is obtained.

[0057] Next, in step S33, the robot motion path obtained by the robot motion simulation is used to calculate the period corresponding to the range in which each spot can be welded on the robot motion path (hereinafter referred to as the weldable period). Fig.12As shown, the processing here is explained by taking the case of obtaining the weldable period of the robot's motion path L1 during which the spot 151 can be welded as an example. First, the position of the scanner 50 installed at the front end of the robot's arm is obtained based on the position on the robot's motion path L1 (specifically, for example, the position of the focusing lens in the scanner), and the path of the laser connecting the position of the scanner 50 and the position of the spot 151 is obtained. At this time, when the following conditions are met, the path of the laser is determined to be weldable:

[0058] (1) The laser path does not interfere with the workpiece or fixture;

[0059] (2) The laser path is within the action range of the scanner;

[0060] (3) The angle between the normal direction of the workpiece at the dot-marking position and the laser beam, i.e., the irradiation angle, is within the prescribed allowable range.

[0061] In addition, the above condition (3) is applied to avoid uneven irradiation intensity of the laser on the workpiece and maintain the welding quality. The period corresponding to the range in which the laser path is determined to be able to continuously weld on the action path is the weldable period of each point obtained in step S33. Fig.12 In the example of , symbol L101 indicates the weldable period. In addition, it is also possible to determine the weldable period for multiple locations on the motion path. In addition, the weldable period needs to be longer than the welding time of the target point, so the range that does not meet this condition is discarded.

[0062] Next, in step S34, the position and time of welding each point are determined using the weldable period of each point determined in step S33. Here, as a first condition, the welding time of each point is considered, and the welding time is determined in a manner that reliably satisfies the welding time of each point, regardless of the order of the start time of the weldable period of each point. For example, the following situation is assumed: there are two points A and B with the same welding time of 1 second, and the weldable period of point A is from the 1st second to the 4th second from the start of the action, and the weldable period of point B is from the 1.1th second to the 2.1st second from the start of the action. In this case, although point A can be welded first, if point A is welded from the 1st second to the 2nd second, point B cannot be welded. In such a case, in this step, point B is welded from the 1.1th second to the 2.1st second, and point A is welded from the 2.1st second to the 3.1st second.

[0063] In step S34, as the second condition, if there is a point that can be welded first according to the positional relationship between the action path and the workpiece and the fixture without depending on the arrangement order of the points, the welding of the point is prioritized. Fig.13As shown, the arrangement of the dots along the motion path L2 is the order of dots 161 and 162, but when the dot direction is viewed from the motion path L2, the dot 161 is hidden behind the protrusion 180 of the workpiece and the dot 162 can be welded first, the dot 162 is welded first at the position 202 on the motion path, and the dot 161 is welded at the position 203 after the position 202. The process of step S34 is executed by the dot order determination unit 130a which is a function of the teaching process adjustment unit 130.

[0064] Next, in step S35, the motion speed is adjusted to optimize it so that all the points can be welded and the cycle time is shortened. For example, the following approach can be considered: the motion speed of the robot 10 is set to the same value for all the point groups, and the motion speed is reduced until all the points can be welded, and then the motion speed is increased for each point group. Through the above processing, Figure 3 The action speed determination processing (step S3) of the main flow is completed.

[0065] Next, the results obtained by the processing of the above steps S1 to S3 are used to create the motion programs of the robot 10 and the scanner 50. The motion program of the robot 10 is created so that the robot 10 moves along the path set for all the dot groups by the processing of step S2 at the motion speed determined in step S3. The motion program of the scanner 50 is created as a motion instruction group for specifying the position and posture of the scanner 50 so that when the robot 10 moves on the motion path according to the motion program of the robot 10, the laser irradiates the dot during the welding time set for each dot.

[0066] According to the configuration described above, it is possible to automatically determine the optimal robot motion path and the timing for welding each spot.

[0067] In the laser processing system 100 described above, the robot 10 and the scanner 50 are controlled by respective control devices. Problems that should be considered when the robot 10 and the scanner 5 are controlled by respective control devices as described above will be described.

[0068] The operation program of the robot 10 and the operation program of the scanner 50 are simultaneously activated in response to a start signal, and therefore are required to operate in accordance with the cycle time assumed when each is generated.

[0069] However, when the robot and scanner are operated by their respective control devices, generally speaking, neither of them will operate according to the cycle time assumed when the program was created. This is due to the difference in mechanical conditions between the robot and the scanner. When such a synchronization deviation occurs, the robot is not in the position assumed when the program was created while the scanner 50 is welding a certain dot, so sometimes the dot position is outside the scanner's operating range, or the laser interferes with the fixture or workpiece. This is because the operation program of the scanner 50 is created so that, at the timing of welding, welding is performed to the dot from the position of the scanner 50 calculated based on the position after the robot 10 moves according to the operation program of the robot 10.

[0070] Reference Figures 14A-14B An example of the defects caused by this synchronization deviation is shown below. Fig.14A This shows a situation where the operation program of the robot 10 and the operation program of the scanner 50 are both operated synchronously (according to the assumed cycle time). Fig.14A In FIG. 1 , range R111 indicates the motion range of the scanner 50 at the start time point P110 of the welding period L110, and range R112 indicates the motion range of the scanner 50 at the end time point P111 of the welding period L110. Therefore, it can be understood that welding is appropriately performed on the spot 201 within the motion range of the scanner 50 during the welding period L110 along the motion path L10.

[0071] on the other hand, Fig. 14B This indicates a situation where the operation of the scanner 50 is delayed compared to the assumed cycle time. Since the operation of the scanner 50 is delayed, it is intended to irradiate the laser to the dot 201 from the position P210 to the position P211. In this case, the dot 201 is included in the operation range R111 at the position P210, but the dot 201 is outside the operation range R112 of the scanner 50 at the position P211. When the dot is outside the operation range of the scanner 50, the laser processing system 100 alarms and stops.

[0072] In order to solve this problem, it is necessary to run the motion program of the robot 10 and the motion program of the scanner 50 once on the actual machine to obtain the deviation of the execution time. For example, suppose that the result of running the motion program of the robot 10 and the motion program of the scanner 50, which are made to have a cycle time of 10 seconds, on the actual machine is that the motion program of the robot 10 runs for 10 seconds, while the motion program of the scanner 50 runs for 11 seconds. In this case, in order to correct the deviation of 1 second, the motion program of the robot 10 is made to run for 11 seconds, and the motion program of the scanner 50 is made to run for the original 10 seconds. As a result, the robot 10 and the scanner 50 run with the same cycle time of 11 seconds.

[0073] In order to obtain the difference in execution time between the operation programs of the robot 10 and the scanner 50, it is necessary to run the operation programs on a real machine. Figures 14A-14B As described above, if the laser processing system 100 stops due to an alarm when the operation is outside the operation range of the scanner 50, the operation program cannot be executed to the end, and the deviation of the execution time cannot be obtained. In this case, a temporary deviation of the execution time is assumed, and the operation programs of the robot 10 and the scanner 50 are prepared so as to correct the deviation. However, if the assumed deviation is not appropriate, the deviation must be corrected multiple times and the operation must be repeated on the actual machine.

[0074] Therefore, an appropriate deviation amount is obtained in the following manner. Fig.15A This is a graph that finds the motion trajectory of the laser in the XY direction observed from the scanner 5, and is a graph when no deviation is set between the motion programs of the robot 10 and the scanner 50. The motion trajectory is acquired by the laser motion trajectory acquisition unit 172. This graph can be calculated based on the position of the robot at a certain point in time when the motion program of the robot 10 is executed and the position of the welding point of the scanner 50 at that point in time. Here, the range from -150mm to +150mm in each direction of the XY direction is assumed to be the motion range of the scanner 50. Fig.15A As shown, in a state where there is no synchronization deviation, the movement trajectory of the scanner 50 enters the movement range of the scanner 50 .

[0075] It is also possible to calculate the motion trajectory of the scanner 50 when the deviation amount is assumed. For example, when the motion program of the scanner 50 is generated assuming that it runs for 10 seconds and actually runs for 11 seconds, the position of the scanner 50 at the n×10 / 11th second is calculated relative to the position of the robot at the nth second, and the motion trajectory of irradiating the spot of the welding object with laser light from the position of the scanner 50 is calculated. The motion trajectory of the scanner 50 is calculated while increasing the assumed deviation amount, and a graph is formed to confirm whether it is within the motion range of the scanner, so that the maximum execution time deviation amount at which the motion trajectory of the scanner 50 does not fall outside the motion range can be calculated. Fig. 15B The graph shows a case where the motion trajectory of the scanner 50 exceeds the motion range as a result of increasing the deviation amount.

[0076] When the deviation of the actual execution time on the actual machine is large, it is preferable to increase the deviation used to correct the action program. However, when the deviation used to correct the action program becomes too large, it is likely that the action range of the scanner 50 will be exceeded before the deviation actually occurs on the actual machine. Therefore, the maximum execution time deviation obtained above is set, and the action program is regenerated to correct the deviation. In this way, the action program can be executed to the end on the actual machine, thereby accurately measuring the deviation of the action time. The action program is re-created so that the sum of the maximum execution time deviation and the deviation measured by running the action program on the actual machine is corrected. The action program is re-created to correct the maximum execution time deviation. In this way, the action program of the robot 10 and the scanner 50 that operate synchronously can be obtained.

[0077] Fig.16 This is a flowchart showing the process of measuring the deviation of the execution time by running the action program on the actual machine in the above description. Figure 3 The action program making process of the robot 10 and the scanner 50 is used to make the action program of the robot 10 and the scanner 50 (step S61). Next, the action program of the robot 10 and the scanner 50 is run on the actual machine (step S62). At this time, the deviation of the execution time of the robot 10 and the scanner 50 is measured (step S63). The deviation can be measured, for example, by recording the actions of the robot 10 and the scanner 50 as an image. If the deviation is obtained, the action program of the robot 10 and the scanner 50 is remade to correct the deviation (step S64).

[0078] Fig.17 This is a diagram showing, in the form of a flowchart, the process of obtaining the above-mentioned maximum execution time deviation amount. Fig.17 The processing is performed by the execution time difference maximum value acquisition unit 170 of the laser processing teaching device 1. First, by Figure 3The action program making process is used to make the action program of the robot 10 and the scanner 50 (step S71). Next, the temporary deviation of the execution time of the robot 10 and the scanner 50 is determined (step S72), the action trajectory of the scanner 50 under the deviation is calculated, and it is determined whether the action trajectory enters the action range of the scanner (step S73). When the action trajectory of the scanner 50 is within the action range, the process from step S72 is repeated. In step S72, the deviation of the execution time is initially determined to be a small value, and the deviation is determined in a gradually increasing manner each time the loop process is repeated. At the time point when the action trajectory of the scanner 50 is outside the action range, the process proceeds to step S74 to calculate the maximum execution time deviation when the action trajectory of the scanner 50 is within the action range. In addition, it is possible to automatically determine the execution time difference maximum value acquisition unit 170 at the time point when the execution time difference maximum value acquisition unit 170 is within the action range. Fig.15A The determination in step S73 is performed by checking whether each point on the graph shown in FIG. 1 is within the action range. If an appropriate correction amount is obtained in this way, an action program for the robot 10 and the scanner 50 is created to correct the correction amount, and the operation is performed from Fig.16 By performing the processing starting from step S72 of the action, the action program of the robot 10 and the scanner 50 in which the correction amount is corrected can be obtained.

[0079] Next, explain how to execute Figure 3 to Figure 5 The processing aspects shown are graphical user interfaces (GUI) displayed on the screen of the display unit of the laser processing teaching device 1 . Fig.18 GUI 300 displayed on the display device of the laser processing teaching apparatus 1 by the GUI processing unit 150 is shown. The GUI 300 can display information on the result of the operation program creation process and allow the operator to specify various conditions for the operation program creation process.

[0080] like Fig.18 As shown, the GUI 300 includes a point group designation field 301 for designating a point group of a welding object, a point list box 302 for displaying a list of the point groups designated in the point group designation field 301, four tabs 311-314 for designating the type of setting, a slider 321, a color bar 322, a preview button 323, and a program generation button 324 for instructing to create an action program. Fig.18 In the example of FIG. 300 , tab 311 is selected and an adjustment menu related to tab 311 is displayed on the right side of GUI 300 .

[0081] In the GUI 300, the dot group specified in the dot group specification field 301 includes 28 dot points (T1 to T28). The dot list box 302 is executed according to the specified dot group. Figure 3-5The order of dots determined by the action program creation process shown in the figure is displayed on the screen one by one. In addition, the dot list box 302 includes fields 331-337 that respectively display the dot number, welding pattern, welding time, welding start time, welding end time, laser irradiation angle, and distance between the path and the dot for each dot. The welding pattern (field 332) shows the laser irradiation pattern when welding one dot. The laser irradiation angle represents the angle between the normal direction of the dot and the laser. The information of welding start time, welding end time, laser irradiation angle, and distance between the path and the dot (fields 333-337) is executed after pressing the program generation button 324 for the dot group specified on the GUI 30. Figure 3-5 The information obtained and displayed as a result of the action program creation process shown in the figure. As an example, the welding time of the first point ("T1") to be welded in the point group is 350.00ms, the welding start time is 56.00ms, the welding end time is 424.00ms, the laser irradiation angle is 5.02 degrees, and the distance between the path and the point is 22.17mm.

[0082] In addition, on the dot list, fields of the same group of dot are displayed in the same color, and at least adjacent dot groups are displayed in a manner with different background colors to facilitate identification of the dot grouping. Fig.18 In the example of the dot list, the designated dot groups are grouped into five dot groups G401-G405.

[0083] Fig.19 3 is a diagram showing an example of an enlarged color bar 322. Fig.19 As shown, the color bar 322 is a bar graph that is expressed in two different colors in a time series, so that the welding state (laser irradiation state) and the non-welding state (laser non-irradiation state) when the welding action is performed on the designated point group can be distinguished using the result obtained by performing the action program creation process on the designated point group. The left end 322a of the color bar 322 corresponds to the start time of the action program of the robot 10, and the right end 322b of the color bar 322 corresponds to the end time of the action program of the robot 10. The portion of the color bar 322 represented by the first color 322c indicates the welding state, and the portion of the color bar 322 represented by the second color 322d indicates the non-welding state.

[0084] In the color bar 322, the more parts are represented by the first color 322c, the more time is spent on welding during the operation of the robot 10, that is, the higher the efficiency of the welding operation. On the other hand, the more parts are represented by the second color 322d in the color bar 322, the less time is spent on welding during the operation of the robot 10, that is, the lower the efficiency of the welding operation. Therefore, the operator can visually grasp the efficiency of the welding operation in the current operation program (that is, the current processing path) instantly based on the color bar 322. When it is considered that the efficiency of the welding operation is low, various conditions can be changed to re-create the operation program.

[0085] The slider 321 is used to specify the time when the 3D model of the robot, scanner, etc. performs a simulated action using the action program. The simulation execution unit 160 uses the result of the simulated action to display the 3D models of the robot 10 and the scanner 50 at the time specified by the slider 321 on the screen to obtain their postures. In addition, at this time, regarding the path of the laser from the scanner 50 to the dot, the first color indicates the welding state, and the second color indicates the non-welding state. The horizontal position of the slider 321 on the screen corresponds to the position on the horizontal axis of the color bar 322, so the operator can intuitively confirm the state of the robot 10 and the scanner 50 at that position on the screen by finding the non-welding period (the second color part) on the color bar 322 and sliding the slider 321 to the found position. Fig. 20 An example of such a display screen is shown in FIG. Fig. 20 In the display screen example, the 3D models of the robot 10 and the scanner 50 are displayed, and the path of the laser LA is displayed in the second color.

[0086] By combining the display using the color bar 322 with the display of the status of the robot or the like using the slider, the operator can be made aware of the wasted time in the welding operation, and the efficiency of the welding operation can be further improved.

[0087] When the preview button 323 is pressed, the models of the robot 10 , the scanner 50 , the workpiece W, etc., and the irradiation of the laser beam are displayed in animation according to the simulation result of the operation program.

[0088] Various adjustment menus provided by the currently designated tab 311 are displayed on the right side of the screen of the GUI 300. The adjustment menu of the tab 311 includes adjustment contents related to the entire action program. Fields 411 to 414 are related to the action program of the scanner 50. Field 411 is a field for specifying the ID of the action program generated for the scanner 50, field 412 is a field for displaying the action program name, field 413 is a field for displaying the welding time of the action program, and field 414 is a field for specifying the reference Figure 14A-17The fields for the correction amounts of the robot motion program and the scanner 50 motion program are described.

[0089] In addition, the adjustment menu of the tab 311 includes a button 421 and a button 422, wherein the button 421 is used to indicate that the multiple points selected on the point list box 302 belong to the same plane, and the button 422 is used to indicate that the multiple points selected by the user on the point list box 302 are included in the same action path. In addition, the adjustment menu of the tab 311 includes a field 425 for specifying the action speed of the action command for welding the points selected on the point list box, a field 426 for specifying the starting margin (run-up distance 9) of the action command, and a field 427 for specifying the ending margin of the action command. After the action command is just started, since the robot 10 is accelerating, when welding is performed during the acceleration process, the welding may become unstable. By ensuring the starting margin, the robot 10 can perform welding while performing uniform motion as expected. Similarly, when the action command ends, the robot 10 performs deceleration movement. Therefore, when welding is performed during the deceleration movement, the welding may become unstable. By ensuring the end margin, the robot can perform welding while performing uniform speed movement as expected. By operating the program generation button 324, the action program creation process can be implemented again using various setting values ​​set on the adjustment menu.

[0090] Fig.21 The GUI 300 is shown in a state where the tab 312 is selected. The tab 312 includes various adjustment menus related to the welding position. The adjustment menu of the tab 312 includes a box 481 for displaying the position of the point selected on the point list box 302, and a position adjustment box 482 that can indicate the change of the input position for the point. In addition, the adjustment menu of the tab 312 includes a graph 485 showing the laser irradiation angle of the currently selected point ("T1"). The horizontal axis of the graph 485 represents time (unit: ms), and the vertical axis represents the irradiation angle (unit: degree). The graph 485 shows the change of the laser irradiation angle from the start of laser irradiation to the point to the end of laser irradiation (during the welding time). The irradiation angle at the time point when the laser irradiation to the point starts is large, and the irradiation angle at the time point when the laser irradiation time ends (after 350ms) is small. By operating the program generation button 324, the action program creation process can be implemented again using the various setting values ​​set on the adjustment menu.

[0091] Fig. 22The GUI 300 is shown in a state where the tab 313 is selected. The tab 313 includes an adjustment menu related to welding settings. The adjustment menu of the tab 313 includes a field 501 for specifying a welding pattern for a selected spot ("T1"), a field 502 for specifying an operating range of the scanner 50 when welding the spot, and a field 503 for specifying an allowable range of an irradiation angle when irradiating the spot with a laser. In addition, the adjustment menu screen of the tab 313 includes a welding pattern display frame 505 that displays the welding pattern of the selected spot as a graphic. The operator can change the welding pattern by operating the welding pattern displayed in the pattern display frame 505. By operating the program generation button 324, the action program creation process can be implemented again using various setting values ​​set on the adjustment menu.

[0092] The welding pattern display frame 505 includes a shape button 515 as a radio button for specifying the welding pattern and a power button 516. Fig. 22 In the display example shown, a shape button 515 for designating a shape as a display method of a welding pattern is designated.

[0093] Fig.23 FIG. 5 shows a display example in which a power button 516 for specifying power as a display method of a welding pattern is specified. Fig.23 As shown, in this case, a graph 520 showing a welding pattern of a selected dot is displayed in the pattern display frame 505. In the graph 520, the horizontal axis represents time (unit: ms) and the vertical axis represents laser output (unit: W). The current graph 520 shows that welding is performed with a fixed laser output of 10 W during the welding period. The operator can change the welding pattern. In this case, the operator inputs the time of the change point of the laser output in the field 532, inputs the laser output at that time in the field 533, and operates the button 531 for instructing to add laser output. The operator can obtain the desired laser output pattern by repeating such operations.

[0094] Fig.24 The GUI 300 is shown in a state where the tab 314 is selected. The setting menu of the tab 314 includes a setting box 530 for setting the network address of the scanner 50 and a setting box 531 for setting the operation of the scanner 50. The setting box 531 includes a field for setting the operation range of the scanner 50, a field for setting the focal length, a field for setting the maximum operation speed (XY direction), a field for setting the maximum speed (Z direction), and a field for setting the minimum movement time. By operating the program generation button 324, the operation program creation process can be performed again using the various setting values ​​set on the adjustment menu.

[0095] Fig.25 The following is a display example when the analysis tab 560 configured on the left side of the screen is selected on the GUI 300. The screen of the analysis tab 560 shows three graphs 561-563 related to the operation of the scanner 50 as simulation results. Graph 561 is a graph showing the speed of the scanner 50 in the XY direction. The horizontal axis of the graph 561 shows the time, and the vertical axis shows the speed. Graph 562 is a graph showing the operation of the scanner 50 in the X and Y directions (the irradiation position of the laser observed from the lens position of the scanner 50) in the local coordinate system of the scanner 50 during the welding operation. The horizontal axis of the graph 562 shows the position in the X direction, and the vertical axis shows the position in the Y direction. Graph 563 is a graph showing the operation of the scanner 50 in the Z direction in the local coordinate system of the scanner 50 during the welding operation. Here, the operation of the scanner 50 in the Z direction shows the operation in the direction for driving the lens in the scanner 50 (i.e., the adjustment of the focal length).

[0096] The operator can update the graph as a simulation result using the specified delay time by operating the slider 565 to specify the delay time (correction amount) of the scanner 50 and operating the graph update button 56. Thus, the operator can confirm how long the delay time is to enable the welding operation within the operation range of the scanner 50.

[0097] As mentioned above, although embodiment of this invention is described, it will be understood by those skilled in the art that various corrections and changes can be made without departing from the disclosure scope of the claims.

[0098] The program for performing the above-mentioned various processes executed by the laser processing teaching device 1 can be recorded in various computer-readable recording media.

[0099] Reference Figure 19-20 The method of displaying the color bar, the posture of the robot using the slider, and the like is not limited to the structure of the laser processing system described in the above embodiment, but can be applied to various types of laser processing systems that use a robot for laser processing.

[0100] In order to solve the problem of the present disclosure, the following various modes and their effects can be provided. In addition, the numbers in parentheses in the description of the following modes correspond to the reference numerals of the drawings of the present disclosure.

[0101] For example, a first method disclosed in the present invention is a teaching device (1) for a laser processing system (100) that performs laser processing on a workpiece while using a robot (10) to move the emission position of the laser, the teaching device having a graphical user interface processing unit (150), the graphical user interface processing unit (150) arranging a processing period and a non-processing period in a time series in a recognizable manner and displaying them in a strip-shaped area (322), wherein the processing period is a period during which the robot moves along a processing path while irradiating the laser to each of a plurality of processing points set for the workpiece for processing, and the non-processing period is a period between the processing periods of each of the processing points.

[0102] According to the first aspect, with the above configuration, the user can instantly visually grasp the efficiency of the machining operation in the current machining route.

[0103] In a second aspect of the present disclosure, according to the teaching device of the first aspect, both ends of the long side direction of the strip-shaped area correspond to the start time point and the end time point of the total movement time of the robot for completing all processing of the plurality of processing points.

[0104] In a third mode of the present disclosure, the teaching device according to the first mode or the second mode is further provided with a simulation execution unit (160), which uses the robot's action program to execute simulation actions, and the graphical user interface processing unit (150) also displays a slider image (321), the two ends of which respectively correspond to the start time point and the end time point of the total movement time of the robot for completing all processing of the plurality of processing points, the slider image being set to be able to move the sliding position in the same direction as the long side direction of the strip-shaped area, and having the same length as the strip-shaped area in the long side direction of the strip-shaped area, and the graphical user interface processing unit uses the execution result of the simulation execution unit to display the robot model, the workpiece model and the image of the path of the laser at the time corresponding to the sliding position specified by the user operation on the slider image.

[0105] In a fourth aspect of the present disclosure, according to the teaching device of any one of the first to third aspects, the GUI processing unit (150) displays the processing period and the non-processing period in different display colors.

Claims

1. A teaching device for a laser processing system that performs laser processing on a workpiece while moving the laser emission position using a robot, The teaching device includes a graphical user interface processing unit, which arranges and displays the processing period and the non-processing period in a time series in a identifiable manner in a strip-shaped area, wherein The processing period is a period during which the robot moves along the processing path while irradiating the laser to each of the plurality of processing points set for the workpiece for processing, and the non-processing period is a period between the processing periods of each of the processing points. The graphical user interface processing unit displays the processing period with a first color, and displays the non-processing period with a second color different from the first color, so that the operator can visually grasp the processing efficiency of the current action program by observing the strip-shaped area, and the more parts are displayed with the first color, the higher the processing efficiency is, and the more parts are displayed with the second color, the lower the processing efficiency is. The two ends of the long side direction of the strip-shaped area correspond to the start time point and the end time point of the total movement time of the robot for completing all the processing of the plurality of processing points, respectively. The teaching device further includes a simulation execution unit that executes a simulation action using an action program of the robot. The GUI processing unit further displays a slider image, the slider image being set so as to be able to move a sliding position in the same direction as the long side direction of the strip-shaped area. The GUI processing unit displays an image of the robot model, the workpiece model, and the path of the laser beam at a time corresponding to a slide position designated by a user operation on the slider image, using the execution result of the simulation execution unit.

2. The teaching device according to claim 1, characterized in that: The two ends of the slider image respectively correspond to the start time point and the end time point of the total movement time of the robot for completing all processing of the plurality of processing points, and the slider image has the same length as the strip-shaped area in the long side direction of the strip-shaped area.

Citation Information

Patent Citations

  • Robot operation teaching method

    JP2006344052A

  • On-the-fly path generating apparatus and method

    JP2016147269A

  • Robot controller

    WO2017050895A1