Apparatus, control device and method for generating signals for a weaving operation - Patents.com

The device generates a weaving signal for a robot, adjusting parameters to meet operator-defined conditions, allowing the robot to perform desired weaving motions effectively and safely, thus simplifying the teaching process.

JP7602016B2Active Publication Date: 2024-12-17FANUC LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023511085
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-03-30
Filing Date
2022-03-23
Publication Date
2024-12-17
Estimated Expiration
2042-03-23

AI Technical Summary

Technical Problem

Existing technologies face challenges in simplifying the task of teaching a robot to perform a weaving operation while ensuring it follows the desired motion as intended by the operator.

Method used

A device that generates a weaving signal for a robot, which includes an input reception unit, signal generation unit, parameter acquisition unit, condition determining unit, and parameter adjustment unit to automatically adjust parameters so that the weaving signal meets operator-defined conditions, allowing the robot to perform the desired weaving motion.

Benefits of technology

Enables the robot to perform weaving operations in a manner desired by the operator, simplifying the teaching process and ensuring the operation meets predefined conditions, thereby improving the quality and safety of the weaving motion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007602016000001
    Figure 0007602016000001
  • Figure 0007602016000002
    Figure 0007602016000002
  • Figure 0007602016000003
    Figure 0007602016000003
Patent Text Reader

Abstract

There has hitherto been a demand for a technology for enabling a robot to perform a weaving motion in a manner desired by an operator. A device 70 comprises an input reception unit 52 that receives input of a parameter of a weaving signal, a signal generation unit 44 that generates a weaving signal having the received parameter, a parameter acquisition unit 54 that acquires, as a filtered parameter, the parameter of the weaving signal in a case where the weaving signal is subjected to filtering processing, a condition determination unit 56 that determines whether or not the filtered parameter satisfies a predetermined condition, and a parameter adjustment unit 58 that adjusts the received parameter if the filtered parameter is determined not to satisfy the predetermined condition. The signal generation unit 44 generates a weaving signal having the parameter adjusted by the parameter adjustment unit 58.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an apparatus, a control device and a method for generating signals for a weaving operation. [Background technology]

[0002] A control device that causes a robot to perform a weaving operation is known (for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2014-83605 A Summary of the Invention [Problem to be solved by the invention]

[0004] There has been a demand for a technique that simplifies the task of teaching a robot a weaving motion while enabling the robot to perform the weaving motion in a manner desired by an operator. [Means for solving the problem]

[0005] In one aspect of the present disclosure, an apparatus for generating a signal for a weaving operation in which a robot moves a tool along a predetermined working path and swings the tool in a direction intersecting the working path includes an input receiving unit that receives an input of parameters of a weaving signal for swinging the tool of the robot, a signal generating unit that generates a weaving signal having the parameters received by the input receiving unit, a parameter acquiring unit that acquires, as filtered parameters, parameters of the weaving signal generated by the signal generating unit when a filter process is performed on the weaving signal generated by the signal generating unit to remove high-frequency components, a condition determining unit that determines whether the filtered parameters satisfy a predetermined condition, and a parameter adjusting unit that adjusts the parameters received by the input receiving unit so as to satisfy the condition when the condition determining unit determines that the condition is not satisfied. The signal generating unit generates a weaving signal having the parameters adjusted by the parameter adjusting unit.

[0006] A method for generating a signal for a weaving operation in which a robot moves a tool along a predetermined working path and swings the tool in a direction intersecting the working path includes a processor receiving input of parameters of a weaving signal for swinging the tool by the robot, generating a weaving signal having the received parameters, acquiring parameters of the weaving signal when a filter process is performed on the generated weaving signal to remove high-frequency components as post-filter parameters, determining whether the post-filter parameters satisfy a predetermined condition, and if it is determined that the condition is not satisfied, adjusting the received parameters so that the condition is satisfied, and generating a weaving signal having the adjusted parameters. Effect of the Invention

[0007] According to the present disclosure, it is possible to automatically adjust the parameters of a weaving signal so as to generate a weaving signal that satisfies conditions arbitrarily set by an operator. This allows the operator to make a robot perform a weaving operation in a manner desired by the operator, and simplifies the task of teaching the robot the desired weaving operation. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram of a robotic system according to one embodiment. [Diagram 2] FIG. 2 is a block diagram of the robot system shown in FIG. [Diagram 3] 2 shows a trajectory of a weaving motion performed by the robot shown in FIG. 1. [Figure 4] 2 is a block diagram of a function for generating a weaving operation command in the control device shown in FIG. 1. FIG. [Diagram 5] 3 shows the waveform of a weaving signal. [Figure 6] 6 shows a waveform obtained when filtering is performed on the weaving signal shown in FIG. 5. [Figure 7] 1 is a flow chart illustrating an example of a method for generating a weaving signal. [Figure 8] 1 shows the waveform of a weaving signal with an end point stop time set. [Figure 9] FIG. 11 is a diagram for explaining a method for calculating post-filtering parameters. [Figure 10] 13 shows a waveform when the amplitude is adjusted as a parameter of the weaving signal. [Figure 11] This shows a waveform when filtering is performed on the weaving signal after parameter adjustment shown in FIG. [Figure 12] 13 shows a waveform when an end point stop time is set as a parameter of the weaving signal. [Figure 13] 13 shows a waveform obtained when a filter process is performed on the weaving signal after parameter adjustment shown in FIG. 12. [Figure 14] 1 shows the waveform of a weaving signal with an end point stop time set. [Figure 15] The waveform is shown when the frequency is adjusted as a parameter of the weaving signal shown in FIG. [Figure 16] 4 shows waveforms when amplitude and frequency are adjusted as parameters of the weaving signal. [Figure 17] 17 shows a waveform when a filter process is performed on the weaving signal after parameter adjustment shown in FIG. 16. [Figure 18] 10 is a flowchart illustrating another example of a method for generating a weaving signal. [Figure 19] 1 shows a waveform in which the phase is changed by performing filtering on the weaving signal. [Figure 20] 13 shows a waveform of a weaving signal when the amplitude of a part of the waveform is adjusted as a parameter of the weaving signal, and the frequency of the waveform of the other part is adjusted. [Figure 21] 21 shows a waveform when a filter process is performed on the weaving signal after parameter adjustment shown in FIG. 20. [Figure 22] 4 shows another example of a trajectory of a weaving motion. [Figure 23] 23 shows a waveform of a weaving signal for causing the robot to perform a weaving operation along the trajectory shown in FIG. 22. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, an embodiment of the present disclosure will be described in detail with reference to the drawings. In various embodiments described below, similar elements are given the same reference numerals, and duplicated explanations will be omitted. First, a robot system 10 according to one embodiment will be described with reference to Figs. 1 and 2. The robot system 10 includes a robot 12 and a control device 14.

[0010] In this embodiment, the robot 12 performs a welding operation on a workpiece W. Specifically, the robot 12 is a vertical articulated robot, and has a robot base 16, a rotating body 18, a lower arm 20, an upper arm 22, a wrist 24, and a tool 26. The robot base 16 is fixed onto the floor of a work cell. The rotating body 18 is provided on the robot base 16 so as to be rotatable around a vertical axis.

[0011] The lower arm 20 is provided on the rotating body 18 so as to be rotatable around a horizontal axis. The upper arm 22 is rotatably provided at the tip of the lower arm 20. The wrist 24 has a wrist base 24a provided at the front end of the upper arm 22 so as to be rotatable around two axes that are perpendicular to each other, and a wrist flange 24b provided rotatably on the wrist base 24a.

[0012] Tool 26 is detachably attached to wrist flange 24b. In this embodiment, tool 26 is a welding torch that generates an electric discharge between itself and workpiece W in response to a command from control device 14, and melts a welding wire fed from a wire feeder (not shown) to weld workpiece W. Tool 26 may be a laser processing head that emits a laser beam to melt the welding wire with the laser beam and weld the workpiece W.

[0013] A plurality of servo motors 28 (FIG. 2) are built into each of the robot base 16, the rotating body 18, the lower arm 20, the upper arm 22, and the wrist 24. These servo motors 28 rotate each movable element of the robot 12 (i.e., the rotating body 18, the lower arm 20, the upper arm 22, the wrist 24, and the wrist flange 24b) in response to a command from the control device 14, thereby moving the tool 26.

[0014] The control device 14 controls the operation of the robot 12. As shown in Fig. 2, the control device 14 is a computer having a processor 30, a memory 32, and an I / O interface 34. The processor 30 has a CPU or a GPU, etc., is communicatively connected to the memory 32 and the I / O interface 34 via a bus 36, and performs calculations for various functions described below while communicating with these components.

[0015] The memory 32 has a RAM, a ROM, or the like, and temporarily or permanently stores various data used in the arithmetic processing executed by the processor 30 and various data generated during the arithmetic processing. The I / O interface 34 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 an external device via wired or wireless communication under instructions from the processor 30. In this embodiment, the servo motor 28 of the robot 12 is communicatively connected to the I / O interface 34.

[0016] The control device 14 is provided with an input device 38 and a display device 40. The input device 38 has a keyboard, a mouse, a touch panel, or the like, and receives data input from an operator. The display device 40 has a liquid crystal display, an organic EL display, or the like, and displays various data.

[0017] The input device 38 and the display device 40 may be communicatively connected to the I / O interface 34 via a wire or wirelessly. The input device 38 and the display device 40 may be provided separately from the housing of the control device 14, or may be integrated into the housing of the control device 14.

[0018] 1, a robot coordinate system C1 and a tool coordinate system C2 are set for the robot 12. The robot coordinate system C1 is a coordinate system for automatically controlling each movable element of the robot 12. In this embodiment, the robot coordinate system C1 is set for the robot 12 so that its origin is located at the center of the robot base 16 and its z axis coincides with the rotation axis of the rotating body 18. In the following description, for convenience, the positive x-axis direction of the robot coordinate system C1 will be referred to as the right, the positive y-axis direction will be referred to as the forward direction, and the positive z-axis direction will be referred to as the upward direction.

[0019] The tool coordinate system C2 is a coordinate system for automatically controlling the position of the tool 26 in the robot coordinate system C1, and is set with respect to the tool 26. In this document, "position" may mean position and attitude. In this embodiment, the tool coordinate system C2 is set with respect to the tool 26 so that its origin is located at the working point of the tool 26 (e.g., the point where the tool 26 melts the welding wire) and its z-axis direction coincides with the working direction of the tool 26 (e.g., the direction of the central axis of the tip of the welding torch, or the emission direction of the laser light).

[0020] When moving the tool 26, the processor 30 sets a tool coordinate system C2 in the robot coordinate system C1, and sends commands to the servo motors 28 of the robot 12 to operate the movable elements of the robot 12 so as to position the tool 26 at a position represented by the set tool coordinate system C2. In this way, the processor 30 positions the tool 26 at any position in the robot coordinate system C1 by the operation of the robot 12.

[0021] Next, with reference to Fig. 3, a weaving operation that the processor 30 causes the robot 12 to execute during welding work on the workpiece W will be described. The weaving operation is executed to widen the width of a bead formed on the workpiece W when the workpiece W is welded. Specifically, in the weaving operation, the processor 30 causes the robot 12 to move the tool 26 along a predetermined work path WP and swing the tool 26 in a direction intersecting the work path WP.

[0022] 3, the working path WP is set on the workpiece W so as to extend linearly in the x-axis direction of the robot coordinate system C1. In this example, in the weaving operation, the processor 30 causes the robot 12 to move the tool 26 to the right along the working path WP and swings the tool 26 back and forth between a front end point P1 and a rear end point P2. As a result, the tool 26 welds the workpiece W while moving along a wavy trajectory TR relative to the workpiece W.

[0023] The processor 30 generates a weaving signal WS for swinging the tool 26 in the weaving operation. Hereinafter, the generation of the weaving signal WS will be described with reference to Figs. 4 to 6. As shown in Fig. 4, the control device 14 has a main operation command generating unit 42, a signal generating unit 44, filter units 46 and 48, and a weaving operation command generating unit 50. The main operation command generating unit 42 generates a main operation command CM1 for causing the robot 12 to move the tool 26 in the direction of the work path WP in the above-mentioned weaving operation.

[0024] The filter unit 46 is a digital filter (FIR filter or IIR filter) and executes a filter process FR1 for removing high frequency components for a predetermined filter time τ1 on the main operation command CM1 generated by the main operation command generating unit 42. For example, the filter unit 46 executes the filter process FR1 as a low pass filter process by performing a moving average process on the digital signal of the main operation command CM1 for each filter time τ1.

[0025] Alternatively, the filter unit 46 may be configured to perform the filter process FR1 as band-pass filter process or notch filter process. The filter unit 46 performs the filter process FR1 on the main operation command CM1 to generate a main operation command CM2 and outputs the main operation command CM2 to the weaving operation command generating unit 50.

[0026] The signal generating unit 44 generates the weaving signal WS1. An example of the weaving signal WS1 is shown in FIG. 5. The vertical axis of FIG. 5 indicates the amplitude A (in other words, the distance A from the work path WP) at which the tool 26 is swung forward and backward, and the horizontal axis indicates time t. In the example shown in FIG. 5, the weaving signal WS1 is a triangular wave having an amplitude A1 and a period T1 (that is, a frequency f1=1 / T1), and the phase φ1 with respect to a reference time t0 (for example, the start time of the weaving operation) is zero. The amplitude A1, the frequency f1 (or the period T1), and the phase φ1 constitute a parameter PR1 that defines the weaving signal WS1.

[0027] 4 again, the filter unit 48 is a digital filter similar to the above-mentioned filter unit 46, and executes a filter process FR2 for removing high frequency components for a predetermined filter time τ2 on the weaving signal WS1 generated by the signal generating unit 44. The filter process FR2 may be the same as or different from the above-mentioned filter process FR1.

[0028] For example, the filter unit 48 performs the filtering process FR2 as a low-pass filtering process by performing a moving average process on the weaving signal WS1 as a digital signal for each filtering time τ2. Alternatively, the filter unit 48 may be configured to perform the filtering process FR2 as a band-pass filtering process or a notch filtering process.

[0029] When the filter unit 48 performs the filter processing FR2 on the weaving signal WS1, the weaving signal WS1 changes to generate a weaving signal WS2 shown by a solid line in Fig. 6. This weaving signal WS2 has parameters PR2 including an amplitude A2, a period T2 (frequency f2 = 1 / T2), and a phase φ2.

[0030] At least one of the parameters PR2 (amplitude A2, frequency f2, phase φ2) of the webbing signal WS2 can vary from the parameters PR1 (amplitude A1, frequency f1, phase φ1) of the webbing signal WS1 by the filtering process FR2. In the following description, the parameter PR2 may be referred to as the parameter PR2 after the filtering process.

[0031] Note that in the example shown in FIG. 6, as a result of the filtering process FR2, the triangular webbing signal WS1 changes to a webbing signal WS2 similar to the waveform of a trigonometric function (that is, the frequency characteristics change by removing high-frequency components), and the amplitude A2 of the webbing signal WS2 is attenuated and becomes smaller than the amplitude A1 of the webbing signal WS1 (A2 < A1). The filter unit 48 outputs the generated webbing signal WS2 to the webbing operation command generation unit 50.

[0032] Referring again to FIG. 4, the webbing operation command generation unit 50 generates a webbing operation command CM3 for causing the robot 12 to execute a webbing operation by applying the webbing signal WS2 to the main operation command CM2. Specifically, the webbing operation command generation unit 50 is an adder that generates a webbing operation command CM3 (= CM2 + WS2) by adding the webbing signal WS2 to the main operation command CM2.

[0033] The webbing operation command CM3 generated by the webbing operation command generation unit 50 is output to the servo motor 28 of the robot 12 through the I / O interface 34 and a servo amplifier (not shown). According to this webbing operation command CM3, the robot 12 executes a webbing operation and moves the tool 26 along the trajectory TR shown in FIG. 3.

[0034] The main operation command generating unit 42, the signal generating unit 44, the filter units 46 and 48, and the weaving operation command generating unit 50 may be functional modules realized by a computer program executed by the processor 30. In this case, the processor 30 functions as the main operation command generating unit 42, the signal generating unit 44, the filter units 46 and 48, and the weaving operation command generating unit 50. Alternatively, at least one of the signal generating unit 44, the filter units 46 and 48, and the weaving operation command generating unit 50 (for example, the filter units 46 and 48) may be implemented in the control device 14 as an analog circuit.

[0035] Next, a method for generating the weaving signal WS will be described in more detail with reference to Fig. 7. The flow shown in Fig. 7 is started, for example, when the control device 14 is started. In step S1, the processor 30 determines whether or not input of the parameter PR1 of the weaving signal WS1 (Fig. 5) and the priority order PO of the parameter PR1 has been received.

[0036] 7 starts, the processor 30 generates an input image for inputting the parameter PR1 and the priority order PO, and displays it on the display device 40. The operator operates the input device 38 while viewing the display device 40 to input the parameter PR1. Here, the parameters PR1 that the operator can input include the above-mentioned amplitude A1, frequency f1, and phase φ1, as well as the end point stop time t s Includes.

[0037] This end point stopping time t s defines the time for which the tool 26 is maintained at the end points P1 and P2 of the swinging motion of the tool 26 in the weaving motion (i.e., the positions where the amplitude A becomes A1 and -A1 in FIG. 5). s An example of the weaving signal WS1 when is set is shown in FIG.

[0038] For example, if the operator specifies the amplitude A1, the frequency f1, and the end point stop time t s, and phase φ1=0. In this case, the processor 30 maintains the slope of the weaving signal WS1 as a triangular wave having the amplitude A1 and frequency f1 shown in FIG. 5, and inputs an end point stop time t s As a result, the weaving signal WS1 is set as a trapezoidal wave as shown in FIG. 8. Therefore, in this case, the frequency f of the weaving signal WS1 is changed from the frequency f1 input by the operator to the frequency f3 (=1 / T3 <f1 T3=T1+2t s ) will be changed.

[0039] The processor 30 receives an input of the parameter PR1 through the input device 38. Thus, in this embodiment, the processor 30 functions as an input receiving unit 52 (FIG. 2) that receives an input of the parameter PR1 of the weaving signal WS1. The processor 30 converts the received parameter PR1 into the parameter setting value PR1 of the weaving signal WS1. V The parameter PR1 (amplitude A1, frequency f1, phase φ1=0, end point stop time t s = 0) will be explained.

[0040] The operator operates the input device 38 to input the priority order PO together with the parameter PR1. Here, as described with reference to Fig. 6, the parameter PR1 (e.g., the amplitude A1) of the original weaving signal WS1 may change due to the filter processing FR2. The priority order PO determines the priority order of the parameter PR1, which is to preferentially reproduce the value input by the operator in step S1 when the parameter PR1 changes.

[0041] For example, in this step S1, the operator specifies the amplitude A1, the frequency f1, the phase φ, and the end point stop time t sThe processor 30 inputs a priority order PO that specifies that the value of the amplitude A1 should be preferentially reproduced (i.e., a priority order PO that specifies that the priority order of the amplitude A1 is the first). The processor 30 functions as the input receiving unit 52 and receives the input of the priority order PO.

[0042] In step S2, the processor 30 determines a filter time τ2 of the filtering process FR2. Specifically, the processor 30 determines a specific filter time τ a This characteristic filter time τ a is uniquely determined for each type of robot 12 and is stored in advance in the memory 32. On the other hand, the processor 30 determines the permissible filter time τ b Request.

[0043] This allowable filter time τ b is the filter time during which the filtered parameter PR2 (e.g., amplitude A2), which has changed from the parameter PR1 (e.g., amplitude A1) of the original weaving signal WS1 by the filter processing FR2, can be kept within a predetermined tolerance range (e.g., a range in which the amplitude A2 is 50% or more of the amplitude A1).

[0044] For example, the processor 30 may select an allowable filter time τ b τ b The processor 30 may then determine the specific filter time τ a and the allowable filter time τ b The longer of these is determined as the filter time τ2. In this manner, in the present embodiment, the processor 30 determines the filter time τ2 based on the received parameter PR1.

[0045] In step S3, the processor 30 functions as the signal generator 44 and generates a weaving signal WS1 having the parameter PR1 received in step S1. As a result, the processor 30 generates a weaving signal WS1 having an amplitude A1, a frequency f1, a phase φ1 (=0), and an end point stop time t s(=0), generates a weaving signal WS1 having the same value as the input signal.

[0046] In step S4, the processor 30 acquires a filtered parameter PR2. The filtered parameter PR2 is a parameter PR2 after a change in the weaving signal WS1 when the filter process FR2 is executed on the weaving signal WS1 generated in step S3. As an example, in step S4, the processor 30 acquires the filtered parameter PR2 by simulating the actual filter process FR2 on the weaving signal WS1 generated in the above-mentioned step S3.

[0047] As another example, the processor 30 may calculate the filtered parameter PR2 based on the parameter PR1 received in step S1 and the filter time τ2 determined in step S2. Hereinafter, a method for calculating the filtered parameter PR2 will be described with reference to FIG.

[0048] FIG. 9 shows the amplitude A1, frequency f3(=1 / T3=1 / (T1+2t s )), phase φ1(=0), and end point stop time t s A filter time τ2 of the filter process FR2 is set for the weaving signal WS1. In this example, the processor 30 can calculate the amplitude A2 of the weaving signal WS2 obtained by performing the filter process FR2 on the weaving signal WS1 using the following formula (1). A2=A b +A a (1+t s / τ2) / 2 (1)

[0049] Here, A in formula (1) a and A b are calculated from the following equations (2) and (3), respectively. A a =A1(2(τ2-t s ) / T1) ···(2) A b =A1-A a =A1-A1(2(τ2-t s ) / T1) ···(3)

[0050] In this embodiment, the end point stop time t s Since is zero, in the above equations (1) to (3), t s = 0 is substituted. In this way, the processor 30 can calculate the amplitude A2 from the formula (1) as the filtered parameter PR2. That is, in this case, the processor 30 can obtain the filtered parameter PR2 without executing the actual filtering process FR2 on the weaving signal WS1 generated in step S3.

[0051] Thus, in this embodiment, the processor 30 functions as a parameter acquisition unit 54 (FIG. 2) that acquires the filtered parameter PR2. Note that in this embodiment, even if the filter process FR2 is executed on the weaving signal WS1, the frequency f1 and the phase φ1 do not change. Therefore, the frequency f2 and the phase φ2 of the filtered parameter PR2 are the same as the frequency f1 and φ1 (f2=f1, φ2=φ1).

[0052] 7 again, in step S5, the processor 30 determines whether the filtered parameter PR2 acquired in step S4 satisfies a predetermined first condition CD1. In the present embodiment, the first condition CD1 is defined as a condition that the filtered parameter PR2 is substantially the same as the parameter PR1 received in step S1.

[0053] For example, when the filtered parameter PR2 is the amplitude A2, if the amplitude A2 falls within an allowable range (e.g., a range of 90% or more of the amplitude A1) defined based on the amplitude A1, the processor 30 determines that the filtered parameter PR2 (amplitude A2) is substantially the same as the parameter PR1 (amplitude A1), and therefore determines that the first condition CD1 is satisfied (i.e., YES). On the other hand, if the amplitude A2 is outside the allowable range, the processor 30 determines that the filtered parameter PR2 is different from the parameter PR1, and therefore determines that the first condition CD1 is not satisfied (i.e., NO).

[0054] In step S5, the processor 30 may determine whether or not the first condition CD1 is satisfied only for the parameter PR1 (for example, the amplitude A1) having a high priority order PO received in step S1. Alternatively, the processor 30 may determine whether or not the first condition CD1 is satisfied for all the parameters PR1 (for example, the amplitude A1, the phase φ1, the end point stop time t s ) may be judged as to whether or not the first condition CD1 is satisfied.

[0055] Thus, in this embodiment, the processor 30 functions as a condition determination unit 56 (FIG. 2) that determines whether or not the filtered parameter PR2 satisfies the condition CD1. If the processor 30 determines YES in step S5, the process proceeds to step S7, whereas if the processor 30 determines NO in step S5, the process proceeds to step S6.

[0056] In step S6, the processor 30 adjusts the parameter PR1 received in step S1 so as to satisfy the first condition CD1. Specifically, the processor 30 adjusts the parameter PR1 so as to make the filtered parameter FR2 acquired in step S4 coincide with the parameter PR1 received in step S1.

[0057] For example, the processor 30 increases the amplitude A1 as the parameter PR1 received in step S1 to an amplitude A1' (>A1) as shown in Fig. 10. As a result, the weaving signal WS1 generated by the signal generating unit 44 (Fig. 4) is changed to a weaving signal WS1' having the amplitude A1'.

[0058] A weaving signal WS2 generated when a filter process FR1 is performed on a weaving signal WS1' after parameter adjustment is shown in Fig. 11. As shown in Fig. 11, by increasing the amplitude A1 of the parameter PR1 to the amplitude A1', the amplitude A2 of the weaving signal WS2 can be made to match the amplitude A1 accepted in step S1 (A2 = A1).

[0059] Thus, the post-filtering parameters PR2 (amplitude A2, frequency f2, phase φ2) of the weaving signal WS2 coincide with the parameters PR1 of the weaving signal WS1 (A2=A1, f2=f1, φ2=φ1=0, t s =0), which satisfies the first condition CD1.

[0060] The processor 30 may determine the amount of change by which the amplitude A1 is increased in step S6 based on the amount of change from the amplitude A1 to the amplitude A2 shown in FIG. 6. As an example, the processor 30 acquires the difference Δ1 (=A1-A2) between the amplitude A1 and the amplitude A2 in FIG. 6 in step S4. Then, the processor 30 adds Δ1×α (α is a predetermined coefficient) to the amplitude A1 in step S6 to obtain the amplitude A1′ (=A1+Δ1×α). As another example, the processor 30 acquires the ratio R1 (=A1 / A2) between the amplitude A1 and the amplitude A2 in FIG. 6 in step S4. Then, the processor 30 multiplies the amplitude A1 by the ratio R1 in step S6 to obtain the amplitude A1′ (=A1×R1).

[0061] In this way, the processor 30 adjusts the parameter PR1 (for example, the amplitude A1) to the parameter PR1' (amplitude A1') so as to satisfy the first condition CD1. Therefore, in the present embodiment, the processor 30 functions as the parameter adjustment unit 58 (FIG. 2). The processor 30 updates the parameter setting value PR1 stored in the memory 32 V to the parameter PR1' after adjustment in this step S6.

[0062] In step S7, the processor 30 acquires the operation state parameter OPR. The operation state parameter OPR is a parameter representing the operation state of the robot 12 when the robot 12 is made to perform the weaving operation according to the weaving signal WS2, and includes, for example, the speed V, acceleration a, and jerk j of the robot 12.

[0063] For example, when step S7 is executed after determining YES in step S5, the operation state parameter OPR includes the speed V, acceleration a, and jerk j of the robot 12 when the robot 12 is made to perform the weaving operation according to the weaving signal WS2 shown in FIG. 6. The weaving signal WS2 shown in FIG. 6 has the filtered parameter PR2 (amplitude A2 < A1, frequency f2 = f1, phase φ2 = φ1) corresponding to the parameter PR1 received in step S1.

[0064] On the other hand, when step S7 is executed after step S6, the operation state parameter OPR includes the speed V, acceleration a, and jerk j of the robot 12 when the robot 12 is made to perform the weaving operation according to the weaving signal WS2 shown in FIG. 11. The weaving signal WS2 in FIG. 11 has the filtered parameter PR2 (amplitude A2 = A1, frequency f2 = f1, phase φ2 = φ1) corresponding to the parameter PR1' after adjustment in step S6.

[0065] In this step S7, the processor 30 executes the same process as in steps S3 and S4 described above to obtain the parameter PR2 after filtering the webbing signal WS2 in FIG. 6 or FIG. 11. Specifically, when step S7 is executed after determining YES in step S5, the processor 30 simulates and generates a webbing signal WS1 having the parameter PR1 received in step S1, and then obtains the parameter PR2 after filtering corresponding to the webbing signal WS1 (amplitude A2 < A1, frequency f2 = f1, phase φ2 = φ1).

[0066] On the other hand, when step S7 is executed after determining YES in step S5, the processor 30 simulates and generates a webbing signal WS1' having the adjusted parameter PR1' in step S6, and then obtains the parameter PR2 after filtering corresponding to the webbing signal WS1' (amplitude A2 = A1, frequency f2 = f1, phase φ2 = φ1).

[0067] Next, the processor 30 simulates and generates a webbing signal WS2 having the obtained parameter PR2 after filtering. At the same time, the processor 30 functions as the main operation command generation unit 42, simulates and generates the main operation command CM1, functions as the filter unit 46, and executes the filter process FR1 on the main operation command CM1 to generate the main operation command CM2.

[0068] Then, the processor 30 functions as the webbing operation command generation unit 50, and by applying the generated webbing signal WS2 to the main operation command CM2, simulates and generates a webbing operation command CM3 (= CM2 + WS2). Based on the simulated webbing operation command CM3, the processor 30 obtains the speed V, acceleration a, and jerk j of the robot 12 when the webbing operation is executed on the robot 12 according to the webbing operation command CM3.

[0069] At this time, the processor 30 may acquire the velocity V, the acceleration a, and the jerk j by simulating the robot 12 to execute a weaving motion in accordance with the weaving motion command CM3. Thus, in this embodiment, the processor 30 functions as a motion acquisition unit 60 (FIG. 2) that acquires motion state parameters OPR (velocity V, acceleration a, jerk j).

[0070] In step S8, the processor 30 functions as the condition determination unit 56 and determines whether the filtered parameter PR2 satisfies a predetermined second condition CD2. In this embodiment, the second condition CD2 is determined as a condition that the motion state parameter OPR (speed V, acceleration a, jerk j) acquired in step S7 does not exceed a predetermined allowable value.

[0071] For example, the processor 30 determines whether or not each of the velocity V, acceleration a, and jerk j acquired in step S7 exceeds a permissible value. If at least one of the velocity V, acceleration a, and jerk j exceeds the corresponding permissible value, the processor 30 determines that the filtered parameter PR2 of the weaving signal WS2 from which the motion state parameter OPR was acquired in step S7 does not satisfy the second condition CD2 (i.e., NO).

[0072] On the other hand, if none of the velocity V, acceleration a, and jerk j exceeds the corresponding allowable value, the processor 30 determines that the filtered parameter PR2 satisfies the second condition CD2 (i.e., YES). The allowable values ​​of the velocity V, acceleration a, and jerk j are stored in the memory 32 in advance.

[0073] The processor 30 may obtain only one operating state parameter OPR (e.g., speed V) in step S7, and determine in step S8 whether the one operating state parameter OPR exceeds an allowable value. If the processor 30 determines YES in step S8, the process proceeds to step S10, whereas if the processor 30 determines NO in step S8, the process proceeds to step S9.

[0074] In step S9, the processor 30 functions as the parameter adjustment unit 58, and adjusts the parameter PR1 or PR1' so as to satisfy the second condition CD2. Specifically, the processor 30 adjusts the parameter PR1 or PR1' as follows, according to the priority order PO accepted in step S1.

[0075] That is, the processor 30 adjusts the filtered parameter PR1 or PR1' corresponding to a first parameter PR1 or PR1' having a high priority PO so as to match the first parameter PR1 or PR1', while allowing the filtered parameter PR2 corresponding to a second parameter PR1 or PR1' having a low priority PO to differ from the second parameter PR1 or PR1'.

[0076] Hereinafter, a case will be described in which the processor 30 receives an input of a priority order PO that specifies that the amplitude A1 should be preferentially reproduced in step S1. For example, when step S9 is executed after determining YES in step S5 (i.e., without executing step S6), the processor 30 sets the parameter PR1 of the weaving signal WS1 shown in FIG. 5 to the end point stop time t s (>0). In Fig. 12, the end point stop time t s 13 shows a weaving signal WS1' set to .

[0077] 12 is lower than the frequency f1 of the original weaving signal WS1. That is, in this case, the processor 30 sets the parameter PR1 to the amplitude A1, the frequency f1', the phase φ (=0), and the end point stop time t s Adjust the parameter PR1' to have (>0).

[0078] When the filter process FR2 is performed on the weaving signal WS1' having the adjusted parameter PR1', the weaving signal WS2 shown in Fig. 13 is obtained. This weaving signal WS2 has an amplitude A2=A1 as the filtered parameter PR2.

[0079] In this way, the end point stopping time t s By adjusting the amplitude A2 of the filtered parameter PR2 to be longer, the amplitude A1 can be reproduced. s is determined so as to satisfy the second condition CD2. For example, the end point stopping time t s may be defined as a value corresponding to the filter time τ2 (or a value obtained by multiplying the filter time τ2 by a predetermined coefficient).

[0080] On the other hand, when step S9 is executed after determining NO in step S5 of FIG. 7 (that is, after executing step S6), the processor 30 first cancels the parameter PR1′ adjusted in step S6 (in other words, the parameter setting value PR1 at this point in time). V (Delete the parameter PR1' stored as PR1'.)

[0081] Then, in the same manner as in the method described with reference to FIG. 12, the processor 30 sets the parameter PR1 received in step S1 as the end point stop time t s As a result, a weaving signal WS1' (FIG. 12) having a parameter PR1' newly adjusted in step S9 is generated, and as a result, the amplitude A1 can be reproduced as the amplitude A2 of the parameter PR2.

[0082] The processor 30 determines the end point stop time t s For example, when step S9 is executed after determining NO in step S5, the processor 30 further adjusts the parameter PR1′ after adjustment in step S6 so as to lower the frequency f1 of the parameter PR1′ to f1′.

[0083] That is, in this case, the period T1 of the weaving signal WS1' shown in Fig. 10 is increased to a longer period T1' (>T1). Therefore, the parameter PR1' after further adjustment has an amplitude A1' and a frequency f1'. At this time, the change amount by which the frequency f1 is reduced to the frequency f1' may be determined based on the amplitude A1' so as to satisfy the second condition CD2.

[0084] As an example, a data table DT of the amplitude A and frequency f that can satisfy the second condition CD2 may be stored in advance in the memory 32. This data table DT may be created in advance by an experimental method or a simulation. Then, the processor 30 may read out the frequency f corresponding to the amplitude A1' from the data table DT and determine it as the frequency f1' of the parameter PR1'.

[0085] In this way, when the amplitude A1 should be prioritized according to the priority order PO, the processor 30 adjusts the parameter PR1 or PR1' so as to match the amplitude A2 of the filtered parameter PR2 to the amplitude A1 of the parameter PR1 accepted in step S1, while allowing the frequency f2 of the filtered parameter PR2 to differ from the frequency f1 accepted in step S1.

[0086] Next, a case will be described where the processor 30 receives an input of a priority order PO that specifies that the frequency f1 should be preferentially reproduced in step S1. For example, when executing step S9 after judging YES in step S5, the processor 30 adjusts the parameter PR1 of the weaving signal WS1 shown in Fig. 5 so as to decrease the amplitude A1. When executing step S9 after judging NO in step S5, the processor 30 further adjusts the parameter PR1' of the weaving signal WS1' shown in Fig. 10 so as to decrease the amplitude A1'.

[0087] Here, whether the second condition CD2 can be satisfied (i.e., whether the operating state parameter OPR does not exceed the allowable value) depends on the combination of the amplitude A2 and the frequency f2 of the weaving signal WS2. Specifically, the larger the amplitude A2 is and the higher the frequency f2 is, the more likely it is that the second condition CD2 cannot be satisfied.

[0088] Therefore, in step S9, the parameter PR1 or PR1' can be adjusted so as to satisfy the second condition CD2 (i.e., so that the operating state parameter OPR does not exceed the allowable value) by lowering the frequency f1 or decreasing the amplitudes A1 and A1'. V is updated to the parameter PR1' adjusted in step S9.

[0089] 7 again, in step S10, the processor 30 determines whether or not a work start command has been received from an operator, a higher-level controller, or a computer program. If the processor 30 determines that a work start command has been received (i.e., YES), the processor 30 proceeds to step S10, whereas if the processor 30 determines that the work start command has been received (NO), the processor 30 loops step S10.

[0090] In step S11, the processor 30 generates a weaving operation command CM3. Specifically, as described with reference to FIG. 4, the processor 30 functions as the signal generating unit 44 and generates a parameter setting value PR1 at this time. V Then, the parameter PR1 or PR1' stored as PR1 or PR1' is used to generate the weaving signal WS1 (FIG. 5) or WS1' (FIG. 10 or FIG. 12) having the parameter PR1 or PR1'.

[0091] Then, the processor 30 functions as the filter unit 48, and executes the filter processing FR2 on the weaving signal WS1 or WS1' to generate the weaving signal WS2 (FIG. 6, FIG. 11, or FIG. 13). In the parameter PR2 of the weaving signal WS2 generated here, as described above, the parameter PR1 (for example, the amplitude A1 or the frequency f1) having the high priority order PO is reproduced.

[0092] Then, as described above, the processor 30 generates a weaving operation command CM3 based on the weaving signal WS2, and operates the servo motor 28 of the robot 12 in accordance with the weaving operation command CM3, thereby causing the robot 12 to perform a weaving operation as shown in Fig. 3. At the same time, the processor 30 activates the tool 26 to weld the workpiece W.

[0093] 7 again, in step S12, the processor 30 determines whether or not the welding operation has been completed. If the processor 30 determines that the welding operation has been completed (i.e., YES), the processor 30 ends the flow shown in FIG. 7, whereas if the processor 30 determines that the welding operation has been completed (i.e., NO), the processor 30 loops step S12. In this manner, the processor 30 causes the robot 12 to perform a weaving operation while performing the welding operation on the workpiece W.

[0094] As described above, in this embodiment, the processor 30 functions as an input receiving unit 52, a signal generating unit 44, a parameter acquiring unit 54, a condition determining unit 56, a parameter adjusting unit 58, and an operation acquiring unit 60, and generates signals WS1, WS1', and WS2 for the weaving operation.

[0095] Therefore, the input receiving unit 52, the parameter acquiring unit 54, the signal generating unit 44, the condition determining unit 56, the parameter adjusting unit 58, and the operation acquiring unit 60 constitute an apparatus 70 (FIG. 2) that generates the signals WS1, WS1', and WS2. The apparatus 70 (the input receiving unit 52, the parameter acquiring unit 54, the signal generating unit 44, the condition determining unit 56, the parameter adjusting unit 58, and the operation acquiring unit 60) may be functional modules realized by a computer program executed by the processor 30.

[0096] In this device 70, when the condition determination unit 56 determines that the conditions CD1 and CD2 are not satisfied, the parameter adjustment unit 58 adjusts the parameter PR1 accepted by the input acceptance unit 52 so as to satisfy the conditions CD1 and CD2 (steps S6 and S9). Then, when the parameter adjustment unit 58 adjusts the parameter PR1, the signal generation unit 44 generates a weaving signal WS1' having the adjusted parameter PR1' (step S11).

[0097] According to this configuration, it is possible to automatically adjust the parameter PR1 so as to generate a weaving signal WS that satisfies the conditions CD1 and CD2 arbitrarily set by the operator. This allows the robot 12 to perform a weaving operation in a manner desired by the operator, and simplifies the task of teaching the robot 12 a desired weaving operation.

[0098] Furthermore, in the device 70, when the filtered parameter PR2 is different from the parameter PR1, the condition determination unit 56 determines that the first condition CD1 is not satisfied (NO in step S5), and the parameter adjustment unit 58 adjusts the parameter PR1 so that the filtered parameter PR2 can match the parameter PR1 (step S6).

[0099] According to this configuration, the parameter PR1 (e.g., amplitude A1) input by the operator can be reproduced in the weaving signal WS2 obtained by performing the filter process FR2 on the weaving signal WS1' having the adjusted parameter PR1'. This allows the robot 12 to effectively execute the weaving operation desired by the operator.

[0100] Furthermore, in the device 70, the parameter adjustment unit 58 adjusts multiple parameters PR1 (e.g., amplitude A1, frequency f1) in accordance with the priority order PO of the multiple parameters PR1 so as to match the filtered parameter PR2 (amplitude A2) corresponding to a first parameter PR1 (e.g., amplitude A1) having a high priority order PO with the first parameter PR1, while allowing the filtered parameter PR2 (frequency f2) corresponding to a second parameter PR1 (e.g., frequency f1) having a low priority order PO to differ from the second parameter PR1 (step S9).

[0101] The input receiving unit 52 further receives an input of the priority order PO, and the parameter adjusting unit 58 adjusts the multiple parameters PR1 according to the priority order PO received by the input receiving unit 52. With this configuration, the parameters PR1 with higher priority orders PO input by the operator can be preferentially reproduced in the weaving signal WS2, so that the operator can arbitrarily design the weaving operation to be performed by the robot 12 in consideration of the conditions CD1 and CD2. In addition, since the operator can easily predict the weaving signal WS2 to be generated, it is possible to easily verify the behavior of the robot 12 during the weaving operation.

[0102] In addition, in the device 70, the action acquisition unit 60 acquires the action state parameter OPR (step S7), and the condition determination unit 56 determines that the second condition CD2 is not satisfied (NO in step S8) when the action state parameter OPR acquired by the action acquisition unit 60 exceeds a predetermined allowable value. In this case, the parameter adjustment unit 58 adjusts the parameter PR1 so that the action state parameter OPR does not exceed the allowable value (step S9).

[0103] According to this configuration, it is possible to prevent the robot 12 from entering an inappropriate operating state (e.g., a state in which the speed, acceleration, or jerk is excessive) during the weaving operation, thereby preventing an excessive load from being placed on the robot 12 and thus preventing the robot 12 from breaking down. It is also possible to prevent a decrease in the welding quality of the workpiece W caused by the robot 12 performing the weaving operation in an inappropriate operating state.

[0104] As described with reference to FIG. 8, in step S1, the operator inputs the amplitude A1, the frequency f1, and the end point stop time t s When (>0) is input, the frequency f of the weaving signal WS1 is changed from the frequency f1 input by the operator to the frequency f3.

[0105] FIG. 14 shows the amplitude A1, frequency f1, and end point stop time t s = 0, and the signal WS0 as a triangular wave with amplitude A1, frequency f3 (= 1 / T3), and end point stop time t s In step S1, the processor 30 calculates the end point stop time t s When the input is accepted, the frequency f3 is set to the parameter setting value PR1 of the parameter PR1. V and stores it in the memory 32.

[0106] Then, the processor 30 acquires the frequency f3 as the filtered parameter PR2 in the above-mentioned step S4. Then, the processor 30 determines NO in step S5 because the frequency f3 as the filtered parameter PR2 is different from the frequency f1 received in step S1.

[0107] In this case, if the operator inputs a priority order PO in step S1 that specifies that the frequency f1 should be preferentially reproduced, the processor 30 in step S6 sets the parameter setting value PR1 V The parameter PR1 is adjusted so as to change the frequency f3 set as the input to the frequency f1 for which an input has been received.

[0108] As a result, the weaving signal WS1 generated by the signal generating unit 44 is changed to a weaving signal WS1' as a trapezoidal wave having a frequency f1 as shown in Fig. 15. Then, the processor 30 changes the parameter PR1' of the weaving signal WS1' having the frequency f1 to the parameter setting value PR1 V and stores it in the memory 32.

[0109] It is also possible to omit the action acquisition unit 60 from the device 70 and omit steps S7 to S9 from the flow shown in FIG. 7. In this case, the processor 30 executes step S10 after step S6 in the flow shown in FIG. 7. In this flow, it is assumed that the operator inputs a priority order PO in step S1 that specifies that the amplitude A1 should be preferentially reproduced. In this case, the processor 30 determines in step S6 the end point stopping time t s The parameter PR1 may be adjusted to lengthen the time.

[0110] Alternatively, in step S6, the processor 30 may adjust the parameter PR1 so as to change both the amplitude A1 and the frequency f1. Such a parameter adjustment method will be described with reference to FIG. 16. FIG. 16 shows the amplitude A1, the frequency f1 (= 1 / T1), the phase φ1 (= 0), and the end point stop time t as the parameter PR1 received by the processor 30 in step S1 s (= 0) of the wobbling signal WS1.

[0111] When receiving such a parameter PR1, in step S6, the processor 30 adjusts the parameter PR1 so as to increase the amplitude A1 to the amplitude A1' and decrease the frequency f1 to the frequency f1' (= 1 / T1' < f1). As a result, as shown in FIG. 16, the signal generation unit 44 generates a wobbling signal WS1' having the adjusted parameter PR1' (amplitude A1', frequency f1', phase φ1 = 0, end point stop time t s = 0).

[0112] FIG. 17 shows a wobbling signal WS2 obtained when the filter process FR2 is executed on the wobbling signal WS1' shown in FIG. 16. In the parameter PR2 after the filter process of this wobbling signal WS2, the amplitude A2 coincides with the amplitude A1 received in step S1, while the frequency f2 (= f1') is different from the frequency f1 received in step S1.

[0113] In such a parameter adjustment method, the processor 30 may determine the amount of change for changing the amplitude A1 and the frequency f1 in step S6 so that the parameter PR2 after the filter process satisfies the second condition CD2. For example, the processor 30 may determine the amount of change by using the above-described data table DT.

[0114] In addition, if steps S7 to S9 are omitted from the flow shown in FIG. 7, and the operator inputs a priority order PO that specifies that frequency f1 should be preferentially reproduced in step S1, processor 30 does not need to adjust parameter PR1 in step S6.

[0115] 6, when the weaving signal WS1 is subjected to the filter process FR2, the amplitude A1 is attenuated but the frequency f1 is maintained. Therefore, the processor 30 may be able to reproduce the frequency f1 with a high priority order PO without adjusting the parameter PR1 in step S6.

[0116] Next, another embodiment of the method for generating the weaving signal WS executed by the processor 30 (device 70) will be described with reference to Fig. 18. In the flow shown in Fig. 18, the same step numbers are used for processes similar to those in the flow shown in Fig. 7, and duplicated explanations will be omitted. Hereinafter, a case will be described in which the processor 30 receives an input of a priority order PO that specifies that the amplitude A1 should be preferentially reproduced in step S1. In this embodiment, the processor 30 executes step S6' after judging NO in step S5 or S8.

[0117] In step S6', processor 30 functions as parameter adjustment unit 58, and at this point in time, parameter setting value PR1 V The parameter PR1 or PR1' set as is adjusted so as to satisfy the conditions CD1 and CD2. For example, when step S6' is executed after determining NO in step S5, the processor 30 increases the amplitude A1 received in step S1 to the amplitude A1', similarly to the above-described step S6.

[0118] On the other hand, when step S6′ is executed after determining NO in step S8, the processor 30 may, for example, determine the end point stop time t s (that is, by varying the frequency f1 or f1'), or by varying both the amplitude A1 or A1' and the frequency f1 or f1' as described with reference to FIG.

[0119] Here, when executing step S6' after determining NO in step S8, the processor 30 may determine the amount of change for the parameter PR1 or PR1' by using, for example, the above-mentioned data table DT so that the second condition CD2 is satisfied. Alternatively, the processor 30 may randomly change the parameter PR1 or PR1' (for example, the frequency f1 or f1') with a low priority order PO every time the processor 30 executes step S6'.

[0120] After executing step S6', the processor 30 returns to step S3 and repeatedly executes the loop of steps S3 to S5, S6', S7, and S8 until it determines YES in step S8. This allows the processor 30 to automatically search for the parameter PR1' that can satisfy the conditions CD1 and CD2 in accordance with the priority order PO.

[0121] In the flow shown in FIG. 18, in step S5, the processor 30 may determine whether or not the first condition CD1 is satisfied only for the parameter PR1 (e.g., the amplitude A1) having a high (i.e., first) priority PO received in step S1.

[0122] Alternatively, in the first execution of step S5, processor 30 may determine whether or not the first condition CD1 is satisfied for all parameters PR1 received in step S1, while in the nth execution of step S5 (n is an integer greater than or equal to 2), processor 30 may determine whether or not the first condition CD1 is satisfied only for parameters PR1 with a high priority PO received in step S1 (e.g., amplitude A1).

[0123] According to this embodiment, the processor 30 automatically searches for the optimal parameter PR1', so that a weaving motion that matches the operator's desired state can be effectively designed and the task of teaching such a weaving motion to the robot 12 can be simplified.

[0124] In the above embodiment, the phase φ1 does not change due to the filter process FR2. However, the phase φ1 may change depending on the type of the filter process FR2. In such a case, when the processor 30 receives an input of a priority order PO that specifies that the phase φ1 should be preferentially reproduced in step S1, the processor 30 adjusts the parameters PR1 and PR1' in step S6, S6', or S9 described above so as to reproduce the phase φ1.

[0125] A method for reproducing the phase φ1 will be described below with reference to Figs. 19 to 21. In Fig. 19, a weaving signal WS1 having an amplitude A1, a frequency f1 (=1 / T1), and a phase φ1 (=0) as a parameter PR1 is shown by a dotted line. Meanwhile, a weaving signal WS2 obtained by executing a filter process FR2 on the weaving signal WS1 is shown by a solid line. In the example shown in Fig. 19, the phase φ2 of the weaving signal WS2 is different from the phase φ1 of the weaving signal WS1 in that the phase φ v (i.e., φ2=φ1-φ v ).

[0126] In such a case, in order to reproduce the phase φ1 with a high priority order PO, the processor 30 adjusts the parameter PR1 so as to generate a weaving signal WS1' shown in Fig. 20. The weaving signal WS1' shown in Fig. 20 is a waveform WS1 of the first wavelength indicated by a dashed line. a and the waveform WS of the second and subsequent wavelengths shown by solid lines. b Includes.

[0127] Waveform of weaving signal WS1' WS a is obtained by reducing the amplitude A1 of the waveform of the first wavelength of the weaving signal WS1 to an amplitude A1' while maintaining the slope of the waveform of the first wavelength of the weaving signal WS1. b has the same amplitude A1 as the waveform of the second and subsequent wavelengths of the weaving signal WS1. a By the waveform WSb The phase φ1' of the original weaving signal WS1 is v (That is, φ1'=φ1+φ v ).

[0128] In order to generate the weaving signal WS1' shown in Fig. 20, the processor 30 adjusts the parameter PR1 of the original weaving signal WS1 to the parameter PR1' (amplitude A1', phase φ1') of the weaving signal WS1'. Note that the amount of change from the amplitude A1 to the amplitude A1' is the amplitude of the waveform WS b The phase of φ1' is φ1'=φ1+φ v The processor 30 sets the adjusted parameters PR1' (A1', φ1') as the parameter setting values ​​PR1 V and stores it in the memory 32.

[0129] FIG. 21 shows a weaving signal WS2 obtained by performing a filter process FR2 on the weaving signal WS1' shown in FIG. 20. In FIG. 21, the waveform WS a The waveform of the first wavelength weaving signal WS2 corresponding to the first wavelength is shown by a dashed line, while the waveform WS b The waveforms of the weaving signals WS2 from the second wavelength onwards corresponding to the above are shown by solid lines.

[0130] 21, the phase φ2 of the weaving signal WS2 coincides with the phase φ1 of the weaving signal WS1 received in step S1 in the waveform of the second wavelength and thereafter. By adjusting the parameter PR1 in this manner, the processor 30 can reproduce the phase φ1.

[0131] Note that, in the weaving operation, the processor 30 may swing the tool 26 in the vertical direction in synchronization with swinging the tool 26 in the front-rear direction. Such a weaving operation will be described with reference to FIGS. 3 and 22. In the example shown in FIG. 22, while the processor 30 swings the tool 26 in the front-rear direction between the end point P1 and the end point P2, the processor 30 displaces the tool 26 upward by a distance δ at the position of the movement path WP, and while abutting against the surface of the workpiece W at the positions of the end point P1 and the end point P2, executes the weaving operation.

[0132] A weaving signal WS1 for causing the robot 12 to execute a swinging operation in the vertical direction as shown in FIG. 22 z is shown in FIG. 23. Note that the vertical axis in FIG. 23 indicates the amplitude A of swinging the tool 26 in the vertical direction, and the horizontal axis indicates the time t. The weaving signal WS1 shown in FIG. 23 z has, as parameters PR1, a positive amplitude A1, a frequency f1 (= 1 / T1), a phase φ1 (= 0), and an end point stop time t s (= 0).

[0133] This weaving signal WS1 z By executing a filtering process FR2 on this, a weaving signal WS2 z may have an amplitude A2 (<A1) as a parameter PR2. Regarding the parameter PR1 of the weaving signal WS1 shown in FIG. 23 z can also be adjusted in the same manner as in the above-described embodiment.

[0134] Then, in step S11 described above, the processor 30 functions as a signal generation unit 44, generates the above-described weaving signal WS1 and the weaving signal WS1 shown in FIG. 23 z respectively, and by adding these, generates a composite weaving signal WS1 S and outputs it to the filter unit 48.

[0135] As in the present embodiment, by performing a weaving operation in which the tool 26 is swung in the forward and backward directions and swung in the up and down directions in synchronization with each other, it is possible to improve the welding quality. z Since the parameter PR1 can be reproduced, the weaving motion that swings back and forth and up and down can be designed as desired.

[0136] The processor 30 sets the filter time τ1 of the filtering process FR1 to the above-mentioned inherent filter time τ a In addition, in the above-mentioned step S2, the processor 30 may set the filter time τ2 to the inherent filter time τ a (or, the allowable filter time τ b ) may be determined univocally.

[0137] 7 or 18. In this case, the operator may operate the input device 38 to input a desired filter time τ2. The processor 30 may then execute the filter process FR2 with the filter time τ2 that has been input. In this case, the processor 30 determines whether the filter time τ2 that has been received from the operator is equal to or smaller than the inherent filter time τ a If the time is shorter than 100 seconds, an alarm may be output.

[0138] In the above embodiment, the processor 30 accepts input of the priority order PO in step S1. However, the present invention is not limited to this, and data of the priority order PO may be determined in advance and stored in the memory 32. The priority order PO may not be set. For example, in the above step S6' or S9, the processor 30 may adjust all the parameters PR1 so as to satisfy the second condition CD2, so as to allow the corresponding post-filtering parameters PR2 to differ from the original parameters PR1.

[0139] Furthermore, the processor 30 may receive an input of the type of waveform of the weaving signal WS1 (triangular wave, trapezoidal wave, sawtooth wave, trigonometric function, etc.) in step S1. Furthermore, the configuration for generating the weaving operation command CM3 is not limited to the form shown in Fig. 4. For example, the filter unit 46 may be omitted, and the filter unit 48 may be provided in the subsequent stage of the weaving operation command generating unit 50.

[0140] In this case, the main operation command CM1 generated by the main operation command generating unit 42 and the weaving signals WS1, WS' generated by the signal generating unit 44 are added in the weaving operation command generating unit 50 to generate the weaving operation command CM3. Then, the weaving operation command CM3 generated by the weaving operation command generating unit 50 is subjected to the filter processing FR2 in the filter unit 48 and output to the servo motor 28.

[0141] In the above embodiment, the function of the device 70 is implemented in the control device 14. However, the present invention is not limited to this, and the function of the device 70 may be implemented in another computer (such as a teaching pendant, a tablet PC, or a desktop PC) communicatively connected to the control device 14. In this case, the processor of the other computer functions as the device 70. The processor of the other computer may function as the signal generating unit 44 to generate the weaving signals WS1, WS1′ and transmit them to the control device 14.

[0142] Also, in the above embodiment, the case has been described in which the tool 26 is a welding torch and performs a welding operation on the workpiece W. However, the present invention is not limited to this, and the tool 26 may be configured to, for example, melt a brazing material fed from a brazing material feeder (not shown) to perform a brazing operation on the workpiece W, or may be configured to perform any operation on the workpiece W.

[0143] Furthermore, the robot 12 is not limited to a vertical articulated robot, but may be any type of robot capable of moving the tool 26, such as a horizontal articulated robot or a parallel link robot. Although the present disclosure has been described above through the embodiments, the invention according to the claims is not limited to the above-described embodiments. [Explanation of symbols]

[0144] 10 Robot System 12. Robot 14 Control device 26 Tools 30 processors 42 Main operation command generation section 44 Signal Generator 46,48 Filter section 50 Weaving operation command generation section 52 Input reception section 54 Parameter Acquisition Section 56 Condition judgment section 58 Parameter Adjustment Section 60 Operation acquisition section

Claims

1. 1. An apparatus for generating a signal for a weaving operation in which a robot moves a tool along a predetermined work path and swings the tool in a direction intersecting the work path, the apparatus comprising: an input receiving unit that receives an input of a parameter of a weaving signal for causing the robot to swing the tool; a signal generating unit that generates the weaving signal having the parameters received by the input receiving unit; a parameter acquisition unit that acquires, as post-filtering parameters, the parameters of the weaving signal generated by the signal generation unit when filtering is performed on the weaving signal to remove high-frequency components; a condition determination unit that determines whether the filtered parameters satisfy a predetermined condition; a parameter adjustment unit that adjusts the parameter received by the input reception unit so as to satisfy the condition when the condition determination unit determines that the condition is not satisfied, The signal generating unit generates the weaving signal having the parameters adjusted by the parameter adjusting unit.

2. the condition determination unit determines that the condition is not satisfied when the filtered parameter is outside a predetermined allowable range; The device according to claim 1 , wherein the parameter adjustment unit adjusts the post-filtering parameters so that the post-filtering parameters match the parameters accepted by the input acceptance unit.

3. 3. The device according to claim 2, wherein the parameter adjustment unit adjusts the multiple parameters in accordance with the priorities of the multiple parameters accepted by the input acceptance unit, so as to make the filtered parameter corresponding to a first parameter having a higher priority equal to the first parameter, while allowing the filtered parameter corresponding to a second parameter having a lower priority than the first parameter to differ from the second parameter.

4. The input receiving unit further receives an input of the priority order, The device according to claim 3 , wherein the parameter adjustment unit adjusts the plurality of parameters in accordance with the priority order accepted by the input acceptance unit.

5. a motion acquisition unit that acquires motion state parameters representing a motion state of the robot when the robot is caused to perform the weaving motion in accordance with the weaving signal having the filtered parameters, the condition determination unit determines that the condition is not satisfied when the motion state parameter acquired by the motion acquisition unit exceeds a predetermined allowable value; The apparatus according to any one of claims 1 to 4, wherein the parameter adjusting unit adjusts the operating state parameter so that the operating state parameter does not exceed the allowable value.

6. The apparatus of claim 5 , wherein the motion state parameters include at least one of a velocity, an acceleration, and a jerk of the robot.

7. The parameters are: the amplitude of the weaving signal; the frequency of the weaving signal; the phase of the weaving signal, and and an end point dwell time defining a time for which the tool is maintained at an end point of its swinging motion in the weaving motion.

8. A control device comprising the device according to any one of claims 1 to 7, and configured to control the robot to perform the weaving operation.

9. a main operation command generating unit that generates a main operation command for causing the robot to move the tool in a direction of the work path; a filter unit that performs the filtering process on the weaving signal generated by the signal generating unit; 9. The control device according to claim 8, further comprising: a weaving operation command generating unit that generates a weaving operation command for causing the robot to perform the weaving operation by applying the weaving signal that has been subjected to the filtering process by the filtering unit to the main operation command.

10. 1. A method for generating signals for a weaving operation by a robot to move a tool along a predetermined work path and to swing the tool in a direction intersecting the work path, comprising: The processor: Accepting input of a parameter of a weaving signal for causing the robot to oscillate the tool; generating the weaving signal having the received parameters; The parameters of the weaving signal when a filter process for removing high frequency components is performed on the generated weaving signal are acquired as post-filter parameters; determining whether the filtered parameters satisfy a predetermined condition; If it is determined that the condition is not satisfied, adjusting the received parameters so that the condition is satisfied; generating the weaving signal with the adjusted parameters.

Citation Information

Patent Citations

  • Weaving control device of articulated robot

    JP2014083605A

  • Welding robot apparatus

    JP2019028909A

  • Robot controller and control method

    JP2020097083A

  • Numerical control device, machine learning device, and numerical control method

    WO2020261581A1