Robot control method and robot control device

By determining the state before the rotation direction of the joint part of the robot arm is reversed and the correction frequency is adjusted, the trajectory error and vibration problems when the rotation direction is reversed are solved, and more stable motion and lower trajectory error are achieved.

CN114466733BActive Publication Date: 2024-12-06PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202080069075.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-11-21
Filing Date
2020-10-27
Publication Date
2024-12-06
Estimated Expiration
2040-10-27

AI Technical Summary

Technical Problem

When the rotation direction of the robot arm is reversed, the prior art is difficult to effectively reduce trajectory errors, especially when the motor reverses in the middle of the operation, it will cause vibration and trajectory errors to increase.

Method used

Before the rotation direction of the joint is reversed, determine its state, and adjust the frequency component of the correction amount according to whether it is a stop state or mid-operation. The low frequency is used for a stop state to change slowly, and the high frequency is used for a steep change in the middle of mid-operation. Avoid timing delays and vibrations.

Benefits of technology

Through this method, the trajectory error of the robot arm is reduced, the responsiveness and motion stability are improved, the changes in the joints are suppressed, and vibration is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114466733B_ABST
    Figure CN114466733B_ABST
Patent Text Reader

Abstract

The stop / start detection block (63) determines whether the joint is in a stopped state before the rotation direction of the joint is reversed based on the stop flag signal (Stop_Flg). When the filter processing block (65) determines that the joint is in a stopped state, the frequency component of the correction amount for correcting the gap is changed to a low frequency lower than a given threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a robot control method and a robot control device. Background Art

[0002] Conventionally, it is known that when the rotation direction of a motor is reversed, a so-called backlash error occurs in which a target movement amount of a control value and a relative movement amount of a table or a workpiece do not match each other (see, for example, Patent Document 1).

[0003] Patent Document 1 discloses a structure for performing gap correction by reducing the magnitude of a corrected step signal at a level ratio corresponding to the elapsed time after the increase / decrease direction of a position command signal is reversed and outputting it as a position correction signal (gap information).

[0004] Prior art literature

[0005] Patent Literature

[0006] Patent Document 1: JP Patent No. 3703664 Summary of the invention

[0007] Problems to be solved by the invention

[0008] However, for example, when the front end of the robot arm is moved in a circular orbit, the rotation direction is reversed without stopping the motor of the rotating shaft. Here, when the rotation direction is reversed in the middle of the motor operation, the correction amount is changed abruptly so that the timing of the gap correction is not delayed.

[0009] On the other hand, when the rotation direction of the motor is reversed from a stopped state of the robot arm, if the correction amount is changed abruptly as in the case of reversing the rotation direction in the middle of the motor movement, the rotation axis will undergo a large change, causing the robot arm to vibrate, which may increase the trajectory error.

[0010] The present disclosure is proposed in view of such a point, and its object is to reduce the trajectory error of the robot arm.

[0011] Means for solving problems

[0012] The present disclosure is directed to a robot control method for controlling the motion of a robot arm having a plurality of joints, and adopts the following solution means.

[0013] That is, the first invention comprises the following steps: before the rotation direction of the joint part that is the correction object among the multiple joint parts is reversed, determining whether the joint part is in a stopped state; and when it is determined that the joint part is in a stopped state, changing the frequency component of the correction amount used to correct the gap at the joint part to a low frequency lower than a given threshold.

[0014] In the first invention, before the joint to be corrected is reversed, it is determined whether the joint is in a stopped state, and if it is in a stopped state, the frequency component of the correction amount is changed to a low frequency lower than a given threshold.

[0015] Thus, when the joint to be corrected is reversed from a stopped state, the correction amount can be changed smoothly by reducing the frequency component of the correction amount, thereby suppressing the vibration of the robot arm caused by large changes in the joint and reducing the trajectory error of the robot arm.

[0016] The second invention, based on the first invention, comprises the following steps: before the rotation direction of the joint part to be corrected among the multiple joint parts is reversed, determining whether the joint part is in the middle of movement; and when it is determined that the joint part is in the middle of movement, changing the frequency component of the correction amount to a high frequency higher than the low frequency.

[0017] In the second invention, before the joint to be corrected is reversed, it is determined whether the joint is in the middle of moving, and if it is in the middle of moving, the frequency component of the correction amount is changed to a high frequency higher than the low frequency.

[0018] In this way, when the joint to be corrected is reversed in the middle of the movement, the correction amount can be changed steeply by increasing the frequency component of the correction amount, thereby preventing the timing of the backlash correction from being delayed and improving the responsiveness.

[0019] The third invention is directed to a robot control device for controlling the motion of a robot arm having a plurality of joints, and comprises: a determination unit for determining whether the joint is in a stopped state before the rotation direction of the joint to be corrected is reversed among the plurality of joints; and a frequency change unit for changing the frequency component of the correction amount for correcting the gap at the joint to a low frequency lower than a given threshold value when the joint is determined to be in a stopped state.

[0020] In the third invention, before the joint to be corrected is reversed, it is determined whether the joint is in a stopped state, and if it is in a stopped state, the frequency component of the correction amount is changed to a low frequency lower than a given threshold.

[0021] Thus, when the joint to be corrected is reversed from a stopped state, the correction amount can be changed smoothly by reducing the frequency component of the correction amount, thereby suppressing the vibration of the robot arm caused by large changes in the joint and reducing the trajectory error of the robot arm.

[0022] The fourth invention is based on the third invention, and the judgment unit judges whether the joint part that is the correction object among the multiple joint parts is in the middle of movement before the rotation direction of the joint part is reversed. When the frequency changing unit judges that the joint part is in the middle of movement, the frequency component of the correction amount is changed to a high frequency higher than the low frequency.

[0023] In the fourth invention, before the joint to be corrected is reversed, it is determined whether the joint is in the middle of moving. If it is in the middle of moving, the frequency component of the correction amount is changed to a high frequency higher than the low frequency.

[0024] In this way, when the joint to be corrected is reversed in the middle of the movement, the correction amount can be changed steeply by increasing the frequency component of the correction amount, thereby preventing the timing of the backlash correction from being delayed and improving the responsiveness.

[0025] Effects of the Invention

[0026] According to the present disclosure, the trajectory error of the robot arm can be reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 It is a diagram showing the structure of a robot according to this embodiment.

[0028] Figure 2 is a graph showing trajectory deviation.

[0029] Figure 3 This diagram shows the case where the trajectory deviation is corrected using the backlash correction amount.

[0030] Figure 4 is a diagram showing the actual trajectory after correction.

[0031] Figure 5 It is a graph showing the change of the backlash correction amount.

[0032] Figure 6 This is a functional block diagram related to the position control of the robot.

[0033] Figure 7 It is a diagram for explaining the torsion of the speed reducer in the robot arm.

[0034] Figure 8 It is a block diagram of a robot control device.

[0035] Fig. 9It is a block line diagram of the gap correction block.

[0036] Fig. 10A This is a diagram showing a true trajectory when the joint is reversed from a stopped state without performing backlash correction.

[0037] Fig. 10B It is a graph showing the change in the rotation shaft speed.

[0038] Fig. 10C It is a graph showing the change of the backlash correction amount.

[0039] Fig.11A This is a diagram showing a true trajectory when the gap correction amount is changed abruptly when the joint is reversed from a stopped state.

[0040] Fig. 11B It is a graph showing the change in the rotation shaft speed.

[0041] Fig. 11C It is a graph showing the change of the backlash correction amount.

[0042] Fig. 12A This is a diagram showing a true trajectory when the gap correction amount is changed gently when the joint is reversed from a stopped state.

[0043] Fig. 12B It is a graph showing the change in the rotation shaft speed.

[0044] Fig. 12C It is a graph showing the change of the backlash correction amount.

[0045] Fig.13A This is a timing chart showing the switching of the inversion timing, stop flag signal, start edge signal, and filter switching signal.

[0046] Fig. 13B It is a graph showing changes in speed command components.

[0047] Fig. 13C It is a graph showing the change of the backlash correction amount.

[0048] Fig.14A This is a timing chart showing the switching of the inversion timing, stop flag signal, start edge signal, and filter switching signal.

[0049] Fig. 14B It is a graph showing changes in speed command components.

[0050] Fig. 14C It is a graph showing the change of the backlash correction amount. DETAILED DESCRIPTION

[0051] Embodiments of the present disclosure are described below with reference to the drawings. Note that the following description of the preferred embodiments is merely illustrative in nature and is not intended to limit the present disclosure, its applications, or its uses.

[0052] like Figure 1 As shown, the vertical articulated robot 1 includes a robot arm 2 and a plurality of joints J1 to J6 . A robot control device 20 is connected to the robot 1 .

[0053] The robot arm 2 is divided into a plurality of parts, and joints J1 to J6 are provided at the connection parts of the parts. In addition, the joints J1 to J6 are connected to servo motors 12 (see Figure 6 ).

[0054] The servo motor 12 is driven based on the position command θc from the robot control device 20 to rotate each of the joints J1 to J6 by a desired amount, thereby controlling the motion and posture of the robot arm 2 .

[0055] Here, joints J1 to J3 are main axes that determine the overall posture of the robot arm 2, and joints J4 to J6 are wrist axes that determine the direction of the tip of the robot arm 2. The joint J1 is a rotation axis that rotates the robot arm 2.

[0056] A case where a laser output device (not shown) is mounted on the front end of the robot arm 2 and a workpiece is cut by irradiating with laser light will be described below.

[0057] exist Figure 2 In the example shown, laser cutting is performed on a circular track in the counterclockwise direction from the position of 0°. Figure 2 The rotation is reversed at the timing of reaching the positions of 90° and 270°, respectively. Therefore, gap errors occur at the positions of 90° and 270°, respectively.

[0058] Specifically, the true trajectory becomes Figure 2 The part to the right of the inversion position, that is, the semicircular part from 270° to 90°, has a trajectory in which the diameter itself does not change but shifts downward.

[0059] In addition, becoming Figure 2 The semicircular portion located to the left of the inversion position, that is, from 90° to 270°, has a trajectory in which the diameter itself does not change but shifts upward.

[0060] Thus, the real trajectory becomes Figure 2 The trajectory in which the side to the right of the inverted position is displaced downward and the side to the left of the inverted position is displaced upward.

[0061] Therefore, if Figure 3 As shown in FIG. 1 , the position command is corrected by adding or subtracting the gap correction amount so that the actual trajectory is close to the target trajectory. Specifically, from 0° to 90° and from 270° to 360° (0°), the gap correction amount is added to the position command to correct Figure 3 Position instruction that shifts upward.

[0062] On the other hand, from 90° to 270°, the correction amount (θ1BL) is subtracted from the position command to obtain Figure 3 Position instruction that shifts downward.

[0063] Thus, by giving Figure 4 The correction addition instruction as shown is used to make correction so that the actual trajectory of the robot arm 2 becomes a circular orbit.

[0064] Here, the gap correction amount is a value predetermined by experiments or the like. For example, output Figure 5 The waveform shown is used as the gap correction amount. Figure 5 In the example shown, the servo motor 12 of the joint J1 is reversed without stopping while the tip of the robot arm 2 is moved in a circular orbit. Therefore, when the servo motor 12 is reversed from a non-stop state, the correction amount is changed abruptly so that the timing of the gap correction is not delayed.

[0065] <Structure of multi-joint robot and its control system>

[0066] Figure 6 It is a functional block diagram related to the position control of the robot, and shows the outline of the internal structure of the robot body 11 and the robot control device 20.

[0067] like Figure 6 As shown, the robot body 11 is a mechanical driving part of the robot 1, and has a servo motor 12 (hereinafter simply referred to as a motor), a speed reducer 13, and an encoder 14. In addition, although not shown, the robot arm 2 is included.

[0068] The motor 12 is connected to the joints J1 to J6 of the robot 1 via the speed reducer 13, and drives the joints J1 to J6 by a control signal sent from the servo control unit 23 of the robot control device 20, thereby controlling the movement and posture of the robot arm 2. In the robot 1, the joints J1 to J6 can be moved, and the front end of the robot arm 2 can draw a desired trajectory such as a circle or an ellipse.

[0069] The encoder 14 is connected to the motor 12 to detect the rotation amount and rotation speed thereof, and sends the detection signal to the servo control unit 23 as a feedback signal.

[0070] In addition, in the following description, the motor 12, reducer 13 and encoder 14 connected to the joint J1 are sometimes referred to as the "first motor", "first reducer" and "first encoder" respectively, and the motors connected to the joints J2 to J6 are sometimes referred to as "second to sixth motors" and so on.

[0071] In addition, the servo control unit 23 connected to the first motor and the gap correction block 25 are sometimes referred to as the "first servo control unit" and the "first gap correction block", respectively, and the servo control unit 23 connected to the second to sixth motors 12 and the gap correction blocks 25 connected to the second to sixth servo control units 23 are sometimes referred to as the "second to sixth servo control units" and the "second to sixth gap correction blocks", respectively.

[0072] In addition, the position command and the position command correction value sent to each axis may be referred to as position commands θ1c to θ6c and position command correction values ​​θ1BL to θ6BL.

[0073] The robot control device 20 includes an operation / teaching unit 21 , a main control unit 22 , a servo control unit 23 , and a backlash correction block 25 .

[0074] The operation / teaching unit 21 stores, for example, the trajectory of the robot arm 2 acquired during teaching and the rotational motion of each motor 12 for drawing the trajectory.

[0075] The main control unit 22 receives instructions from the operation / teaching unit 21 and outputs position instructions θ1 c to θ6 c for the axes J1 to J6 of the robot 1 according to the movement trajectory of the robot arm 2 and the like of the robot body 11 stored in the operation / teaching unit 21 .

[0076] The servo control unit 23 controls the rotational motions of the first to sixth motors 12 in the robot body 11 so as to follow the position instructions θ1 c to θ6 c sent from the main control unit 22 .

[0077] The gap correction block 25 is provided between the main control unit 22 and each servo control unit 23 corresponding to the joints J1 to J6. The gap correction block 25 generates position command correction values ​​θ1BL to θ6BL based on the position commands θ1c to θ6c received from the main control unit 22. The generated position command correction values ​​θ1BL to θ6BL are added to the corresponding position commands θ1c to θ6c and sent to the first to sixth servo control units 23, respectively. In addition, a stop flag signal (Stop_Flg) described later is input to the gap correction block 25.

[0078] In addition, each functional block in the robot control device 20 may be constituted by an independent circuit or by a single integrated circuit. Alternatively, a combination of some functional blocks may be constituted by a single integrated circuit.

[0079] The functions of the main control unit 22 , the servo control unit 23 , and the backlash correction block 25 are generally realized by executing a program described in software on an integrated circuit such as a CPU.

[0080] Figure 7 This is a diagram in which the motor 12 , the speed reducer 13 , and a part of the robot arm 2 connected thereto are extracted from the robot body 11 as the load 30 .

[0081] The load 30 includes: a first arm 31 serving as a motor mounting base; a motor 12 connected to the first arm 31; a speed reducer 13 including a primary side 32 connected to the motor 12 and a secondary side 33 having a bearing 34; and a second arm 35 rotatably connected to the secondary side 33 of the speed reducer 13.

[0082] The speed reducer primary side 32 is connected to the rotor 36 of the motor 12 via the rotating shaft of the motor 12, and rotates by the motor rotation position θM sent from the servo control unit 23. The speed reducer 13 converts the motor rotation position θM into the arm rotation position θL at a reduction ratio Rg. The speed reducer 13 has a spring assembly 37 between the speed reducer primary side 32 and the speed reducer secondary side 33.

[0083] The position command θc indicates an angle command indicating the rotation angle amount of each axis, and the real position θL indicates the rotation angle amount of each axis actually rotated.

[0084] <Detailed structure of the control block of the multi-joint robot>

[0085] Figure 8 FIG. 1 is a block diagram showing the first servo control unit. Figure 8 As shown, in the position control block 50 of the servo control unit 23, the motor position θM is subtracted from the value obtained by adding the position command θc and the gap correction value θ1BL output from the gap correction block 25, and the value is multiplied by the position proportional gain Kpp to generate the speed command ωcp. The motor position θM is obtained from the detection signal of the first encoder 14 as a position detector.

[0086] In the following description, the configuration of the first servo control unit 23 is described as an example, but the same applies to the second to sixth servo control units 23 .

[0087] In the speed control block 51, the current IM flowing through the first motor 12 is calculated by adding the following two values: a value obtained by subtracting the motor speed ωM obtained by differentiating the motor position θM from the speed command ωcp and multiplying the obtained value by the speed proportional gain Kps; and a value obtained by integrating the difference value and multiplying it by the speed integral gain Ki. The current IM is input to the load 30.

[0088] In the load 30, IM is the motor current command for driving the motor 12, Kt is the torque constant of the motor 12, 1 / Rg is the inverse of the reduction ratio, Ks is the spring constant of the reducer 13, θs is the torsion generated between the primary side 32 of the reducer and the secondary side 33 of the reducer, and τddyn is the external force torque applied to the robot arm 2.

[0089] The motor transfer function 40 and the load transfer function 41 are functions obtained by mathematically expressing (modeling) respective physical phenomena.

[0090] In the motor transfer function 40 , JM is the moment of inertia about the rotation axis combining the rotor 36 of the motor 12 and the speed reducer primary side 32 , and DM is the viscous friction coefficient.

[0091] In the load transfer function 41 , JL is the moment of inertia about the rotation axis that combines the second arm 35 and the speed reducer secondary side 33 , and DL is the viscous friction coefficient.

[0092] in addition, Figure 8 Since this is a general control block diagram of an electric motor connected to a load and a speed reducer, detailed description of functions other than the above will be omitted.

[0093] Fig. 9 The backlash correction block 25 includes an angular velocity calculation block 60 , a command velocity component reversal detection block 61 , a backlash correction amount calculation block 62 , a stop / start detection block 63 , a filter switching timer block 64 , and a filter processing block 65 .

[0094] The position command θ1c of the joint J1 to be corrected is input to the angular velocity calculation block 60. The angular velocity calculation block 60 calculates the angular velocity component dθc, which is a differential value of the position command θ1c. The angular velocity component dθc is input to the command velocity component reversal detection block 61.

[0095] In the command speed component reversal detection block 61 , the reversal timing dir is calculated based on the angular speed component dθc. The reversal timing dir is input to the backlash correction amount calculation block 62 .

[0096] In the gap correction amount calculation block 62 , the correction amount θ1BL0 of the joint J1 is calculated based on the reversal timing dir. The correction amount θ1BL0 is input to the filter processing block 65 .

[0097] A stop flag signal (Stop_Flg) is input to the stop / start detection block 63. The stop flag signal (Stop_Flg) is a signal indicating whether the robot 1 is in a stop state or a non-stop state (action state). Specifically, if the joint J1 is in a stop state, the stop flag signal (Stop_Flg) becomes "1", and if the joint J1 is in a non-stop state, the stop flag signal (Stop_Flg) becomes "0".

[0098] In the stop / start detection block 63, a start edge signal (Start_Edg) is output based on the stop flag signal (Stop_Flg). The start edge signal (Start_Edg) is a signal indicating whether the joint J1 is reversed from a stop state or from a non-stop state.

[0099] Specifically, during one sampling period when the stop flag signal (Stop_Flg) changes from "1" to "0", the start edge signal (Start_Edg) becomes "1", and when the stop flag signal (Stop_Flg) does not change, the start edge signal (Start_Edg) becomes "0". The start edge signal (Start_Edg) is input to the filter switching timer block 64.

[0100] The filter switching timer block 64 outputs a filter switching signal (Flt_Chng) based on the start edge signal (Start_Edg). The filter switching signal (Flt_Chng) is a signal indicating whether to select a low-frequency filter or a high-frequency filter in order to change the frequency component of the correction amount.

[0101] Specifically, when the low-frequency filter is selected, the filter switching signal (Flt_Chng) becomes “1”, and when the high-frequency filter is selected, the filter switching signal (Flt_Chng) becomes “0”. The filter switching signal (Flt_Chng) is input to the filter processing block 65 .

[0102] Here, the so-called low frequency is a frequency lower than a given threshold value. In addition, the so-called high frequency is a frequency higher than the low frequency. In this embodiment, the resonance frequency (for example, 10 Hz) of the joint J1 is set as the threshold value, the low frequency is set to 5 Hz, and the high frequency is set to 50 Hz.

[0103] In the filter processing block 65 , the frequency component of the correction amount is changed based on the correction amount θ1BL0 and the filter switching signal (Flt_Chng).

[0104] Specifically, when a high frequency filter (eg, 50 Hz) is selected based on the filter switching signal (Flt_Chng), the correction amount changes abruptly (see Fig. 11C ).

[0105] On the other hand, when a low-frequency filter (e.g., 5 Hz) is selected, the correction amount changes smoothly (refer to Fig. 12C ).

[0106] The filter processing block 65 outputs a correction amount θ1BL for changing the frequency component.

[0107] Then, a new position command obtained by adding the correction amount θ1BL calculated by the gap correction block 25 to the position command θ1c sent from the main control unit 22 to the first servo control unit 23 is input to the first servo control unit 23, and the drive of the first motor 12 is controlled by the first servo control unit 23.

[0108] The reason why the frequency component of the correction amount is changed by determining whether the joint J1 is in the non-stop state or the stop state before the joint J1 is reversed will be described below.

[0109] exist Fig. 10A In the example shown, the front end of the robot arm 2 is moved in the X direction (reference Figure 1 ) stops at a position where it is extended to 1300 mm. Then, a trajectory instruction is given to the joint J1 so that it retracts to a position of 1200 mm in the X direction.

[0110] like Fig. 10B As shown in FIG. 1 , the rotation speed of the joint J1, which is the rotation axis, changes in a manner that the speed gradually increases from the stopped state. At this time, the gap correction of the joint J1 is not performed (refer to FIG. 1 ). Fig. 10C ).

[0111] Therefore, if Fig. 10A As shown in FIG. 1 , if the joint J1 is reversed from the stopped state, the actual trajectory of the front end of the robot arm 2 changes as follows, that is, in the Y direction (reference Figure 1 ) and then gradually follow the trajectory instructions.

[0112] Next, in Fig.11A In the example shown, when the joint J1 is reversed from the stopped state, the gap correction amount is changed abruptly (see Fig. 11C ). Therefore, if Fig. 11BAs shown, the rotation speed of the joint J1 changes in such a manner that it increases steeply from a stopped state and then decreases again, and then gradually increases and then becomes a constant speed.

[0113] Therefore, if Fig.11A As shown, when the joint J1 is reversed from the stopped state, the actual trajectory of the tip of the robot arm 2 changes in such a manner that it deviates in the Y direction and then gradually follows the trajectory command.

[0114] Next, in Fig. 12A In the example shown, when the joint J1 is reversed from the stopped state, the gap correction amount is changed gently (refer to Fig. 12C ). Therefore, if Fig. 12B As shown, the rotation speed of the joint J1 changes in such a manner that it increases from a stopped state and then decreases again, and then gradually increases and then becomes a constant speed.

[0115] Therefore, if Fig. 12A As shown in FIG. 1 , if the joint J1 is reversed from the stopped state, the actual trajectory of the front end of the robot arm 2 changes as follows, that is, in the ratio Fig.11A The example shown shows a small deviation in the Y direction and then gradually follows the trajectory command.

[0116] In this way, when the robot arm 2 is reversed from the stopped state, it is preferable to change the gap correction amount gradually. This can prevent the robot arm 2 from vibrating due to a large change in the joint J1 and an increase in the trajectory error.

[0117] On the other hand, when the robot arm 2 is reversed from the non-stop state, it is preferable to change the gap correction amount steeply so that the timing of the gap correction is not delayed.

[0118] Therefore, in the present embodiment, before the joint J1 is reversed, it is determined whether the joint J1 is in the non-stop state or the stop state, and the frequency component of the correction amount is changed.

[0119] Fig.13A The inversion timing dir, the stop flag signal (Stop_Flg), the start edge signal (Start_Edg), and the switching timing of the filter switching signal (Flt_Chng) are shown.

[0120] like Fig. 13B As shown, while the joint J1 is stopped, the stop flag signal (Stop_Flg) becomes "1." Then, when the reverse rotation of the joint J1 is detected based on the reverse rotation timing dir, the filter switching timer is started, and the filter switching is performed within a predetermined set time.

[0121] At this time, since the joint J1 is reversed from the stopped state, the low-frequency filter is selected within the set time. Fig. 13C As shown in FIG. 1 , if the frequency component of the correction amount is changed to a low frequency (5 Hz), the correction amount changes smoothly.

[0122] Then, if the robot arm 2 is moved in a circular orbit, the joint J1 is reversed from the non-stop state, so a high-frequency filter is selected. Fig. 13C As shown, if the frequency component of the correction amount is changed to a high frequency (50 Hz), the correction amount changes steeply.

[0123] Next, as another operation example of the robot arm 2 , a case where the joint J1 is temporarily stopped before the joint J1 is reversed will be described.

[0124] exist Fig.14A , the switching timing of the inversion timing dir, the stop flag signal (Stop_Flg), the start edge signal (Start_Edg), and the filter switching signal (Flt_Chng) are shown.

[0125] like Fig. 14B As shown, while the joint J1 is stopped, the stop flag signal (Stop_Flg) becomes "1." Then, when the reverse rotation of the joint J1 is detected based on the reverse rotation timing dir, the filter switching timer is started, and the filter switching is performed within a predetermined set time.

[0126] At this time, since the joint J1 is reversed from the stopped state, the low-frequency filter is selected within the filter switching time. Fig. 14C As shown in FIG. 1 , if the frequency component of the correction amount is changed to a low frequency (5 Hz), the correction amount changes smoothly.

[0127] Then, the robot arm 2 is moved in a circular orbit, and the joint J1 is temporarily stopped before the next reversal action. Therefore, since the joint J1 is reversed from the stopped state, the low-frequency filter is selected within the filter switching time. Fig. 14C As shown in FIG. 1 , if the frequency component of the correction amount is changed to a low frequency (5 Hz), the correction amount changes smoothly.

[0128] As described above, according to the robot control device 20 of the present embodiment, when the joint J1 reverses during operation, the correction amount can be changed steeply by increasing the frequency component of the correction amount so as not to delay the timing of the backlash correction.

[0129] On the other hand, when the joint J1 is reversed from the stopped state, the correction amount can be changed smoothly by reducing the frequency component of the correction amount so that a large change does not occur in the joint J1 to vibrate the robot arm.

[0130] This can reduce the trajectory error of the robot arm.

[0131] 《Other Implementation Methods》

[0132] The above-mentioned embodiment can be configured as follows.

[0133] In this embodiment, a vertical multi-joint six-axis robot 1 is described as an example, but the present invention is not limited thereto. The number of joints of the robot is not limited to six, and can be appropriately changed according to the specifications of the robot.

[0134] Industrial Availability

[0135] As described above, the present disclosure can obtain a highly practical effect of reducing the trajectory error of the robot arm, and therefore is extremely useful and has high industrial applicability.

[0136] Description of Reference Numerals

[0137] 2 Robotic Arm

[0138] 20 Robot control device

[0139] 63 Stop / Start Detection Block (Judgment Unit)

[0140] 65 Filter processing block (frequency change section)

[0141] J1~J6 joints

Claims

1. A robot control method for controlling the motion of a robot arm having multiple joints, the robot control method comprising the following steps: determining, based on the stop flag signal, whether the rotation direction of the joint part to be corrected among the plurality of joint parts is reversed from a stop state; and When it is determined that the rotation direction of the joint portion is reversed from the stopped state, the frequency component of the signal indicating the correction amount for correcting the backlash at the joint portion is changed to a low frequency lower than a given threshold value.

2. The robot control method according to claim 1, wherein: The robot control method comprises the following steps: determining whether the rotation direction of the joint part to be corrected among the plurality of joint parts is reversed from the operation state; and When it is determined that the rotation direction of the joint is reversed from the operating state, the frequency component of the signal indicating the correction amount is changed to a high frequency higher than the low frequency.

3. A robot control device for controlling the movement of a robot arm having a plurality of joints, the robot control device comprising: A determination unit that determines, based on the stop flag signal, whether the rotation direction of a joint portion to be corrected among the plurality of joint portions is reversed from a stop state; and The frequency changing unit changes a frequency component of a signal indicating a correction amount for correcting the backlash at the joint portion to a low frequency lower than a given threshold value when it is determined that the rotation direction of the joint portion is reversed from a stopped state.

4. The robot control device according to claim 3, wherein: The determination unit determines whether the rotation direction of the joint to be corrected among the plurality of joints is reversed from the operation state. The frequency changing unit changes the frequency component of the signal indicating the correction amount to a higher frequency than the low frequency when it is determined that the rotation direction of the joint is reversed from the operating state.

Citation Information

Patent Citations

  • Control method and control device

    EP2752274A1

  • Robot control device, robot, and robot system

    EP3381625A2

  • Acceleration control method / Device for servo system

    JP1994138922A

  • Backlash correction device and numerical control system

    JP2000250614A

  • Electric power steering device

    JP2004358985A