Apparatus for generating a signal for a swing motion, control apparatus and method

CN116964535BActive Publication Date: 2026-10-27FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202280020502.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-30
Filing Date
2022-03-23
Publication Date
2026-10-27
Estimated Expiration
2042-03-23

AI Technical Summary

Technical Problem

[0009]在本公开的一个方式中,提供一种装置,所述装置生成用于摆动动作的信号,该摆动动作是通过机器人使工具沿着预先决定的作业路径移动并且使该工具向与该作业路径交叉的方向摇摆的动作,所述装置具备:输入受理部,其受理用于机器人使工具摇摆的摆动信号的参数的输入;信号生成部,其生成具有输入受理部所受理到的参数的摆动信号;参数获取部,其获取针对信号生成部所生成的摆动信号执行了用于去除高频成分的滤波处理的情况下的该摆动信号的参数来作为滤波处理后参数;条件判定部,其判定滤波处理后参数是否满足预先决定的条件;以及参数调整部,在条件判定部判定为不满足条件的情况下,所述参数调整部对输入受理部所受理到的参数进行调整,以使得满足该条件

Benefits of technology

[0012]根据本公开,能够自动地调整摆动信号的参数,以使得能够生成满足操作员任意地决定的条件的摆动信号。由此,能够使机器人以操作员所期望的方式执行摆动动作,并且能够使向机器人示教所期望的摆动动作的作业简单化。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116964535B_ABST
    Figure CN116964535B_ABST
Patent Text Reader

Abstract

A technology has been sought for enabling a robot to perform a swing motion in a manner desired by an operator. An apparatus (70) includes an input reception unit (52) that receives input of a parameter of a swing signal, a signal generation unit (44) that generates the swing signal having the received parameter, a parameter acquisition unit (54) that acquires the parameter of the swing signal in a case where a filter process is performed on the swing signal as a post-filter parameter, a condition determination unit (56) that determines whether the post-filter parameter satisfies a predetermined condition, and a parameter adjustment unit (58) that adjusts the received parameter in a case where it is determined that the condition is not satisfied. The signal generation unit (44) generates the swing 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] This disclosure relates to an apparatus, control device, and method for generating signals for swinging motions. Background Technology

[0002] A control device for enabling a robot to perform a swinging motion is known (e.g., Patent Document 1).

[0003] Existing technical documents

[0004] Patent documents

[0005] Patent Document 1: Japanese Patent Application Publication No. 2014-83605 Summary of the Invention

[0006] The problem the invention aims to solve

[0007] There has been a long-standing search for a technology that simplifies the process of teaching a robot to swing motions and enables the robot to perform the swing motions in the manner desired by the operator.

[0008] Solution for solving the problem

[0009] In one aspect of this disclosure, an apparatus is provided that generates a signal for a oscillating motion, the oscillating motion being an action by which a robot moves a tool along a predetermined work path and oscillates the tool in a direction intersecting the work path. The apparatus comprises: an input receiving unit that receives input parameters for the oscillating signal used by the robot to oscillate the tool; a signal generation unit that generates an oscillating signal having the parameters received by the input receiving unit; a parameter acquisition unit that acquires parameters of the oscillating signal after performing filtering processing for removing high-frequency components on the oscillating signal generated by the signal generation unit as filtered parameters; a condition determination unit that determines whether the filtered parameters satisfy a predetermined condition; and a parameter adjustment unit that, if the condition determination unit determines that the condition is not satisfied, adjusts the parameters received by the input receiving unit to satisfy the condition. The signal generation unit generates an oscillating signal having parameters adjusted by the parameter adjustment unit.

[0010] A method for generating a signal for a swaying motion, the swaying motion being an action by which a robot moves a tool along a predetermined work path and sways the tool in a direction intersecting the work path, wherein the processor performs the following processes: receiving input parameters for the swaying signal of the robot moving the tool; generating a swaying signal having the received parameters; acquiring parameters of the swaying signal after performing filtering processing for removing high-frequency components on the generated swaying signal as filtered parameters; determining whether the filtered parameters meet a predetermined condition; if the condition is not met, adjusting the received parameters to meet the condition; and generating a swaying signal having the adjusted parameters.

[0011] The effects of the invention

[0012] According to this disclosure, the parameters of the oscillation signal can be automatically adjusted to generate an oscillation signal that satisfies conditions arbitrarily determined by the operator. This enables the robot to perform oscillation movements in a manner desired by the operator and simplifies the task of teaching the robot the desired oscillation movements. Attached Figure Description

[0013] Figure 1 This is a diagram of a robot system involved in one implementation method.

[0014] Figure 2 yes Figure 1 The diagram shows a block diagram of the robot system.

[0015] Figure 3 Show Figure 1 The trajectory shown is for the swinging motion performed by the robot.

[0016] Figure 4 yes Figure 1 The diagram shows a block diagram of the function that generates swing motion commands in the control device.

[0017] Figure 5 The waveform of the oscillating signal is shown.

[0018] Figure 6 Showing targets Figure 5 The waveform shown is the result of filtering the oscillating signal.

[0019] Figure 7 This is a flowchart illustrating an example of a method for generating a swing signal.

[0020] Figure 8 The waveform of the oscillating signal with a set endpoint stop time is shown.

[0021] Figure 9This diagram illustrates the method of calculating the parameters after filtering through computation.

[0022] Figure 10 The waveform is shown when the amplitude is adjusted as a parameter of the oscillation signal.

[0023] Figure 11 Showing targets Figure 10 The waveform of the oscillating signal after parameter adjustment is shown, after filtering.

[0024] Figure 12 The waveform is shown when the endpoint stop time is set as a parameter of the swing signal.

[0025] Figure 13 Showing targets Figure 12 The waveform of the oscillating signal after parameter adjustment is shown, after filtering.

[0026] Figure 14 The waveform of the oscillating signal with a set endpoint stop time is shown.

[0027] Figure 15 Frequency is shown as Figure 14 The waveform of the swing signal shown is obtained when the parameters have been adjusted.

[0028] Figure 16 The waveform is shown when the amplitude and frequency are adjusted as parameters of the oscillation signal.

[0029] Figure 17 Showing targets Figure 16 The waveform of the oscillating signal after parameter adjustment is shown, after filtering.

[0030] Figure 18 This is a flowchart illustrating other examples of methods for generating oscillating signals.

[0031] Figure 19 The waveform shows the phase change that occurs when filtering is applied to the oscillating signal.

[0032] Figure 20 The waveform of the oscillating signal is shown when the frequency of other parts of the waveform is adjusted by adjusting the amplitude of a portion of the waveform as a parameter of the oscillating signal.

[0033] Figure 21 Showing targets Figure 20 The waveform of the oscillating signal after parameter adjustment is shown, after filtering.

[0034] Figure 22 Other examples of tracks showing oscillating motions are shown.

[0035] Figure 23 Showing the robot to Figure 22 The waveform of the swing signal of the track performing the swing motion is shown. Detailed Implementation

[0036] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings. Furthermore, in the various embodiments described below, the same elements will be labeled with the same reference numerals, and repeated descriptions will be omitted. First, refer to... Figure 1 and Figure 2 To illustrate one embodiment of the robot system 10, we will describe a robot system 10. The robot system 10 includes a robot 12 and a control device 14.

[0037] In this embodiment, robot 12 performs welding operations on workpiece W. Specifically, robot 12 is a vertical articulated robot, having 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 to the floor of the work area. The rotating body 18 is mounted on the robot base 16 in a manner that allows it to rotate about a vertical axis.

[0038] The lower arm portion 20 is disposed on the rotating body 18 in a manner that allows it to rotate about a horizontal axis. The upper arm portion 22 is disposed on the front end of the lower arm portion 20 in a rotatable manner. The wrist portion 24 has a wrist base 24a disposed on the front end of the upper arm portion 22 in a manner that allows it to rotate about two mutually orthogonal axes, and a wrist flange 24b disposed on the wrist base 24a in a rotatable manner.

[0039] Tool 26 is detachably mounted to wrist flange 24b. In this embodiment, tool 26 is a welding torch that generates a discharge between itself and workpiece W according to instructions from control device 14, melting the welding wire fed from a solder feed device (not shown) to weld workpiece W. Alternatively, tool 26 may be a laser processing head that emits a laser beam and uses that laser beam to melt the welding wire to weld workpiece W.

[0040] Multiple servo motors 28 ( Figure 2 The servo motors 28 are respectively built into the robot base 16, rotating body 18, lower arm 20, upper arm 22, and wrist 24. These servo motors 28 rotate the various movable elements of the robot 12 (i.e., rotating body 18, lower arm 20, upper arm 22, wrist 24, and wrist flange 24b) according to instructions from the control device 14, thereby moving the tool 26.

[0041] The control device 14 controls the movements of the robot 12. For example... Figure 2As shown, the control device 14 is a computer having a processor 30, a memory 32, and an I / O interface 34. The processor 30 may have a CPU or GPU, etc. The processor 30 is connected to the memory 32 and the I / O interface 34 in a communicative manner via a bus 36. The processor 30 communicates with these components and performs arithmetic processing for various functions described later.

[0042] The memory 32 includes RAM or ROM, etc., which temporarily or permanently stores various data used in the computational processing performed by the processor 30, as well as various data generated during the computational processing. The I / O interface 34 has, for example, an Ethernet port, a USB port, a fiber optic connector, or an HDMI terminal, and communicates with external devices via wired or wireless means based on instructions from the processor 30. In this embodiment, the servo motor 28 of the robot 12 is connected to the I / O interface 34 in a manner that enables communication.

[0043] The control device 14 is provided with an input device 38 and a display device 40. The input device 38 has a keyboard, mouse, or touch panel, etc., for accepting data input from the operator. The display device 40 has a liquid crystal display or organic EL display, etc., for displaying various data.

[0044] The input device 38 and the display device 40 can also be connected to the I / O interface 34 in a wired or wireless communication manner. In addition, the input device 38 and the display device 40 can be disposed separately from the housing of the control device 14, or they can be integrally embedded in the housing of the control device 14.

[0045] like Figure 1 As shown, a robot coordinate system C1 and a tool coordinate system C2 are set for the robot 12. The robot coordinate system C1 is used for automatically controlling the various movable elements of the robot 12. In this embodiment, the robot coordinate system C1 is set for the robot 12 with its origin located at the center of the robot base 16 and its z-axis aligned with the rotation axis of the rotating body 18. Furthermore, 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 as the front, and the positive z-axis direction as the top.

[0046] The tool coordinate system C2 is a coordinate system used for automatically controlling the position of the tool 26 in the robot coordinate system C1, and is set for the tool 26. Furthermore, in this document, "position" sometimes refers to both location and orientation. In this embodiment, the tool coordinate system C2 is set for the tool 26 such 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 is aligned with the working direction of the tool 26 (e.g., the direction of the central axis of the welding torch tip, or the emission direction of the laser beam).

[0047] When the tool 26 is moved, the processor 30 sets a tool coordinate system C2 in the robot coordinate system C1, and sends commands to each servo motor 28 of the robot 12 to position the tool 26 at a position represented by the set tool coordinate system C2, thereby causing each movable element of the robot 12 to move. In this way, the processor 30 can position the tool 26 at any position in the robot coordinate system C1 by the movement of the robot 12.

[0048] Next, refer to Figure 3 To illustrate, during the welding operation on workpiece W, the processor 30 causes the robot 12 to perform a oscillating motion. This oscillating motion is performed to widen the weld bead formed on workpiece W during welding. Specifically, in the oscillating motion, the processor 30, via the robot 12, moves tool 26 along a predetermined work path WP and oscillates tool 26 in a direction intersecting the work path WP.

[0049] exist Figure 3 In the example shown, the work path WP is set on the workpiece W in a straight line extending along the x-axis of the robot coordinate system C1. In this example, during the oscillating motion, the processor 30 moves the tool 26 to the right along the work path WP via the robot 12 and oscillates the tool 26 back and forth between the front endpoint P1 and the rear endpoint P2. As a result, the tool 26 performs welding on the workpiece W while moving relative to it along the wavy track TR.

[0050] Processor 30 generates a swing signal WS for oscillating tool 26 during the swinging motion. See below for reference. Figures 4-6 This will illustrate the generation of the oscillating signal WS. For example... Figure 4 As shown, the control device 14 includes a main motion command generation unit 42, a signal generation unit 44, filter units 46 and 48, and a swing motion command generation unit 50. The main motion command generation unit 42 generates a main motion command CM1 for the robot 12 to move the tool 26 in the direction of the work path WP during the swing motion described above.

[0051] The filter unit 46 is a digital filter (FIR filter or IIR filter) that performs filtering processing FR1 to remove high-frequency components for the main action command CM1 generated by the main action command generation unit 42 at a predetermined filtering time τ1. For example, the filter unit 46 performs filtering processing FR1 as a low-pass filtering process by performing moving average processing on the digital signal of the main action command CM1 at filtering times τ1.

[0052] Alternatively, the filter unit 46 can also be configured to perform the filtering process FR1 as a bandpass filter or a notch filter. The filter unit 46 generates the main action command CM2 by performing the filtering process FR1 on the main action command CM1 and outputs the main action command CM2 to the swing action command generation unit 50.

[0053] The signal generation unit 44 generates a swing signal WS1. In... Figure 5 An example of the swing signal WS1 is shown. Furthermore, Figure 5 The vertical axis shows the amplitude A of the swing that causes tool 26 to oscillate in the back-and-forth direction (in other words, the distance A relative to the work path WP), and the horizontal axis shows time t. Figure 5 In the example shown, the oscillation signal WS1 is a triangular wave with amplitude A1 and period T1 (i.e., frequency f1 = 1 / T1), and its phase φ1 corresponding to the reference time t0 (e.g., the start time of the oscillation motion) is zero. These amplitude A1, frequency f1 (or period T1), and phase φ1 constitute the parameter PR1 used to define the oscillation signal WS1.

[0054] Refer again Figure 4 The filter unit 48 is the same digital filter as the filter unit 46 described above, and performs a filtering process FR2 to remove high-frequency components on the oscillating signal WS1 generated by the signal generation unit 44 for a predetermined filtering time τ2. The filtering process FR2 may be the same as or different from the filtering process FR1 described above.

[0055] For example, the filter unit 48 performs a low-pass filtering process FR2 by performing a moving average process on the oscillating signal WS1, which is a digital signal, at intervals of 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.

[0056] When the filter unit 48 performs filtering processing FR2 on the oscillating signal WS1, the oscillating signal WS1 changes, generating... Figure 6 The oscillating signal WS2 is represented by a solid line. This oscillating signal WS2 has a parameter PR2 that includes amplitude A2, period T2 (frequency f2 = 1 / T2), and phase φ2.

[0057] At least one of the parameters PR2 (amplitude A2, frequency f2, and phase φ2) of the oscillating signal WS2 can be changed relative to the parameters PR1 (amplitude A1, frequency f1, and phase φ1) of the oscillating signal WS1 by filtering FR2. Furthermore, in the following description, parameter PR2 is sometimes referred to as the filtered parameter PR2.

[0058] In addition, Figure 6 In the example shown, the result of filtering FR2 is that the triangular wave oscillation signal WS1 is transformed into an oscillation signal WS2 similar to the waveform of a trigonometric function (i.e., the frequency characteristics are changed by removing high-frequency components), and the amplitude A2 of the oscillation signal WS2 is attenuated, thus becoming smaller than the amplitude A1 of the oscillation signal WS1 (A2 < A1). The filter unit 48 outputs the generated oscillation signal WS2 to the oscillation action command generation unit 50.

[0059] Refer again Figure 4 The swing motion command generation unit 50 generates a swing motion command CM3 for the robot 12 to perform a swing motion by applying the swing signal WS2 to the main motion command CM2. Specifically, the swing motion command generation unit 50 is an adder that generates the swing motion command CM3 (=CM2+WS2) by adding the main motion command CM2 to the swing signal WS2.

[0060] The swing motion command CM3 generated by the swing motion command generation unit 50 is output to the servo motor 28 of the robot 12 via the I / O interface 34 and the servo amplifier (not shown). The robot 12 executes the swing motion according to the swing motion command CM3, causing the tool 26 to move along... Figure 3 The track TR shown is moving.

[0061] Furthermore, the main action command generation unit 42, the signal generation unit 44, the filter units 46 and 48, and the swing motion command generation unit 50 can be functional modules implemented by a computer program executed by the processor 30. In this case, the processor 30 functions as the main action command generation unit 42, the signal generation unit 44, the filter units 46 and 48, and the swing motion command generation unit 50. Alternatively, at least one of the signal generation units 44, the filter units 46 and 48, and the swing motion command generation unit 50 (e.g., filter units 46 and 48) can also be installed as analog circuits in the control device 14.

[0062] Next, refer to Figure 7 To explain in more detail the method for generating the oscillating signal WS. Figure 7 The process shown begins, for example, when control device 14 is started. In step S1, processor 30 determines whether the swing signal WS1 has been received. Figure 5The input of parameter PR1 and the input of priority PO of parameter PR1.

[0063] Specifically, processor 30 in Figure 7 After the process begins, an input image for inputting parameters PR1 and priority PO is generated and displayed on display device 40. The operator visually views display device 40 and operates input device 38 to input parameter PR1. Here, the parameter PR1 that the operator can input includes, in addition to the amplitude A1, frequency f1, and phase φ1 mentioned above, the endpoint stop time t. s .

[0064] The endpoint stops at time t. s The endpoints P1 and P2 (i.e.,) are used to define the swinging motion of the tool 26 that maintains the tool 26 in the swinging motion. Figure 5 The amplitude A is the time between the positions of A1 and -A1. Figure 8 The endpoint stop time t is set as shown in the figure. s An example of the swing signal WS1 during time.

[0065] For example, suppose the operator inputs amplitude A1, frequency f1, and endpoint stop time t. s And the phase φ1 = 0 is used as the parameter PR1. In this case, the processor 30 maintains Figure 5 The slope of the oscillating signal WS1, which is a triangular wave with amplitude A1 and frequency f1, is shown, and the endpoint stop time t is set at the point (the vertex of the triangular wave) where the amplitudes A1 and -A1 in the oscillating signal WS1 are set. s As a result, the oscillation signal WS1 was set to... Figure 8 The trapezoidal wave is shown. Therefore, in this case, the frequency f of the oscillating signal WS1 changes from the operator-input frequency f1 to frequency f3 (=1 / T3<f1 T3=T1+2t). s ).

[0066] The processor 30 accepts the input of parameter PR1 via the input device 38. Thus, in this embodiment, the processor 30 functions as an input receiving unit 52 that accepts the input of parameter PR1 of the swing signal WS1. Figure 2 The processor 30 uses the received parameter PR1 as the parameter setting value PR1 for the swing signal WS1. V Stored in memory 32. Next, the processor 30 is processed... Figure 5 The parameters PR1 of the swing signal WS1 shown are: amplitude A1, frequency f1, phase φ1 = 0, and endpoint stop time t. s The case of inputting =0) will be explained.

[0067] The operator uses input device 38 to input parameter PR1 and priority PO. Here, see reference... Figure 6 As explained, the parameter PR1 (e.g., amplitude A1) of the original oscillation signal WS1 can be changed by filtering FR2. Priority PO is used to determine the priority of parameter PR1 that should be reproduced first when parameter PR1 changes.

[0068] For example, in step S1, the operator inputs the amplitude A1, frequency f1, phase φ, and endpoint stop time t. s The parameter PR1 is used as the input, and the priority PO that should be reproduced first (that is, the priority PO that determines the amplitude A1 as the first priority) is determined by the input. The processor 30 functions as the input receiving unit 52 to receive the input of priority PO.

[0069] In step S2, processor 30 determines the filtering time τ2 for filtering process FR2. Specifically, processor 30 reads the specific filtering time τ2. a The unique filtering time τ a This is specifically determined according to the type of robot 12 and is pre-stored in memory 32. On the other hand, processor 30 calculates the allowable filtering time τ based on the parameter PR1 received in step S1. b .

[0070] The allowable filtering time τ b It is the filtering time that enables the filtered parameter PR2 (e.g., amplitude A2) obtained by changing the parameter PR1 (e.g., amplitude A1) relative to the original oscillating signal WS1 through filtering FR2 to converge within a specified allowable range (e.g., amplitude A2 is more than 50% of amplitude A1).

[0071] For example, processor 30 can also be connected via τ b The allowable filtering time τ can be calculated using T1 / 2. b Then, processor 30 will use a specific filtering time τ a and allowable filtering time τ b The longer of the two values ​​is determined as the filtering time τ2. Thus, in this embodiment, the processor 30 determines the filtering time τ2 based on the received parameter PR1.

[0072] In step S3, the processor 30 functions as a signal generation unit 44, generating an oscillating signal WS1 with the parameter PR1 received in step S1. Thus, the processor 30 generates... Figure 5 As shown, it has an amplitude A1, frequency f1, phase φ1 (=0), and endpoint stopping time t. sThe oscillating signal WS1 (=0).

[0073] In step S4, the processor 30 obtains the filtered parameter PR2. The filtered parameter PR2 is the parameter PR2 after the oscillating signal WS1 generated in step S3 has undergone filtering FR2. As an example, in step S4, the processor 30 obtains the filtered parameter PR2 by simulating the actual filtering FR2 on the oscillating signal WS1 generated in step S3.

[0074] As another example, processor 30 can also calculate the filtered parameter PR2 based on the parameter PR1 received in step S1 and the filtering time τ2 determined in step S2. See below for further details. Figure 9 This will illustrate the method of calculating the filtered parameter PR2 through computation.

[0075] Figure 9 It shows an amplitude A1 and a frequency f3 (=1 / T3=1 / (T1+2t)). s Phase φ1 (=0) and endpoint stopping time t s The oscillating signal WS1 is given, and a filtering time τ2 is set for the filtering process FR2 on the oscillating signal WS1. In this example, the processor 30 can calculate the amplitude A2 of the oscillating signal WS2 obtained by filtering the oscillating signal WS1 on the oscillating signal WS1 by calculation according to the following formula (1).

[0076] A2 = A b +A a (1+t s / τ2) / 2…(1)

[0077] Here, A in equation (1) is obtained according to equations (2) and (3) below. a and A b .

[0078] A a =A1(2(τ2-t) s ) / T1)…(2)

[0079] A b =A1-A a =A1-A1(2(τ2-t) s ) / T1)…(3)

[0080] Furthermore, in this embodiment, the endpoint stopping time t received in step S1 s Since t is zero, we can substitute t into equations (1) to (3) above. s=0. In this way, the processor 30 can calculate the amplitude A2 as the filtered parameter PR2 according to equation (1). That is, in this case, the processor 30 can obtain the filtered parameter PR2 without performing the actual filtering FR2 on the oscillation signal WS1 generated in step S3.

[0081] In this embodiment, the processor 30 serves as the parameter acquisition unit 54 for acquiring the filtered parameter PR2. Figure 2 This allows the signal to function properly. Furthermore, in this embodiment, it is assumed that even if filtering FR2 is performed on the oscillating signal WS1, the frequency f1 and phase φ1 remain unchanged. Therefore, the frequency f2 and phase φ2 in the filtered parameter PR2 are the same as the frequencies f1 and φ1 (f2 = f1, φ2 = φ1).

[0082] Refer again Figure 7 In step S5, the processor 30 determines whether the filtered parameter PR2 obtained in step S4 satisfies the predetermined first condition CD1. In this embodiment, the first condition CD1 is determined to be that the filtered parameter PR2 is substantially the same as the parameter PR1 obtained in step S1.

[0083] For example, if the filtered parameter PR2 is amplitude A2, and the processor 30 determines that the filtered parameter PR2 (amplitude A2) is substantially the same as the parameter PR1 (amplitude A1) if the amplitude A2 converges to an allowable range determined based on the amplitude A1 (e.g., a range greater than 90% of the amplitude A1), then the processor 30 determines that the first condition CD1 (i.e., "yes") is satisfied. 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, then the processor 30 determines that the first condition CD1 (i.e., "no") is not satisfied.

[0084] Alternatively, in step S5, processor 30 may determine whether the first condition CD1 is satisfied only for the parameter PR1 (e.g., amplitude A1) with higher priority PO received in step S1. Alternatively, processor 30 may also determine whether the first condition CD1 is satisfied for all parameters PR1 received in step S1 (amplitude A1, frequency f1, phase φ1, endpoint stop time t). s Determine whether the first condition CD1 is met.

[0085] In this embodiment, the processor 30 serves as the condition determination unit 56 for determining whether the filtered parameter PR2 satisfies condition CD1. Figure 2 The processor 30 proceeds to step S7 if it determines "yes" in step S5, and proceeds to step S6 if it determines "no".

[0086] In step S6, the processor 30 adjusts the parameter PR1 received in step S1 to satisfy the first condition CD1. Specifically, the processor 30 adjusts the parameter PR1 received in step S1 so that the filtered parameter FR2 obtained in step S4 is consistent with the parameter PR1.

[0087] For example, such as Figure 10 As shown, the processor 30 increases the amplitude A1 of the parameter PR1 received in step S1 and sets it to amplitude A1' (>A1). As a result, the signal generation unit 44 ( Figure 4 The generated oscillation signal WS1 is changed into an oscillation signal WS1' with amplitude A1'.

[0088] exist Figure 11 The image shows the generated swing signal WS2 after filtering FR1 on the parameter-adjusted swing signal WS1'. Figure 11 As shown, by increasing the amplitude A1 of parameter PR1 to amplitude A1', the amplitude A2 of the swing signal WS2 can be made to match the amplitude A1 received in step S1 (A2 = A1).

[0089] In this way, the filtered parameters PR2 (amplitude A2, frequency f2, phase φ2) of the oscillating signal WS2 are made consistent with the parameters PR1 of the oscillating signal WS1 (A2 = A1, f2 = f1, φ2 = φ1 = 0, t s =0), thus, the first condition CD1 can be satisfied.

[0090] In addition, processor 30 can also be based on Figure 6 The amount of change from amplitude A1 to amplitude A2 shown determines the amount of increase in amplitude A1 in step S6. As an example, processor 30 obtains in step S4... Figure 6 The difference Δ1 between amplitudes A1 and A2 is calculated as A1 (=A1-A2). Then, in step S6, processor 30 sets amplitude A1' (=A1+Δ1×α) by adding Δ1×α (α is a predetermined coefficient) to amplitude A1. As another example, processor 30 obtains the amplitude difference Δ1 (=A1-A2) in step S4. Figure 6 The ratio of amplitude A1 to amplitude A2 is R1 (=A1 / A2). Then, in step S6, the processor 30 sets the amplitude A1' (=A1×R1) by multiplying the amplitude A1 by the ratio R1.

[0091] In this way, the processor 30 adjusts the parameter PR1 (e.g., amplitude A1) to the parameter PR1' (amplitude A1') so that the first condition CD1 is satisfied. Therefore, in this embodiment, the processor 30 serves as the parameter adjustment unit 58. Figure 2 The processor 30 will perform its function. The parameter setting value PR1 stored in memory 32 will be used. V Updated to the parameter PR1' that was adjusted in step S6.

[0092] In step S7, the processor 30 acquires the motion state parameter OPR. The motion state parameter OPR is a parameter that represents the motion state of the robot 12 when the robot 12 performs a swinging motion according to the swing signal WS2, and includes, for example, the robot 12's velocity V, acceleration a, and jerk j.

[0093] For example, if step S7 is executed after determining "yes" in step S5, the action state parameter OPR includes according to Figure 6 The swing signal WS2 shown indicates that the robot 12 has a velocity V, acceleration a, and jerk j when it performs a swinging motion. Figure 6 The swing signal WS2 shown has filtered parameters PR2 (amplitude A2 < A1, frequency f2 = f1, phase φ2 = φ1) corresponding to the parameters PR1 received in step S1.

[0094] On the other hand, if step S7 is executed after step S6, the action state parameter OPR includes according to Figure 11 The swing signal WS2 shown indicates that the robot 12 has a velocity V, acceleration a, and jerk j when it performs a swinging motion. Figure 11 The swing signal WS2 has filtered parameters PR2 (amplitude A2 = A1, frequency f2 = f1, phase φ2 = φ1) corresponding to the adjusted parameters PR1' in step S6.

[0095] Processor 30 obtains the same process as steps S3 and S4 described above in step S7. Figure 6 or Figure 11 The filtered parameter PR2 of the swing signal WS2. Specifically, if step S7 is executed after determining "yes" in step S5, the processor 30 simulates the generation of the swing signal WS1 with the parameter PR1 received in step S1. Next, the filtered parameter PR2 (amplitude A2 < A1, frequency f2 = f1, phase φ2 = φ1) corresponding to the swing signal WS1 is obtained.

[0096] On the other hand, if step S7 is executed after determining "yes" in step S5, the processor 30 simulates the generation of an oscillating signal WS1' with the adjusted parameters PR1' of step S6. Next, the filtered parameters PR2 (amplitude A2 = A1, frequency f2 = f1, phase φ2 = φ1) corresponding to the oscillating signal WS1' are obtained.

[0097] Next, the processor 30 simulates the generation of a swing signal WS2 with the acquired filtered parameter PR2. Simultaneously, the processor 30 functions as a main action instruction generation unit 42, simulating the generation of the main action instruction CM1. The processor 30 also functions as a filter unit 46, generating the main action instruction CM2 by performing filtering FR1 on the main action instruction CM1.

[0098] Then, the processor 30 functions as a swing motion command generation unit 50, and simulates the generation of a swing motion command CM3 (=CM2+WS2) by applying the generated swing signal WS2 to the main motion command CM2. Based on the simulated swing motion command CM3, the processor 30 calculates the velocity V, acceleration a, and jerk j of the robot 12 when the robot 12 performs a swing motion according to the swing motion command CM3.

[0099] At this time, the processor 30 can also acquire velocity V, acceleration a, and jerk j by simulating the swinging motion of the robot 12 according to the swinging motion command CM3. Thus, in this embodiment, the processor 30 serves as the motion acquisition unit 60 for acquiring motion state parameters OPR (velocity V, acceleration a, jerk j). Figure 2 To fulfill its function.

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

[0101] For example, the processor 30 determines whether the velocity V, acceleration a, and jerk j obtained in step S7 exceed the allowable value. Then, if at least one of the velocity V, acceleration a, and jerk j exceeds the corresponding allowable value, the processor 30 determines that the filtered parameter PR2 of the swing signal WS2, which was acquired in step S7 with the motion state parameter OPR, does not satisfy the second condition CD2 (i.e., "no").

[0102] On the other hand, if the velocity V, acceleration a, and jerk j all do not exceed their respective allowable values, the processor 30 determines that the filtered parameter PR2 satisfies the second condition CD2 (i.e., "yes"). The allowable values ​​of velocity V, acceleration a, and jerk j are pre-stored in the memory 32.

[0103] In addition, the processor 30 may acquire only one action state parameter OPR (e.g., speed V) in step S7, and determine in step S8 whether the single action state parameter OPR exceeds the allowable value. If the processor 30 determines "yes" in step S8, it proceeds to step S10; otherwise, it proceeds to step S9.

[0104] In step S9, the processor 30 functions as a parameter adjustment unit 58, adjusting parameter PR1 or PR1' to satisfy the second condition CD2. Specifically, the processor 30 adjusts parameter PR1 or PR1' according to the priority PO received in step S1, as follows.

[0105] That is, the processor 30 adjusts the parameter PR1 or PR1' in such a way that the filtered parameter PR2 corresponding to the first parameter PR1 or PR1' with a high priority PO is consistent with the first parameter PR1 or PR1', while allowing the filtered parameter PR2 corresponding to the second parameter PR1 or PR1' with a low priority to be different from the second parameter PR1 or PR1'.

[0106] The following describes the case where the processor 30 receives an input in step S1 that determines the priority PO of amplitude A1 should be reproduced first. For example, if step S9 is executed after determining "yes" in step S5 (that is, without executing step S6), the processor 30 sets the endpoint stop time t. s (>0) method for Figure 5 The parameter PR1 of the swing signal WS1 shown is adjusted. Figure 12 The diagram shows how the endpoint stop time t is set. s The swing signal WS1'.

[0107] Figure 12 The frequency f1' (=1 / T1') of the swing signal WS1' shown is lower than the frequency f1 of the original swing signal WS1. That is, in this case, the processor 30 needs to adjust the parameter PR1 to have an amplitude A1, frequency f1', phase φ (=0), and endpoint stop time t. s The parameter PR1' of (>0).

[0108] When filtering FR2 is performed on the oscillating signal WS1' with adjusted parameters PR1', the following is obtained: Figure 13 The swing signal WS2 is shown. The amplitude A2 = A1 of this swing signal WS2 is used as the parameter PR2 after filtering.

[0109] Like this, by extending the endpoint stopping time t sAdjusting in this way allows the amplitude A1 to be reproduced as the amplitude A2 of the filtered parameter PR2. The endpoint of the adjustment stops at time t. s This is determined in a way that satisfies the second condition CD2. For example, the endpoint stopping time t s It can be determined to be a value consistent with the filtering time τ2 (or a value obtained by multiplying the filtering time τ2 by a specified coefficient).

[0110] On the other hand, Figure 7 If step S9 is executed after step S5 is determined to be "no" (i.e., after step S6), the processor 30 first cancels the parameter PR1' that was adjusted in step S6 (in other words, deletes the parameter setting value PR1 at that time point). V The stored parameter PR1').

[0111] Then, processor 30 and through Figure 12 The method described similarly uses the setting of the endpoint stop time t. s The parameter PR1 received in step S1 is adjusted in this manner. As a result, an oscillating signal WS1' with the newly adjusted parameter PR1' from step S9 is generated. Figure 12 As a result, the amplitude A1 can be reproduced as the amplitude A2 of parameter PR2.

[0112] Furthermore, the processor 30 is also capable of not setting the endpoint stop time t. s And reproduce the amplitude A1. For example, if step S9 is executed after determining "no" in step S5, the processor 30 further adjusts the parameter PR1' by reducing the frequency f1 of the parameter PR1' adjusted in step S6 to f1'.

[0113] That is, in this case, Figure 10 The period T1 of the swing signal WS1' shown is increased to a longer period T1' (>T1). Therefore, the further adjusted parameter PR1' has an amplitude A1' and a frequency f1'. At this time, the amount by which the frequency f1 is reduced to the frequency f1' can also be determined based on the amplitude A1' in a way that satisfies the second condition CD2.

[0114] As an example, the memory 32 may pre-store a data table DT containing amplitude A and frequency f that satisfy the second condition CD2. This data table DT can be pre-created through experimental methods or simulation. Then, the processor 30 can also read the frequency f corresponding to the amplitude A1' from the data table DT and determine this frequency f as the frequency f1' of parameter PR1'.

[0115] In this way, if amplitude A1 should be prioritized according to priority PO, the processor 30 adjusts parameter PR1 or PR1' in such a way that the amplitude A2 of the filtered parameter PR2 is consistent with the amplitude A1 of the parameter PR1 received in step S1, while allowing the frequency f2 of the filtered parameter PR2 to be different from the frequency f1 received in step S1.

[0116] Next, the case where the processor 30 receives an input in step S1 that determines the frequency f1 to be reproduced first will be explained. For example, if step S9 is executed after determining "yes" in step S5, the processor 30 adjusts the frequency f1 to decrease. Figure 5 The parameter PR1 of the swing signal WS1 shown. Furthermore, if step S9 is executed after determining "No" in step S5, the processor 30 further adjusts the amplitude A1' by reducing it. Figure 10 The parameter PR1' of the swing signal WS1' shown.

[0117] Whether the second condition CD2 can be satisfied (that is, whether the motion state parameter OPR does not exceed the allowable value) depends on the combination of the amplitude A2 and frequency f2 of the swing signal WS2. Specifically, the larger the amplitude A2 and the higher the frequency f2, the greater the possibility that the second condition CD2 cannot be satisfied.

[0118] Therefore, by reducing the frequency f1 or decreasing the amplitudes A1 and A1' in step S9, the parameter PR1 or PR1' can be adjusted to satisfy the second condition CD2 (that is, to ensure that the action state parameter OPR does not exceed the allowable value). The processor 30 stores the parameter setting value PR1 in the memory 32. V Update to the parameter PR1' adjusted in step S9.

[0119] Refer again Figure 7 In step S10, the processor 30 determines whether a job start instruction has been received from the operator, the superior controller, or the computer program. If the processor 30 determines that a job start instruction has been received (i.e., "yes"), it proceeds to step S10; otherwise, if the determination is "no", it repeats step S10.

[0120] In step S11, processor 30 generates a swing motion command CM3. Specifically, processor 30, as referred to Figure 4 As explained, it functions as a signal generation unit 44, using the parameter setting value PR1 at that time point. V The stored parameter PR1 or PR1' is used to generate an oscillation signal WS1 with that parameter PR1 or PR1'. Figure 5 ) or WS1'( Figure 10 or Figure 12 ).

[0121] Then, the processor 30 functions as a filter unit 48, performing filtering processing FR2 on the swing signal WS1 or WS1' to generate the swing signal WS2. Figure 6 , Figure 11 or Figure 13 In the parameter PR2 of the oscillating signal WS2 generated here, the parameter PR1 (e.g., amplitude A1 or frequency f1) with higher priority PO is reproduced as described above.

[0122] Then, the processor 30 generates a swing motion command CM3 based on the swing signal WS2 as described above, and causes the servo motor 28 of the robot 12 to move according to the swing motion command CM3, so that the robot 12 performs the following actions: Figure 3 The swinging motion is shown. Simultaneously, the processor 30 initiates the tool 26 to weld the workpiece W.

[0123] Refer again Figure 7 In step S12, the processor 30 determines whether the welding operation has ended. If the processor 30 determines that the welding operation has ended (i.e., "yes"), it terminates the process. Figure 7 The process shown, on the other hand, involves repeatedly performing step S12 if the result is "no". In this way, the processor 30 causes the robot 12 to perform a swinging motion while the welding operation is being performed on the workpiece W.

[0124] 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 action acquiring unit 60, generating signals WS1, WS1', and WS2 for swinging motion.

[0125] Therefore, the input receiving unit 52, parameter acquisition unit 54, signal generation unit 44, condition determination unit 56, parameter adjustment unit 58, and action acquisition unit 60 constitute the device 70 for generating signals WS1, WS1', and WS2. Figure 2 The device 70 (input receiving unit 52, parameter acquisition unit 54, signal generation unit 44, condition determination unit 56, parameter adjustment unit 58, and motion acquisition unit 60) can be a functional module implemented by a computer program executed by the processor 30.

[0126] In this device 70, if the condition determination unit 56 determines that conditions CD1 and CD2 are not met, the parameter adjustment unit 58 adjusts the parameter PR1 received by the input receiving unit 52 to satisfy conditions CD1 and CD2 (steps S6 and S9). Then, after the parameter adjustment unit 58 adjusts the parameter PR1, the signal generation unit 44 generates an oscillating signal WS1' with the adjusted parameter PR1' (step S11).

[0127] According to this structure, parameter PR1 can be automatically adjusted to generate a swing signal WS that satisfies the conditions CD1 and CD2 arbitrarily determined by the operator. This enables the robot 12 to perform swinging motions in the manner desired by the operator, and simplifies the task of teaching the robot 12 the desired swinging motion.

[0128] Furthermore, in device 70, if the filtered parameter PR2 is different from the parameter PR1, the condition determination unit 56 determines that the first condition CD1 is not met (step S5: "No"), and the parameter adjustment unit 58 adjusts the parameter PR1 so that the filtered parameter PR2 is consistent with the parameter PR1 (step S6).

[0129] According to this structure, the operator-inputted parameter PR1 (e.g., amplitude A1) can be reproduced in the swing signal WS2 obtained by performing filtering processing FR2 on the swing signal WS1' with adjusted parameter PR1'. As a result, the robot 12 can more effectively perform the swinging motion desired by the operator.

[0130] In addition, in device 70, parameter adjustment unit 58 adjusts multiple parameters PR1 according to the priority PO of multiple parameters PR1 (e.g., amplitude A1, frequency f1), so that the filtered parameter PR2 (amplitude A2) corresponding to the first parameter PR1 (e.g., amplitude A1) with high priority PO is consistent with the first parameter PR1, while allowing the filtered parameter PR2 (frequency f2) corresponding to the second parameter PR1 (e.g., frequency f1) with low priority PO to be different from the second parameter PR1 (step S9).

[0131] Then, the input receiving unit 52 also receives the input of priority PO, and the parameter adjustment unit 58 adjusts the multiple parameters PR1 according to the priority PO received by the input receiving unit 52. According to this structure, the parameter PR1 with higher priority PO input by the operator can be preferentially reproduced in the swing signal WS2, so the operator can arbitrarily design the swinging action to be performed by the robot 12 by considering conditions CD1 and CD2. In addition, since the operator can easily anticipate the generated swing signal WS2, the verification of the behavior of the robot 12 during the swinging action can be facilitated.

[0132] Furthermore, in device 70, the motion acquisition unit 60 acquires the motion state parameter OPR (step S7). If the motion state parameter OPR acquired by the motion acquisition unit 60 exceeds a predetermined allowable value, the condition determination unit 56 determines that the second condition CD2 is not met (step S8: "No"). In this case, the parameter adjustment unit 58 adjusts the parameter PR1 so that the motion state parameter OPR does not exceed the allowable value (step S9).

[0133] According to this structure, it is possible to prevent the robot 12 from entering an inappropriate motion state (e.g., a state with excessive speed, acceleration, or deceleration) during the swinging motion, thus preventing excessive load from being applied to the robot 12 and thereby preventing robot 12 from malfunctioning. In addition, it is possible to prevent the welding quality of the workpiece W from being reduced due to the robot 12 performing the swinging motion in an inappropriate motion state.

[0134] In addition, as referenced Figure 8 As explained, in step S1, the operator inputs the amplitude A1, frequency f1, and endpoint stop time t. s When (>0), the frequency f of the swing signal WS1 will change from the frequency f1 input by the operator to the frequency f3.

[0135] exist Figure 14 The figure shows an amplitude A1, a frequency f1, and an endpoint stopping time t. s A triangular wave signal WS0 with amplitude A1, frequency f3 (=1 / T3), and endpoint stopping time t. s The swing signal WS1 (>0). Processor 30 receives the endpoint stop time t in step S1. s When inputting, frequency f3 is used as the parameter setting value for parameter PR1. V Stored in memory 32.

[0136] Then, in step S4 above, processor 30 obtains frequency f3 as the filtered parameter PR2. Thus, in step S5, processor 30 determines "no" because the frequency f3 used as the filtered parameter PR2 is different from the frequency f1 obtained in step S1.

[0137] In this case, when the operator inputs the priority PO, which is determined to be the frequency f1 to be reproduced first, in step S1, the processor 30 adjusts the parameter PR1 in step S6 to set it to the parameter setting value PR1. V The frequency f3 is changed to the frequency f1 from acceptance to input.

[0138] As a result, the oscillation signal WS1 generated by the signal generation unit 44 is as follows: Figure 15 As shown, it is changed into an oscillating signal WS1' of a trapezoidal wave with frequency f1. Then, the processor 30 uses the parameter PR1' of the oscillating signal WS1' with frequency f1 as the parameter setting value PR1. V Stored in memory 32.

[0139] Alternatively, the action acquisition unit 60 can be omitted from the device 70, and the action acquisition unit can be omitted from the device 70. Figure 7 Steps S7 to S9 are omitted in the illustrated process. In this case, Figure 7 In the illustrated process, processor 30 executes step S10 after step S6. In this process, it is assumed that the operator inputs a priority PO in step S1, determining that amplitude A1 should be reproduced preferentially. In this case, processor 30 can also, in step S6, refer to... Figure 12 The method described is to extend the endpoint stopping time t s The parameter PR1 is adjusted in this way.

[0140] Alternatively, processor 30 can also adjust parameter PR1 in step S6 by varying both amplitude A1 and frequency f1. (See reference...) Figure 16 This section will explain the method for adjusting these parameters. Figure 16 The amplitude A1, frequency f1 (=1 / T1), phase φ1 (=0), and endpoint stopping time t of the parameter PR1 received by the processor 30 in step S1 are shown. s The oscillating signal WS1 (=0).

[0141] Upon receiving parameter PR1, the processor 30 adjusts parameter PR1 in step S6 by increasing amplitude A1 to amplitude A1' and decreasing frequency f1 to frequency f1' (=1 / T1'<f1). As a result, the signal generation unit 44 generates a signal as shown in the image. Figure 16 As shown, it has the adjusted parameters PR1' (amplitude A1', frequency f1', phase φ1 = 0, endpoint stop time t). s The swing signal WS1' is equal to 0.

[0142] exist Figure 17 The text appears to be a mix of Chinese characters and symbols, possibly related to a document or document. A direct translation wouldn't be meaningful without further context or clarification. Figure 16 The swing signal WS1' shown is the swing signal WS2 obtained after the filtering process FR2 is performed. In the filtered parameter PR2 of the swing signal WS2, the amplitude A2 is the same as the amplitude A1 received in step S1, but the frequency f2 (=f1') is different from the frequency f1 received in step S1.

[0143] In this parameter adjustment method, the processor 30 can also determine the amount of change in amplitude A1 and frequency f1 in step S6 such that the filtered parameter PR2 satisfies the second condition CD2. For example, the processor 30 can also determine this amount of change by using the data table DT described above.

[0144] In addition, from Figure 7 If steps S7 to S9 are omitted in the process shown, when the operator inputs the priority PO that should be reproduced first at frequency f1 in step S1, the processor 30 may not adjust the parameter PR1 in step S6.

[0145] Specifically, such as Figure 6 As shown, when the filtering process FR2 is performed on the oscillating signal WS1, the amplitude A1 is attenuated, but the frequency f1 is maintained. Therefore, even if the processor 30 does not adjust the parameter PR1 in step S6, it can still reproduce the frequency f1 with higher priority PO.

[0146] Next, refer to Figure 18 To illustrate other methods of generating the oscillation signal WS executed by processor 30 (device 70). Furthermore, in Figure 18 In the process shown, for and Figure 7 The same process is labeled with the same step numbers, and repeated descriptions are omitted. The following describes the case where the processor 30 receives an input in step S1 that determines priority PO should be reproduced first for amplitude A1. In this embodiment, after determining "no" in step S5 or S8, the processor 30 executes step S6'.

[0147] In step S6', the processor 30 functions as the parameter adjustment unit 58, setting the parameter to the set value PR1 at that time point. V The parameters PR1 or PR1' are adjusted to satisfy conditions CD1 and CD2. For example, if step S6' is executed after determining "no" in step S5, the processor 30 increases the amplitude A1 received in step S1 and sets it to amplitude A1', just like in step S6 described above.

[0148] On the other hand, if step S6' is executed after determining "no" in step S8, the processor 30, for example, sets... Figure 12 The endpoint stopping time t shown s (that is, to change the frequency f1 or f1'), or as referenced Figure 16 As explained, both the amplitude A1 or A1' and the frequency f1 or f1' are varied.

[0149] Here, if step S6' is executed after determining "no" in step S8, the processor 30 may also use, for example, the data table DT described above, to determine the amount of change in parameter PR1 or PR1' in a manner that satisfies the second condition CD2. Alternatively, the processor 30 may also randomly change the parameter PR1 or PR1' (e.g., frequency f1 or f1') with lower priority PO each time step S6' is executed.

[0150] After executing step S6', processor 30 returns to step S3 and repeats the loop of steps S3 to S5, S6', S7, and S8 until it is determined to be "yes" in step S8. Thus, processor 30 can automatically retrieve parameter PR1' that satisfies conditions CD1 and CD2 according to priority PO.

[0151] In addition, Figure 18 In the process shown, the processor 30 can also determine in step S5 whether the first condition CD1 is met only for the parameter PR1 (e.g., amplitude A1) that is the highest priority PO (that is, the first one) received in step S1.

[0152] Alternatively, the processor 30 may determine whether the first condition CD1 is satisfied for all parameters PR1 received in step S1 in the first execution of step S5, or on the other hand, in the nth execution (n is an integer greater than 2) of step S5, it may determine whether the first condition CD1 is satisfied only for parameters PR1 with higher priority PO received in step S1 (e.g., amplitude A1).

[0153] According to this embodiment, since the processor 30 automatically retrieves the optimal parameter PR1', it is possible to effectively design a swinging motion that conforms to the operator's expectations, and to simplify the operation of teaching the robot 12 such a swinging motion.

[0154] Furthermore, in the above embodiments, the case where phase φ1 does not change due to the filtering process FR2 is described. However, depending on the type of filtering process FR2, phase φ1 may sometimes change. In such cases, if an input determining that priority PO of phase φ1 should be reproduced first is received in step S1, the processor 30 adjusts the parameters PR1 and PR1' in the above steps S6, S6', or S9 to reproduce phase φ1.

[0155] Below, refer to Figures 19-21 This will illustrate the method for reproducing phase φ1. Figure 19In the diagram, the oscillating signal WS1, with amplitude A1, frequency f1 (=1 / T1), and phase φ1 (=0) as parameters PR1, is shown by dashed lines. On the other hand, the oscillating signal WS2, obtained by performing a filtering process FR2 on this oscillating signal WS1, is shown by solid lines. Figure 19 In the example shown, the phase φ2 of the oscillating signal WS2 is delayed by phase φ1 relative to the phase φ1 of the oscillating signal WS1. v (that is, φ2=φ1-φ) v ).

[0156] In this case, in order to reproduce the phase φ1 with higher priority PO, the processor 30 adjusts the parameter PR1 to generate... Figure 20 The swing signal WS1' is shown. Figure 20 The swing signal WS1' shown contains the waveform WS of the first wavelength, indicated by the dotted line. a The waveform WS after the second wavelength, represented by the solid line. b .

[0157] The waveform of the swing signal WS1' a This is achieved by maintaining the slope of the waveform of the first wavelength of the oscillating signal WS1 and reducing the amplitude A1 of that waveform to the amplitude A1'. On the other hand, the waveform WS1' of the oscillating signal... b The waveform has the same amplitude A1 as the waveform after the second wavelength of the oscillating signal WS1. Due to the waveform WS having a reduced amplitude A1' like this... a And make the waveform WS b The phase φ1' is ahead of the phase φ of the original oscillating signal WS1. v (that is, φ1' = φ1 + φ) v ).

[0158] Processor 30 in order to generate Figure 20 The swing signal WS1' shown adjusts the parameter PR1 of the original swing signal WS1 to the parameter PR1' (amplitude A1', phase φ1') of the swing signal WS1'. Furthermore, the amount of change in amplitude A1 towards amplitude A1' is determined to make the waveform WS... b The phase φ1' is φ1'=φ1+φ v The processor 30 uses the adjusted parameters PR1'(A1', φ1') as the parameter setting value PR1. V Stored in memory 32.

[0159] exist Figure 21 The text shows how to target Figure 20 The swing signal WS1' shown is filtered by FR2 to obtain the swing signal WS2. Furthermore, in Figure 21 In the diagram, the dotted line represents the waveform WS2 of the oscillating signal WS2. a The waveform corresponding to the first wavelength, on the other hand, is represented by a solid line representing the waveform of the oscillating signal WS2. b The waveforms corresponding to the second wavelength and beyond.

[0160] like Figure 21 As shown, the phase φ2 of the swing signal WS2 becomes consistent with the phase φ1 of the swing signal WS1 received in step S1 in the waveform after the second wavelength. By adjusting the parameter PR1 in this way, the processor 30 is able to reproduce the phase φ1.

[0161] Furthermore, the processor 30 can also synchronize the swinging motion with the forward and backward swaying motion of the tool 26, causing the tool 26 to swing up and down. For details on such a swinging motion, see [reference needed]. Figure 3 and Figure 22 Explanation will be provided. In Figure 22 In the example shown, the processor 30 performs the oscillation action such that the tool 26 is displaced upward by a distance δ relative to the position of the movement path WP during the back-and-forth oscillation between endpoints P1 and P2, and abuts against the surface of the workpiece W at the positions of endpoints P1 and P2.

[0162] exist Figure 23 The diagram shows the actions used to enable robot 12 to perform, such as Figure 22 The swing signal WS1 shown is a swing motion in the up and down direction. z .also, Figure 23 The vertical axis shows the amplitude A that causes tool 26 to swing up and down, and the horizontal axis shows time t. Figure 23 The swing signal WS1 shown z It has a positive amplitude A1, frequency f1 (=1 / T1), phase φ1 (=0), and endpoint stopping time t. s (=0) is used as the parameter PR1.

[0163] By targeting the swing signal WS1 z The oscillating signal WS2 obtained by performing filtering on FR2 z It can have an amplitude A2 (< A1) as the parameter PR2. For Figure 23 The swing signal WS1 shown z The parameter PR1 can also be adjusted using the same method as described above.

[0164] Furthermore, the processor 30 functions as a signal generation unit 44 in step S11 described above, generating the aforementioned swing signals WS1 and WS1 respectively. Figure 23 The swing signal WS1 shown zThe synthetic oscillating signal WS1 is generated by adding them together. S The synthesized swing signal WS1 is output to the filter section 48. S .

[0165] By performing a oscillating motion that synchronizes the tool 26's oscillation in the forward and backward direction with the oscillation of the tool 26 in the up and down direction, as in this embodiment, the welding quality can be improved. Furthermore, the oscillation signals WS1 and WS22 expected by the operator can be reproduced. z The parameter PR1 allows for the design of any swinging motion, whether forward, backward, up, or down.

[0166] In addition, the processor 30 can also use the aforementioned unique filtering time τ. a The filtering time τ1 is used as the filtering time FR1. Additionally, in step S2 above, the processor 30 can also uniquely determine the filtering time τ2 as a specific filtering time τ. a (or allowable filtering time τ) b ).

[0167] Alternatively, you can also from Figure 7 or Figure 18 Step S2 is omitted in the illustrated process. In this case, the operator can also operate the input device 38 to input the desired filtering time τ2. Furthermore, the processor 30 can also perform filtering processing FR2 with the input filtering time τ2 received. In this case, the filtering time τ2 received from the operator contains the filtering time τ. a In short-term cases, processor 30 can also output an alarm.

[0168] Furthermore, in the above embodiment, the processor 30 is described as receiving the input of priority PO in step S1. However, it is not limited to this; the data of priority PO may be predetermined and stored in memory 32. Alternatively, priority PO may not be set. For example, in step S6' or S9 above, the processor 30 may adjust all parameters PR1 in such a way that the corresponding filtered parameters PR2 are different from the original parameters PR1, so as to satisfy the second condition CD2.

[0169] Additionally, the processor 30 can also accept input of the waveform type (triangular wave, trapezoidal wave, sawtooth wave, trigonometric function, etc.) of the swing signal WS1 in step S1. Furthermore, the structure for generating the swing motion command CM3 is not limited to... Figure 4 As shown. For example, filter section 46 can be omitted, and filter section 48 can be placed after swing motion command generation section 50.

[0170] In this case, the swing motion command generation unit 50 adds the main motion command CM1 generated by the main motion command generation unit 42 and the swing signals WS1 and WS' generated by the signal generation unit 44 to generate the swing motion command CM3. Then, the filter unit 48 performs filtering processing FR2 on the swing motion command CM3 generated by the swing motion command generation unit 50 and outputs the swing motion command after performing filtering processing FR2 to the servo motor 28.

[0171] Furthermore, in the above embodiment, the function of device 70 is described as being implemented in control device 14. However, it is not limited to this; the function of device 70 may also be implemented in other computers (teach pendants, tablet PCs, desktop PCs, etc.) that are connected to control device 14 in a manner capable of communication. In this case, the processor of the other computer functions as device 70. Moreover, the processor of the other computer may also function as signal generation unit 44, generating swing signals WS1 and WS1' and sending them to control device 14.

[0172] Furthermore, in the above embodiment, the tool 26 is described as a welding torch used to perform welding operations on the workpiece W. However, it is not limited to this; for example, the tool 26 may also be configured to melt the brazing material fed from the brazing material feed device (not shown) to perform hard brazing operations on the workpiece W, or it may be configured to perform any operation on the workpiece W.

[0173] Furthermore, robot 12 is not limited to a vertical jointed robot; for example, it can be any type of robot capable of moving tool 26, such as a horizontal jointed robot or a parallel linkage robot. The present disclosure has been described above through embodiments, but these embodiments are not intended to limit the invention as defined in the claims.

[0174] Explanation of reference numerals in the attached figures

[0175] 10: Robot system; 12: Robot; 14: Control device; 26: Tool; 30: Processor; 42: Main motion command generation unit; 44: Signal generation unit; 46, 48: Filter unit; 50: Swing motion command generation unit; 52: Input receiving unit; 54: Parameter acquisition unit; 56: Condition determination unit; 58: Parameter adjustment unit; 60: Motion acquisition unit.

Claims

1. An apparatus for generating a signal for a oscillating motion, the oscillating motion being an action by which a robot moves a tool along a predetermined work path and oscillates the tool in a direction intersecting the work path. The device includes a processor that performs the following processes: Accepts input parameters for the swing signal used by the robot to make the tool swing; Based on the received parameters, the allowable filtering time that can bring the filtered parameters used to remove high-frequency components from the oscillating signal to converge within a specified allowable range is determined. The longer of the calculated allowable filtering time and the predetermined specific filtering time is determined as the filtering time for performing the filtering process; Generate the oscillation signal having the received parameters; The parameters of the oscillating signal after the filtering process is performed on the generated oscillating signal with the determined filtering time are obtained as the parameters after filtering. Determine whether the parameters after filtering meet the predetermined conditions; If it is determined that the condition is not met, the parameter is adjusted so that the condition is met; as well as Generate the oscillation signal with the adjusted parameters.

2. The apparatus according to claim 1, wherein, If the parameters after filtering are different from the received parameters, the processor determines that the condition is not met. The processor adjusts the received parameters so that the filtered parameters are consistent with the received parameters.

3. The apparatus according to claim 2, wherein, The processor adjusts the multiple parameters according to their priorities, such that the filtered parameters corresponding to the first parameter with a higher priority are consistent with the first parameter, while allowing the filtered parameters corresponding to the second parameter with a lower priority than the first parameter to be different from the second parameter.

4. The apparatus according to claim 3, wherein, The processor also accepts input based on the priority. The processor adjusts the plurality of parameters according to the priority received.

5. The apparatus according to any one of claims 1 to 4, wherein, The processor acquires motion state parameters, which represent the motion state of the robot when the robot performs the swinging motion according to the swinging signal with the filtered parameters. If the acquired action state parameters exceed the specified allowable value, the processor determines that the condition is not met. The processor adjusts the parameters so that the action state parameters do not exceed the allowable value.

6. The apparatus according to claim 5, wherein, The motion state parameters include at least one of the robot's velocity, acceleration, and jerk.

7. The apparatus according to any one of claims 1 to 4, wherein, The parameters include at least one of the amplitude of the oscillation signal, the frequency of the oscillation signal, the phase of the oscillation signal, and an endpoint stop time for determining the time at which the tool is held in the oscillation motion.

8. The apparatus according to claim 5, wherein, The parameters include at least one of the amplitude of the oscillation signal, the frequency of the oscillation signal, the phase of the oscillation signal, and an endpoint stop time for determining the time at which the tool is held in the oscillation motion.

9. A control device comprising the means according to any one of claims 1 to 8, the control device controlling the robot to cause the robot to perform the swinging motion.

10. The control device according to claim 9, wherein, The processor also performs the following processes: Generate main motion commands for the robot to move the tool in the direction of the work path; The filtering process is performed on the generated oscillation signal; as well as By applying the filtered swing signal to the main action command, a swing action command is generated to cause the robot to perform the swing action.

11. A method for generating a signal for a oscillating motion, the oscillating motion being an action by which a robot moves a tool along a predetermined work path and oscillates the tool in a direction intersecting the work path, wherein in the method, a processor performs the following processing: Accepts input parameters for the swing signal used by the robot to make the tool swing; Based on the received parameters, the allowable filtering time that can bring the filtered parameters used to remove high-frequency components from the oscillating signal to converge within a specified allowable range is determined. The longer of the calculated allowable filtering time and the predetermined specific filtering time is determined as the filtering time for performing the filtering process; Generate the oscillation signal having the received parameters; The parameters of the oscillating signal after the filtering process is performed on the generated oscillating signal with the determined filtering time are obtained as the parameters after filtering. Determine whether the parameters after filtering meet the predetermined conditions; If the condition is determined not to be met, the received parameters are adjusted to make the condition be met. as well as Generate the oscillation signal with the adjusted parameters.

Citation Information

Patent Citations

  • Weaving control device of articulated robot

    JP2014083605A

  • Weaving control device of multi-joint robot

    CN104736303A

  • Control method and control device for filtering time constant, computer device and storage medium

    CN107990929A

  • Control device for machine tool performing oscillation cutting

    CN108732989A

  • Control parameter adjustment device

    CN109257940A