Robot controlling method and welding method
10882183 ยท 2021-01-05
Assignee
Inventors
- Hiroyuki Nakata (Osaka, JP)
- Atsumi Hashimoto (Osaka, JP)
- Yasuyoshi Honuchi (Osaka, JP)
- Ryosuke Yamamoto (Osaka, JP)
Cpc classification
G05B2219/41041
PHYSICS
B25J9/1641
PERFORMING OPERATIONS; TRANSPORTING
B23K9/12
PERFORMING OPERATIONS; TRANSPORTING
G05B19/404
PHYSICS
B25J9/10
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/41039
PHYSICS
International classification
G05B19/404
PHYSICS
B25J9/10
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A robot controlling method for operating an arm using a motor includes: performing, before the arm stops, addition to add a backlash compensation value to a position command which is input to the motor; and performing, in a period during which the robot arm is not in motion, subtraction to reduce the backlash compensation value added to the position command.
Claims
1. A robot controlling method for operating an arm using a motor, the robot controlling method comprising: increasing, in a first period during which the arm is being controlled to be in motion, a backlash compensation value that is added to a position command which is input to the motor; and reducing, in a second period during which the arm is not being controlled to be in motion, the backlash compensation value added, from the backlash compensation value at an end of the first period.
2. The robot controlling method according to claim 1, wherein in the increasing, the backlash compensation value is added in a travel direction of the arm.
3. The robot controlling method according to claim 1, wherein the second period is longer than the first period.
4. The robot controlling method according to claim 1, further comprising: maintaining, in a third period during which the arm is not being controlled to be in motion, the backlash compensation value at the end of the first period, wherein the third period is between the first period and the second period.
5. The robot controlling method according to claim 1, wherein the arm moves in a direction perpendicular to an extending direction of the arm, in the first period.
6. A welding method for operating an arm having a wire using a motor, and welding a workpiece using the wire, the welding method comprising: increasing, in a first period during which the arm is being controlled to be in motion, a backlash compensation value that is added to a position command which is input to the motor; reducing, in a second period during which the arm is not being controlled to be in motion, the backlash compensation value, from the backlash compensation value at an end of the first period; producing an electric arc between the wire and the workpiece after the arm stops; and moving the arm to move the wire and welding the workpiece after the electric arc is produced.
7. The welding method according to claim 6, wherein in the increasing, the backlash compensation value is added in a travel direction of the arm.
8. The welding method according to claim 6, wherein the second period is longer than the first period.
9. The welding method according to claim 6, further comprising: maintaining, in a third period during which the arm is not being controlled to be in motion, the backlash compensation value at the end of the first period, wherein the third period is between the first period and the second period.
10. The welding method according to claim 6, wherein the arm moves in a direction perpendicular to an extending direction of the arm, in the first period.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
DESCRIPTION OF EMBODIMENTS
(32) In the case where a robot is reversely operated after having stopped, when backlash compensation such as that disclosed in PTL 1 is applied, a backlash compensation portion is added to a position command for the reverse operation, and thus the speed immediately after the start of the operation may rise.
(33) Hereinafter, the present embodiment will be described in detail with reference to the drawings. The following description of a preferred embodiment is essentially a mere example.
(34) Configurations of Robot and Control System for Robot
(35)
(36)
(37)
(38) Note that
(39) As illustrated in
(40) As illustrated in
(41) However, in
(42) Specifically, motor 2, reducer 3, and bearing 4 are fixed to first arm 1 serving as a base for mounting a motor. Second arm 9 which is a load is coupled to a rotating unit of secondary reducer 7 so that second arm 9 is driven.
(43) Note that as motor 2, a servo motor is used, for example.
(44) Primary reducer 6 is coupled to rotor 5 located in motor 2, and rotates about a motor rotation axis at motor rotation speed M. Reducer 3 reduces motor rotation speed M to load rotation speed L at reduction ratio Rg.
Rg=M/L(1)
(45) Note that reducer 3 includes play (clearance) and a spring component between primary reducer 6 and secondary reducer 7 and thus Expression (1) is established only in the steady state where primary reducer 6 is in contact with secondary reducer 7 so that the play (clearance) is brought to one side and the elongation of the spring is constant.
(46) As illustrated in
(47) Furthermore, servo control unit 67 (first servo control unit) corresponding to each shaft of the robot controls corresponding motor 68 (first motor), which is located inside robot mechanism 61, in such a manner as to follow the corresponding position command. Subsequently, arm 69 (first arm) is driven via reducer 53 (first reducer).
(48) Note that as motor 68, a servo motor is used, for example.
(49) Specifically, servo control unit 67 outputs electric current control command IM to motor 68, and thus a drive current for motor 68 is controlled. Furthermore, encoder 51 (first encoder) corresponding to motor 68 feeds back rotation position M of motor 68 to servo control unit 67, and electric current control command IM is adjusted. Here, arm 69 (first arm) in
(50) Robot control device 62 includes backlash compensation value calculation block 55, and backlash compensation value calculation block 55 calculates backlash compensation value BL from com (hereinafter, 1com to 6com will be referred to as com), which is the position command, and outputs backlash compensation value BL to servo control unit 67. Here, the backlash compensation value is for compensating for a positioning error caused by the backlash.
(51)
(52) Note that
(53) A control model for a system including first arm 1, motor 2, reducer 3, bearing 4, and second arm 9 which are illustrated in
(54) In block 40, the play and the spring component present between primary reducer 6 and secondary reducer 7 are defined as spring constant Ks.
(55) Furthermore, in block 40, Kt is the torque constant of motor 2; 1/Rg is the reciprocal of the reduction ratio represented by Expression 1; 1/(JMs+DM) is a motor transmission function; 1/(JLs+DL) is a load transmission function; Backlash is a transmission function corresponding to the backlash indicating the play of reducer 3; s is a derivative element; is an integral element; and Td is external force applied to second arm 9 which is a load. In position control block 20, KPP is a proportional gain in a position loop. In speed control block 30, KP is a speed proportional gain; and KI is a speed integral gain.
(56) In the motor transmission function, JM is the moment of inertia of the combination of rotor 5 and primary reducer 6 around the rotation axis; and DM is a coefficient of viscous friction on the motor 2 side. In the load transmission function, JL is the moment of inertia of the combination of second arm 9 which is a load and secondary reducer 7 around the rotation axis; and DM is a coefficient of viscous friction on the reducer 3 side.
(57) As illustrated in
(58) Position command com is converted by backlash compensation value calculation block 55 into backlash compensation value BL, which is then added to original position command com. Furthermore, for position command com, motor rotation position M is fed back from encoder 51, and speed command com for the motor is generated from these pieces of information and then input to speed control block 30.
(59) Note that backlash compensation value calculation block 55 calculates, from a stopping direction in position command com, backlash compensation value BL which is added at the time of stop. Note that the stopping direction means a direction of movement that has been made until the stop.
(60) For speed command com, motor speed M obtained using motor position M input from encoder 51 is fed back, and thus speed control block 30 generates electric current control command IM (corresponding to the acceleration) for the motor.
(61)
(62) In robot mechanism 61, welding torch 74 having welding wire 75 at the tip is attached to arm 72. Driving motor 73 corresponding to each joint shaft allows welding torch 74 to move along any of the X-axis, the Y-axis, and the Z-axis.
(63) The following considers the backlash phenomenon occurring at first axis AX when arm tip 71 is slightly moved (moved with a pitch of 0.5 mm) along the Y-axis. Note that arm tip 71 is the tip of welding torch 74 that includes a protruding portion of welding wire 75.
(64) Arm rotation position L around first axis AX follows a circular orbit; however, in the illustrated example, arm rotation position L where X=1,200 mm moves approximately 1 mm along the Y-axis, which can be regarded as substantially linear movement. Therefore, the following description will be made assuming that the rotating operation around first axis AX causes arm tip 71 to linearly move along the Y-axis.
(65) Note that in the following description, motor position YM in terms of the arm tip position, arm tip position YA, motor speed VM in terms of the arm tip speed, arm tip speed VA, and backlash compensation value YBL in terms of the arm tip position are those calculated according to the operation represented by Expression 2-1 to Expression 2-5.
(66) Note that these values are values along the Y-axis.
YM=KYMM(2-1)
YA=KYAL(2-2)
VM=KVMM(2-3)
VA=KVAL(2-4)
YBL=KYMBL(2-5)
Here, the symbols represent the following values.
(67) M: the rotation position of the motor
(68) L: the rotation position of the arm tip
(69) M: the rotation speed of the motor
(70) L: the motor speed of the arm tip
(71) BL: the backlash compensation position of the motor
(72) KYM: the conversion coefficient used to convert rotation position M of the motor into motor position YM in terms of the arm tip position
(73) KYA: the conversion coefficient used to convert rotation position L of the arm into Y-axis arm tip position YA
(74) KVM: the conversion coefficient used to convert rotation speed M of the motor into motor speed VM in terms of the arm tip speed
(75) KVA: the conversion coefficient used to convert rotation speed L of the arm into Y-axis arm tip speed VA
(76) KYM: the conversion coefficient used to convert the backlash compensation position of the motor into Y-axis motor compensation position YBL in terms of the arm tip position
(77) Note that all the conversion coefficients change according to the attitude of the arm.
(78) Effects of Backlash Compensation on Arm Tip Position and Arm Tip Speed
(79)
(80)
(81)
(82)
(83)
(84)
(85)
(86)
(87) Here, the comparison example is a control system for the operations and configurations illustrated in
(88) Another comparison example is a control system for the operations and configurations illustrated in
(89) In the following description, VMi, YAi, Mi, and the like (i=0, 1) where subscript i is 0 represent motor position YM, arm tip position YA, motor rotation position M, and the like according to the comparison example. VMi, YAi, Mi, and the like (i=0, 1) where subscript i is 1 represent motor position YM, arm tip position YA, motor rotation position M, and the like according to another comparison example. When there is no subscript, VM, YA, M, and the like represent motor position YM, arm tip position YA, motor rotation position M, and the like according to the present embodiment.
(90) Note that regardless of the presence or absence of the subscript, VMi, YAi, VMi, VAi, and VBLi are values represented by Expressions 2-1 to 2-5 indicated above.
(91) Furthermore, controlling the movement of the robot mechanism along the Y-axis will be described below.
(92) First, the comparison example will be described.
(93) As illustrated in
(94) Next, arm tip 71 moves 0.5 mm in the Y direction and stops at point b. At this time, as illustrated in
(95) The movement from point b to point c is substantially the same as the movement from point a to b.
(96) Next, +0.5 mm movement is made in the +Y direction and stops at point d. The movement from point c to point d is opposite in operating direction to the movement that has been made so far, and thus the rotation direction of motor 73 is reversed. At this time, motor position YM0 has reached the target position (0.5 mm), but, as illustrated in
(97) This means that in the case where the backlash compensation is not performed, when the arm tip is advanced and retracted in one direction, the arm tip does not return to the original position. In this comparison example, in order to return the arm tip to point d which is the target position, the amount of movement needs to be set to 0.2 mm and then another movement needs to be made in the positive direction, or 0.5 mm backward movement needs to be made after moving to point e, either of which leads to an increase in man-hours for teaching.
(98) This situation will be further described with reference to
(99) At time to in
(100) Upon the reverse movement of the arm from point c to point d, even when motor position YM0 changes in the positive direction, the arm idles as much as the play (clearance) of the reducer, and thus arm tip position YA0 remains unchanged until time tq. In other words, arm tip speed VA0 remains 0 while motor speed VM0 increases on the positive side.
(101) Arm tip position YA0 starts changing in the positive direction at time tq and stops at a point in time (time tr) when motor position YM0 reaches the position corresponding to point d. However, arm tip position YA0 stops the distance equivalent to the play (clearance) of the reducer before the target.
(102) In this comparison example, upon the movement from point c to point d, arm tip position YA0 moves forward 0.3 mm only while motor position YM0 moves forward 0.5 mm.
(103) This shows that in the case where the backlash compensation is not performed, the positional deviation of the arm tip relative to the control target value becomes large. In particular, when the motor is driven and controlled so that the robot arm moves, stops, and reversely moves in sequence, the positional deviation becomes large.
(104) Next, another comparison example will be described.
(105) In another comparison example, although the backlash compensation itself is performed, arm tip backlash compensation value YBL1 is added in the travel direction to compensate for the deviation (0.1 mm) caused by the backlash, as illustrated in
(106) As a result of performing the above-described compensation, arm tip position YA1 reaches the target position without deviations, as illustrated in
(107) However, when this backlash compensation is applied to the case where the robot arm moves, stops, and reversely moves in sequence, as described above, the backlash compensation portion is added to the position command for the reverse operation, and thus the speed immediately after the start of the operation may rise.
(108) This will be further described with reference to
(109) At time to in
(110) Upon the reverse movement of the arm from point c to point d, even when motor position YM1 changes in the positive direction, the arm idles as much as the play (clearance) of the reducer, and thus arm tip position YA1 remains unchanged until time tq. Thus, arm tip speed VA1 remains 0 while motor speed VM1 increases on the positive side.
(111) However, since the backlash compensation value is added to the position command, the speed for backlash compensation is superimposed on motor speed VM1, and at time tq, arm tip speed VA1 upon start of the movement of arm tip position YA1 in the positive direction is higher than arm tip speed VA0 in
(112) Furthermore, in the case where the operating direction is not reversed, there is no change in the amount of addition of the backlash compensation value to the position command, meaning that arm tip speed VA1 is different between the forward movement and the reverse movement.
(113) Thus, the backlash compensation value needs to be added in the travel direction in the position command before the robot stops, and the backlash compensation value needs to be gradually reduced in a period during which the robot is not in motion, as described in the present embodiment.
(114) This will be described in detail below.
(115) In
(116) The reason why backlash compensation value YBL is maintained in period t2 is that, as illustrated in
(117) However, in the case where the delay of arm tip position YA is negligible, period t2 may be set to zero.
(118) Furthermore, period t3 is set longer than period t1.
(119) In consideration of the effects of the fictional resistance in robot mechanism 61 which is attributed to the play of reducer 3, settings are configured so that arm tip position YA reaches backlash compensation value YBL in a short time in period t1.
(120) On the other hand, in period t3, in order to prevent the occurrence of motor position YM sliding back due to the effects of the same fictional resistance, backlash compensation value YBL is gradually reduced over period t3 longer than period t1.
(121) Note that assuming that the delay of the arm tip position is negligible, period t2 illustrated in
(122) As illustrated in
(123) As a result of performing the above-described compensation, arm tip position YA1 reaches the target position without deviations, as illustrated in
(124) Next, the effects the backlash compensation according to the present embodiment has on arm tip speed VA will be described with reference to
(125) When primary reducer 6 rotates clockwise and motor position YM reaches the position resulting from addition of backlash compensation value YBL, the position of secondary reducer 7, that is, arm tip position YA, stops at the target position (Y=0) by the backlash compensation. In
(126) At time to in
(127) Next, the absolute value of backlash compensation value YBL is gradually reduced, and at time tp, motor position YM becomes 0 as in the case where the backlash compensation is not performed. In other words, motor position YM stops in the vicinity of the center of the play (clearance) of reducer 3.
(128) Next, the arm starts reversely moving from point c to point d; as illustrated in
(129) However, this shows that upon the start of movement from point c, the backlash compensation portion is not added to the position command, and thus arm tip speed VA at time tq when arm tip position YA starts moving is not higher than arm tip speed VA0 obtained in the case where the backlash compensation is not performed.
(130) Subsequently, when primary reducer 6 keeps rotating counterclockwise and motor position YM reaches the position resulting from addition of backlash compensation value YBL (time tr), arm tip position YA stops at point d which is the target position (Y=0) by the backlash compensation. Thereafter, the absolute value of backlash compensation value YBL is gradually reduced, and at time ts, motor position YM becomes 0 as in the case where the backlash compensation is not performed. In other words, motor position YM stops in the vicinity of the center of the play of reducer 3.
(131) As described above, according to the present embodiment, the backlash compensation value is added in the travel direction in the position command before the robot stops, and the backlash compensation value is gradually reduced in a period during which the robot is not in motion, resulting in robot arm movement in which arm tip position YA can accurately move to the target position. At the same time, it is possible to suppress the rise of arm tip speed VA at the time when the arm stops and moves.
(132) In particular, it is possible to reliably suppress the rise of arm tip speed VA at the time when the robot arm stops and reversely moves.
(133) Furthermore, the robot controlling method according to the present embodiment is very usefully applied particularly to a welding robot.
(134) In the case of arc welding using a welding robot, the robot arm temporarily stops at a welding start point and, after an electric arc is generated, starts moving in a welding direction.
(135) When the direction of movement to the welding start point and the welding direction are opposite, if the backlash compensation such as that described in another comparison example is performed, the speed immediately after the start of the movement in the welding direction becomes high. This produces serious effects on the finish of the welding.
(136)
(137)
(138) As illustrated in
(139) Because of this Joule heat, welding wire 75 bursts and start sputter is generated, as illustrated in
(140) As illustrated in
(141) However, if the traveling speed of welding torch 74 between the production of the electric arc and the start of fusion of the wire, that is, arm tip speed VA1, is high, a phenomenon in which the bead is not formed, but only the burn of the electric arc is left may occur, and in addition, there may be a shortage of the electric arc, causing a welding failure. In this case, a trace of the burn of the electric arc is left in TR1 illustrated in
(142) Furthermore, as described above, arm tip speed VA1 is different between the forward movement and the reverse movement.
(143) In any case, at the start of electric arc production (hereinafter referred to as an electric arc start), fine timing adjustment of the operations, etc., of the robot is necessary, and it is not permissible that the backlash compensation affects the electric arc start.
(144) According to the present embodiment, as illustrated in
(145) Furthermore, at a point in time when the arm starts moving after having stopped, motor position YM moves from the vicinity of the center of the play of the reducer, meaning that the behavior thereof does not change regardless of whether or not the operating direction is reversed.
(146) Note that at the time when the arm stops moving, that is, when the electric arc production ends, backlash compensation value YBL is added, and thus arm tip speed VA slightly rises; however, at this time, because the stable welding process already in the steady state is suspended, the process is hardly affected.
(147) Furthermore, backlash compensation value YBL added at the time when the operation stops is thereafter gradually reduced to 0, becoming half of backlash compensation value YBL1 indicated in
(148) Note that in the present embodiment, the control of linear movement of the robot arm has been described as an example, but the above-described control method may be applied not only to the control of movement along a straight line, but also to the control of movement along a curve. Furthermore, the above-described control method can be applied, for example, to treat a three-dimensional object.
(149) Moreover, the above-described control method may be applied not only to the control of movement of the arm, but also to industrial machinery such as an automatic transport machine.
(150) Furthermore, although the control for a welding robot has been mainly described in the present embodiment, the above-described control method may be applied not only to the welding robot, but also to industrial robots used for other purposes.
(151) The robot according to the present disclosure can perform the backlash compensation while suppressing the sharp rise of the operation start speed of the robot upon resuming operating after having stopped.
(152) The robot according to the present disclosure suppresses the rise of the operation start speed by changing the backlash compensation value before and after the robot stops.
(153) Specifically, this is a robot controlling method for controlling movement of a robot arm using a servo motor and includes: adding, before the robot arm stops, a backlash compensation value to a position command which is input to the servo motor; and gradually reducing the backlash compensation value in a period during which the robot arm is not in motion, and the backlash compensation value is set to have a positive value in accordance with the movement direction of the robot arm.
(154) According to this method, the rise of the movement speed of the robot arm can be suppressed, because the backlash compensation value is not added to the position command, at the time when the robot arm resumes moving, while the backlash compensation is performed before and after the robot arm stops. In the case where the movement directions before and after the robot arm stops are opposite, the rise of the movement speed of the robot arm upon reversal of the movement direction can be suppressed.
(155) Furthermore, performing the backlash compensation allows the robot arm to accurately reach the target position.
(156) Here, it is preferable that the period in which the backlash compensation value is gradually reduced be set longer than the period in which the backlash compensation value is added.
(157) According to this method, it is possible to prevent the occurrence of the motor position sliding back due to the effects of the fictional resistance in the robot which is attributed to the play (clearance) of the reducer; thus, accurate backlash compensation can be performed.
(158) In the welding method disclosed herein, movement of a robot arm having a wire attached thereto is controlled using a servo motor, and a workpiece is welded using the wire. The welding method includes: producing an electric arc between the wire and the workpiece after the robot arm stops; and moving the robot arm to move the wire and welding the workpiece along the movement trajectory thereof after the electric arc is produced. Before the robot arm stops, the backlash compensation value is added to the position command which is input to the servo motor, and the backlash compensation value is gradually reduced in a period during which the robot arm is not in motion; the backlash compensation value is set to have a positive value in accordance with the movement direction of the robot arm.
(159) According to this method, the rise of the movement speed of the robot arm can be suppressed, because the backlash compensation value is not added to the position command, at the time when the robot arm resumes moving, while the backlash compensation is performed before and after the robot arm stops. By suppressing the rise of the movement speed after the robot arm stops during the operation including the reverse operation, it is possible to perform good welding in which no welding bead is formed or no trace of the burn of the electric arc is left.
(160) Furthermore, performing the backlash compensation allows the wire tip to accurately reach the target position, resulting in an improvement in welding accuracy.
(161) Here, it is preferable that the period in which the backlash compensation value is gradually reduced be set longer than the period in which the backlash compensation value is added.
(162) According to this method, it is possible to prevent the occurrence of the motor position sliding back due to the effects of the fictional resistance in the robot which is attributed to the play of the reducer; thus, accurate backlash compensation can be performed.
(163) According to the robot controlling method according to the present disclosure, the robot arm can accurately reach the target position while suppressing the rise of the operation start speed of the robot arm having just stopped which is caused by the effects of the backlash compensation.
INDUSTRIAL APPLICABILITY
(164) According to the robot controlling method according to the present disclosure, the backlash compensation can be performed without an increase in the operation start speed of a robot having just stopped; thus, the robot controlling method according to the present disclosure is usefully applied to an industrial robot such as a welding robot.
REFERENCE MARKS IN THE DRAWINGS
(165) 1 first arm 2 motor 3 reducer 4 bearing 6 primary reducer 7 secondary reducer 9 second arm 20 position control block 30 speed control block 40 block 51 encoder 53 reducer 55 backlash compensation value calculation block 60 robot 61 robot mechanism 62 robot control device 63 arm 64 joint shaft 65 operating/teaching unit 66 main control unit 67 servo control unit 68 motor 69 arm 71 arm tip 72 arm 73 motor 74 welding torch 75 welding wire 80 workpiece AX first axis