Device and method for correcting command value or teaching point, laser machining system, and computer program

WO2025057322A1PCT designated stage expired Publication Date: 2025-03-20FANUC LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/033312
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-13
Publication Date
2025-03-20

Smart Images

  • Figure JP2023033312_20032025_PF_FP_ABST
    Figure JP2023033312_20032025_PF_FP_ABST
Patent Text Reader

Abstract

Maintaining the machining quality of laser machining has been conventionally desired. Provided is a device 60 for correcting a command value for laser machining a workpiece, the device comprising: a movement control unit 62 that causes a movement machine 12 to operate according to a predetermined speed command value and move along a predetermined movement path, the movement machine relatively moving a workpiece and a laser emission port for emitting a laser beam generated by a laser oscillator 18; a laser oscillation control unit 66 that causes the laser oscillator 18 to operate according to a predetermined laser output command value and generate a laser beam; a gap control execution unit 64 that causes the movement machine to operate so as to maintain a constant distance between the laser emission port and the workpiece during laser machining; and a command correction unit 72 that corrects the speed command value or the laser output command value on the basis of an amount of movement, in a direction orthogonal to the movement path, of the movement machine 12 during laser machining.
Need to check novelty before this filing date? Find Prior Art

Description

Apparatus and method for correcting command values ​​or teaching points, laser processing system, and computer program

[0001] The present disclosure relates to an apparatus and method for correcting command values ​​for laser processing, an apparatus and method for correcting teaching points for laser processing, a laser processing system, and a computer program.

[0002] 2. Description of the Related Art A laser processing system is known that includes a moving machine that moves a workpiece and a laser processing head relative to each other (see, for example, Patent Document 1).

[0003] Japanese Patent Application Laid-Open No. 2004-314137

[0004] Conventionally, there has been a demand for maintaining the processing quality of laser processing.

[0005] In one aspect of the present disclosure, an apparatus for correcting a command value for laser processing a workpiece includes a movement control unit that operates a mobile machine that moves the workpiece and a laser emission port that emits laser light generated by a laser oscillator relatively in accordance with a predetermined speed command value, causing the mobile machine to move along a predetermined movement path; a laser oscillation control unit that operates the laser oscillator in accordance with a predetermined laser output command value, causing the laser oscillator to generate laser light; a gap control execution unit that operates the mobile machine to maintain a constant distance between the laser emission port and the workpiece during laser processing; and a command correction unit that corrects the speed command value or the laser output command value based on the amount of movement of the mobile machine in a direction perpendicular to the movement path during laser processing.

[0006] In another aspect of the present disclosure, an apparatus for correcting predetermined teaching points for laser processing of a workpiece includes a movement control unit that moves a mobile machine that moves the workpiece and a laser emission port that emits laser light generated by a laser oscillator relatively along a movement path defined by a first teaching point and a second teaching point; a gap control execution unit that operates the mobile machine to maintain a constant distance between the laser emission port and the workpiece; a movement amount acquisition unit that acquires the movement amount of the mobile machine in a direction perpendicular to the movement path while the mobile machine moves from the first teaching point to the second teaching point; and a teaching point correction unit that, when the movement distance of the laser light that moves relatively over the workpiece while the mobile machine moves from the first teaching point to the second teaching point is greater than the length of the movement path, corrects the first teaching point or the second teaching point based on the movement amount acquired by the movement amount acquisition unit so that the movement distance matches the length of the movement path.

[0007] In yet another aspect of the present disclosure, a method for correcting a command value for laser processing a workpiece includes operating a mobile machine that moves a laser emission port that emits laser light generated by a laser oscillator relative to a workpiece in accordance with a predetermined speed command value to move the mobile machine along a predetermined movement path, operating the laser oscillator in accordance with a predetermined laser output command value to cause the laser oscillator to generate laser light, operating the mobile machine to maintain a constant distance between the laser emission port and the workpiece during laser processing, and correcting the speed command value or the laser output command value based on the amount of movement of the mobile machine in a direction perpendicular to the movement path during laser processing.

[0008] In yet another aspect of the present disclosure, a method for correcting a predetermined teaching point for laser processing of a workpiece includes moving a mobile machine that moves a laser emission port, which emits laser light generated by a laser oscillator, and the workpiece relatively along a movement path defined by a first teaching point and a second teaching point, operating the mobile machine so as to maintain a constant distance between the laser emission port and the workpiece, obtaining a movement amount of the mobile machine in a direction perpendicular to the movement path while moving from the first teaching point to the second teaching point, and if the movement distance of the laser light that moves relatively on the workpiece while the mobile machine moves from the first teaching point to the second teaching point is greater than the length of the movement path, correcting the first teaching point or the second teaching point based on the obtained movement amount so that the movement distance matches the length.

[0009] 10 is a schematic diagram of a robot system according to one embodiment. It is a block diagram of the robot system shown in FIG. 1. It is a diagram showing taught points taught for laser processing. It is a diagram for explaining the positions of the laser processing head and TCP when laser processing a workpiece having a convex portion. It shows the position of the TCP moving over the convex portion shown in FIG. 4. It is a flowchart of the functions of the robot system shown in FIG. 2. It shows a modified example of the flow of FIG. 6. It is a schematic diagram of a robot system according to another embodiment. It is a block diagram of the robot system shown in FIG. 8. It is an enlarged view of the laser processing head shown in FIG. 8. It shows a state in which the movable nozzle is retracted in the laser processing head shown in FIG. 10. It is a diagram for explaining the positions of the laser processing head and TCP when the robot system shown in FIG. 8 laser processes a workpiece having a convex portion. It shows other functions of the robot system shown in FIG. 1. It is a diagram for explaining the incident angle of a laser beam with respect to a workpiece. It is a graph showing the relationship between the incident angle of a laser beam with respect to a workpiece and the absorption rate of the workpiece. It shows an example of a data table in which the incident angle, the set values ​​of the speed command value and the laser output command value are stored in association with each other. It shows further other functions of the robot system shown in FIG. 1. It shows further other functions of the robot system shown in FIG. 1. It is a diagram showing taught points taught for laser processing. 20 is a diagram for explaining the positions of the laser processing head and the TCP when a movement operation is performed when the workpiece shown in FIG. 19 is inclined. FIG. 21 is a flowchart of the functions of the robot system shown in FIG. 18. FIG. 22 is a diagram for explaining a method of correcting a teaching point. FIG. 23 shows a modified example of the flow of FIG. 21. FIG. 24 shows still another function of the robot system shown in FIG. 1.

[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In various embodiments described below, similar elements will be designated by the same reference numerals, and duplicated descriptions will be omitted. First, a laser processing system 10 according to one embodiment will be described with reference to Figures 1 and 2. The laser processing system 10 is a system that performs laser processing (laser welding, laser cutting, etc.) on a workpiece W.

[0011] Specifically, the laser processing system 10 includes a robot 12, a laser processing head 14, a distance measurement sensor 16, a laser oscillator 18, and a control device 20. The robot 12 moves the laser processing head 14 relative to the workpiece W. In this embodiment, the robot 12 is a vertical articulated robot, and includes a robot base 22, a rotating body 24, a lower arm 26, an upper arm 28, and a wrist 30.

[0012] The robot base 22 is fixed to the floor of a work cell or on an automated guided vehicle (AGV). The rotating body 24 is attached to the robot base 22 so as to be rotatable around a vertical axis. The lower arm 26 is attached to the rotating body 24 so as to be rotatable around a horizontal axis. The upper arm 28 is rotatably attached to the tip of the lower arm 26. The wrist 30 has a wrist base 30a attached to the tip of the upper arm 28 so as to be rotatable around two axes that are perpendicular to each other, and a wrist flange 30b rotatably attached to the wrist base 30a.

[0013] Each component of the robot 12 (i.e., the robot base 22, the rotating body 24, the lower arm 26, the upper arm 28, and the wrist 30) is provided with a plurality of servo motors 32 ( FIG. 2 ). In response to commands from the control device 20, these servo motors 32 rotate each movable component of the robot 12 (i.e., the rotating body 24, the lower arm 26, the upper arm 28, the wrist base 30 a, and the wrist flange 30 b) around a drive axis. This causes the robot 12 to move the laser processing head 14. Each servo motor 32 is provided with a rotation detection sensor (encoder, Hall element, etc.) that detects the rotational position of the servo motor 32. Each rotation detection sensor supplies detection data Dr of the detected rotational position to the control device 20.

[0014] The laser processing head 14 is detachably attached to the wrist flange 30b of the robot 12 via an attachment / detachment tool 34. The laser processing head 14 has a head main body 36 and a nozzle 38. The head main body 36 is hollow and houses optical system components therein, such as optical lenses (collimator lenses, focus lenses, etc.) and a lens driver (e.g., a servo motor) that displaces the optical lenses in response to commands from the control device 20. The head main body 36 is provided with the attachment / detachment tool 34, which allows the head main body 36 to be attached to and detached from the wrist flange 30b.

[0015] The nozzle 38 is hollow and is provided at the tip of the head main body 36. In this embodiment, the nozzle 38 has a truncated conical outer shape whose cross-sectional area decreases from its base end to its tip end, and a laser emission port 40 is formed at the tip end. A hollow chamber is formed inside the head main body 36 and the nozzle 38, and assist gas is supplied into the chamber from an external assist gas supply device (not shown). Laser light LB generated by the laser oscillator 18 propagates through the chamber and is emitted along the optical axis A from the laser emission port 40 together with the assist gas.

[0016] The distance measurement sensor 16 measures the distance d between the laser emission port 40 and the workpiece W. Specifically, the distance measurement sensor 16 is, for example, a capacitance type, infrared type, laser type, or sonic type (for example, ultrasonic type) distance measurement sensor, and is fixed to the head main body 36 or the nozzle 38. The distance measurement sensor 16 measures the distance d in response to a command from the control device 20, and supplies measurement data Dd of the distance d to the control device 20.

[0017] The laser oscillator 18 internally oscillates in response to a laser output command value O from the control device 20 to generate laser light LB. The laser oscillator 18 may be a fiber laser oscillator, a pulse laser oscillator, a CO 2The laser oscillator 18 may be of any type, such as a laser oscillator, a solid-state laser (YAG laser) oscillator, etc. The laser oscillator 18 supplies the generated laser light LB to the laser processing head 14 via a light guide 42. The light guide 42 may be configured by an optical fiber, a cavity, a light guide material (such as quartz), a reflecting mirror, an optical lens, or the like.

[0018] 2, the control device 20 is a computer having a processor 50, a memory 52, and an I / O interface 54. The processor 50 has a CPU or a GPU, etc., and is communicatively connected to the memory 52 and the I / O interface 54 via a bus 56, and performs various arithmetic processes for executing the laser processing LP described below while communicating with these components. The memory 52 has a RAM or a ROM, etc., and temporarily or permanently stores various data used in the arithmetic processes executed by the processor 50 and various data generated during the arithmetic processes.

[0019] The I / O interface 54 has, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and communicates data with external devices via a wired or wireless connection under instructions from the processor 50. The robot 12 (servo motor 32), the laser processing head 14 (lens driver), the distance measurement sensor 16, and the laser oscillator 18 are communicatively connected to the I / O interface 54.

[0020] A robot coordinate system C1 and a tool coordinate system C2 are set in advance for the robot 12. The robot coordinate system C1 is a control coordinate system C for controlling the operation of each movable component of the robot 12 (i.e., the rotating body 24, the lower arm 26, the upper arm 28, the wrist base 30a, and the wrist flange 30b). In this embodiment, the robot coordinate system C1 is fixed relative to the robot base 22 so that its origin is located at the center of the robot base 22 and its z axis is parallel to (specifically, coincides with) the rotation axis of the rotating body 24.

[0021] On the other hand, the tool coordinate system C2 is a control coordinate system C that defines the positions of the wrist flange 30b and the laser processing head 14 in the robot coordinate system C1. For example, the origin of the tool coordinate system C2 (so-called Tool Center Point: TCP) is located at the position of the focal point FP of the laser beam LB emitted from the laser emission port 40 of the laser processing head 14, and the z axis of the tool coordinate system C2 is set to be parallel to (specifically, coincident with) the optical axis A. The TCP is a control point that represents the positions of the robot 12 (specifically, the wrist flange 30b) and the laser processing head 14 in the robot coordinate system C1.

[0022] The processor 50 can determine the coordinate P of the TCP in the robot coordinate system C1 at any time τ based on the detection data Dr acquired from the rotation detection sensor. This coordinate P represents the position P of the wrist flange 30b and the laser processing head 14 in the robot coordinate system C1 at the time τ. Note that the TCP may be set at the center of the laser emission port 40.

[0023] When moving the laser processing head 14, the processor 50 of the control device 20 sets a tool coordinate system C2 representing the target position in the robot coordinate system C1, and generates commands to each servo motor 32 of the robot 12 to position the laser processing head 14 at the position represented by the set tool coordinate system C2. In this way, the control device 20 operates the robot 12 to move the laser processing head 14 to any position in the robot coordinate system C1. In this way, in this embodiment, the robot 12 constitutes a mobile machine that moves the laser processing head 14 (i.e., the laser emission port) and the workpiece W relatively. Furthermore, the robot coordinate system C1 and the tool coordinate system C2 constitute a control coordinate system C for automatically controlling the operation of the robot 12.

[0024] Next, the laser processing LP performed by the laser processing system 10 will be described with reference to FIG. 3. In order to perform laser processing LP on the workpiece W, teaching points TPn (n = 1, 2, 3, ...) at which the laser processing head 14 (i.e., the TCP) should be positioned are determined in advance. In the example shown in FIG. 3, five teaching points TP1 to TP5 are taught in advance along the surface of the workpiece W. Note that in this embodiment, the surface of the workpiece W is assumed to be disposed parallel to the xy plane of the robot coordinate system C1. Therefore, the teaching points TP1 to TP5 are determined along the xy plane of the robot coordinate system C1.

[0025] These teaching points TPn are defined as instruction codes in the operation program PG1 for the laser processing LP. By executing the operation program PG1, the processor 50 operates the robot 12 to position the laser processing head 14 (TCP) at teaching points TP1 → TP2 → TP3 → TP4 → TP5 in this order. Two adjacent teaching points TPn and TPn+1 define a movement path MPn (n = 1, 2, 3, 4). In this embodiment, the movement path MPn is defined to extend along (specifically, parallel to) the x-y plane of the robot coordinate system C1.

[0026] Furthermore, a speed command value V is determined in advance, which defines the speed V when the laser processing head 14 is moved along the movement path MPn from the teaching point TPn to the teaching point TPn+1. This speed command value V is determined in advance by the operator as a laser processing condition and is defined as a command code in the operation program PG1. Note that a different speed command value V may be set for each movement path MPn, or a common speed command value V may be set for all of the movement paths MP1 to MP4.

[0027] In the laser processing LP, the processor 50 executes the operation program PG1 to operate the robot 12 in accordance with the speed command value V, thereby executing a movement operation LP1 that moves the robot 12 and the laser processing head 14 (TCP) along the movement path MPn at a speed V defined by the speed command value V. In this way, in the present embodiment, the processor 50 functions as a movement control unit 62 ( FIG. 2 ) that operates the robot 12 in accordance with the speed command value V to move along the movement path MPn.

[0028] 3, the direction of the movement path MPn coincides with the negative x-axis direction of the robot coordinate system C1. In the following description, when the robot 12 is moved along the movement path MPn in the movement operation LP1, the laser processing head 14 is maintained in an attitude in which the z-axis of the tool coordinate system C2 (i.e., the optical axis A) is parallel to the z-axis of the robot coordinate system C1 (in other words, perpendicular to the movement path MPn).

[0029] Along with this movement operation LP1, the processor 50 executes gap control LP2 in the laser processing LP, which causes the robot 12 to operate so as to maintain a constant distance d between the laser emission port 40 and the workpiece W. More specifically, the processor 50 executes a gap control program PG2 for the gap control LP2.

[0030] In accordance with this gap control program PG2, the processor 50 causes the robot 12 to move the laser processing head 14 based on the measurement data Dd acquired from the distance measurement sensor 16 so that the distance d coincides with a predetermined target distance dt. This target distance dt is set, for example, to the distance from the laser emission port 40 to the focus FP of the laser light LB (in other words, the distance from the laser emission port 40 to the TCP) (e.g., dt = 1 mm). The target distance dt is specified as a command code in the gap control program PG2.

[0031] In the example of Figure 3, the processor 50 moves the laser processing head 14 along the movement path MPn in the negative x-axis direction of the robot coordinate system C1 by movement operation LP1, and moves the laser processing head 14 in the z-axis direction of the robot coordinate system C1 by gap control LP2 so that the distance d matches the target distance dt. In this way, the distance d is maintained constant during movement operation LP1. Therefore, in this embodiment, the processor 50 functions as a gap control execution unit 64 (Figure 2) that executes gap control LP2.

[0032] In addition to the movement operation LP1 and gap control LP2, the processor 50 also performs a laser light generation operation LP3 in the laser processing LP, which operates the laser oscillator 18 in accordance with a predetermined laser output command value O to cause the laser oscillator 18 to generate laser light LB. Therefore, the processor 50 functions as a laser oscillation control unit 66 ( FIG. 2 ) that executes the laser light generation operation LP3. The laser output command value O includes, for example, a laser power command value Op, a frequency command value Of, and a duty ratio command value Od.

[0033] The laser power command value Op specifies the laser power Op [kW] of the output laser light LB. The frequency command value Of specifies the frequency Of [Hz] of the laser light LB when generating pulsed laser light. Furthermore, the duty ratio command value Od specifies the duty ratio Od [%] of the laser light LB. The laser output command value O (laser power command value Op, frequency command value Of, duty ratio command value Od) is predetermined by the operator as a laser processing condition. As described above, the processor 50 performs laser processing LP on the workpiece W by executing the movement operation LP1, gap control LP2, and laser light generation operation LP3 in parallel.

[0034] Here, due to surface roughness, deformation, improper mounting, or the like, the surface of the workpiece W may not be a plane parallel to the x-y plane of the robot coordinate system C1, but may be uneven or tilted. Figure 4 shows such an example. In the workpiece W shown in Figure 4, a convex portion B is formed in the section between teaching points TP2 and TP4. When the above-described laser processing LP is performed on such a convex portion B, the gap control LP2 causes the laser processing head 14 (TCP) to move along the convex portion B, resulting in the laser processing head 14 being positioned at a position TP3' that is shifted from teaching point TP3 in a direction perpendicular to the movement path MP2, i.e., in the positive direction of the z-axis of the robot coordinate system C1.

[0035] In this case, the moving speed v of the laser beam LB moving relatively on the workpiece W while the robot 12 moves the laser processing head 14 from teaching point TP2 toward teaching point TP3 in accordance with the speed command value V will be faster than the speed V specified by the speed command value V. This point will be explained in detail with reference to Fig. 5. Position P1 shown in Fig. 5 indicates the position of the TCP at an arbitrary time τ1 while the robot 12 moves the laser processing head 14 along the convex portion B.

[0036] On the other hand, position P2 indicates the position of the TCP at time τ2 (=τ1+T) after a predetermined time T has elapsed since time τ1. Position P2' indicates a position having the same x coordinate in the robot coordinate system C1 as position P2 and the same z coordinate in the robot coordinate system C1 as position P1. The coordinates of positions P1, P2, and P2' in the robot coordinate system C1 are P1(x1, y1, z1), P2(x2, y1, z2), and P2'(x2, y1, z1), respectively.

[0037] In this case, the distance Δ1 between positions P1 and P2' is Δ1 = x1 - x2, and the distance Δ2 between positions P2' and P2 is Δ2 = z2 - z1. This distance Δ2 corresponds to the amount of movement Δ2 by which the robot 12 moves the laser processing head 14 in a direction perpendicular to the movement path MP2 (i.e., in the z-axis direction of the robot coordinate system C1) by means of gap control LP2. Also, the distance Δ3 between positions P1 and P2 is Δ3 = (Δ1 2 +Δ2 2 ) 1/2 This becomes:

[0038] Here, during movement operation LP1, the robot 12 moves the laser processing head 14 along movement path MP2 in the negative x-axis direction of the robot coordinate system C1 at a speed V specified by the speed command value V. Therefore, the laser processing head 14 moves from position P1 to position P2 in time t = Δ1 / V. Then, the movement speed v at which the laser beam LB emitted from the laser processing head 14 moves relatively on the surface of the convex portion B from position P1 to position P2 is v = V × Δ3 / Δ1. Since Δ3 > Δ1, this movement speed v is faster than the speed command value V.

[0039] The movement speed v of the laser beam LB when the laser processing head 14 is moved between the teaching points TP3 and TP4 can also be calculated in a similar manner. If the movement speed v of the laser beam LB irradiated onto the workpiece W increases in this way, the amount of heat input of the laser beam LB per unit area of ​​the workpiece W may decrease. Alternatively, if the laser beam LB is a pulsed laser beam, the wave number of the laser beam LB incident on the workpiece W per unit area may decrease. As a result, the processing quality of the workpiece W may be affected (variation, etc.).

[0040] Therefore, in this embodiment, the processor 50 corrects the command value for laser processing LP (specifically, the laser output command value O or the speed command value V) to avoid the effect on processing quality due to an increase in the movement speed v. The functions of the laser processing system 10 will be described below with reference to Fig. 6. The processor 50 starts the flow of Fig. 6 when it receives a processing start command from an operator, a higher-level controller, or the computer program PG3.

[0041] In step S1, the processor 50 starts laser processing LP. Specifically, the processor 50 performs the above-described movement operation LP1, gap control LP2, and laser light generation operation LP3 in parallel as part of the laser processing LP. As a result, the laser processing head 14 is moved along the movement path MPn, and the workpiece W is laser-processed using the laser light LB emitted from the laser emission port 40 of the laser processing head 14. During the execution of the laser processing LP, the processor 50 periodically acquires the coordinates P(x, y, z) of the TCP in the robot coordinate system C1 based on the detection data Dr from the rotation detection sensor.

[0042] In step S2, the processor 50 determines whether the movement amount Δ2 by which the robot 12 moves the laser processing head 14 in a direction perpendicular to the movement path MPn (i.e., the z-axis direction of the robot coordinate system C1) exceeds a predetermined threshold Δth. As an example, as described with reference to FIG. 5, the processor 50 calculates the movement amount Δ2 as Δ2 = z2 - z1 from the z coordinate: z2 of the coordinate P2 (x2, y1, z2) in the robot coordinate system C1 of the TCP acquired at the most recent time τ2 and the z coordinate: z1 of the coordinate P1 (x1, y1, z1) in the robot coordinate system C1 of the TCP acquired at time τ1, the cycle T before time τ2.

[0043] As another example, when the processor 50 acquires a coordinate P2 (x2, y1, z2) at the most recent time τ2, it calculates the average value Σzm / m of the z coordinates of any number m (e.g., m=5) of coordinates Pm (xm, ym, zm) acquired consecutively before the time τ2 (i.e., the moving average value of the z coordinates).Then, the processor 50 calculates the movement amount Δ2 as Δ2=z2-Σzm / m.

[0044] As described above, in this embodiment, the processor 50 acquires the movement amount Δ2 based on the z-axis coordinates z1, z2, and zm of the robot 12 (TCP) in the robot coordinate system C1. Therefore, the processor 50 functions as a movement amount acquisition unit 68 ( FIG. 2 ) that acquires the movement amount Δ2. The processor 50 compares the acquired movement amount Δ2 with the threshold value Δth, and if the movement amount Δ2 exceeds the threshold value Δth (Δ2 > Δth), the processor 50 determines YES. If the processor 50 determines YES, the process proceeds to step S3, and if the processor 50 determines NO, the process proceeds to step S4.

[0045] In step S3, the processor 50 corrects the command value (speed command value V or laser output command value O) based on the movement amount Δ2 of the robot 12 in a direction perpendicular to the movement path MPn. The case of correcting the laser output command value O will be described below. In this case, the processor 50 first obtains the movement speed ν of the laser beam LB that moves relatively over the workpiece W during laser processing LP based on the movement amount Δ2.

[0046] As an example, if the movement amount Δ2 was calculated as Δ2=z2-z1 in the immediately preceding step S2, the processor 50 calculates the movement speed v from the above-mentioned formula: v=V×Δ3 / Δ1. As another example, if the movement amount Δ2 was calculated as Δ2=z2-Σzm / m in the immediately preceding step S2, the processor 50 first calculates the average value Σxm / m of the x coordinates of m coordinates Pm (xm, ym, zm) acquired before time τ2 (i.e., the moving average value of the x coordinates). Then, the distance Δ1 is calculated as Δ1=Σxm / m-x2, and the movement speed v is calculated from the formula: v=V×Δ3 / Δ1 (where Δ3=(Δ1 2 +Δ2 2 ) 1/2 ) In this manner, in this embodiment, the processor 50 functions as a speed acquisition unit 70 (FIG. 2) that acquires the moving speed ν.

[0047] Next, the processor 50 corrects the laser output command value O based on the acquired moving speed v. Specifically, the processor 50 multiplies the laser output command value O by a variable α (= v / V) obtained by dividing the moving speed v by the speed command value V, thereby correcting the laser output command value O to a corrected output command value O′ (= α × O). For example, if the laser output command value O is a laser power command value Op, the processor 50 corrects the laser power command value Op to a corrected output command value Op′ = α × Op = Op × v / V.

[0048] Furthermore, when the laser output command value O is the duty ratio command value Od, the processor 50 also corrects the duty ratio command value Od to ​​a corrected output command value Od' = α × Od = Od × v / V. In this way, by correcting the laser power command value Op or the duty ratio command value Od to ​​the corrected output command value Op' or Od' (in other words, by increasing the laser power Op and the duty ratio Od), it is possible to suppress a decrease in the amount of heat input per unit area of ​​the workpiece W due to an increase in the movement speed v in the laser processing LP, thereby making it possible to uniform the amount of heat input throughout the entire laser processing LP.

[0049] On the other hand, when the laser output command value O is the frequency command value Of, the processor 50 similarly corrects the frequency command value Of to a corrected output command value Of' = α × Of = Of × v / V. In this case, the frequency of the laser light LB incident on the workpiece W increases according to the moving speed v. This suppresses a decrease in the wave number of the laser light LB incident per unit area of ​​the workpiece W in the laser processing LP, thereby making it possible to uniform the wave number incident throughout the entire laser processing LP.

[0050] In this way, the processor 50 corrects the laser output command value O based on the moving speed v. Note that the formula for calculating the corrected output command value O' is not limited to O' = α × O. The processor 50 may calculate the corrected output command value O' using an arbitrary function formula of the moving speed v: O' = f(v). Each term of this function formula: O' = f(v) is arbitrarily determined by an operator using an experimental method, simulation, or the like. After step S3, the processor 50, as the laser oscillation control unit 66, operates the laser oscillator 18 in accordance with the corrected output command value O' to perform the laser light generation operation LP3.

[0051] Next, a case where the speed command value V is corrected will be described. As an example, when the movement amount Δ2 is calculated as Δ2=z2-z1 in the immediately preceding step S2, the processor 50 calculates the inclination angle θ (FIG. 5) of the surface of the convex portion B with respect to the movement path MPn as θ=tan -1 (Δ2 / Δ1) (where Δ1=x1-x2). Then, the processor 50 calculates the corrected speed command value V' as V'=Vcos θ.

[0052] As another example, if the movement amount Δ2 is calculated as Δ2=z2-Σzm / m in the immediately preceding step S2, the processor 50 calculates the average value Σxm / m and calculates the distance Δ1 as Δ1=Σxm / m-x2. Then, the processor 50 calculates the angle θ as θ=tan -1 (Δ2 / Δ1), and the corrected speed command value V′ is calculated as V′=Vcos θ.

[0053] In this way, the processor 50 corrects the speed command value V based on the movement amount Δ2. After step S3, the processor 50, as the movement control unit 62, operates the robot 12 in accordance with the corrected speed command value V' to execute the movement operation LP1. By correcting the speed command value V to the corrected speed command value V' in this way (in other words, reducing the speed V), it is possible to suppress a decrease in the amount of heat input per unit area of ​​the workpiece W due to an increase in the movement speed v in the laser processing LP, thereby making it possible to uniform the amount of heat input throughout the entire laser processing LP.

[0054] As described above, in this embodiment, in step S3, the processor 50 corrects the speed command value V or the laser output command value O based on the amount of movement Δ2 by which the robot 12 moves in a direction perpendicular to the movement path MPn (the z-axis direction of the robot coordinate system C1) during execution of the laser processing LP. Therefore, the processor 50 functions as a command corrector 72 ( FIG. 2 ) that corrects the speed command value V or the laser output command value O. In step S4, the processor 50 determines whether the laser processing LP has ended. If the processor 50 determines YES, it ends the flow of FIG. 6 , but if the processor 50 determines NO, it returns to step S2.

[0055] As described above, in this embodiment, the processor 50 functions as the movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, speed acquisition unit 70, and command correction unit 72, and corrects the command values ​​V and O for laser processing the workpiece W. Therefore, the movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, speed acquisition unit 70, and command correction unit 72 constitute a device 60 ( FIG. 2 ) that corrects the command values ​​V and O.

[0056] In this apparatus 60, the movement control unit 62 performs a movement operation LP1 in laser processing LP (step S1) by operating the mobile machine (robot) 12 in accordance with a predetermined speed command value V to move the mobile machine (robot) 12 along a predetermined movement path MPn. Meanwhile, the laser oscillation control unit 66 performs a laser light generation operation LP3 in laser processing LP by operating the laser oscillator 18 in accordance with predetermined laser output command values ​​O (laser power command value Op, frequency command value Of, duty ratio command value Od) to cause the laser oscillator 18 to generate laser light LB.

[0057] Furthermore, the gap control execution unit 64 executes gap control LP2 during laser processing LP to operate the mobile machine 12 so as to maintain a constant distance d (target distance dt) between the laser emission port 40 and the workpiece W. Then, the command correction unit 72 corrects the speed command value V or the laser output command value O based on the amount of movement Δ2 of the mobile machine 12 during laser processing LP in a direction perpendicular to the movement path MPn (the z-axis direction of the robot coordinate system C1) (step S3).

[0058] Here, if there are unintended irregularities or inclinations on the surface of the workpiece W, as described with reference to Fig. 5, the moving speed v of the laser beam LB moving relatively on the workpiece W becomes greater than the speed command value V. In this embodiment, by correcting the speed command value V or the laser output command value O, it is possible to uniformize the amount of heat input or wave number per unit area of ​​the workpiece W, thereby maintaining the processing quality.

[0059] Furthermore, in this embodiment, the speed acquisition unit 70 acquires the movement speed v of the laser beam LB that moves relatively over the workpiece W during laser processing LP based on the movement amount Δ2. Then, the command correction unit 72 corrects the laser output command value O based on the movement speed v acquired by the speed acquisition unit 70. According to this configuration, the laser output command value O can be appropriately corrected according to the movement speed v so as to more effectively suppress a decrease in the amount of heat input or wave number per unit area of ​​the workpiece W.

[0060] In this embodiment, the laser output command value O includes at least one of a laser power command value Op that defines the laser power Op of the laser beam LB, a frequency command value Of that defines the frequency Of of the laser beam LB, and a duty ratio command value Od that defines the duty ratio Od of the laser beam LB. The command correction unit 72 corrects the laser power command value Op, the frequency command value Of, or the duty ratio command value Od. With this configuration, the heat input amount or wave number per unit area of ​​the workpiece W can be effectively adjusted according to the moving speed ν.

[0061] Furthermore, in this embodiment, the command correction unit 72 corrects the laser output command value O by multiplying the laser output command value O by a variable α (ν / V) obtained by dividing the moving speed ν acquired by the speed acquisition unit 70 by the speed command value V (α×O). According to this configuration, the laser output command value O can be corrected using a relatively simple algorithm, and the process of correcting the laser output command value O (step S3) can be speeded up.

[0062] Furthermore, in this embodiment, a control coordinate system C (robot coordinate system C1) for automatically controlling the operation of the mobile machine 12 is set in advance, and the movement path MPn is determined along a plane (xy plane) defined by a first axis (x-axis) and a second axis (y-axis) of the control coordinate system C. The movement amount acquisition unit 68 then acquires the movement amount Δ2 based on the coordinates z1, z2, and zm of the third axis (z-axis) of the control coordinate system C of the mobile machine 12. With this configuration, the movement amount Δ2 can be acquired quickly and with high accuracy from the coordinates of the control coordinate system C.

[0063] In the above embodiment, the teaching point TPn and the movement path MPn are defined along the xy plane of the robot coordinate system C1. However, the teaching point TPn and the movement path MPn may be defined at any position, for example, so as to be inclined (intersect) with the xy plane of the robot coordinate system C1. Furthermore, if the processor 50 only corrects the speed command value V in step S3, the process of calculating the movement speed v can be omitted. In other words, in this case, the speed acquisition unit 70 can be omitted from the device 60.

[0064] Various modifications can be made to the flow of Fig. 6. Fig. 7 shows an example of a modification of the flow of Fig. 6. In the flow shown in Fig. 7, the same processes as those in the flow of Fig. 6 are assigned the same step numbers, and duplicated explanations will be omitted. In the flow of Fig. 7, the processor 50 executes steps S5 and S6 after step S1.

[0065] In step S5, the processor 50 functions as the speed acquisition unit 70 to acquire the movement speed v based on the movement amount Δ2, as in the above-described embodiment. In step S6, the processor 50 determines whether the movement speed v acquired in the immediately preceding step S5 exceeds a predetermined threshold vth (v>vth). If the processor 50 determines YES, the process proceeds to step S3, and if the processor 50 determines NO, the process proceeds to step S4.

[0066] In step S3, the processor 50 functions as the command corrector 72, similarly to the embodiment described above, and corrects the laser output command value O to a corrected output command value O' (O' = α × O or O' = f(ν)) based on the moving speed ν acquired in the most recent step S5. In this way, in this embodiment, the laser output command value O is corrected in response to the moving speed ν exceeding the threshold value νth.

[0067] If the determination in step S2 or S6 is NO after executing step S3, the processor 50 may switch the corrected output command value O' or the corrected speed command V' back to the original output command value O or the speed command V. For example, assume that the determination in step S2 or S6 is NO after correcting the laser power command value Op to the corrected laser power command value Op' in step S3. In this case, the processor 50 switches the command value to be sent to the laser oscillator 18 from the corrected laser power command value Op' to the laser power command value Op.

[0068] Next, a laser processing system 80 according to another embodiment will be described with reference to Figures 8 to 11. The laser processing system 80 differs from the above-described laser processing system 10 in a laser processing head 82. As shown in Figure 10, the laser processing head 82 has a head main body 36 and a movable nozzle 84 provided on the head main body 36 so as to be movable forward and backward along the optical axis A. The laser emission port 40 is formed at the tip of the movable nozzle 84.

[0069] In addition to the optical lens and lens driver described above, an emission port driver 86 is provided inside the head main body 36. The emission port driver 86 has, for example, a servo motor, and moves the movable nozzle 84 (i.e., the laser emission port 40) forward and backward along the optical axis A relative to the head main body 36. Also provided inside the head main body 36 is a distance sensor (encoder, Hall element, linear scale, etc.) that detects the advance distance L of the movable nozzle 84 relative to the head main body 36. The advance distance L is defined as, for example, the distance from the tip of the head main body 36 to the laser emission port 40. The distance sensor supplies detection data Dl of the detected advance distance L to the control device 20.

[0070] 10 shows a state in which the movable nozzle 84 is disposed at a reference position relative to the head main body 36, where the advance distance L=L0. The reference distance L0 corresponding to this reference position is determined in advance by the operator. In this embodiment, the origin (TCP) of the tool coordinate system C2 is disposed, for example, at the focal point FP of the laser light LB emitted from the laser emission port 40 of the movable nozzle 84 disposed at the reference position.

[0071] 11 shows a state in which the movable nozzle 84 has been moved back from the reference position shown in FIG. 10 toward the head main body 36 by the operation of the outlet drive unit 86. Here, the TCP is fixed to the wrist flange 30b and the head main body 36. Therefore, the distance between the TCP and the laser outlet 40 shown in FIG. 11 is greater than that shown in FIG. 10. That is, in this embodiment, the positional relationship between the TCP and the laser outlet 40 changes depending on the advance distance L.

[0072] As described above, in this embodiment, the robot 12 moves the laser processing head 82, and the emission port drive unit 86 moves the movable nozzle 84 (i.e., the laser emission port 40). Therefore, the robot 12 and the emission port drive unit 86 constitute a moving machine 88 that moves the laser emission port 40 and the workpiece W relative to each other.

[0073] Next, the function of the laser processing system 80 will be described with reference to Figure 6. In step S1, the processor 50 starts laser processing LP. Specifically, the processor 50 functions as the movement control unit 62 and operates the robot 12 in accordance with the speed command value V to execute a movement operation LP1 in which the laser processing head 82 (TCP), with the movable nozzle 84 positioned at the reference position (Figure 10), is sequentially positioned at the teaching point TPn.

[0074] In parallel with this moving operation LP1, the processor 50 functions as the gap control execution unit 64 to execute gap control LP2, which operates the moving machine 88 so as to maintain a constant distance d (target distance dt) between the laser emission port 40 and the workpiece W. Specifically, the processor 50 operates the emission port drive unit 86 based on the measurement data Dd from the distance measurement sensor 16, and changes the advance distance L so as to match the distance d with the target distance dt.

[0075] The processor 50 then functions as a laser oscillation control unit 66 and operates the laser oscillator 18 in accordance with the laser output command value O to perform a laser light generating operation LP3 that generates laser light LB. During the laser processing LP, the processor 50 periodically acquires the coordinates P (x, y, z) of the TCP in the robot coordinate system C1 based on the detection data Dr of the rotation detection sensor, and periodically acquires the advance distance L based on the detection data Dl of the distance sensor. Note that the processor 50 may acquire the coordinates P of the TCP and the advance distance L synchronously (i.e., at the same time).

[0076] In step S2, the processor 50 determines whether the amount of movement Δ2 by which the mobile machine 88 moves the laser emission port 40 in a direction perpendicular to the movement path MPn (i.e., the z-axis direction of the robot coordinate system C1) exceeds a predetermined threshold value Δth. Here, as shown in FIG. 12 , when the laser processing head 82 (TCP) is moved from teaching point TP2 to teaching point TP3, the TCP is positioned at teaching point TP3, but the movable nozzle 84 is retracted by the operation of the emission port drive unit 86 under gap control LP2. In other words, in this embodiment, the z-coordinate of the TCP in the robot coordinate system C1 does not change.

[0077] Therefore, in this embodiment, the processor 50 functions as the movement amount acquisition unit 68 and calculates the movement amount Δ2 based on the advance distance L. As an example, the processor 50 calculates the movement amount Δ2 as Δ2=L1-L2 from the advance distance L2 acquired at the most recent time point τ2 and the advance distance L1 acquired at time point τ1 that is the cycle T before time point τ2.

[0078] As another example, when the processor 50 acquires the forward distance L2 at the most recent time point τ2, it calculates the average value ΣLm / m of any number m (e.g., m = 5) of forward distances Lm acquired consecutively before the time point τ2 (i.e., the moving average value of the forward distance L). The processor 50 then calculates the movement amount Δ2 as Δ2 = ΣLm / m - L2. In this way, the processor 50 functions as the movement amount acquisition unit 68 and acquires the movement amount Δ2 based on the forward distance L. If the acquired movement amount Δ2 exceeds the threshold value Δth, the processor 50 determines YES and proceeds to step S3, whereas if the processor 50 determines NO, it proceeds to step S4.

[0079] In step S3, the processor 50 functions as a command correction unit 72 to correct the command value (speed command value V or laser output command value O) based on the movement amount Δ2 of the mobile machine 88 in a direction perpendicular to the movement path MPn. When correcting the laser output command value O, the processor 50 functions as a speed acquisition unit 70 to acquire the movement speed ν of the laser beam LB that moves relatively over the workpiece W during laser processing LP based on the movement amount Δ2.

[0080] As an example, if the movement amount Δ2 was calculated as Δ2=L1-L2 in the immediately preceding step S2, the processor 50 calculates Δ1=x1-x2 from the coordinate P1(x2, y1, z1) in the robot coordinate system C1 of the TCP acquired at the most recent time point τ2 and the coordinate P1(x1, y1, z1) in the robot coordinate system C1 of the TCP acquired at time point τ1, which is the cycle T before time point τ2. Then, the processor 50 calculates Δ3=(Δ1 2 +Δ2 2 ) 1/2 and the moving speed ν is calculated from the formula ν=V×Δ3 / Δ1.

[0081] As another example, if the movement amount Δ2 was calculated as Δ2=ΣLm / m-L2 in the immediately preceding step S2, the processor 50 first acquires any number m (e.g., m=5) of TCP coordinates Pm (xm, ym, zm) that were continuously acquired before the most recent time point τ2. Then, the processor 50 calculates the average value Σxm / m of the x coordinates of the m coordinates Pm.

[0082] Then, the processor 50 calculates the distance Δ1 as Δ1=Σxm / m−x2, and calculates the moving speed ν from the formula ν=V×Δ3 / Δ1 (where Δ3=(Δ1 2 +Δ2 2 ) 1/2 ) The processor 50 then functions as a command corrector 72, and corrects the laser output command value O to a corrected output command value O' (for example, O' = α × O = O × ν / V), similarly to the above-described embodiment.

[0083] Next, a case where the speed command value V is corrected will be described. Specifically, when the movement amount Δ2 is calculated as Δ2=L1-L2 or ΣLm / m-L2 in the immediately preceding step S2, the processor 50 calculates the angle θ as θ=tan -1 (Δ2 / Δ1) (where Δ1=x1-x2 or Σxm / m-x2), and the corrected speed command value V' is calculated as V'=Vcos θ. In this way, the processor 50 functions as a command corrector 72 and corrects the speed command value V based on the movement amount Δ2.

[0084] As described above, in this embodiment, the mobile machine 88 includes the robot 12 that moves the laser processing head 82 in which the laser emission port 40 is formed, and the emission port drive unit 86 that is provided on the laser processing head 82 and moves the laser emission port 40 forward and backward along the optical axis A. The movement amount acquisition unit 68 acquires the movement amount Δ2 based on the advance distance L of the laser emission port 40 caused by the emission port drive unit 86. With this configuration, even when laser processing LP is performed using the laser processing head 82 that can advance and retreat the laser emission port 40, the advance distance L can be used to correct the speed command value V or the laser output command value O.

[0085] It should be understood that in laser processing system 80 as well, processor 50 can execute the flow of Fig. 7 based on the movement amount Δ2 calculated from the advance distance L. Furthermore, in laser processing system 10 or 80, processor 50 may execute the flow of Fig. 6 or 7 in accordance with computer program PG3 pre-stored in memory 52. ​​Furthermore, the functions of device 60 (movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, speed acquisition unit 70, command correction unit 72) executed by processor 50 may be functional modules realized by computer program PG3.

[0086] Next, other functions of the laser processing system 10 will be described with reference to Fig. 13. Functions according to this embodiment will be described with reference to Fig. 6. The processor 50 functions as a movement control unit 62, a gap control execution unit 64, a laser oscillation control unit 66, and a movement amount acquisition unit 68, similar to the above-described embodiment, and executes steps S1 and S2.

[0087] In step S3, the processor 50 corrects the speed command value V or the laser output command value O based on the incident angle φ of the laser beam LB with respect to the workpiece W. As shown in Fig. 14, the incident angle φ of the laser beam LB incident on the surface of the convex portion B, which is inclined at an angle θ, is φ = 90° - θ. Here, the absorptance ρ [%] of the laser beam LB incident on the workpiece W changes depending on the incident angle φ.

[0088] FIG. 15 shows the laser beams of certain types (YAG laser, CO 2 15 is a graph showing the relationship between the incident angle φ of the laser beam LB (laser) and the absorptance ρ of the workpiece W. As shown by characteristic E in FIG. 15 , the absorptance ρ changes with the incident angle φ. If the absorptance ρ decreases due to a change in the incident angle φ, the amount of heat input of the laser beam LB per unit area of ​​the workpiece W decreases, which may affect the processing quality.

[0089] Therefore, in this embodiment, the processor 50 corrects the speed command value V or the laser output command value O based on the incident angle φ in step S3. First, the processor 50 obtains the incident angle φ based on the movement amount Δ2. As an example, if the movement amount Δ2 is obtained as Δ2=z2-z1 or Δ2=z2-Σzm / m in the immediately preceding step S2, the processor 50 obtains the angle θ (FIG. 14) as θ=tan -1 (Δ2 / Δ1) (where Δ1=x1-x2 or Δ1=Σxm / m-x2). The processor 50 then calculates the incident angle φ as φ=90°-θ. In this manner, in this embodiment, the processor 50 functions as an incident angle acquisition unit 92 (FIG. 13) that acquires the incident angle φ based on the amount of movement Δ2.

[0090] Next, the processor 50 functions as a command corrector 72 and corrects the speed command value V or the laser output command value O based on the acquired incident angle φ. In this embodiment, a data table 150 is prepared in advance, which stores the incident angle φ and the set values ​​Vs and Os of the speed command value V and the laser output command value O in association with each other. An example of the data structure of the data table 150 is shown in FIG. 16 .

[0091] In the example shown in FIG. 16 , column 152 indicates various incident angles φ (=90°, 85°, 80°, ...). Column 154 indicates the set value Ops of the laser power command value Op. In this embodiment, the set value Ops of the laser power command value Op is set as a value (βi × Op) obtained by multiplying the laser power command value Op set by the operator as a laser processing condition by a predetermined coefficient βi (i = 1, 2, 3, ...). In other words, the set value Ops changes depending on the laser power command value Op set by the operator.

[0092] The coefficient βi is set appropriately in consideration of the characteristic E shown in Fig. 15. For example, if the incident angle φ at which the absorptance ρ reaches its peak value in the characteristic E shown in Fig. 15 is φ90°, then β1 is set as 1, and the other coefficients βi are set as numbers greater than 1 in accordance with the characteristic E. Columns 156 and 158 respectively indicate the set value Ofs of the frequency command value Of and the set value Ods of the duty ratio command value Od.

[0093] Similar to the setting value Ops of the laser power command value Op, these setting values ​​Ofs and Ods are set as values ​​(γi × Of, εi × Od) obtained by multiplying the frequency command value Of and duty ratio command value Od set by the operator by predetermined coefficients γi and εi. Similar to the coefficient βi, the coefficients γi and εi may be determined based on the coefficients γ1 and ε1 corresponding to the incident angle φ=90° at which the absorptance ρ reaches its peak. By setting the coefficients βi, γi, and εi in this manner, the setting values ​​Ops, Ofs, and Ods can be increased as the absorptance ρ decreases in accordance with the incident angle φ.

[0094] On the other hand, column 160 indicates the set value Vs of the speed command value V. This set value Vs is also set as a value (ζi × V) obtained by multiplying the speed command value V set by the operator by a predetermined coefficient ζi. For example, if this coefficient ζi is set to coefficient β1=1 corresponding to the incident angle φ=90° at which the absorptance ρ reaches its peak value, the other coefficients βi are set to numbers smaller than 1 according to the characteristic E. That is, in this case, as the absorptance ρ decreases according to the incident angle φ, the set value Vs decreases.

[0095] The above-mentioned coefficients βi, γi, εi, and ζi can be determined by an experimental method, a simulation, or the like, based on the incident angle φ (e.g., 90°) at which the absorptance ρ reaches its peak value. The processor 50 applies the acquired incident angle φ to the data table 150 together with the command value O or V set by the operator, and can acquire the set value Ops, Ofs, Ods, or Vs for the incident angle φ by multiplying the command value O or V by the coefficient βi, γi, εi, or ζi. Then, the processor 50 corrects the currently set laser power command value Op, frequency command value Of, duty ratio command value Od, or speed command value V by changing it to the acquired set value Ops, Ofs, Ods, or Vs.

[0096] For example, when correcting the laser power command value Op, if the incident angle φ=80° is acquired, the processor 50 applies the incident angle φ=80° together with the laser power command value Op to the data table 150, and corrects the laser power command value Op to a corrected output command value Op'=β3×Op. Thus, in step S3, the processor 50 corrects the speed command value V or the laser output command value O based on the incident angle φ. After step S3, the processor 50 executes step S4.

[0097] As described above, in this embodiment, the processor 50 functions as the movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, command correction unit 72, and incident angle acquisition unit 92, and corrects the command values ​​V and O for laser processing the workpiece W. Therefore, the movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, command correction unit 72, and incident angle acquisition unit 92 constitute a device 90 ( FIG. 13 ) that corrects the command values ​​V and O.

[0098] In this device 90, the incident angle acquisition unit 92 acquires the incident angle φ of the laser beam LB with respect to the workpiece W based on the amount of movement Δ2 of the mobile machine (robot) 12 in a direction perpendicular to the movement path MPn during laser processing LP. Then, the command correction unit 72 corrects the speed command value V or the laser output command value O based on the incident angle φ acquired by the incident angle acquisition unit 92. With this configuration, even if the absorptance ρ decreases in accordance with the incident angle φ as described above, the heat input amount or wave number of the laser beam LB per unit area of ​​the workpiece W can be made uniform, thereby maintaining processing quality.

[0099] Furthermore, in the device 90, a data table 150 ( FIG. 16 ) is prepared in advance, which stores the incident angle φ and the set values ​​Ops, Ofs, Ods, and Vs of the speed command value V or the laser output command value O in association with each other. The command corrector 72 then applies the incident angle φ acquired by the incident angle acquirer 92 to the data table 150, and corrects the speed command value V or the laser output command value O by changing them to the set values ​​Ops, Ofs, Ods, and Vs corresponding to the incident angle φ. With this configuration, the process (step S3) of correcting the speed command value V or the laser output command value O can be executed quickly using a relatively simple algorithm.

[0100] In the data table 150, as an example, the incident angle φ in the column 152 is defined as 90°, 85°, 80°, etc. However, the present invention is not limited to this. For example, the incident angle φ defined in each row of the column 152 may be within a predetermined range: φ k ≦φ<φ k+1 (For example, the incident angle φ in the third row of column 152 may be defined as 78°≦φ<82°).

[0101] In addition, the case has been described in which the set values ​​Ops, Ofs, Ods, and Vs stored in the data table 150 are determined as values ​​obtained by multiplying the command value O or V by the coefficients βi, γi, εi, and ζi. However, the present invention is not limited to this, and the set values ​​Ops, Ofs, Ods, and Vs may be determined by an operator as arbitrary constants, or may be determined by any other calculation formula.

[0102] In the above embodiment, the processor 50 corrects the command values ​​V and O using the data table 150. However, the present invention is not limited to this. The processor 50 can also correct the command values ​​V and O based on the characteristic E shown in Fig. 15. For example, the characteristic E can be expressed by a function formula ρ = f(φ).

[0103] When correcting the laser output command value O, the processor 50 may obtain the corrected output command value O' as a function of the incident angle φ, as O' = O × κ / f(φ), where κ is a predetermined coefficient or function. According to this function: O' = O × κ / f(φ), the laser output command value O can be increased in response to the decrease in the absorptance ρ = f(φ) due to the incident angle φ.

[0104] On the other hand, when correcting the speed command value V, the processor 50 may obtain the corrected speed command value V' as a function of the incident angle φ, as V' = λ × f(φ) (where λ is a predetermined coefficient or function). According to this function, the speed command value V can be reduced in accordance with the decrease in the absorptance ρ due to the incident angle φ.

[0105] It should be understood that the function of the device 90 shown in Fig. 13 can be applied to the laser processing system 80 shown in Fig. 9. In the laser processing system 80 as well, the processor 50 calculates the angle θ=tan θ based on the above-mentioned advance distance L. -1 (Δ2 / Δ1) is calculated, and the incident angle φ can be calculated from this.

[0106] Next, with reference to Fig. 17, further functions of the laser processing system 10 will be described. The laser processing system 10 shown in Fig. 17 combines the functions of Fig. 2 and Fig. 13, and corrects the command values ​​V and O based on the movement amount Δ2 and the incident angle φ. This function will be described with reference to Fig. 6. The processor 50, like the above-described embodiment, functions as a movement control unit 62, a gap control execution unit 64, a laser oscillation control unit 66, and a movement amount acquisition unit 68, and executes steps S1 and S2.

[0107] In step S3, the processor 50 corrects the command value V or O based on the movement amount Δ2 and the incident angle φ. For example, when correcting the laser power command value Op, the processor 50 first functions as the speed acquisition unit 70 to acquire the movement speed v, and then corrects the laser power command value Op to a corrected output command value Op′=α×Op=Op×ν / V based on the movement speed v.

[0108] Meanwhile, the processor 50 functions as the incident angle acquisition unit 92 to acquire the incident angle φ from the movement amount Δ2, and applies the incident angle φ and the corrected output command value Op' to the data table 150. Then, the processor 50 further corrects the corrected output command value Op' to the corrected output command value Op" = βi × Op' = α × βi × Op. It should be understood that the frequency command value Of and the duty ratio command value Od can also be corrected in a similar manner based on the movement amount Δ2 (movement speed ν) and the incident angle φ.

[0109] On the other hand, when correcting the speed command value V, the processor 50 first corrects the speed command value V to a corrected speed command value V' = V cos θ based on the movement amount Δ2. Then, the processor 50 applies the acquired incident angle φ and corrected speed command value V' to the data table 150. Then, the processor 50 corrects the corrected speed command value V' to a corrected speed command value V" = ζi × V' = ζi × V cos θ. In this way, the processor 50 can correct the command value V or O based on the movement amount Δ2 and the incident angle φ.

[0110] As described above, in this embodiment, the processor 50 functions as the movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, speed acquisition unit 70, command correction unit 72, and incident angle acquisition unit 92, and corrects the command values ​​V and O for laser processing the workpiece W. Therefore, the movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, speed acquisition unit 70, command correction unit 72, and incident angle acquisition unit 92 constitute a device 100 ( FIG. 17 ) that corrects the command values ​​V and O.

[0111] It should be noted that the processor 50 may first correct the command value V or O based on the incident angle φ, and then further correct the corrected command value V' or O' based on the movement amount Δ2 (movement speed ν) to obtain the corrected command value V" or O". It should also be understood that the functions of the apparatus 100 shown in FIG. 17 can be applied to the laser processing system 80 shown in FIG. 9.

[0112] Next, with reference to Fig. 18, further functions of the laser processing system 10 will be described. In this embodiment, the processor 50 corrects teaching points TPn that have been predetermined for laser processing LP. For example, as shown in Fig. 19, it is assumed that teaching points TP1 and TP2 have been taught in advance along the surface of the workpiece W. In this case, a movement path MP1 is defined by the teaching points TP1 and TP2.

[0113] On the other hand, the workpiece W may be tilted by an angle θ as shown in Fig. 20 due to improper mounting or deformation, etc. In such a case, if the processor 50 executes the above-described movement operation LP1 and gap control LP2 in parallel, the laser processing head 14 (TCP) will not reach the teaching point TP2, but will reach a position TP2' on the surface of the workpiece W that corresponds to the teaching point TP2. This position TP2' is displaced by a distance δ2 from the teaching point TP in a direction perpendicular to the movement path MP1 (i.e., in the positive direction of the z-axis of the robot coordinate system C1).

[0114] If laser processing LP is performed on such a workpiece W, the travel distance δ3 of the laser beam LB moving relatively over the workpiece W while the robot 12 moves from teaching point TP1 to teaching point TP2 will be longer than the length of the movement path MP1 (i.e., the distance between teaching points TP1 and TP2) δ1 by a distance δ4 in Fig. 20. As a result, the actual length (δ3) of the laser-processed workpiece W will be longer than the intended length (δ1).

[0115] Therefore, in this embodiment, when the movement distance δ3 of the laser beam LB when the laser processing LP is performed becomes long as described above, the processor 50 corrects the teaching point TP1 or TP2 so that the movement distance δ3 coincides with the length δ1. The function of the laser processing system 10 of Fig. 18 will be described below with reference to Fig. 21. The processor 50 starts the flow of Fig. 21 when it receives a teaching point correction command from an operator, a higher-level controller, or the computer program PG4.

[0116] In step S11, the processor 50 executes simulated laser processing LPs. Specifically, in the simulated laser processing LPs, the processor 50 functions as the movement control unit 62 and executes a movement operation LP1 similar to the laser processing LP. Specifically, the processor 50 executes an operation program PG1 in which teaching points TP1 and TP2 are defined, and by operating the robot 12, moves the laser processing head 14 (TCP) along a movement path MP1 and positions it at the teaching points TP1 and TP2 in order.

[0117] Along with this movement operation LP1, the processor 50 functions as a gap control execution unit 64, and executes a gap control program PG2 in the same manner as the laser processing LP, and executes gap control LP2 that maintains a constant distance d between the laser emission port 40 and the workpiece W through the operation of the robot 12. As a result, the laser processing head 14 (TCP) reaches position TP' in FIG.

[0118] Meanwhile, the processor 50 functions as the laser oscillation control unit 66 and stops the laser light generating operation LP3 by the laser oscillator 18. Therefore, during the simulated laser processing LPs, the laser processing head 14 does not emit the laser light LB from the laser emission port 40. That is, in the present embodiment, the processor 50 executes the movement operation LP1 and the gap control LP2 as the simulated laser processing LPs, but does not execute the laser light generating operation LP3.

[0119] During the execution of the simulated laser processing LPs, the processor 50 periodically acquires the coordinates P(x, y, z) of the TCP in the robot coordinate system C1, similar to the laser processing LP. Therefore, the processor 50 acquires the coordinates of the TCP when the robot 12 moves to a position TP2' corresponding to the teaching point TP2. Next, in step S12, the processor 50 determines whether the simulated laser processing LPs has ended. If the processor 50 determines YES, it proceeds to step S13, whereas if the processor 50 determines NO, it loops back to step S12.

[0120] In step S13, the processor 50 acquires a movement distance δ3 of the laser beam LB that is estimated to move relatively on the workpiece W while the robot 12 moves from the teaching point TP1 to the teaching point TP2. Here, the coordinates of the teaching points TP1 and TP2 in the robot coordinate system C1 in FIG. 20 are TP1 (x1, y1, z1) and TP2 (x2, y1, z1), respectively.

[0121] Furthermore, the coordinates of position TP2' in the robot coordinate system C1 are (x2, y1, z2). In this case, the length δ1 of the movement path MP1 is δ1 = x1 - x2, and the distance δ2 between the teaching point TP2 and position TP2' is δ2 = z2 - z1. This distance δ2 represents the movement amount δ2 in the direction perpendicular to the movement path MP1 (i.e., the z-axis direction of the robot coordinate system C1) while the robot 12 moves the laser processing head 14 from the teaching point TP1 to the teaching point TP2. This movement amount δ2 corresponds to the movement amount Δ2 described above. The processor 50 functions as the movement amount acquisition unit 68 and acquires the movement amount δ2 based on the z-coordinates z1, z2 of the teaching point TP1 and position TP2'.

[0122] Then, based on the movement amount δ2, the processor 50 calculates the movement distance δ3 of the laser beam LB that is estimated to move relatively on the workpiece W while the robot 12 (TCP) moves from the teaching point TP1 to the teaching point TP2 as follows: δ3=(δ1 2 +δ2 2 ) 1/2 In this manner, in this embodiment, the processor 50 functions as a distance acquisition unit 112 (FIG. 18) that acquires the movement distance δ3 based on the movement amount δ2.

[0123] In step S14, the processor 50 determines whether the travel distance δ3 acquired in step S13 is greater than the length δ1 of the travel path MP1 (or a threshold value determined based on the length δ1) (δ3>δ1). If the processor 50 determines YES, it proceeds to step S15, whereas if the processor 50 determines NO, it terminates the flow proceeding to FIG. 21. In this way, in the present embodiment, the processor 50 functions as the distance determination unit 114 (FIG. 18) that determines whether the travel distance δ3 is greater than the length δ1 of the travel path MP1.

[0124] In step S15, the processor 50 corrects the teaching point TP1 or TP2. Specifically, the processor 50 corrects the angle θ (FIG. 20) as follows: θ=tan -1 22, if the position on the surface of the workpiece W that is the distance δ1 from the teaching point TP1 is designated as TP3', then the position on the movement path MP1 that has the same x coordinate as the position TP3' in the robot coordinate system C1 is TP3.

[0125] If the coordinates of this position TP3 are TP3(x3, y1, z1), the x-coordinate x3 can be calculated as x3 = x1 - δ1 cos θ. The processor 50 sets a new teaching point TP3 by correcting the coordinates of the teaching point TP2 to TP3(x3, y1, z1). The processor 50 then defines the new teaching point TP3 in the operation program PG1. According to this teaching point TP3, the estimated travel distance of the laser beam LB moving relatively over the workpiece W while the robot 12 moves to the teaching points TP1 and TP3 during the movement operation LP1 can be made to coincide with the length δ1 of the original movement path MP1.

[0126] The processor 50 may set a new teaching point TP3 by correcting the teaching point TP1 so as to displace it in the negative x-axis direction of the robot coordinate system C1 by a distance δ4 (=δ3-δ1) shown in Fig. 20. In this case, too, the movement distance of the laser beam LB that is estimated to move relatively on the workpiece W while the robot 12 moves to the teaching points TP3 and TP2 can be made to coincide with the length δ1 of the initial movement path MP1.

[0127] As described above, in this embodiment, the processor 50 functions as a teaching point correction unit 116 (FIG. 18) that corrects the teaching point TP1 or TP2. Thereafter, the processor 50 ends the flow of FIG. 21. After the flow of FIG. 21 ends, the processor 50 executes the actual laser processing LP. At this time, the processor 50 executes the movement operation LP1 in accordance with the operation program PG1 in which the corrected teaching point TP3 is defined.

[0128] As described above, in this embodiment, the processor 50 functions as the movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, distance acquisition unit 112, and teaching point correction unit 116, and corrects the teaching point TPn that has been predetermined for laser processing LP. Therefore, the movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, distance acquisition unit 112, and teaching point correction unit 116 constitute a device 110 ( FIG. 18 ) that corrects the teaching point TPn.

[0129] In this device 110, the movement amount acquisition unit 68 acquires a movement amount δ2 of the mobile machine 12 in a direction perpendicular to the movement path MP1 (the z-axis direction of the robot coordinate system C1) while the mobile machine 12 moves from the first taught point TP1 to the second taught point TP2. Then, if a movement distance δ3 of the laser beam LB that moves relatively on the workpiece W while the mobile machine 12 moves from the first taught point TP1 to the second taught point TP2 is longer than the length δ1 of the movement path MP1, the taught point correction unit 116 corrects the first taught point TP1 or the second taught point TP2 based on the movement amount δ2 acquired by the movement amount acquisition unit 68 so that the movement distance δ3 coincides with the length δ1 (step S15).

[0130] According to this configuration, even if the surface of the workpiece W is inclined as shown in Fig. 20, the actual length of the laser-machined workpiece W can be made to match the intended length (δ1). Furthermore, by automatically correcting the teaching point TPn in this way, the operator does not need to teach the teaching point TPn again.

[0131] Furthermore, in the device 110, the distance acquisition unit 112 acquires a movement distance δ3 of the laser beam LB that moves relatively over the workpiece W while the mobile machine 12 moves from the first taught point TP1 to the second taught point TP2, based on the movement amount δ2 acquired by the movement amount acquisition unit 68. Furthermore, the distance determination unit 114 determines whether the movement distance δ3 acquired by the distance acquisition unit 112 is greater than the length δ1 of the movement path.

[0132] Then, when the distance determination unit 114 determines that the moving distance δ3 is greater than the length δ1 (YES in step S14), the teaching point correction unit 116 corrects the first teaching point TP1 or the second teaching point TP2 (step S15). With this configuration, the process of correcting the teaching point TP1 or TP2 can be executed only when the moving distance δ3 is greater than the length δ1. This makes it possible to reliably avoid unnecessary corrections.

[0133] In this embodiment, the laser oscillation control unit 66 stops the laser light generation operation LP3 by the laser oscillator 18 while the mobile machine 12 is being moved from the first taught point TP1 to the second taught point TP2. This configuration can prevent the workpiece W from being processed by the simulated laser processing LPs, and can ensure the safety of the work.

[0134] In the simulated laser processing LPs in step S11, the processor 50 may function as the laser oscillation control unit 66 and cause the laser oscillator 18 to perform the laser light generation operation LP3 in accordance with the second laser output command value O2. The second laser output command value O2 is a command value smaller than the laser output command value O that operates the laser oscillator 18 in the actual laser processing LP.

[0135] For example, when the laser output command value O is a laser power command value Op (e.g., 5 kW), the second laser power command value Op2 as the second laser output command value O2 is set to a value (e.g., 1 W) that is much smaller than the laser power command value Op (so-called visible light guide laser). Similarly, for the frequency command value Of or the duty ratio command value Od, the second frequency command value Of2 or the second duty ratio command value Od2 may be set to a value smaller than the frequency command value Of or the duty ratio command value Od.

[0136] Various modifications can be made to the flow of Fig. 21. Fig. 23 shows a modified example of the flow of Fig. 21. In the flow shown in Fig. 23, the same processes as those in the flow of Fig. 21 are given the same step numbers, and duplicated explanations will be omitted. In the flow of Fig. 23, when the processor 50 determines YES in step S12, it executes steps S16 and S17.

[0137] In step S16, the processor 50 functions as the movement amount acquisition unit 68 to acquire the movement amount δ2 of the robot 12 in the direction perpendicular to the movement path MP1 while moving from the teaching point TP1 to the teaching point TP2. Specifically, as described above, the processor 50 acquires the movement amount δ2 = z2 - z1 based on the z coordinates z1, z2 of the teaching point TP1 and the position TP2' in the robot coordinate system C1.

[0138] In step S17, the processor 50 determines whether the movement amount δ2 exceeds a predetermined threshold δth, as in step S2 described above. This threshold δth is predetermined by the operator as a value such that the movement distance δ3 calculated from the movement amount δ2 exceeds the length δ1 of the movement path MP1. If the processor 50 determines YES, it proceeds to step S15, but if the processor 50 determines NO, it ends the flow of FIG. 23.

[0139] In this way, the processor 50 can determine whether or not the teaching point TPn needs to be corrected based on the movement amount δ2 without calculating the above-mentioned movement distance δ3. That is, in this case, the distance acquisition unit 112 and the distance determination unit 114 can be omitted from the device 110. According to this embodiment, the process of calculating the movement distance δ3 can be omitted, thereby shortening the work cycle time.

[0140] 21 or 23 in accordance with a computer program PG4 pre-stored in the memory 52. ​​The functions of the device 110 (movement control unit 62, gap control execution unit 64, laser oscillation control unit 66, movement amount acquisition unit 68, distance acquisition unit 112, distance determination unit 114, and teaching point correction unit 116) executed by the processor 50 may be functional modules realized by the computer program PG4. It should be understood that the functions of the device 110 shown in FIG. 18 can also be applied to the laser processing system 80 shown in FIG. 9. In the laser processing system 80, the processor 50 can also acquire the movement amount δ2 based on the advance distance L described above and correct the teaching point TPn.

[0141] The laser oscillation control unit 66 may be omitted from the device 110. For example, the functions of the device 110 omitting the laser oscillation control unit 66 (i.e., the movement control unit 62, the gap control execution unit 64, the movement amount acquisition unit 68, the distance acquisition unit 112, and the teaching point correction unit 116) may be implemented in a computer (e.g., a teaching device) separate from the control device 20. In this case, the separate computer is configured to not execute the laser light generation operation LP3 by the laser oscillator 18, but to execute the movement operation LP1 and gap control LP2 by the mobile machine 12.

[0142] It should be noted that the functions of the above-described devices 60, 90, 100, and 110 can also be combined. A laser processing system 10 having such functions is shown in FIG. 24. In the laser processing system 10 shown in FIG. 24, the processor 50 functions as a device 120, which includes a movement control unit 62, a gap control execution unit 64, a laser oscillation control unit 66, a movement amount acquisition unit 68, a speed acquisition unit 70, a command correction unit 72, an incident angle acquisition unit 92, a distance acquisition unit 112, a distance determination unit 114, and a teaching point correction unit 116. It should be understood that the functions of the device 120 can also be combined with the laser processing system 80 of FIG. 9.

[0143] 6, step S2 may be omitted, and step S3 may be repeatedly executed after the start of step S1. Also, the processor 50 may receive an input from the operator selecting a command value to be corrected in step S3 (laser power command value Op, frequency command value Of, duty ratio command value Od, or speed command value V). Then, the processor 50 corrects the command value V or O selected by the operator in step S3.

[0144] The control device 20 may include a first control device 20A that controls the mobile machine 12 or 88, and a second control device 20B that controls the laser oscillator 18. In the above-described embodiment, the robot 12 moves the laser processing head 14 or 82 relative to the fixed workpiece W. However, this is not limiting, and the robot 12 may move the workpiece W relative to the fixed laser processing head 14 or 82. The concept of the present disclosure can also be applied to such a configuration.

[0145] Furthermore, the mobile machine 12 or 88 is not limited to the example shown in the figures. For example, the robot 12 may be any type of robot, such as a horizontal articulated robot or a parallel link robot. Alternatively, the mobile machine 12 or 88 may be equipped with a work table mechanism that moves the workpiece W along the xy plane of the robot coordinate system C1, and a z-axis movement mechanism that moves the laser processing head 14 or 82 in the z-axis direction of the robot coordinate system C1.

[0146] In the above embodiment, the movement amounts Δ2 and δ2 are obtained based on the coordinates of the robot coordinate system C1 as the control coordinate system C. However, this is not limiting, and for example, a workpiece coordinate system C3 may be set for the workpiece W. The workpiece coordinate system C3 is the control coordinate system C1 that defines the position of the workpiece W in the robot coordinate system C1. The processor 50 may obtain the movement amounts Δ2 and δ2 based on the coordinates of the workpiece coordinate system C3. Furthermore, the control coordinate system C is not limited to the robot coordinate system C1, the tool coordinate system C2, and the workpiece coordinate system C3, and any other coordinate system may be set.

[0147] Although the present disclosure has been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0148] The present disclosure describes the following aspects: (Aspect 1) A device 60, 90, 100, 120 for correcting command values ​​V, O for laser processing LP of a workpiece W, the device comprising: a movement control unit 62 that operates a moving machine 12, 88 that moves a laser emission port 40 that emits laser light LB generated by a laser oscillator 18 relative to the workpiece W, in accordance with a predetermined speed command value V, and moves the moving machine 12, 88 along a predetermined movement path MPn; The apparatus (60, 90, 100, 120) includes a laser oscillation control unit (66) that causes the laser oscillator (18) to generate the laser beam (LB), a gap control execution unit (64) that operates the movable machine (12, 88) so as to maintain a constant distance (d) between the laser emission port (40) and the workpiece (W) during the laser processing (LP), and a command correction unit (72) that corrects a speed command value (V) or a laser output command value (O) based on a movement amount (Δ2) of the movable machine (12, 88) during the laser processing (LP) in a direction perpendicular to the movement path (MPn). (Aspect 2) The apparatus (60, 90, 100, 120) according to aspect 1 further includes a speed acquisition unit (70) that acquires a movement speed (ν) of the laser beam (W) that moves relatively over the workpiece (W) during the laser processing (LP) based on the movement amount (Δ2), and the command correction unit (72) corrects the laser output command value (O) based on the movement speed (ν) acquired by the speed acquisition unit (70). (Aspect 3) The device 60, 90, 100, 120 according to aspect 2, wherein the laser output command value O includes at least one of a laser power command value Op that defines a laser power Op of the laser beam LB, a frequency command value Of that defines a frequency Of of the laser beam LB, and a duty ratio command value Od that defines a duty ratio Od of the laser beam LB, and the command corrector 72 corrects the laser power command value Op, the frequency command value Of, or the duty ratio command value Od. (Aspect 4) The device 60, 90, 100, 120 according to aspect 2 or 3, wherein the command corrector 72 corrects the laser output command value O by multiplying the laser output command value O by a variable α obtained by dividing the moving speed v acquired by the speed acquirer 70 by the speed command value V.(Aspect 5) A control coordinate system C (robot coordinate system C1) for automatically controlling the operation of the mobile machine 12 is set in advance, and the movement path MPn is determined along a plane (x-y plane) defined by the first axis (x-axis) and second axis (y-axis) of the control coordinate system C1, and the device 60, 90, 100, 120 further includes a movement amount acquisition unit 68 that acquires a movement amount Δ2 based on the coordinate of the third axis (z-axis) of the control coordinate system C of the mobile machine 12, 88. (Aspect 6) The mobile machine 88 includes a robot 12 that moves a laser processing head 82 having a laser emission port 40 formed therein, and an emission port drive unit 86 that is provided on the laser processing head 82 and moves the laser emission port 40 back and forth along the optical axis A of the laser light LB, and the device 60, 90, 100, 120 further includes a movement amount acquisition unit 68 that acquires a movement amount Δ2 based on a distance L advanced by the emission port drive unit 86. (Aspect 7) The device 90, 100, 120 according to any one of Aspects 1 to 6 further includes an incident angle acquisition unit 92 that acquires an incident angle φ of the laser light LB with respect to the workpiece W based on the movement amount Δ2, and the command correction unit 72 corrects the speed command value V or the laser output command value O based on the incident angle φ acquired by the incident angle acquisition unit 92. (Aspect 8) The device 90, 100, 120 according to aspect 7, wherein a data table 150 is prepared in advance, storing the incident angle φ and the set values ​​Vs, Os of the speed command value V or the laser output command value O in association with each other, and the command correction unit 72 applies the incident angle φ acquired by the incident angle acquisition unit 92 to the data table 150, and corrects the speed command value V or the laser output command value O by changing it to the set value Vs, Os corresponding to the incident angle φ.(Aspect 9) A device 110, 120 for correcting a predetermined teaching point TPn for laser processing LP on a workpiece W includes a movement control unit 62 that moves a mobile machine 12, 88 that moves a laser emission port 40 that emits a laser beam LB generated by a laser oscillator 18 relative to the workpiece W along a movement path MP2 defined by a first teaching point TP1 and a second teaching point TP2, a gap control execution unit 64 that operates the mobile machine 12, 88 so as to maintain a constant distance d between the laser emission port 40 and the workpiece W, and a gap control unit 65 that controls a movement path MP2 defined by a first teaching point TP1 and a second teaching point TP2. and a teaching point correction unit 116 that corrects the first teaching point TP1 or the second teaching point TP2 based on the movement amount δ2 acquired by the movement amount acquisition unit 68 so that the movement distance δ3 coincides with the length δ1 of the movement path MP1 when the movement distance δ3 of the laser light LB that moves relatively on the workpiece W while the mobile machine 12, 88 moves from the first teaching point TP1 to the second teaching point TP2 is greater than the length δ1 of the movement path MP1. (Aspect 10) The device 110, 120 described in Aspect 9 further includes a distance acquisition unit 112 that acquires a movement distance δ3 based on the movement amount δ2 acquired by the movement amount acquisition unit 68, and a distance determination unit 114 that determines whether the movement distance δ3 acquired by the distance acquisition unit 112 is greater than the length δ1 of the movement path MP1, and the teaching point correction unit 116 corrects the first teaching point TP1 or the second teaching point TP2 when the distance determination unit 114 determines that the movement distance δ3 is greater than the length δ1. (Aspect 11) The device 110, 120 described in aspect 9 or 10 further includes a laser oscillation control unit 66 that stops the laser light generation operation LP3 by the laser oscillator 18 while the mobile machine 12, 88 is moving from the first teaching point TP1 to the second teaching point TP2, or causes the laser oscillator 18 to perform the laser light generation operation LP3 in accordance with a second laser output command value O2 that is smaller than the laser output command value O that operates the laser oscillator 18 in laser processing LP.(Aspect 12) A laser processing system 10 comprising a laser oscillator 18 that generates laser light LB, a mobile machine 12, 88 that moves a laser emission port 40 that emits the laser light LB generated by the laser oscillator 18 relative to a workpiece W, a distance measuring sensor 16 that measures a distance d between the laser emission port 40 and the workpiece W, and an apparatus 60, 90, 100, 110, 120 described in any one of aspects 1 to 11. (Mode 13) A method for correcting command values ​​V, O for laser processing a workpiece W in laser processing LP, the method comprising: operating a mobile machine 12, 88 that moves the workpiece W relative to a laser emission port 40 that emits laser light LB generated by a laser oscillator 18 in accordance with a predetermined speed command value V to move along a predetermined movement path MPn; operating the laser oscillator 18 in accordance with a predetermined laser output command value O to cause the laser oscillator 18 to generate laser light LB; operating the mobile machine 12, 88 so as to maintain a constant distance d between the laser emission port 40 and the workpiece W during laser processing LP; and correcting the speed command value V or the laser output command value O based on the movement amount Δ2 of the mobile machine 12, 88 in a direction perpendicular to the movement path MPn during laser processing LP. (Aspect 14) A method for correcting a predetermined teaching point TPn for laser processing LP on a workpiece W, comprising: moving a mobile machine 12, 88 that relatively moves a laser emission port 40 that emits a laser beam LB generated by a laser oscillator 18 and the workpiece W along a movement path MP1 defined by a first teaching point TP1 and a second teaching point TP2; operating the mobile machine 12, 88 so as to maintain a constant distance d between the laser emission port 40 and the workpiece W; a movement amount δ2 of the mobile machine 12, 88 in a direction perpendicular to the movement path MP1 while the mobile machine 12, 88 moves from the first taught point TP1 to the second taught point TP2, and if a movement distance δ3 of the laser beam LB that moves relatively on the workpiece W while the mobile machine 12, 88 moves from the first taught point TP1 to the second taught point TP2 is longer than the length δ1 of the movement path MP1, the first taught point TP1 or the second taught point TP2 is corrected based on the movement amount δ2 so that the movement distance δ3 coincides with the length δ1. (Aspect 15) A computer program PG3 or PG4 that causes a processor 50 to execute the method described in Aspect 13 or 14.

[0149] REFERENCE SIGNS LIST 10 Laser processing system 12 Robot 14, 82 Laser processing head 16 Distance measuring sensor 18 Laser oscillator 20 Control device 40 Laser emission port 50 Processor 60, 90, 100, 110, 120 Device 62 Movement control unit 64 Gap control execution unit 66 Laser oscillation control unit 68 Movement amount acquisition unit 70 Speed ​​acquisition unit 72 Command correction unit 86 Emission port drive unit 88 Mobile machine 92 Incident angle acquisition unit 112 Distance acquisition unit 114 Distance determination unit 116 Teaching point correction unit

Claims

1. An apparatus for correcting a command value for laser processing a workpiece, comprising: a movement control unit that operates a moving machine that moves a laser emission port, which emits laser light generated by a laser oscillator, and the workpiece relatively in accordance with a predetermined speed command value, and moves the workpiece along a predetermined movement path; a laser oscillation control unit that operates the laser oscillator in accordance with a predetermined laser output command value, and causes the laser oscillator to generate the laser light; a gap control execution unit that operates the moving machine to maintain a constant distance between the laser emission port and the workpiece during the laser processing; and a command correction unit that corrects the speed command value or the laser output command value based on the amount of movement of the moving machine during the laser processing in a direction perpendicular to the movement path.

2. The device described in claim 1, further comprising a speed acquisition unit that acquires a moving speed of the laser light that moves relatively over the workpiece during the laser processing based on the amount of movement, and the command correction unit corrects the laser output command value based on the moving speed acquired by the speed acquisition unit.

3. The device described in claim 2, wherein the laser output command value includes at least one of a laser power command value that specifies the laser power of the laser light, a frequency command value that specifies the frequency of the laser light, and a duty ratio command value that specifies the duty ratio of the laser light, and the command correction unit corrects the laser power command value, the frequency command value, or the duty ratio command value.

4. The device according to claim 2, wherein the command correction unit corrects the laser output command value by multiplying the laser output command value by a variable obtained by dividing the moving speed acquired by the speed acquisition unit by the speed command value.

5. The apparatus according to claim 1, wherein a control coordinate system for automatically controlling the operation of the mobile machine is preset, the movement path is determined along a plane defined by a first axis and a second axis of the control coordinate system, and the apparatus further comprises a movement amount acquisition unit for acquiring the movement amount based on the coordinate of a third axis of the control coordinate system of the mobile machine.

6. The apparatus according to claim 1, wherein the moving machine comprises: a robot which moves a laser processing head in which the laser emission port is formed; and an emission port drive unit which is provided on the laser processing head and moves the laser emission port back and forth along the optical axis of the laser light, and the apparatus further comprises a movement amount acquisition unit which acquires the amount of movement based on the distance the laser emission port has been advanced by the emission port drive unit.

7. The device described in claim 1, further comprising an incident angle acquisition unit that acquires an incident angle of the laser light with respect to the workpiece based on the amount of movement, and the command correction unit corrects the speed command value or the laser output command value based on the incident angle acquired by the incident angle acquisition unit.

8. The device described in claim 7, wherein a data table is prepared in advance in which the incidence angle and the set value of the speed command value or the laser output command value are stored in association with each other, and the command correction unit applies the incidence angle acquired by the incidence angle acquisition unit to the data table and corrects the speed command value or the laser output command value by changing it to the set value corresponding to the incidence angle.

9. An apparatus for correcting a predetermined teaching point for laser processing of a workpiece, comprising: a movement control unit that moves a moving machine that relatively moves a laser emission port, which emits laser light generated by a laser oscillator, and the workpiece along a movement path defined by a first teaching point and a second teaching point; a gap control execution unit that operates the moving machine to maintain a constant distance between the laser emission port and the workpiece; a movement amount acquisition unit that acquires an amount of movement of the moving machine in a direction perpendicular to the movement path while the moving machine moves from the first teaching point to the second teaching point; and a teaching point correction unit that, when the movement distance of the laser light that moves relatively over the workpiece while the moving machine moves from the first teaching point to the second teaching point is greater than the length of the movement path, corrects the first teaching point or the second teaching point based on the movement amount acquired by the movement amount acquisition unit so that the movement distance matches the length of the movement path.

10. The device described in claim 9, further comprising: a distance acquisition unit that acquires the movement distance based on the movement amount acquired by the movement amount acquisition unit; and a distance determination unit that determines whether the movement distance acquired by the distance acquisition unit is greater than the length of the movement path, wherein the teaching point correction unit corrects the first teaching point or the second teaching point when the distance determination unit determines that the movement distance is greater than the length.

11. The apparatus described in claim 9, further comprising a laser oscillation control unit which stops the laser oscillator from generating a laser beam while the moving machine is being moved from the first teaching point to the second teaching point, or causes the laser oscillator to perform a laser beam generating operation in accordance with a second laser output command value which is smaller than a laser output command value for operating the laser oscillator in the laser processing.

12. A laser processing system comprising: a laser oscillator that generates laser light; a moving machine that moves a laser emission port that emits the laser light generated by the laser oscillator relative to a workpiece; a distance measuring sensor that measures the distance between the laser emission port and the workpiece; and an apparatus according to any one of claims 1 to 11.

13. A method for correcting a command value for laser processing a workpiece, comprising: operating a mobile machine that moves a laser emission port that emits laser light generated by a laser oscillator relative to the workpiece in accordance with a predetermined speed command value, moving the workpiece along a predetermined movement path; operating the laser oscillator in accordance with a predetermined laser output command value, causing the laser oscillator to generate the laser light; operating the mobile machine to maintain a constant distance between the laser emission port and the workpiece during the laser processing; and correcting the speed command value or the laser output command value based on the amount of movement of the mobile machine during the laser processing in a direction perpendicular to the movement path.

14. A method for correcting a predetermined teaching point for laser processing of a workpiece, comprising: moving a mobile machine that moves a laser emission port, which emits laser light generated by a laser oscillator, and the workpiece relatively along a movement path defined by a first teaching point and a second teaching point; operating the mobile machine so as to maintain a constant distance between the laser emission port and the workpiece; obtaining an amount of movement of the mobile machine in a direction perpendicular to the movement path while the mobile machine moves from the first teaching point to the second teaching point; and, if the movement distance of the laser light that moves relatively over the workpiece while the mobile machine moves from the first teaching point to the second teaching point is greater than the length of the movement path, correcting the first teaching point or the second teaching point based on the obtained amount of movement so that the movement distance matches the length of the movement path.

15. A computer program product adapted to cause a processor to carry out the method according to claim 13 or 14.

Citation Information

Patent Citations

  • Position control system

    JP1987197807A

  • Laser irradiation device, droplet discharge device, laser irradiation method, droplet discharge method, and position controller

    JP2005169397A

  • Work-piece processing device

    JP2019093423A

  • Machining condition setting device and three-dimensional laser machining system

    JP2020069492A