Robot control method and robot system

By receiving the inertial sensor output signal and adjusting the feedback gain to control the drive of the robot arm, the problem of poor vibration reduction in the prior art is solved, and a better vibration damping effect is achieved.

CN119658672APending Publication Date: 2025-03-21SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411309574.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-21
Filing Date
2024-09-19
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

The existing robot control methods cannot effectively reduce vibration in other directions except the action direction, resulting in poor vibration damping effect.

Method used

By receiving the output signal of the inertial sensor, the feedback gain is adjusted and the driving of the control arm is controlled. The specific steps include inertial information reception, feedback gain adjustment, drive control and gain drop adjustment.

Benefits of technology

Effective reduction of vibrations in other directions except the action direction is achieved, and the overall vibration-absorbing effect of the robot system is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119658672A_ABST
    Figure CN119658672A_ABST
Patent Text Reader

Abstract

The invention provides a robot control method and a robot system having an excellent vibration suppression effect. The robot control method includes: an inertial information receiving step of receiving an output signal from an inertial sensor that measures an operation of an arm; a first feedback gain adjustment step of performing an adjustment to increase a feedback gain multiplied by the output signal or a signal generated from the output signal in accordance with a change in the motion of the arm; a drive control step of controlling the drive of the arm using the feedback gain increased in the first feedback gain adjustment step; and a second feedback gain adjustment step of performing an adjustment to reduce the feedback gain after a predetermined time has elapsed from the first feedback gain adjustment step.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a robot control method and a robot system. Background Art

[0002] The robot described in Patent Document 1 has: a base; a first arm rotatably connected to the base; a first motor driving the first arm; a first angle sensor detecting the rotation angle of the first motor; a first angular velocity sensor detecting the angular velocity of the first arm relative to the base; a second arm rotatably connected to the first arm; a second motor driving the second arm; a second angle sensor detecting the rotation angle of the second motor; and a second angular velocity sensor detecting the angular velocity of the second arm relative to the first arm. Thus, the rotation angle of the first arm is detected using the output of the first angle sensor and the output of the first angular velocity sensor, and the rotation angle of the second arm is detected using the output of the second angle sensor and the output of the second angular velocity sensor. Furthermore, the detection result is fed back to perform vibration reduction control of the robot.

[0003] Patent Document 1: Japanese Patent Application Publication No. 2005-242794

[0004] However, in the above method, although the vibration in the movement direction of the first and second arms can be reduced, the vibration in other directions, such as the vibration along the rotation axis, cannot be reduced. In addition, when vibration in a direction different from the movement direction is generated, the vibration is fed back in the above method, so the movement of the first and second arms becomes unstable and the vibration reduction effect may also be reduced. In other words, in the method of Patent Document 1, excellent vibration reduction control cannot be performed. Summary of the invention

[0005] The robot control method of the present invention includes: an inertial information receiving step, receiving an output signal from an inertial sensor that measures the movement of an arm; a first feedback gain adjustment step, adjusting the feedback gain multiplied by the output signal or a signal generated from the output signal according to changes in the movement of the arm; a drive control step, using the feedback gain increased in the first feedback gain adjustment step to control the drive of the arm; and a second feedback gain adjustment step, adjusting the feedback gain to decrease after a specified time has passed since the first feedback gain adjustment step.

[0006] The robot system of the present invention comprises: a base; an arm driven relative to the base; an inertial sensor for detecting the movement of the arm; and a control unit for controlling the driving of the arm, wherein the control unit receives an output signal from the inertial sensor, adjusts a feedback gain multiplied by the output signal or a signal generated from the output signal according to changes in the movement of the arm, controls the driving of the arm using the adjusted feedback gain, and adjusts the feedback gain to decrease after a specified time has passed since the feedback gain was increased. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1 This is a block diagram showing the configuration of the robot system according to the first embodiment.

[0008] Figure 2 Yes means Figure 1 A diagram of a robot system having a robot.

[0009] Figure 3 Yes means Figure 1 A block diagram of a control unit included in a robot system.

[0010] Figure 4 This is a diagram showing a dual inertial system model of the rotating part of the robot.

[0011] Figure 5 It is a graph showing changes in the angular acceleration command Aref, the driving element angular velocity ωm, the driven element angular velocity ωl, and the bending angular velocity ωd during the PTP operation of the arm.

[0012] Figure 6 This is a timing chart showing an example of the process of adjusting the bending angular velocity feedback gain Kgp.

[0013] Figure 7 It is a graph which shows the effect of suppressing the residual vibration of the arm.

[0014] Figure 8 is a flowchart showing a method for controlling a robot.

[0015] Fig. 9 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp executed in the robot system according to the second embodiment.

[0016] Fig.10 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp executed in the robot system according to the third embodiment.

[0017] Fig.11This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp executed in the robot system according to the fourth embodiment.

[0018] Fig.12 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp performed in the robot system according to the fifth embodiment.

[0019] Fig.13 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp performed in the robot system according to the sixth embodiment.

[0020] Fig.14 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp implemented in the robot system according to the seventh embodiment.

[0021] Fig.15 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp implemented in the robot system according to the eighth embodiment.

[0022] Fig.16 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp implemented in the robot system according to the ninth embodiment.

[0023] Fig.17 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp performed in the robot system according to the tenth embodiment.

[0024] Fig.18 1 is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp performed in the robot system according to the eleventh embodiment.

[0025] Fig.19 It is a diagram showing a robot included in the robot system according to the twelfth embodiment.

[0026] Fig. 20 Yes means Fig.19 A block diagram of a control unit included in a robot system.

[0027] Fig.21 This is a diagram showing a dual inertial system model of the direct motion part of the robot.

[0028] Fig. 22 It is a graph showing changes in the acceleration command Aref', the speed V1, and the speed V2 when the spline shaft is in motion.

[0029] Fig.23 This is a timing chart showing an example of the process of adjusting the bending angular velocity feedback gain Kgp.

[0030] Fig.24 This is a graph showing the residual vibration suppression effect of the spline shaft.

[0031] Fig.25 It is a diagram showing a robot included in the robot system according to the thirteenth embodiment.

[0032] Fig.26 It is a diagram showing a robot included in the robot system according to the fourteenth embodiment.

[0033] Description of Reference Numerals

[0034] 1: Robot system, 2: Robot, 21: Base, 22: Arm, 23: Drive mechanism, 231: Reducer, 232: Motor, 233: Position detector, 24: Inertial sensor, 252: Ball screw nut, 253: Spline shaft, 27: Drive mechanism, 271: Motor, 272: Position detector, 273: Power transmission mechanism, 273a: Pulley, 273b: Timing belt, 28: Load, 29: Load, 3: Control device, 30: Control unit, 31: Position command generation unit, 32: Position control unit, 33: Speed ​​control unit, 34: Current control unit, 35: Angular velocity feedback generation unit, 4: Host, 5: Teaching box, 600: Dual inertial system model, 601: Drive element, 602: driven element, 603: spring element, 604: rotating shaft, 700: dual inertia system model, 701: base element, 702: driving element, 703: spring element, 901: position command, 902: motor shaft position, 903: position deviation, 904: speed command, 905: speed loop command, 906: current command, 907: current, 911: angular velocity, 912: motor shaft conversion arm angular velocity, 913: motor shaft angular velocity, 914: bending angular velocity, 915: bending angular velocity feedback, 921: position command, 922: motor shaft position, 923: position deviation, 924: speed command, 925: motor shaft angular velocity, 926: speed deviation, 927: current command, 928: current, 931: angular velocity, 932: bending angular velocity, 933: bending angular velocity feedback, 2100: robot, 2110: base, 2120: arm, 2121: first arm, 2122: second arm, 2130: work head, 2131: spline nut, 2132: ball screw nut, 2133: spline shaft, 2140: drive mechanism, 2141: reducer, 2142: motor, 2143: position detector, 2150: drive mechanism, 2151: reducer, 2152: motor, 2153: position detector, 2160: drive device, 2161: motor, 2162: position detector, 2163: power transmission mechanism, 2170: drive device, 217 1: Motor, 2172: Position detector, 2173: Power transmission mechanism, 2190: Inertial sensor, 2200: Robot, 2210: Base, 2220: Arm, 2221: First arm, 2222: Second arm, 2223: Third arm, 2224: Fourth arm, 2225: Fifth arm, 2226: Sixth arm, 2231: Driving mechanism, 2232: Driving mechanism, 2233: Driving mechanism, 2234: Driving mechanism, 2235: Driving mechanism, 2236: Driving mechanism, 2241: Inertial sensor, 2242: Inertial sensor, Aref: Angular acceleration command, Aref': Acceleration command, dt: Time, Fs: Thrust, J: Rotation axis, J1: First rotation axis,J2: second rotation axis, J21: first rotation axis, J22: second rotation axis, J23: third rotation axis, J24: fourth rotation axis, J25: fifth rotation axis, J26: sixth rotation axis, J3: third rotation axis, Jg: center axis, Jl: load side moment of inertia, Jm: motor shaft side moment of inertia, Js: detection axis, Kgp: bending angular velocity feedback gain, Kgpb: bending angular velocity feedback basic gain, Kgpc: bending angular velocity feedback gain coefficient, Kgs: arm angular velocity scaling coefficient, Kpp: position =Installation loop proportional gain, Ks: spring constant, Kvi: velocity loop integral gain, Kvp: velocity loop proportional gain, Lim: upper limit, N1e: angular acceleration increase end point, N1e': acceleration increase end point, N1s: angular acceleration increase start point, N1s': acceleration increase start point, N2e: angular acceleration decrease end point, N2e': acceleration decrease end point, N2s: angular acceleration decrease start point, N2s': acceleration decrease start point, N3e: angular acceleration increase end point, N3e': acceleration N3s: angular acceleration increase end point, N3s': acceleration increase start point, N4e: angular acceleration decrease end point, N4e': acceleration decrease end point, N4s: angular acceleration decrease start point, N4s': acceleration decrease start point, S1: inertial information receiving step, S2: first feedback gain adjustment step, S3: drive control step, S4: second feedback gain adjustment step, T1: first timing, T1': first timing, T2: second timing, T2': second timing, T3: second timing Three timings, T3': third timing, T4: fourth timing, T4': fourth timing, T5: fifth timing, T5': fifth timing, T6: sixth timing, T6': sixth timing, T7: seventh timing, T7': seventh timing, T8: eighth timing, T8': eighth timing, V1: speed, V2: speed, Vref: speed command, Vref': speed command, m1: inertial mass, m2: inertial mass, ωd: bending angular velocity, ωl: driven element angular velocity, ωm: driving element angular velocity. , DETAILED DESCRIPTION

[0035] Hereinafter, a robot control method and a robot system according to the present invention will be described in detail based on the embodiments shown in the drawings.

[0036] Figure 1 This is a block diagram showing the configuration of the robot system according to the first embodiment. Figure 2 Yes means Figure 1 A diagram of a robot system having a robot. Figure 3 Yes means Figure 1 A block diagram of a control unit included in a robot system. Figure 4 This is a diagram showing a dual inertial system model of the rotating part of the robot. Figure 5It is a graph showing changes in the angular acceleration command Aref, the driving element angular velocity ωm, the driven element angular velocity ωl, and the bending angular velocity ωd during the PTP operation of the arm. Figure 6 This is a timing chart showing an example of the process of adjusting the bending angular velocity feedback gain Kgp. Figure 7 It is a graph which shows the effect of suppressing the residual vibration of the arm. Figure 8 is a flowchart showing a method for controlling a robot.

[0037] Figure 1 The robot system 1 shown includes a robot 2, a control device 3, a host computer 4, and a teaching box 5. In the host computer 4, a program for causing the robot 2 to perform an action is created. The teaching box 5 is used when teaching an action to the robot 2. In addition, the control device 3 includes a control unit 30, and the control unit 30 controls the driving of the robot 2 based on the program created by the host computer 4.

[0038] Robot 2

[0039] like Figure 2 As shown, the robot 2 includes a base 21 fixed to a floor, an arm 22 whose base end is connected to the base 21 and rotates relative to the base 21 around a rotation axis J along a vertical direction, a drive mechanism 23 that rotates the arm 22 relative to the base 21 around the rotation axis J, and an inertial sensor 24 disposed at the front end of the arm 22. In addition, the drive mechanism 23 includes a reducer 231 that connects the base 21 and the arm 22, a motor 232 that has a rotation axis connected to the input side of the reducer 231, and a position detector 233 that detects the rotation angle of the rotation axis of the motor 232. In addition, the inertial sensor 24 is an angular velocity sensor that detects the angular velocity of the arm 22 around the rotation axis J. Here, the inertial sensor 24 can be referred to as an inertial sensor that measures the motion of the arm that rotates the arm 22 around the rotation axis J. The output signal from the inertial sensor 24 includes information related to the inertia generated in the arm 22 by the motion of the arm 22, that is, inertial information. In addition, inertial information means inertial information such as angular velocity and acceleration, and the inertial sensor 24 can be referred to as a sensor that transmits inertial information. In this embodiment, angular velocity is used as inertial information.

[0040] It should be noted that, for the sake of convenience, the rotation angle of the rotating shaft of the motor 232 is also referred to as the “rotation angle of the motor 232 ”, and the rotating shaft of the motor 232 is also referred to as the “motor shaft”.

[0041] Control device 3

[0042] The control device 3 is composed of a computer, for example, and has a processor for processing information, a memory connected to the processor in a communicable manner, and an external interface. In addition, the memory stores various programs that can be executed by the processor, and the processor can read and execute various programs stored in the memory.

[0043] Such a control device 3 includes a control unit 30 for controlling the driving of the driving mechanism 23. In addition, the control unit 30 is Figure 3 The control unit 30 includes a position command generating unit 31 , a position control unit 32 , a speed control unit 33 , a current control unit 34 , and a bending angular velocity feedback generating unit 35 .

[0044] The bending angular velocity feedback generating unit 35 first multiplies the angular velocity 911 of the arm 22 detected by the inertial sensor 24 by the arm angular velocity scaling coefficient Kgs to obtain the motor shaft converted arm angular velocity 912. In addition, the bending angular velocity feedback generating unit 35 performs time differentiation on the rotation angle of the motor 232 detected by the position detector 233, that is, the motor shaft position 902, to obtain the angular velocity of the motor shaft, that is, the motor shaft angular velocity 913. Next, the bending angular velocity feedback generating unit 35 subtracts the motor shaft angular velocity 913 from the motor shaft converted arm angular velocity 912 to obtain the bending angular velocity 914. Next, the bending angular velocity feedback generating unit 35 multiplies the bending angular velocity 914 by the bending angular velocity feedback gain Kgp (the bending angular velocity feedback base gain Kgpb and the bending angular velocity feedback gain coefficient Kgpc) as the feedback gain to obtain the bending angular velocity feedback 915. By using the bending angular velocity feedback 915 obtained in this way, the vibration suppression effect of the arm 22 can be improved as described later.

[0045] The position command generation unit 31 generates a position command 901 for the motor 232 based on a program created by the host computer 4 .

[0046] The position control unit 32 first obtains a position deviation 903 obtained by subtracting the motor shaft position 902 (rotation angle of the motor 232 ) detected by the position detector 233 from the position command 901 . Next, the position control unit 32 obtains a speed command 904 by multiplying the position deviation 903 by a position loop proportional gain Kpp.

[0047] The speed control unit 33 is composed of proportional / integral control. The speed control unit 33 first adds the speed command 904 to the bending angular velocity feedback 915 generated by the bending angular velocity feedback generation unit 35 to obtain the speed loop command 905. Then, the speed control unit 33 adds the proportional term obtained by multiplying the speed loop command 905 by the speed loop proportional gain Kvp and the integral term obtained by multiplying the integral value of the speed loop command 905 by the speed loop integral gain Kvi to obtain the current command 906.

[0048] The current control unit 34 controls so that the current 907 driving the motor 232 is consistent with the current command 906, that is, the current 907 follows the current command 906. Then, the motor 232 is driven by the current 907 controlled by the current control unit 34, so that the load 29 connected to the motor 232 is rotated. Here, the load 29 is the sum of the inertia moments of the motor shaft and the driving elements (speed reducer 231, arm 22, inertial sensor 24, etc.) connected to the motor shaft.

[0049] The circuit configuration of the control unit 30 has been briefly described above. Figure 4 The dual inertia system model 600 of the rotating part of the robot 2 is shown. In such a dual inertia system model 600, a driving element 601 having a motor shaft side inertia moment Jm and a driven element 602 having a load side inertia moment J1 are combined by a spring element 603 having a spring constant Ks. In such a dual inertia system model 600, the driving element 601 and the driven element 602 rotate around a rotation axis 604, and due to the rotation, the spring element 603 is twisted and deformed around the rotation axis 604.

[0050] In the robot 2, the spring element 603 is mainly composed of the motor shaft, the reducer 231 and the arm 22. Therefore, the spring constant Ks becomes a composite value of the spring constants based on the deformation of the motor shaft, the reducer 231 and the arm 22. In addition, in the robot 2, the motor shaft side inertia moment Jm is mainly the inertia moment of the motor shaft. In addition, in the robot 2, the load side inertia moment Jl is the sum of the inertia moments of the driving elements connected to the motor shaft, that is, mainly the reducer 231, the arm 22 and the inertial sensor 24 around the rotation axis J.

[0051] In addition, in the robot 2, the motor shaft converted arm angular velocity 912 obtained by multiplying the angular velocity 911 of the arm 22 detected by the inertial sensor 24 by the arm angular velocity scaling coefficient Kgs is equivalent to the angular velocity of the driven element 602 around the rotation axis 604, that is, the driven element angular velocity ωl. On the other hand, in the robot 2, the motor shaft angular velocity 913 obtained by time-differentiating the motor shaft position 902 detected by the position detector 233 is equivalent to the angular velocity of the driving element 601 around the rotation axis 604, that is, the driving element angular velocity ωm. In addition, the driving torque used by the driving element 601 to rotate the driven element 602 acts on the spring element 603. Therefore, the spring element 603 is twisted. The speed of the twisting of the spring element 603, that is, the bending angular velocity ωd can be obtained by subtracting the driving element angular velocity ωm of the driving element 601 from the driven element angular velocity ωl of the driven element 602 as shown in the following formula (1).

[0052] ωd=ωl-ωm…(1)

[0053] Here, when the vibration of the driven element 602 caused by the torsion of the spring element 603 is defined as "flexural vibration", the main cause of the vibration of the arm 22 is the "flexural vibration". Therefore, by attenuating the flexural vibration, the vibration of the arm 22 can be effectively suppressed, and an excellent vibration suppression effect can be exerted. The flexural angular velocity feedback 915 generated by the flexural angular velocity feedback generation unit 35 has the effect of attenuating such flexural vibration, and the attenuation rate of the flexural vibration is adjusted by changing the flexural angular velocity feedback gain Kgp according to the angular velocity of the arm 22.

[0054] Next, the bending angular velocity feedback gain Kgp will be described in detail. The bending angular velocity feedback gain Kgp is obtained by multiplying the bending angular velocity feedback base gain Kgpb as the feedback base gain by the bending angular velocity feedback gain coefficient Kgpc as the feedback gain coefficient. That is, the bending angular velocity feedback gain Kgp is represented by the following equation (2).

[0055] Kgp=Kgpc×Kgpb…(2)

[0056] The flexural angular velocity feedback basic gain Kgpb is adjusted in accordance with the load 29 and the posture of the arm 22, and is kept constant in the present embodiment. In contrast, the flexural angular velocity feedback gain coefficient Kgpc is changed according to the rotation direction of the arm 22, that is, the angular velocity around the rotation axis J. In this way, by changing the flexural angular velocity feedback gain coefficient Kgpc while keeping the flexural angular velocity feedback basic gain Kgpb constant, it is easy to adjust the flexural angular velocity feedback gain Kgp. The timing of changing the flexural angular velocity feedback gain coefficient Kgpc is described in detail below.

[0057] Figure 5 2 shows the changes in the angular acceleration command Aref, the driving element angular velocity ωm, the driven element angular velocity ωl, and the bending angular velocity ωd during the PTP (point-to-point) action of the arm 22. It should be noted that for ease of explanation, the bending angular velocity ωd is displayed at an enlarged ratio relative to the driven element angular velocity ωl and the driving element angular velocity ωm.

[0058] As shown in the figure, the angular acceleration command Aref changes at the angular acceleration increase starting point N1s and the angular acceleration increase end point N1e at the start of acceleration, the angular acceleration decrease starting point N2s and the angular acceleration decrease end point N2e at the end of acceleration, the angular acceleration increase starting point N3s and the angular acceleration increase end point N3e at the start of deceleration, and the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e at the end of deceleration. In addition, there is a constant speed interval between the angular acceleration decrease end point N2e and the angular acceleration increase starting point N3s.

[0059] In addition, the vibration of the bending angular velocity ωd (hereinafter also referred to as "bending vibration") increases starting from the angular acceleration change point where the angular acceleration command Aref changes, that is, the angular acceleration increase start point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease start point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase start point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease start point N4s, and the angular acceleration decrease end point N4e. This is a phenomenon caused by the drive torque that accelerates and decelerates the driven element 602 being transmitted to the driving element 601 via the spring element 603, so that the spring element 603 is twisted at the above eight points.

[0060] Therefore, in the robot system 1, the flexural angular velocity feedback gain Kgp is increased at the timing determined based on the above eight points N1s, N1e, N2s, N2e, N3s, N3e, N4s, and N4e where the flexural vibration increases, thereby reducing the vibration of the driven element 602, that is, the arm 22.

[0061] Specifically, taking the first timing T1 determined based on the starting point N1s of angular acceleration increase, the second timing T2 determined based on the end point N1e of angular acceleration increase, the third timing T3 determined based on the starting point N2s of angular acceleration decrease, the fourth timing T4 determined based on the end point N2e of angular acceleration decrease, the fifth timing T5 determined based on the starting point N3s of angular acceleration increase, the sixth timing T6 determined based on the end point N3e of angular acceleration increase, the seventh timing T7 determined based on the starting point N4s of angular acceleration decrease and the eighth timing T8 determined based on the end point N4e of angular acceleration decrease as starting points, the flexural angular velocity feedback gain Kgp is increased and the vibration of the arm 22 is reduced.

[0062] Conventionally, the bending angular velocity feedback gain Kgp is adjusted according to the posture of the robot 2 and the size of the load 29 , but it is not adjusted according to the angular velocity of the arm 22 as in the present embodiment.

[0063] It should be noted that in this embodiment, the first timing T1 is set to the same moment as the starting point N1s of the angular acceleration increase, the second timing T2 is set to the same moment as the end point N1e of the angular acceleration increase, the third timing T3 is set to the same moment as the starting point N2s of the angular acceleration decrease, the fourth timing T4 is set to the same moment as the end point N2e of the angular acceleration decrease, the fifth timing T5 is set to the same moment as the starting point N3s of the angular acceleration increase, the sixth timing T6 is set to the same moment as the end point N3e of the angular acceleration increase, the seventh timing T7 is set to the same moment as the starting point N4s of the angular acceleration decrease, and the eighth timing T8 is set to the same moment as the end point N4e of the angular acceleration decrease. Thus, the bending angular velocity feedback gain Kgp can be increased without delay relative to each angular acceleration change point among the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e, thereby obtaining a higher vibration suppression effect.

[0064] However, this is not limited to this. For example, the first timing T1 may be a time delayed by a predetermined time Δt from the angular acceleration increase starting point N1s, or may be a time advanced by a predetermined time Δt from the angular acceleration increase starting point N1s. This is also the same for the second, third, fourth, fifth, sixth, seventh, and eighth timings T2, T3, T4, T5, T6, T7, and T8 other than the first timing T1. In addition, at two or more timings arbitrarily selected from the first, second, third, fourth, fifth, sixth, seventh, and eighth timings T1, T2, T3, T4, T5, T6, T7, and T8, the predetermined time Δt may be different from each other.

[0065] It should be noted that, below, for the sake of convenience of explanation, the first timing T1 is set as the starting point N1s of the angular acceleration increase, the second timing T2 is set as the end point N1e of the angular acceleration increase, the third timing T3 is set as the starting point N2s of the angular acceleration decrease, the fourth timing T4 is set as the end point N2e of the angular acceleration decrease, the fifth timing T5 is set as the starting point N3s of the angular acceleration increase, the sixth timing T6 is set as the end point N3e of the angular acceleration increase, the seventh timing T7 is set as the starting point N4s of the angular acceleration decrease, and the eighth timing T8 is set as the end point N4e of the angular acceleration decrease for explanation.

[0066] Here, as control instability factors that may be generated by increasing the flexural angular velocity feedback gain Kgp, for example, (A) physical control instability caused by the elements constituting the drive system, and (B) reduction in control stability caused by the wandering of vibration in a direction different from the rotation direction can be considered. The instability factor (A) refers to the instability of the flexural angular velocity feedback control specified by the motor shaft side inertia moment Jm, the load side inertia moment Jl, and the spring constant Ks in the dual inertial system model 600. On the other hand, the instability factor (B) refers to the instability of the flexural angular velocity feedback control caused by the elastic deformation of each element constituting the robot 2 causing the arm 22 to vibrate in a direction different from the rotation direction, especially in the vertical direction, and the inertial sensor 24 detecting the vibration (hereinafter also referred to as "non-rotation direction vibration") as noise, and the control unit 30 using the noise for control. It should be noted that the vibration in the non-rotation direction is generated by the wandering of the flexural vibration in the rotation direction. Therefore, the increase in the vibration in the non-rotation direction is delayed relative to the increase in the flexural vibration in the rotation direction.

[0067] Therefore, in the robot system 1, the characteristic that the vibration in the non-rotation direction increases with a delay relative to the flexural vibration in the rotation direction is cleverly utilized, and the flexural angular velocity feedback gain Kgp is temporarily increased to attenuate the flexural vibration in the rotation direction, with the above-mentioned eight angular acceleration change points where the flexural vibration in the rotation direction increases, that is, the angular acceleration increase start point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease start point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase start point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease start point N4s, and the angular acceleration decrease end point N4e as starting points, thereby suppressing the instability of control caused by the expansion of the vibration in the non-rotation direction. In this way, by temporarily increasing the flexural angular velocity feedback gain Kgp, when the vibration in the non-rotation direction increases, the flexural angular velocity feedback gain Kgp can be reduced again, and the influence of the destabilizing factor (B) can be reduced or preferably eliminated.

[0068] In the past, the flexure angular velocity feedback gain Kgp could not be increased to the limit value (maximum value) of the flexure angular velocity factor (A) due to the instability factor (B). In contrast, according to the control method of the present embodiment, the influence of the instability factor (B) is reduced as described above, so the flexure angular velocity feedback gain Kgp can be increased to the limit value of the instability factor (A). Therefore, the flexure angular velocity feedback gain Kgp can be set higher than before without causing instability in the control, and the vibration suppression effect of the arm 22 can be improved.

[0069] Figure 6It is a timing diagram showing an example of the process of adjusting the bending angular velocity feedback gain Kgp with the above eight points as the change points of the angular acceleration command Aref, namely, the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e as the starting point. Figure 6 , changes in the angular acceleration command Aref, the velocity command Vref, and the angular velocity feedback gain coefficient Kgpc are shown.

[0070] In the example shown in the figure, starting from all points of the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease starting point N4s, and the angular acceleration decrease end point N4e, the bending angular velocity feedback gain coefficient Kgpc is increased from the reference value 1 to 3 and maintained at 3 for a period of time dt (seconds). Then, after a time dt has passed since the bending angular velocity feedback gain coefficient Kgpc was increased from 1 to 3, the bending angular velocity feedback gain coefficient Kgpc is decreased from 3 to 1, that is, decreased to the reference value. Therefore, the control unit 30 uses the bending angular velocity feedback gain coefficient Kgpc=3 to control the driving of the motor 232 until the bending angular velocity feedback gain coefficient Kgpc is increased from 1 to 3 and then decreased to 1 again, and uses the bending angular velocity feedback gain coefficient Kgpc=1 to control the driving of the motor 232 at other times. In this way, by increasing or decreasing the bending angular velocity feedback gain coefficient Kgpc relative to the reference value 1, the bending angular velocity feedback gain coefficient Kgpc can be easily adjusted.

[0071] It should be noted that, as shown in the above formula (2), the flexural angular velocity feedback gain Kgp is obtained by multiplying the flexural angular velocity feedback base gain Kgpb by the flexural angular velocity feedback gain coefficient Kgpc. Therefore, during the period when the flexural angular velocity feedback gain coefficient Kgpc is increased to 3, the flexural angular velocity feedback gain Kgp is increased to 3 times. By increasing the flexural angular velocity feedback gain Kgp to 3 times, the effect of attenuating the flexural vibration is improved, and the flexural vibration during the action period that increases from each angular acceleration change point in the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s and the angular acceleration increase end point N3e as the starting point can be reduced, and the residual vibration during the stop that increases from each angular acceleration change point in the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e as the starting point can be reduced.

[0072] The adjustment of the flexural angular velocity feedback gain coefficient Kgpc at the angular acceleration increase starting point N1s and the angular acceleration increase end point N1e has the effect of reducing the flexural vibration during the acceleration action of the arm 22. In addition, the adjustment of the flexural angular velocity feedback gain coefficient Kgpc at the angular acceleration decrease starting point N2s and the angular acceleration decrease end point N2e has the effect of reducing the flexural vibration during the constant speed action of the arm 22. In addition, the adjustment of the flexural angular velocity feedback gain coefficient Kgpc at the angular acceleration increase starting point N3s and the angular acceleration increase end point N3e has the effect of reducing the flexural vibration during the deceleration action of the arm 22. In addition, the adjustment of the flexural angular velocity feedback gain coefficient Kgpc at the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e has the effect of reducing the residual vibration of the arm 22.

[0073] It should be noted that in the example shown in the figure, the angular velocity feedback gain coefficient Kgpc is increased from 1 to 3 with all the points in the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e as the starting point, but it is not limited to this, as long as the angular velocity feedback gain coefficient Kgpc is increased from 1 to 3 with at least one of these eight points as the starting point. In this way, at least the vibration that increases with this point as the starting point can be effectively suppressed. In addition, in the example shown in the figure, the angular velocity feedback gain coefficient Kgpc is increased to 3, but the value of the angular velocity feedback gain coefficient Kgpc is not particularly limited.

[0074] It should be noted that if the time dt for increasing the flexural angular velocity feedback gain coefficient Kgpc to 3 is too long, the vibration in the non-rotation direction increases during this period, which may lead to the instability of the flexural angular velocity feedback control. On the other hand, if the time dt is too short, it may not be possible to fully exert the above-mentioned vibration suppression effect. Therefore, it is necessary to set the time dt appropriately. As time dt, there is no special limitation, and it also varies according to the composition of the robot 2 and the action of the arm 22. For example, it is preferably about 0.1 seconds or more and less than 2 seconds, which is equivalent to 0.1 to 2 times the natural vibration period of the flexural vibration. In addition, in the present embodiment, at all points of the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e, the time dt is equal. As a result, the process of adjusting the flexural angular velocity feedback gain coefficient Kgpc becomes simple.

[0075] Figure 72 is a graph showing the residual vibration suppression effect of the arm 22, and compares the residual vibration in the rotation direction generated at the front end of the arm 22 in the case A where the bending angular velocity feedback gain Kgp is kept constant and the case B where the bending angular velocity feedback gain Kgp is changed synchronously with the angular acceleration change as in the present embodiment. When the bending angular velocity feedback gain Kgp is kept constant, an overshoot is generated that exceeds the target position, and then the residual vibration is attenuated and stops at the target position. In contrast, when the bending angular velocity feedback gain Kgp is changed synchronously with the angular acceleration change as in the present embodiment, the arm 22 stops quickly at the target position with almost no overshoot or residual vibration. Therefore, it can be seen that an excellent vibration suppression effect is exerted.

[0076] For example, when the robot 2 is used to perform a component assembly operation, an excessive force is applied to the workpiece due to overshoot, causing damage to the workpiece or deviation in the insertion position of the workpiece, which causes a decrease in product quality. In addition, the tact time of the assembly operation is prolonged due to residual vibration, which causes a decrease in productivity. Therefore, according to the robot system 1 that does not cause overshoot, high-quality products can be produced with high productivity.

[0077] It should be noted that in the present embodiment, the angular acceleration increase start point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease start point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase start point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease start point N4s, and the angular acceleration decrease end point N4e are detected based on the angular acceleration command Aref as the position command of the arm 22. According to such a method, each point N1s, N1e, N2s, N2e, N3s, N3e, N4s, and N4e can be detected more accurately. Therefore, a higher vibration suppression effect can be exerted with excellent reproducibility.

[0078] However, the method for detecting each point N1s, N1e, N2s, N2e, N3s, N3e, N4s, and N4e is not particularly limited. For example, each point N1s, N1e, N2s, N2e, N3s, N3e, N4s, and N4e may be detected using the acceleration obtained by performing a second-order differential on the motor shaft position 902 detected by the position detector 233. However, the fluctuation (pulsating AC component) of the acceleration obtained by performing a second-order differential on the motor shaft position 902 is large, and the detection accuracy of each point N1s, N1e, N2s, N2e, N3s, N3e, N4s, and N4e is sometimes poorer than the case of detection based on the angular acceleration command Aref. Therefore, it is more preferable to detect each point N1s, N1e, N2s, N2e, N3s, N3e, N4s, and N4e based on the angular acceleration command Aref.

[0079] According to the above description, if Figure 8 As shown, it can be said that the control method of the robot 2 as described above includes: an inertial information receiving step S1, receiving the angular velocity 911 as an output signal from the inertial sensor 24, the inertial sensor 24 measuring the movement of the arm 22; a first feedback gain adjustment step S2, adjusting the bending angular velocity feedback gain Kgp multiplied by the angular velocity 911 or the signal generated from the angular velocity 911, in this embodiment, the bending angular velocity 914 generated from the angular velocity 911, according to the change of the angular velocity of the arm 22; a drive control step S3, using the bending angular velocity feedback gain Kgp increased in the first feedback gain adjustment step S2 to control the drive of the arm 22; and a second feedback gain adjustment step S4, adjusting the bending angular velocity feedback gain Kgp to decrease after a time dt has passed since the first feedback gain adjustment step S2. According to such a control method, the bending angular velocity feedback gain Kgp can be increased to the limit value of the instability factor (A) without causing instability of the control. Therefore, the bending angular velocity feedback gain Kgp can be set higher than before, and the vibration of the arm 22 can be suppressed more effectively.

[0080] The robot system 1 has been described above. As described above, the control method of the robot 2 used in such a robot system 1 includes: an inertial information receiving step S1, receiving the angular velocity 911 included in the output signal from the inertial sensor 24, the inertial sensor 24 measuring the movement of the arm 22; a first feedback gain adjustment step S2, adjusting the bending angular velocity feedback gain Kgp as a feedback gain multiplied by the angular velocity 911 or the signal generated from the angular velocity 911, in this embodiment, the bending angular velocity 914 generated from the angular velocity 911, according to the change in the movement of the arm 22; a drive control step S3, using the bending angular velocity feedback gain Kgp increased in the first feedback gain adjustment step S2 to control the drive of the arm 22; and a second feedback gain adjustment step S4, adjusting the bending angular velocity feedback gain Kgp to decrease after the time dt as a predetermined time has passed since the first feedback gain adjustment step S2. According to such a control method, the bending angular velocity feedback gain Kgp can be increased to the limit value of the instability factor (A) without causing instability of control. Therefore, the bending angular velocity feedback gain Kgp can be set higher than before, and the vibration of the arm 22 can be suppressed more effectively.

[0081] In addition, as described above, in the control method of the robot 2, in the first feedback gain adjustment step S2, the bending angular velocity feedback gain coefficient Kgpc is changed from the reference value 1 to a value higher than the reference value, and in the second feedback gain adjustment step S4, the bending angular velocity feedback gain coefficient Kgpc is restored to the reference value 1. Thus, the adjustment of the bending angular velocity feedback gain Kgp becomes easy.

[0082] In addition, as described above, the output signal from the inertial sensor 24 includes inertial information, that is, angular velocity, which is information related to the inertia generated in the arm 22 by the movement of the arm 22. In addition, in the control method of the robot 2, the first feedback gain adjustment step S2 is performed at least one of the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease starting point N4s, and the angular acceleration decrease end point N4e, wherein the angular acceleration increase starting point N1s is the first timing T1 when the angular velocity starts to increase when the acceleration of the arm 22 starts, the angular acceleration increase end point N1e is the second timing T2 when the angular velocity increase ends when the acceleration of the arm 22 starts, and the angular acceleration decrease starting point N3s is the second timing T2 when the angular velocity increase ends when the acceleration of the arm 22 starts. The small starting point N2s is the third timing T3 when the angular velocity starts to decrease when the acceleration of the arm 22 ends, the angular acceleration decrease end point N2e is the fourth timing T4 when the angular velocity decrease ends when the acceleration of the arm 22 ends, the angular acceleration increase starting point N3s is the fifth timing T5 when the angular velocity starts to increase when the deceleration of the arm 22 begins, the angular acceleration increase end point N3e is the sixth timing T6 when the angular velocity increase ends when the deceleration of the arm 22 begins, the angular acceleration decrease starting point N4s is the seventh timing T7 when the angular velocity starts to decrease when the deceleration of the arm 22 ends, and the angular acceleration decrease end point N4e is the eighth timing T8 when the angular velocity decrease ends when the deceleration of the arm 22 ends. Thus, the vibration that increases starting from each of these points can be effectively reduced.

[0083] In addition, as described above, in the control method of the robot 2, the flexural angular velocity feedback gain Kgp is obtained by multiplying the flexural angular velocity feedback base gain Kgpb by the flexural angular velocity feedback gain coefficient Kgpc as the feedback gain coefficient, wherein the flexural angular velocity feedback base gain Kgpb is a feedback base gain that serves as a reference for the flexural angular velocity feedback gain Kgp. In addition, in the first feedback gain adjustment step S2 and the second feedback gain adjustment step S4, the flexural angular velocity feedback gain Kgp is adjusted by changing the flexural angular velocity feedback gain coefficient Kgpc, respectively. Thus, the adjustment of the flexural angular velocity feedback gain Kgp becomes easy.

[0084] In addition, as described above, in the control method of the robot 2, the change in the angular velocity of the arm 22 is detected based on the angular acceleration command Aref, wherein the angular acceleration command Aref is a position command for the arm 22. According to such a method, the angular acceleration increase start point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease start point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase start point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease start point N4s, and the angular acceleration decrease end point N4e can be detected more accurately. Therefore, a higher vibration suppression effect can be exerted with excellent reproducibility.

[0085] In addition, as described above, the robot system 1 includes the base 21, the arm 22 driven relative to the base 21, the inertial sensor 24 detecting the angular velocity as the movement of the arm 22, and the control unit 30 controlling the driving of the arm 22. In addition, the control unit 30 receives the angular velocity 911 as the output signal from the inertial sensor 24, adjusts the bending angular velocity feedback gain Kgp as the feedback gain multiplied by the angular velocity 911 or the signal generated from the angular velocity 911, in this embodiment, the bending angular velocity 914 generated from the angular velocity 911, according to the change in the angular velocity of the arm 22, controls the driving of the arm 22 using the adjusted bending angular velocity feedback gain Kgp, and adjusts the bending angular velocity feedback gain Kgp to decrease after the time dt as the predetermined time has passed since the bending angular velocity feedback gain Kgp was increased. According to such a configuration, the bending angular velocity feedback gain Kgp can be increased to the limit value of the instability factor (A) without causing instability of the control. Therefore, the bending angular velocity feedback gain Kgp can be set higher than before, and the vibration of the arm 22 can be suppressed more effectively.

[0086] In addition, as described above, the robot system 1 includes the motor 232 that rotates the arm 22 relative to the base 21 around the rotation axis J, and the position detector 233 that detects the rotation angle of the motor 232. In addition, the inertial sensor 24 detects the angular velocity of the arm 22 around the rotation axis J. In addition, the control unit 30 obtains the bending angular velocity 914 based on the motor shaft converted arm angular velocity 912 and the motor shaft angular velocity 913, which are the angular velocity of the arm 22 detected by the inertial sensor 24, and multiplies the bending angular velocity 914 by the bending angular velocity feedback gain Kgp. By using the bending angular velocity feedback 915 obtained in this way, the vibration suppression effect of the arm 22 can be improved.

[0087] Second embodiment

[0088] Fig. 9This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp executed in the robot system according to the second embodiment.

[0089] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0090] In the first feedback gain adjustment step S2 of the present embodiment, any two points selected from the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e are adjusted to different flexural angular velocity feedback gains Kgp.

[0091] exist Fig. 9 In the example shown, the flexure angular velocity feedback gain coefficient Kgpc is adjusted to 3 at the angular acceleration increase start point N1s, adjusted to 2 at the angular acceleration increase end point N1e, adjusted to 1 at the angular acceleration decrease start point N2s, adjusted to 3 at the angular acceleration decrease end point N2e, adjusted to 2 at the angular acceleration increase start point N3s, adjusted to 3 at the angular acceleration increase end point N3e, adjusted to 3 at the angular acceleration decrease start point N4s, adjusted to 3 at the angular acceleration decrease end point N4e. In this way, by adjusting the flexure angular velocity feedback gain coefficient Kgpc for each angular acceleration change point, the vibration of the arm 22 during acceleration action, the vibration during deceleration action, and the residual vibration after stopping can be effectively suppressed.

[0092] As described above, in the control method of the robot 2 of the present embodiment, in the first feedback gain adjustment step S2, at any two timings selected from the angular acceleration increase starting point N1s as the first timing T1, the angular acceleration increase end point N1e as the second timing T2, the angular acceleration decrease starting point N2s as the third timing T3, the angular acceleration decrease end point N2e as the fourth timing T4, the angular acceleration increase starting point N3s as the fifth timing T5, the angular acceleration increase end point N3e as the sixth timing T6, the angular acceleration decrease starting point N4s as the seventh timing T7, and the angular acceleration decrease end point N4e as the eighth timing T8, the flexural angular velocity feedback gain Kgp is adjusted to be different from each other. In this way, by adjusting the flexural angular velocity feedback gain Kgp for each angular acceleration change point, the vibration of the arm 22 during acceleration action, the vibration during deceleration action, and the residual vibration after stopping can be effectively suppressed.

[0093] According to the second embodiment as described above, it is also possible to achieve the same effects as those of the first embodiment.

[0094] Third embodiment

[0095] Fig.10 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp executed in the robot system according to the third embodiment.

[0096] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0097] In the first feedback gain adjustment step S2 of the present embodiment, for at least one of the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e, the rising edge and the falling edge of the flexural angular velocity feedback gain coefficient Kgpc are changed in stages or continuously.

[0098] exist Fig.10In the example shown, at the angular acceleration increase starting point N1s and the angular acceleration increase end point N1e, the rising edge of the flexural angular velocity feedback gain coefficient Kgpc is continuously increased. In addition, at the angular acceleration decrease starting point N2s and the angular acceleration decrease end point N2e, the falling edge of the flexural angular velocity feedback gain coefficient Kgpc is continuously reduced. In addition, at the angular acceleration increase starting point N3s and the angular acceleration increase end point N3e, the rising edge of the flexural angular velocity feedback gain coefficient Kgpc is continuously increased and the falling edge is continuously reduced. In addition, at the angular acceleration decrease starting point N4s, the rising edge of the flexural angular velocity feedback gain coefficient Kgpc is continuously increased at a rate of change less than the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration increase starting point N3s, and the angular acceleration increase end point N3e. In addition, at the angular acceleration decrease end point N4e, the falling edge of the flexural angular velocity feedback gain coefficient Kgpc is continuously reduced at a rate of change less than the angular acceleration decrease start point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase start point N3s and the angular acceleration increase end point N3e.

[0099] In this way, by continuously increasing the rising edge of the bending angular velocity feedback gain coefficient Kgpc, the process of increasing the bending angular velocity feedback gain Kgp can be delayed relative to the angular acceleration change point. Therefore, the influence of the torsion of the spring element 603 caused by the change in angular acceleration can be suppressed, and the instability of the control can be effectively suppressed. On the other hand, by continuously reducing the falling edge of the bending angular velocity feedback gain coefficient Kgpc, the process of reducing the bending angular velocity feedback gain Kgp can be delayed, and accordingly, the vibration suppression effect can be sustained for a longer period of time.

[0100] According to the third embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0101] Fourth embodiment

[0102] Fig.11 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp executed in the robot system according to the fourth embodiment.

[0103] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0104] In the third embodiment, the rising and falling edges of the bending angular velocity feedback gain coefficient Kgpc change linearly. In other words, the rate of change is constant. In contrast, in the present embodiment, Fig.11 As shown, the rising and falling edges of the bending angular velocity feedback gain coefficient Kgpc change in a quadratic curve shape.

[0105] By increasing the rising edge of the bending angular velocity feedback gain coefficient Kgpc in a quadratic curve shape, the bending angular velocity feedback gain Kgp can be increased in a short time to improve the vibration suppression effect. In addition, the change rate of the bending angular velocity feedback gain Kgp decreases over time, thereby suppressing the instability of the control. On the other hand, by decreasing the falling edge of the bending angular velocity feedback gain coefficient Kgpc in a quadratic curve shape, the process of decreasing the bending angular velocity feedback gain Kgp can be delayed to make the vibration suppression effect last longer.

[0106] According to the fourth embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0107] Fifth embodiment

[0108] Fig.12 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp performed in the robot system according to the fifth embodiment.

[0109] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0110] In this embodiment, if Fig.12 As shown, an upper limit Lim is set for the bending angular velocity feedback gain Kgp, and the bending angular velocity feedback gain Kgp is adjusted in a manner not exceeding the upper limit Lim. There is no particular limitation on the adjustment method, and for example, it may be a method of adjusting the bending angular velocity feedback gain coefficient Kgpc in a manner not exceeding the upper limit Lim. In addition, it may be the following method: that is, the bending angular velocity feedback gain coefficient Kgpc is adjusted regardless of the upper limit Lim, and when the adjusted bending angular velocity feedback gain Kgp exceeds the upper limit Lim, the bending angular velocity feedback gain Kgp is set to the upper limit Lim. In this way, by setting the upper limit Lim for the bending angular velocity feedback gain Kgp, the instability of the control caused by the excessively high bending angular velocity feedback gain Kgp can be effectively suppressed.

[0111] According to the fifth embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0112] Sixth Embodiment

[0113] Fig.13 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp performed in the robot system according to the sixth embodiment.

[0114] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0115] In the first feedback gain adjustment step S2 of the present embodiment, at any two points selected from the angular acceleration increase starting point N1s, the angular acceleration increase end point N1e, the angular acceleration decrease starting point N2s, the angular acceleration decrease end point N2e, the angular acceleration increase starting point N3s, the angular acceleration increase end point N3e, the angular acceleration decrease starting point N4s and the angular acceleration decrease end point N4e, the time dt is different from each other.

[0116] exist Fig.13 In the example shown, the time dt at the angular acceleration increase start point N1s, the angular acceleration decrease start point N2s, the angular acceleration increase end point N3e, and the angular acceleration decrease end point N4e is longer than the time dt at the angular acceleration increase start point N1e and the angular acceleration decrease end point N2e. On the contrary, the time dt at the angular acceleration increase start point N3s and the angular acceleration decrease start point N4s is shorter. If the time dt is extended, the state in which the bending angular velocity feedback gain Kgp is high is maintained for a longer period of time, thereby improving the vibration suppression effect. On the other hand, if the time dt is shortened, the wandering of the vibration in the non-rotation direction as described above can be suppressed, and the instability of the control can be effectively suppressed. Therefore, by setting the time dt for each angular acceleration change point, a balance between the vibration suppression effect and the instability of the control can be achieved at each angular acceleration change point.

[0117] As described above, in the control method of the robot 2 of the present embodiment, in the first feedback gain adjustment step S2, the time dt as the predetermined time is different from each other at any two timings selected from the angular acceleration increase start point N1s as the first timing T1, the angular acceleration increase end point N1e as the second timing T2, the angular acceleration decrease start point N2s as the third timing T3, the angular acceleration decrease end point N2e as the fourth timing T4, the angular acceleration increase start point N3s as the fifth timing T5, the angular acceleration increase end point N3e as the sixth timing T6, the angular acceleration decrease start point N4s as the seventh timing T7, and the angular acceleration decrease end point N4e as the eighth timing T8. According to such a method, it is possible to achieve a balance between the vibration suppression effect and the destabilization of the control at each timing.

[0118] According to the sixth embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0119] Seventh embodiment

[0120] Fig.14 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp implemented in the robot system according to the seventh embodiment.

[0121] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0122] In this embodiment, if Fig.14 As shown, when the adjustment of the flexural angular velocity feedback gain coefficient Kgpc starting from the angular acceleration increase starting point N1s continues to the angular acceleration increase end point N1e, the adjustment of the flexural angular velocity feedback gain coefficient Kgpc starting from the angular acceleration increase end point N1e is canceled. That is to say, when the adjustment of the flexural angular velocity feedback gain coefficient Kgpc starting from a certain angular acceleration change point continues to the next angular acceleration change point, the adjustment of the flexural angular velocity feedback gain coefficient Kgpc starting from the angular acceleration change point is canceled. According to such processing, the processing of adjusting the flexural angular velocity feedback gain coefficient Kgpc is continuous, which can suppress the extension of the time of increasing the flexural angular velocity feedback gain Kgp. Therefore, the instability of control can be effectively suppressed.

[0123] According to the seventh embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0124] Eighth Embodiment

[0125] Fig.15 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp implemented in the robot system according to the eighth embodiment.

[0126] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0127] exist Fig.15 In the interval in which the arm 22 performs constant speed operation, there is no interval in which the arm 22 performs constant speed operation. In this case, the point where the speed command Vref changes from increasing to decreasing corresponds to the end point N2e of the angular acceleration decrease and the start point N3s of the angular acceleration increase. Therefore, in the present embodiment, the flexural angular velocity feedback gain coefficient Kgpc is not adjusted starting from these two points N2e and N3s. This is because, since the angular acceleration does not change at points N2e and N3s, the flexural vibration does not increase, and the vibration suppression effect obtained by adjusting the flexural angular velocity feedback gain Kgp is low. In this way, by not adjusting the flexural angular velocity feedback gain coefficient Kgpc at a point where the vibration suppression effect is low, the instability of the control can be suppressed.

[0128] According to the eighth embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0129] Ninth embodiment

[0130] Fig.16 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp implemented in the robot system according to the ninth embodiment.

[0131] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0132] In this embodiment, the bending angular velocity feedback gain coefficient Kgpc is adjusted with the point where the angular acceleration of the arm 22 exceeds a predetermined threshold value, for example, ±Ahys, as a starting point. Fig.16In the example shown, the adjustment to increase the bending angular velocity feedback gain coefficient Kgpc is performed starting from the point where the angular acceleration starts to increase from a certain state and exceeds the threshold, that is, the moment slightly delayed from the angular acceleration increase starting point N1s, the angular acceleration decrease starting point N2s, the angular acceleration increase starting point N3s, and the angular acceleration decrease starting point N4s (first timing T1, third timing T3, fifth timing T5, and seventh timing T7). As a result, the vibration of the arm 22 can be more effectively suppressed.

[0133] It should be noted that in such processing, since the angular velocity change point is detected, there is a risk of misdetecting the angular acceleration change point due to noise contained in the angular acceleration. Therefore, by setting a hysteresis characteristic of ±Ahys for the determination of the angular acceleration change point, it is possible to suppress misdetection of the angular acceleration change point.

[0134] In addition, in the present embodiment, the bending angular velocity feedback gain coefficient Kgpc is adjusted with the point where the angular acceleration of the arm 22 changes from a changing state to a constant state as a starting point. Fig.16 In the example shown, adjustment of increasing the flexural angular velocity feedback gain coefficient Kgpc is performed starting from the point where the angular acceleration changes from a changing state to a certain state, that is, the moment slightly delayed from the angular acceleration increase end point N1e, the angular acceleration decrease end point N2e, the angular acceleration increase end point N3e, and the angular acceleration decrease end point N4e (the second timing T2, the fourth timing T4, the sixth timing T6, and the eighth timing T8).

[0135] As described above, in the control method of the robot 2 of the present embodiment, the first timing T1, the third timing T3, the fifth timing T5, and the seventh timing T7 are timings when the angular acceleration as inertial information exceeds the threshold value. This can more effectively suppress the vibration of the arm 22.

[0136] According to the ninth embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0137] Tenth embodiment

[0138] Fig.17 This is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp performed in the robot system according to the tenth embodiment.

[0139] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0140] In this embodiment, when the adjustment to increase the bending angular velocity feedback gain Kgp is not performed, the bending angular velocity feedback gain coefficient Kgpc is set to zero. In other words, the reference value of the bending angular velocity feedback gain coefficient Kgpc is set to zero. Fig.17 In the example shown, the angular velocity detection range of the inertial sensor 24 is limited to below Vmax. Therefore, for the angular acceleration increase start point N1s, the angular acceleration decrease end point N2e, the angular acceleration increase start point N3s, and the angular acceleration decrease end point N4e, where the angular velocity is below Vmax, an adjustment is made to increase the bending angular velocity feedback gain coefficient Kgpc from each of these points as a starting point. On the other hand, for the angular acceleration increase end point N1e, the angular acceleration decrease start point N2s, the angular acceleration increase end point N3e, and the angular acceleration decrease start point N4s, where the angular velocity exceeds Vmax, an adjustment is not made to increase the bending angular velocity feedback gain coefficient Kgpc from each point as a starting point. According to such processing, even if the inertial sensor 24 with an insufficient angular velocity detection range is used, a sufficient vibration suppression effect can be exerted.

[0141] According to the tenth embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0142] Eleventh Embodiment

[0143] Fig.18 1 is a timing chart showing an example of a process of adjusting the bending angular velocity feedback gain Kgp performed in the robot system according to the eleventh embodiment.

[0144] This embodiment is the same as the first embodiment except that the process of adjusting the bending angular velocity feedback gain Kgp is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0145] In this embodiment, the condition for adjusting the bending angular velocity feedback gain Kgp is switched between the case where the arm 22 performs a PTP (point-to-point) motion and the case where the arm 22 performs a CP (continuous path) motion. All the above embodiments show the case where the arm 22 performs a PTP motion. In contrast, in Fig.18, the change of angular acceleration when the arm 22 performs CP action is shown. According to the figure, when the arm 22 performs CP action, the angular acceleration changes continuously. That is to say, there are countless angular acceleration change points continuously. In such a case, if the adjustment of the flexural angular velocity feedback gain coefficient Kgpc is increased in the same way as when the arm 22 performs PTP action, the high state of the flexural angular velocity feedback gain Kgp is continuously maintained, which may lead to instability of control. Therefore, by switching the conditions for adjusting the flexural angular velocity feedback gain Kgp between CP action and PTP action, the instability of control during CP action can be suppressed, and a vibration suppression effect can be obtained.

[0146] As described above, in the control method of the robot 2 of the present embodiment, in the first feedback gain adjustment step S2, the conditions for adjusting the bending angular velocity feedback gain Kgp are different when the arm 22 performs CP action and when performing PTP action. As a result, the instability of control during CP action can be suppressed, and a vibration suppression effect can be obtained.

[0147] According to the eleventh embodiment as described above, it is possible to achieve the same effects as those of the first embodiment.

[0148] Twelfth Embodiment

[0149] Fig.19 It is a diagram showing a robot included in the robot system according to the twelfth embodiment. Fig. 20 Yes means Fig.19 A block diagram of a control unit included in a robot system. Fig.21 This is a diagram showing a dual inertial system model of the direct motion part of the robot. Fig. 22 It is a graph showing changes in the acceleration command Aref', the speed V1, and the speed V2 when the spline shaft is in motion. Fig.23 This is a timing chart showing an example of the process of adjusting the bending angular velocity feedback gain Kgp. Fig.24 This is a graph showing the residual vibration suppression effect of the spline shaft.

[0150] This embodiment is the same as the first embodiment except that the structure of the robot 2 is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in each figure of this embodiment, the same figure mark is marked for the same structure as the above embodiment.

[0151] Robot 2

[0152] like Fig.19As shown, the robot 2 also has a spline shaft 253 and a ball screw nut 252 as a moving part, and the spline shaft 253 is arranged at the front end of the arm 22. The spline shaft 253 is raised and lowered along its central axis Jg by the rotation of the ball screw nut 252. An end effector suitable for the target operation is installed at the front end (lower end) of the spline shaft 253.

[0153] In addition, the robot 2 also has a drive mechanism 27 that rotates the ball screw nut 252 to raise and lower the spline shaft 253. The drive mechanism 27 has a motor 271, a position detector 272 that detects the rotation angle of the rotating shaft of the motor 271, and a power transmission mechanism 273 that transmits the power of the motor 271 to the ball screw nut 252. The power transmission mechanism 273 has a pulley 273a installed on the rotating shaft of the motor 271 and a timing belt 273b wound around the pulley 273a and the ball screw nut 252. It should be noted that in fact, there is also a spline nut and a drive mechanism that rotates the spline nut to rotate the spline shaft 253 around the central axis Jg, but since it is not highly relevant to the present embodiment, its description and illustration are omitted.

[0154] The inertial sensor 24 attached to the arm 22 is an angular velocity sensor that detects an angular velocity about a detection axis Js that is orthogonal to the extending direction of the arm 22 and the central axis Jg.

[0155] Control device 3

[0156] exist Fig. 20 In the control unit 30 shown in the figure, the bending angular velocity feedback generating unit 35 first multiplies the angular velocity 931 of the arm 22 detected by the inertial sensor 24 by the arm angular velocity scaling coefficient Kgs to obtain the bending angular velocity 932. Next, the bending angular velocity feedback generating unit 35 multiplies the bending angular velocity 932 by the bending angular velocity feedback gain Kgp (the bending angular velocity feedback base gain Kgpb and the bending angular velocity feedback gain coefficient Kgpc) to obtain the bending angular velocity feedback 933.

[0157] The position command generation unit 31 generates a position command 921 for the motor 271 based on a program created by the host computer 4 .

[0158] The position control unit 32 first obtains a position deviation 923 obtained by subtracting a motor shaft position 922, which is the rotation angle of the motor 271 detected by the position detector 272, from the position command 921. Next, the position control unit 32 obtains a speed command 924 by multiplying the position deviation 923 by a position loop proportional gain Kpp.

[0159] The speed control unit 33 is composed of proportional / integral control. The speed control unit 33 first performs time differentiation on the motor shaft position 922 detected by the position detector 272 to obtain the angular velocity of the motor shaft, that is, the motor shaft angular velocity 925. Next, the speed control unit 33 obtains the speed deviation 926 after subtracting the motor shaft angular velocity 925 from the speed command 924. Next, the speed control unit 33 adds the proportional term obtained by multiplying the speed deviation 926 by the speed loop proportional gain Kvp and the integral term obtained by multiplying the integral value of the speed deviation 926 by the speed loop integral gain Kvi, and then subtracts the bending angular velocity feedback 933, thereby obtaining the current command 927.

[0160] The current control unit 34 controls so that the current 928 driving the motor 271 is consistent with the current command 927, that is, the current 928 follows the current command 927. Then, the motor 271 is driven by the current 928 controlled by the current control unit 34, so that the load 28 connected to the motor 271 performs linear motion. Here, the load 28 is mainly the sum of the inertial mass of the motor shaft, the drive mechanism 27, the ball screw nut 252, and the spline shaft 253.

[0161] The circuit configuration of the control unit 30 has been briefly described above. Fig.21 The dual inertial system model 700 of the direct motion part of the robot 2 is shown. In such a dual inertial system model 700, a driving element 702 having an inertial mass m2 is arranged on a base element 701 having an inertial mass m1, and the base element 701 is connected to the installation surface via a spring element 703 having a spring constant Ks. The inertial sensor 24 is arranged on the base element 701 to detect the velocity V1 of the base element 701 in the x1 direction.

[0162] In the robot 2, the spring element 703 is mainly equivalent to the rigidity of the vertical displacement (displacement in the direction of the rotation axis J) of the base 21 and the arm 22. In addition, in the robot 2, the base element 701 is mainly composed of the base 21 and the arm 22. In addition, in the robot 2, the driving element 702 is mainly composed of the spline shaft 253. When the driving element 702 moves, the reaction force acts on the base element 701 supporting the driving element 702, causing the base element 701 to displace. The base element 701 acts on the thrust Fs proportional to the displacement of the spring element 703.

[0163] The main reason why the front end of the spline shaft 253 vibrates in the direction along the central axis Jg is the vibration of the front end of the arm 22. Therefore, by using the flexural angular velocity feedback 933 obtained by multiplying the flexural angular velocity 932 detected by the inertial sensor 24 by the flexural angular velocity feedback gain Kgp to control the motor 271, the vibration of the arm 22 can be attenuated by the reaction force of the driving spline shaft 253.

[0164] Fig. 22 The figure shows the changes of the acceleration command Aref', the speed V2 of the driving element 702, and the speed V1 of the base element 701 during the PTP (point-to-point) action of the arm 22. As shown in the figure, the acceleration command Aref' changes at the acceleration increase starting point N1s' and the acceleration increase end point N1e' at the beginning of acceleration, the acceleration decrease starting point N2s' and the acceleration decrease end point N2e' at the end of acceleration, the acceleration increase starting point N3s' and the acceleration increase end point N3e' at the beginning of deceleration, and the acceleration decrease starting point N4s' and the acceleration decrease end point N4e' at the end of deceleration. In addition, there is a certain speed interval between the acceleration decrease end point N2e' and the acceleration increase starting point N3s'.

[0165] In addition, the vibration of the velocity V1 (hereinafter also referred to as "flexural vibration") increases starting from the acceleration change point where the acceleration command Aref' changes, that is, the acceleration increase start point N1s', the acceleration increase end point N1e', the acceleration decrease start point N2s', the acceleration decrease end point N2e', the acceleration increase start point N3s', the acceleration increase end point N3e', the acceleration decrease start point N4s', and the acceleration decrease end point N4e'. This is a phenomenon caused by the reaction force generated by the acceleration and deceleration of the driving element 702 acting on the base element 701.

[0166] Therefore, in the robot system 1, the flexural angular velocity feedback gain Kgp is increased at the timing determined by the above eight points N1s', N1e', N2s', N2e', N3s', N3e', N4s', and N4e' where the flexural vibration increases based on the velocity V1, thereby reducing the vibration of the base element 701, that is, the arm 22.

[0167] Specifically, taking the first timing T1' determined based on the acceleration increase starting point N1s', the second timing T2' determined based on the acceleration increase end point N1e', the third timing T3' determined based on the acceleration decrease starting point N2s', the fourth timing T4' determined based on the acceleration decrease end point N2e', the fifth timing T5' determined based on the acceleration increase starting point N3s', the sixth timing T6' determined based on the acceleration increase end point N3e', the seventh timing T7' determined based on the acceleration decrease starting point N4s', and the eighth timing T8' determined based on the acceleration decrease end point N4e' as starting points, the flexural angular velocity feedback gain Kgp is increased to reduce the vibration of the arm 22.

[0168] It should be noted that in this embodiment, the first timing T1' is set to the same moment as the acceleration increase starting point N1s', the second timing T2' is set to the same moment as the acceleration increase end point N1e', the third timing T3' is set to the same moment as the acceleration decrease starting point N2s', the fourth timing T4' is set to the same moment as the acceleration decrease end point N2e', the fifth timing T5' is set to the same moment as the acceleration increase starting point N3s', the sixth timing T6' is set to the same moment as the acceleration increase end point N3e', the seventh timing T7' is set to the same moment as the acceleration decrease starting point N4s', and the eighth timing T8' is set to the same moment as the acceleration decrease end point N4e'. Thus, the bending angular velocity feedback gain Kgp can be increased without delay relative to each acceleration change point among the acceleration increase starting point N1s', the acceleration increase end point N1e', the acceleration decrease starting point N2s', the acceleration decrease end point N2e', the acceleration increase starting point N3s', the acceleration increase end point N3e', the acceleration decrease starting point N4s' and the acceleration decrease end point N4e', thereby obtaining a higher vibration suppression effect.

[0169] However, it is not limited to this. For example, the first timing T1' may be a moment delayed by a predetermined time Δt from the acceleration increase starting point N1s', or may be a moment advanced by a predetermined time Δt from the acceleration increase starting point N1s'. This is also the same for the second, third, fourth, fifth, sixth, seventh, and eighth timings T2', T3', T4', T5', T6', T7', and T8' other than the first timing T1'. In addition, at two or more timings arbitrarily selected from the first, second, third, fourth, fifth, sixth, seventh, and eighth timings T1', T2', T3', T4', T5', T6', T7', and T8', the predetermined time Δt may be different from each other.

[0170] It should be noted that, below, for the sake of convenience of explanation, the first timing T1' is set as the starting point N1s' of acceleration increase, the second timing T2' is set as the end point N1e' of acceleration increase, the third timing T3' is set as the starting point N2s' of acceleration decrease, the fourth timing T4' is set as the end point N2e' of acceleration decrease, the fifth timing T5' is set as the starting point N3s' of acceleration increase, the sixth timing T6' is set as the end point N3e' of acceleration increase, the seventh timing T7' is set as the starting point N4s' of acceleration decrease, and the eighth timing T8' is set as the end point N4e' of acceleration decrease for explanation.

[0171] Here, as control instability factors that may be generated by increasing the flexural angular velocity feedback gain Kgp, for example, (A) physical control instability caused by the elements constituting the drive system, and (B) reduction in control stability caused by the wandering of vibration in a direction different from the linear motion direction can be considered. The instability factor (A) refers to the instability of the flexural angular velocity feedback control specified by the inertial mass m2 of the drive element 702, the inertial mass m1 of the base element 701, and the spring constant Ks in the dual inertial system model 700. On the other hand, the instability factor (B) refers to the instability of the flexural angular velocity feedback control caused by the elastic deformation of each element constituting the robot 2 causing the arm 22 to vibrate in a direction different from the linear motion direction of the spline shaft 253, the inertial sensor 24 detecting the vibration (hereinafter also referred to as "non-linear motion direction vibration") as noise, and the control unit 30 using the noise for control. It should be noted that the vibration in the non-linear motion direction is caused by the wandering of the flexural vibration in the linear motion direction. Therefore, the increase in vibration in the non-linear motion direction is delayed relative to the increase in flexural vibration in the linear motion direction.

[0172] Therefore, in the robot system 1, the characteristic that the vibration in the non-linear motion direction increases with a delay relative to the flexural vibration in the linear motion direction is cleverly utilized, and the flexural angular velocity feedback gain Kgp is temporarily increased to attenuate the flexural vibration in the linear motion direction, with the above-mentioned eight acceleration change points where the flexural vibration in the linear motion direction increases, that is, the acceleration increase starting point N1s', the acceleration increase end point N1e', the acceleration decrease starting point N2s', the acceleration decrease end point N2e', the acceleration increase starting point N3s', the acceleration increase end point N3e', the acceleration decrease starting point N4s' and the acceleration decrease end point N4e' as starting points, so as to suppress the instability of the control caused by the expansion of the vibration in the non-linear motion direction. In this way, by temporarily increasing the flexural angular velocity feedback gain Kgp, when the vibration in the non-linear motion direction increases, the flexural angular velocity feedback gain Kgp can be reduced again, and the influence of the destabilizing factor (B) can be reduced or preferably eliminated.

[0173] In the past, the flexure angular velocity feedback gain Kgp could not be increased to the limit value (maximum value) of the flexure angular velocity factor (A) due to the instability factor (B). In contrast, according to the control method of the present embodiment, the influence of the instability factor (B) is reduced as described above, so the flexure angular velocity feedback gain Kgp can be increased to the limit value of the instability factor (A). Therefore, the flexure angular velocity feedback gain Kgp can be set higher than before without causing instability in the control, and the vibration suppression effect of the arm 22 can be improved.

[0174] Fig.23It is a timing diagram showing an example of processing for adjusting the bending angular velocity feedback gain Kgp with the above eight points as the change points of the acceleration command Aref', namely, the acceleration increase starting point N1s', the acceleration increase end point N1e', the acceleration decrease starting point N2s', the acceleration decrease end point N2e', the acceleration increase starting point N3s', the acceleration increase end point N3e', the acceleration decrease starting point N4s' and the acceleration decrease end point N4e' as the starting points. Fig.23 , changes in the acceleration command Aref', the velocity command Vref' and the angular velocity feedback gain coefficient Kgpc are shown.

[0175] In the example shown in the figure, the bending angular velocity feedback gain coefficient Kgpc is increased from the reference value 1 to 3 and maintained at 3 for dt seconds, starting from all points of the acceleration increase start point N1s', the acceleration increase end point N1e', the acceleration decrease start point N2s', the acceleration decrease end point N2e', the acceleration increase start point N3s', the acceleration increase end point N3e', the acceleration decrease start point N4s', and the acceleration decrease end point N4e'. Then, after dt seconds have passed since the bending angular velocity feedback gain coefficient Kgpc was increased from 1 to 3, the bending angular velocity feedback gain coefficient Kgpc is decreased from 3 to 1, that is, decreased to the reference value. Therefore, the control unit 30 controls the driving of the motor 271 using the bending angular velocity feedback gain coefficient Kgpc=3 until the bending angular velocity feedback gain coefficient Kgpc is increased from 1 to 3 and then decreased to 1 again, and controls the driving of the motor 271 using the bending angular velocity feedback gain coefficient Kgpc=1 at other times.

[0176] It should be noted that, as shown in the above formula (2), the flexural angular velocity feedback gain Kgp is obtained by multiplying the flexural angular velocity feedback base gain Kgpb by the flexural angular velocity feedback gain coefficient Kgpc. Therefore, during the period when the flexural angular velocity feedback gain coefficient Kgpc is increased to 3, the flexural angular velocity feedback gain Kgp is increased to 3 times. By increasing the flexural angular velocity feedback gain Kgp to 3 times, the effect of attenuating the flexural vibration is improved, and the flexural vibration during the action period that increases from each acceleration change point in the acceleration increase starting point N1s', the acceleration increase end point N1e', the acceleration decrease starting point N2s', the acceleration decrease end point N2e', the acceleration increase starting point N3s' and the acceleration increase end point N3e' as the starting point can be reduced, and the residual vibration after stopping that increases from each acceleration change point in the acceleration decrease starting point N4s' and the acceleration decrease end point N4e' can be reduced.

[0177] The adjustment of the flexural angular velocity feedback gain coefficient Kgpc at the acceleration increase starting point N1s' and the acceleration increase end point N1e' has the effect of reducing the flexural vibration of the spline shaft 253 during the acceleration action. In addition, the adjustment of the flexural angular velocity feedback gain coefficient Kgpc at the acceleration decrease starting point N2s' and the acceleration decrease end point N2e' has the effect of reducing the flexural vibration of the spline shaft 253 during the constant speed action. In addition, the adjustment of the flexural angular velocity feedback gain coefficient Kgpc at the acceleration increase starting point N3s' and the acceleration increase end point N3e' has the effect of reducing the flexural vibration of the spline shaft 253 during the deceleration action. In addition, the adjustment of the flexural angular velocity feedback gain coefficient Kgpc at the acceleration decrease starting point N4s' and the acceleration decrease end point N4e' has the effect of reducing the residual vibration of the spline shaft 253.

[0178] It should be noted that in the example shown in the figure, the flexural angular velocity feedback gain coefficient Kgpc is increased from 1 to 3 with all points in the acceleration increase starting point N1s', the acceleration increase end point N1e', the acceleration decrease starting point N2s', the acceleration decrease end point N2e', the acceleration increase starting point N3s', the acceleration increase end point N3e', the acceleration decrease starting point N4s' and the acceleration decrease end point N4e' as the starting point, but it is not limited to this, as long as the flexural angular velocity feedback gain coefficient Kgpc is increased from 1 to 3 with at least one of these eight points as the starting point. In this way, at least the flexural vibration that increases starting from this point can be effectively suppressed. In addition, in the example shown in the figure, the flexural angular velocity feedback gain coefficient Kgpc is increased to 3, but the value of the flexural angular velocity feedback gain coefficient Kgpc is not particularly limited.

[0179] Fig.24 2 is a graph showing the residual vibration suppression effect of the front end portion of the spline shaft 253, and compares the residual vibration in the linear motion direction generated at the front end portion of the spline shaft 253 in the case C where the bending angular velocity feedback gain Kgp is kept constant and the case D where the bending angular velocity feedback gain Kgp is changed synchronously with the acceleration change as in the present embodiment. As can be seen from the graph, the overshoot of the present embodiment is reduced, and an excellent vibration suppression effect is exerted.

[0180] As described above, the robot system 1 in this embodiment has the spline shaft 253 as a moving part, and the spline shaft 253 moves in a linear motion relative to the arm 22 along a predetermined motion direction. In addition, the inertial sensor 24 detects the angular velocity around the detection axis Js in a direction orthogonal to the motion direction of the spline shaft 253 caused by the elastic deformation of the arm 22. In addition, the control unit 30 obtains the bending angular velocity 932 based on the angular velocity of the arm 22 detected by the inertial sensor 24, and multiplies the bending angular velocity 932 by the bending angular velocity feedback gain Kgp. By using the bending angular velocity feedback 933 obtained in this way, the vibration suppression effect of the spline shaft 253 can be improved.

[0181] According to the twelfth embodiment as described above, it is possible to produce the same effects as those of the first embodiment.

[0182] It should be noted that in this embodiment, the process of adjusting the bending angular velocity feedback gain Kgp is the same as that of the first embodiment, but the processing method is not limited thereto, and the processing methods described in the second to eleventh embodiments can also be applied. Thus, the effects described in each embodiment can be exerted in the same manner.

[0183] Thirteenth Embodiment

[0184] Fig.25 It is a diagram showing a robot included in the robot system according to the thirteenth embodiment.

[0185] This embodiment is the same as the first embodiment except that the structure of the robot is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0186] like Fig.25 As shown, the robot 2100 of the present embodiment is a horizontal multi-joint robot (SCARA robot), and has a base 2110 fixed to a floor and an arm 2120 connected to the base 2110. In addition, the arm 2120 has a first arm 2121 and a second arm 2122, the base end of the first arm 2121 is connected to the base 2110, the first arm 2121 rotates around a first rotation axis J1 relative to the base 2110, and the base end of the second arm 2122 is connected to the front end of the first arm 2121, and the second arm 2122 rotates around a second rotation axis J2 parallel to the first rotation axis J1 relative to the first arm 2121. In addition, an inertial sensor 2190 is arranged on the second arm 2122, and the inertial sensor 2190 detects the angular velocity around an axis along the vertical direction and the angular velocity around an axis orthogonal to the vertical direction.

[0187] In addition, a work head 2130 is provided at the front end of the second arm 2122. The work head 2130 has a spline nut 2131, a ball screw nut 2132 and a spline shaft 2133, the spline nut 2131 and the ball screw nut 2132 are coaxially arranged at the front end of the second arm 2122, and the spline shaft 2133 is inserted through the spline nut 2131 and the ball screw nut 2132. The spline shaft 2133 rotates around the third rotation axis J3 as its central axis relative to the second arm 2122 and rises and falls along the third rotation axis J3. In addition, an end effector corresponding to the work is installed at the lower end (front end) of the spline shaft 2133. It should be noted that the third rotation axis J3 is parallel to the first rotation axis J1 and the second rotation axis J2 and is along the vertical direction.

[0188] In addition, the robot 2100 has a drive mechanism 2140 that rotates the first arm 2121 relative to the base 2110 around the first rotation axis J1, and a drive mechanism 2150 that rotates the second arm 2122 relative to the first arm 2121 around the second rotation axis J2. The structures of the drive mechanism 2140 and the drive mechanism 2150 are the same as those of the above-mentioned drive mechanism 23. That is, the drive mechanism 2140 has a reducer 2141 that connects the base 2110 and the first arm 2121, a motor 2142 having a rotation shaft connected to the input side of the reducer 2141, and a position detector 2143 that detects the rotation angle of the rotation shaft of the motor 2142. Similarly, the drive mechanism 2150 includes a reducer 2151 connecting the first arm 2121 and the second arm 2122 , a motor 2152 having a rotating shaft connected to the input side of the reducer 2151 , and a position detector 2153 for detecting the rotation angle of the rotating shaft of the motor 2152 .

[0189] In addition, the robot 2100 has a drive device 2160 and a drive device 2170. The drive device 2160 rotates the spline nut 2131 to rotate the spline shaft 2133 around the third rotation axis J3, and the drive device 2170 rotates the ball screw nut 2132 to lift the spline shaft 2133 along the third rotation axis J3. The configurations of the drive devices 2160 and 2170 are the same as those of the above-mentioned drive mechanism 27. That is, the drive device 2160 has a motor 2161, a position detector 2162 for detecting the rotation angle of the rotation shaft of the motor 2161, and a power transmission mechanism 2163 for transmitting the power of the motor 2161 to the spline nut 2131. Similarly, the drive device 2170 has a motor 2171, a position detector 2172 for detecting the rotation angle of the rotation shaft of the motor 2171, and a power transmission mechanism 2173 for transmitting the power of the motor 2171 to the ball screw nut 2132.

[0190] In the robot 2100 constructed as described above, by applying the control methods of the first to eleventh embodiments to control the motors 2142 and 2152 that drive the first arm 2121 and the second arm 2122, the vibration of the first arm 2121 and the second arm 2122 can be effectively suppressed.

[0191] Note that the bending angular velocity 914 of the first arm 2121 can be obtained by subtracting the motor shaft angular velocity 913 of the motor 2152 driving the second arm 2122 and the motor shaft angular velocity 913 of the motor 2142 driving the first arm 2121 from the angular velocity detected by the inertial sensor 2190 .

[0192] The bending angular velocity 914 of the second arm 2122 can be obtained by subtracting the motor shaft angular velocity 913 of the motor 2142 driving the first arm 2121 and the motor shaft angular velocity 913 of the motor 2152 driving the second arm 2122 from the angular velocity detected by the inertial sensor 2190 .

[0193] In the robot 2100 having the above-described structure, the control method of the twelfth embodiment can also be used to control the motor 2171 that moves the spline shaft 2133 up and down along the third rotation axis J3.

[0194] According to such a configuration, vibration of the front end portion of the spline shaft 2133 can be effectively suppressed.

[0195] According to the thirteenth embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0196] Fourteenth embodiment

[0197] Fig.26 It is a diagram showing a robot included in the robot system according to the fourteenth embodiment.

[0198] This embodiment is the same as the first embodiment except that the structure of the robot is different. It should be noted that in the following description, this embodiment is described around the differences from the first embodiment, and the description of the same matters is omitted. In addition, in the drawings of this embodiment, the same figure marks are marked for the same structures as the above embodiment.

[0199] like Fig.26As shown, the robot 2200 of this embodiment is a six-axis vertical multi-joint robot having six drive axes, and has a base 2210 fixed to the floor and an arm 2220 rotatably connected to the base 2210. In addition, the arm 2220 is a structure in which a first arm 2221, a second arm 2222, a third arm 2223, a fourth arm 2224, a fifth arm 2225, and a sixth arm 2226 are rotatably connected from the side of the base 2210. In addition, the sixth arm 2226 is equipped with an end effector corresponding to the operation.

[0200] In addition, the robot 2200 has: a driving mechanism 2231, which causes the first arm 2221 to rotate around the first rotation axis J21 relative to the base 2210; a driving mechanism 2232, which causes the second arm 2222 to rotate around the second rotation axis J22 relative to the first arm 2221; a driving mechanism 2233, which causes the third arm 2223 to rotate around the third rotation axis J23 relative to the second arm 2222; a driving mechanism 2234, which causes the fourth arm 2224 to rotate around the fourth rotation axis J24 relative to the third arm 2223; a driving mechanism 2235, which causes the fifth arm 2225 to rotate around the fifth rotation axis J25 relative to the fourth arm 2224; and a driving mechanism 2236, which causes the sixth arm 2226 to rotate around the sixth rotation axis J26 relative to the fifth arm 2225.

[0201] Although not shown in the figure, each of these driving mechanisms 2231, 2232, 2233, 2234, 2235, and 2236 has the same structure as the above-mentioned driving mechanism 23, and has a reducer, a motor with a rotating shaft connected to the input side of the reducer, and a position detector for detecting the rotation angle of the rotating shaft of the motor.

[0202] In addition, the robot 2200 has an inertial sensor 2241 disposed on the first arm 2221 and an inertial sensor 2242 disposed on the third arm 2223. The inertial sensor 2241 detects the angular velocity of the first arm 2221 around the first rotation axis J21. The inertial sensor 2242 detects the angular velocity of the second arm 2222 around the second rotation axis J22 and the angular velocity of the third arm 2223 around the third rotation axis J23.

[0203] In the robot 2200 having the above structure, by applying the control methods of the first to eleventh embodiments to control the motors driving the first arm 2221 and the second arm 2222 , vibrations of the first arm 2221 and the second arm 2222 can be effectively suppressed.

[0204] Note that the bending angular velocity 914 of the first arm 2221 can be obtained by subtracting the motor shaft angular velocity 913 of the motor driving the first arm 2221 from the angular velocity detected by the inertial sensor 2241. This can effectively suppress the vibration of the first arm 2221.

[0205] The bending angular velocity 914 of the second arm 2222 can be obtained by subtracting the motor shaft angular velocity 913 of the motor driving the third arm 2223 and the motor shaft angular velocity 913 of the motor driving the second arm 2222 from the angular velocity detected by the inertial sensor 2242 .

[0206] The bending angular velocity 914 of the third arm 2223 can be obtained by subtracting the motor shaft angular velocity 913 of the motor driving the second arm 2222 and the motor shaft angular velocity 913 of the motor driving the third arm 2223 from the angular velocity detected by the inertial sensor 2242 .

[0207] According to such a configuration, vibration of the front end portion of the arm 2220, that is, the sixth arm 2226, can be effectively suppressed.

[0208] According to the fourteenth embodiment as described above, it is also possible to produce the same effects as those of the first embodiment.

[0209] In the thirteenth embodiment, an application example to a horizontal multi-joint robot is shown, and in the fourteenth embodiment, an application example to a six-axis vertical multi-joint robot is shown, but the present invention is not limited thereto. For example, it can also be applied to an orthogonal robot or a seven-axis vertical multi-joint robot. It can also be applied to any robot having at least a rotary joint or a direct motion joint.

[0210] The above is a description of the robot control method and robot system of the present invention based on the illustrated embodiments, but the present invention is not limited thereto, and the configuration of each part can be replaced by any configuration having the same function. In addition, other arbitrary configurations can also be added to the present invention.

Claims

1. A robot control method, characterized in that: include: an inertial information receiving step, receiving an output signal from an inertial sensor measuring the motion of the arm; a first feedback gain adjustment step of adjusting to increase a feedback gain multiplied by the output signal or a signal generated from the output signal according to a change in the movement of the arm; a drive control step of controlling the drive of the arm using the feedback gain increased in the first feedback gain adjustment step; as well as The second feedback gain adjustment step is to perform adjustment to reduce the feedback gain after a predetermined time has passed from the first feedback gain adjustment step.

2. The robot control method according to claim 1, characterized in that: In the first feedback gain adjustment step, the feedback gain is changed from a reference value to a value higher than the reference value, In the second feedback gain adjustment step, the feedback gain is restored to the reference value.

3. The robot control method according to claim 1, characterized in that: The output signal includes inertia information, which is information related to the inertia generated in the arm due to the action. The first feedback gain adjustment step is performed at least one of the following times: a first timing at which the inertial information starts to increase when acceleration of the arm begins; a second timing at which the increase of the inertial information ends when acceleration of the arm begins; a third timing when the inertial information starts to decrease at the end of acceleration of the arm; a fourth timing at which the reduction of the inertial information ends when the acceleration of the arm ends; a fifth timing at which the inertia information starts to increase when deceleration of the arm starts; a sixth timing at which the increase of the inertial information ends when deceleration of the arm begins; a seventh timing when the inertia information starts to decrease at the end of deceleration of the arm; as well as The eighth timing at which the reduction of the inertia information ends is when the deceleration of the arm ends.

4. The robot control method according to claim 1, characterized in that: The feedback gain is obtained by multiplying a feedback base gain, which is a reference of the feedback gain, by a feedback coefficient. In the first feedback gain adjustment step and the second feedback gain adjustment step, the feedback gain is adjusted by changing the feedback coefficient.

5. The robot control method according to claim 3, characterized in that: In the first feedback gain adjustment step, the feedback gains are adjusted to be different from each other at any two timings selected from the first timing, the second timing, the third timing, the fourth timing, the fifth timing, the sixth timing, the seventh timing, and the eighth timing.

6. The robot control method according to claim 3, characterized in that: In the first feedback gain adjustment step, the predetermined times are different from each other at any two timings selected from the first timing, the second timing, the third timing, the fourth timing, the fifth timing, the sixth timing, the seventh timing, and the eighth timing.

7. The robot control method according to claim 1, characterized in that: The change in the inertial information is detected based on a position command for the arm.

8. The robot control method according to claim 3, characterized in that: The first timing, the third timing, the fifth timing, and the seventh timing are timings when the inertial information exceeds a threshold value.

9. The robot control method according to claim 1, characterized in that: In the first feedback gain adjustment step, a condition for adjusting the feedback gain is different when the arm performs a CP operation and when the arm performs a PTP operation.

10. A robot system, characterized in that: have: Pedestal; an arm driven relative to the base; an inertial sensor to detect motion of the arm; and a control unit for controlling the driving of the arm, The control unit receiving an output signal from the inertial sensor, According to the change in the movement of the arm, an adjustment is performed to increase a feedback gain multiplied by the output signal or a signal generated from the output signal, controlling the drive of the arm using the adjusted feedback gain, and The feedback gain is adjusted to be lowered after a predetermined time has passed since the feedback gain was increased.

11. The robot system according to claim 10, characterized in that: The robot system has: a motor to rotate the arm relative to the base about a rotation axis; and a position detector, detecting a rotation angle of the motor, The control unit obtains a bending angular velocity based on the angular velocity of the arm around the rotation axis detected by the inertial sensor and the angular velocity of the motor detected by the position detector, and multiplies the bending angular velocity by the feedback gain.

12. The robot system according to claim 10, characterized in that: The robot system includes a moving part that moves in a linear motion along a predetermined motion direction relative to the arm. The inertial sensor detects an angular velocity in a direction orthogonal to the movement direction of the moving part caused by elastic deformation of the arm. The control unit obtains a bending angular velocity based on the angular velocity of the arm detected by the inertial sensor, and multiplies the bending angular velocity by the feedback gain.

Citation Information

Patent Citations

  • Robot control device and robot control method

    JP2005242794A