Robot control method
11926054 ยท 2024-03-12
Assignee
Inventors
- Hiroyoshi Ueda (Osaka, JP)
- Hiroyuki Nakata (Osaka, JP)
- Atsumi Hashimoto (Osaka, JP)
- Ryosuke Yamamoto (Osaka, JP)
- MASAYOSHI IWATANI (Osaka, JP)
Cpc classification
B25J9/1641
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1638
PERFORMING OPERATIONS; TRANSPORTING
G05B19/19
PHYSICS
International classification
Abstract
A determination value calculated based on a distance from a work point of a tip of robot arm (10) to virtual straight line (30) passing through an axis of second joint (J2) and an axis of third joint (J3) is compared with a predetermined threshold. A method of calculating deflection compensation amounts for second joint (J2) and third joint (J3) is changed depending on whether the determination value is larger or smaller than the threshold. Second joint (J2) and third joint (J3) are caused to pivot based on the calculated deflection compensation amounts.
Claims
1. A robot control method of controlling an operation of a robot arm including at least a first joint, a second joint, a third joint, and a fourth joint, the first joint, the second joint, the third joint, and the fourth joint each having a rotary shaft, the first joint and the fourth joint being configured such that tilts of the respective rotary shafts affect positional displacement of a tip of the robot arm, and the second joint and the third joint being configured such that the rotary shaft of each of the second joint and the third joint rotates in a gravity direction, the robot control method comprising: calculating a deflection angle of the first joint based on moment rigidity of the first joint and gravitational torque applied in a tilting direction of the rotary shaft of the first joint; calculating a deflection angle of the second joint based on a spring constant of the second joint and gravitational torque applied in a pivoting direction of the second joint; calculating a deflection angle of the third joint based on a spring constant of the third joint and gravitational torque applied in a pivoting direction of the third joint; calculating a deflection angle of the fourth joint based on moment rigidity of the fourth joint and gravitational torque applied in a tilting direction of the rotary shaft of the fourth joint; calculating a determination value based on a distance from a work point of the tip of the robot arm to a virtual straight line passing through an axis of the rotary shaft of the second joint and an axis of the rotary shaft of the third joint; comparing the determination value with a predetermined threshold; calculating a deflection compensation amount for the second joint based on deflection angles of the first joint, the second joint, and the fourth joint and calculating a deflection compensation amount for the third joint based on deflection angles of the first joint, the third joint, and the fourth joint when the determination value is larger than the predetermined threshold value; calculating a deflection compensation amount for the second joint based on deflection angles of the first joint, the second joint, and the fourth joint, and the predetermined threshold value and calculating a deflection compensation amount for the third joint based on deflection angles of the first joint, the third joint, and the fourth joint, and the predetermined threshold value when the determination value is smaller than the predetermined threshold value; and causing the second joint and the third joint to pivot based on the deflection compensation amounts for the second joint and the third joint.
2. The robot control method according to claim 1, wherein the determination value is a value obtained by integrating a distance between the axes of the rotary shafts of the second joint and the third joint and the distance from the work point of the tip of the robot arm to the virtual straight line.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
DESCRIPTION OF EMBODIMENT
(20) An exemplary embodiment of the present invention will be described below with reference to the accompanying drawings. Note that the following description of the preferable exemplary embodiment is essentially merely an example, and is not intended to limit the present invention, and application or usage of the present invention.
(21) As illustrated in
(22) Robot arm 10 includes base 11, shoulder 12, lower arm 13, first upper arm 14, second upper arm 15, wrist 16, and attachment 17. Robot arm 10 further includes first joint J1, second joint J2, third joint J3, fourth joint J4, fifth joint J5, and sixth joint J6. Each of first joint J1, second joint J2, third joint J3, fourth joint J4, fifth joint J5, and sixth joint J6 has a rotary shaft.
(23) Shoulder 12 is supported on base 11 so as to be turnable in the horizontal direction about the rotary shaft of first joint J1. Lower arm 13 is supported on shoulder 12 so as to be pivotable in the gravity direction about the rotary shaft of second joint J2.
(24) First upper arm 14 is supported on lower arm 13 so as to be pivotable in the gravity direction about the rotary shaft of third joint J3. Second upper arm 15 is supported on first upper arm 14 so as to be torsionally rotatable about the rotary shaft of fourth joint J4.
(25) Wrist 16 is supported on second upper arm 15 so as to be pivotable in the gravity direction about the rotary shaft of fifth joint J5. Attachment 17 is supported on wrist 16 so as to be torsionally rotatable about the rotary shaft of sixth joint J6. Tool 18 such as a welding torch is attached to attachment 17.
(26) An actuator (not illustrated) is built in each of first joint J1 to sixth joint J6. Controller 20 controls the driving of the actuators of first joint J1 to sixth joint J6 on the basis of an operation program input in advance by teaching or the like such that first joint J1 to sixth joint J6 reach target positions (command angles), respectively.
(27)
(28) Note that the deflection generated at fifth joint J5 and sixth joint J6 has a small influence on the positional displacement of the work point of tool 18 at the tip of robot arm 10 and can be ignored, and hence no consideration is given to fifth joint J5 and sixth joint J6.
(29) Second joint J2 and third joint J3 are pivotable in the gravity direction. As shown in
(30) More specifically, the gravitational torque acts on second joint J2 and third joint J3 in the clockwise direction in
(31) However, as indicated by the dotted arrows in
(32) Therefore, in the present exemplary embodiment, second joint J2 and third joint J3 are rotated in consideration of the static elastic deflection generated in first joint J1 and fourth joint J4, so that the positional displacement of the work point of tool 18 can be eliminated.
(33) More specifically, as illustrated in
(34) Accordingly, second joint J2 and third joint J3 are caused to pivot in the counterclockwise direction in
(35) This makes it possible to obtain a compensation amount (illustrated by the black arrow) for canceling the deflection amount (illustrated by the white arrow) of the work point of tool 18 and to eliminate the positional displacement of the work point of tool 18.
(36) A method of calculating compensation amounts for second joint J2 and third joint J3 will be described below. As illustrated in
(37) The mass of robot arm 10 and tool 18 is m [kg], the barycentric position of robot arm 10 and tool 18 is x.sub.g, and the length of robot arm 10 and tool 18 is L [m].
(38) Gravitational torque .sub.i [Nm] applied in the pivoting direction of the i-th joint can be expressed by a function of .sub.i=f.sub.1(m, x.sub.g, L, .sub.i). Furthermore, gravitational torque W.sub.i[Nm] applied in the tilting direction of the rotary shaft of the i-th joint can be expressed by a function of W.sub.i=f.sub.2 (m, x.sub.g, L, .sub.i).
(39) Horizontal distance r.sub.i between the work point of tool 18 and the i-th joint can be expressed by a function of r.sub.i=f.sub.3(L, .sub.i). Vertical distance z.sub.i, between the work point of tool 18 and the i-th joint can be expressed by a function of z.sub.i=f.sub.4(L, .sub.i).
(40) Next, the deflection angle due to the gravitational torque applied in the pivoting direction of second joint J2 and third joint J3 is calculated. More specifically, the deflection angle of second joint J2 can be expressed by .sub.2/k.sub.2. The deflection angle of third joint J3 can be expressed by .sub.3/k.sub.3. Note that these calculations are performed by controller 20.
(41) Next, the displacement given to the work point of tool 18 by the tilt of the rotary shafts of first joint J1 and fourth joint J4, that is, the deflection amount, is calculated. The compensation amount can be calculated based on the deflection amounts in the horizontal direction and the vertical direction.
(42) More specifically, total deflection amount .sub.r in the horizontal direction can be calculated by equation (1) given below.
r=(W.sub.1/M.sub.1)z.sub.1+(W.sub.4/M.sub.4)z.sub.4(1)
(43) Total deflection amount Ez in the vertical direction can be calculated by equation (2) given below.
r=(W.sub.1/M.sub.1)r.sub.1+(W.sub.4/M.sub.4)r.sub.4(2)
(44) Assuming that the compensation amount for the i-th joint is .sub.1 [rad], compensation amount .sub.2 for second joint J2 can be calculated by equation (3) given below.
.sub.2=(.sub.2/k.sub.2)+(z.sub.3.sub.zr.sub.3.sub.r)/(z.sub.3r.sub.2r.sub.3z.sub.2).sub.4(3)
(45) That is, compensation amount .sub.2 of second joint J2 is calculated based on the deflection angles of first joint J1, second joint J2, and fourth joint J4.
(46) Compensation amount .sub.3 for third joint J3 can be calculated by equation (4) given below.
.sub.3=(.sub.3/k.sub.3)+(r.sub.2rz.sub.2z)/(z.sub.3.Math.r.sub.2r.sub.3.Math.z.sub.2)(4)
(47) That is, compensation amount .sub.3 of third joint J3 is calculated based on the deflection angles of first joint J1, third joint J3, and fourth joint J4. Controller 20 then drives second joint J2 based on compensation amount .sub.2 of second joint J2 and drives third joint J3 based on compensation amount .sub.3 of third joint J3. This makes it possible to eliminate the deflection generated in first joint J1 to fourth joint J4.
(48) The relationship between joint angle .sub.2 of second joint J2 and an error with respect to the target position of the work point of tool 18 will be described below.
(49) First, in a state in which lower arm 13, first upper arm 14, and second upper arm 15 of robot arm 10 are linearly extended, as illustrated in
(50) Next, as illustrated in
(51) As illustrated in
(52) In this case, when robot arm 10 sequentially changes joint angle .sub.2 of second joint J2 so as to take the position illustrated in
(53) With reference to
(54) With reference to
(55) As illustrated in
(56) Accordingly, in calculating a compensation amount, a compensation amount can be calculated in consideration of an actual deflection angle as compared with the conventional deflection compensation method, and the positional displacement of the work point of tool 18 can be suppressed.
(57) The following will describe the relationship between joint angle .sub.3 of third joint J3 and an error with respect to the target position of the work point of tool 18.
(58) First, as illustrated in
(59) Next, as illustrated in
(60) As illustrated in
(61) In this case, when robot arm 10 sequentially changes joint angle .sub.3 of third joint J3 so as to take the position illustrated in
(62) With reference to
(63) As illustrated in
(64) Accordingly, in calculating a compensation amount, a compensation amount can be calculated in consideration of an actual deflection angle as compared with the conventional deflection compensation method, and the positional displacement of the work point of tool 18 can be suppressed.
(65) As described above, the method of controlling robot 1 according to the present exemplary embodiment calculates compensation amounts .sub.2 and .sub.3 for second joint J2 and third joint J3 using not only the deflection angles of second joint J2 and third joint J3, pivotable in the gravity direction, in the pivoting direction of their rotary shafts but also the deflection angles of first joint J1 and fourth joint J4 in the tilting direction of their rotary shafts. Compensation amounts .sub.2 and .sub.3 thus calculated reduce the positional displacement of the tip of robot arm 10.
(66) <Specific Position>
(67) The inventor of the present application has found that there is a specific position in which the deflection compensation amount rapidly increases when robot arm 10 is in a predetermined position (see
(68) More specifically, equation (3) described above derives compensation amount .sub.2 of second joint J2. Equation (4) described above derives compensation amount .sub.3 of third joint J3. Equations (3) and (4) each include (z.sub.3 r.sub.2r.sub.3 z.sub.2) as a variable of the denominator of the second term.
(69) In this case, the variable (z.sub.3r.sub.2r.sub.3 z.sub.2) is equivalent to the value obtained by integrating distance D1 and distance D2. Distance D1 is the distance between the axes of the rotary shafts of second joint J2 and third joint J3. Distance D2 is the distance from the work point of the tip of robot arm 10 to virtual straight line 30 passing through the axis of second joint J2 and the axis of third joint J3.
(70) When the variable (z.sub.3r.sub.2r.sub.3z.sub.2) approaches 0, the deflection compensation amount, that is, the correction angle diverges infinitely and rapidly increases. In the following description, the variable (z.sub.3r.sub.2r.sub.3z.sub.2) is set as a determination value for determining a specific position.
(71)
(72) As illustrated in
(73) Therefore, when a deflection compensation amount is calculated using equations (3) and (4) described above even though robot arm 10 is in a specific position, the correction angle rapidly changes. Therefore, the safety function of robot arm 10 may work and the apparatus may stop.
(74) Therefore, in the present exemplary embodiment, when the absolute value (|z.sub.3 r.sub.2r.sub.3z.sub.2|) of the determination value is smaller than predetermined threshold value Dth, the calculation formula for a deflection compensation amount is changed such that the correction angle continuously changes with emphasis on stability.
(75) More specifically, in the case illustrated in
(76) On the other hand, when the absolute value of the determination value is smaller than the threshold (|z.sub.3r.sub.2 r.sub.3 z.sub.2|<Dth), the determination value is not included in the denominator of the second term, and a deflection compensation amount is calculated using a calculation formula capable of suppressing a rapid increase in the deflection compensation amount.
(77) For example, in the hatched range (from 0.1 to +0.1) in
(78) Within this range, the change in correction angle may be linearly complemented as illustrated in
(79) A calculation formula for calculating a deflection compensation amount when the determination value is smaller than the threshold value will be described below. Compensation amount .sub.2 of second joint J2 can be calculated by equation (5) given below.
.sub.2=(.sub.2/k.sub.2)+(z.sub.3rr.sub.3.sub.z)(z.sub.3r.sub.2r.sub.3z.sub.2)/Dth.sup.2(5)
(80) That is, compensation amount .sub.2 of second joint J2 is calculated based on the deflection angles of first joint J1, second joint J2, and fourth joint J4, and threshold value Dth.
(81) Compensation amount .sub.3 for third joint J3 can be calculated by equation (6) given below.
.sub.3=(.sub.3/k.sub.3)+(r.sub.2.Math.zz.sub.2.Math..sub.r)(z.sub.3r.sub.2r.sub.3z.sub.2)/Dth.sup.2(6)
(82) That is, compensation amount .sub.3 of third joint J3 is calculated based on the deflection angles of first joint J1, third joint J3, and fourth joint J4, and threshold value Dth.
(83)
(84) In the region where the determination value is smaller than 0.1 and the region where the determination value is larger than 0.1, compensation amount .sub.2 of second joint J2 is calculated using equation (3) described above. On the other hand, within the hatched threshold range (from 0.1 to +0.1) in
(85)
(86) In the region where the determination value is smaller than 0.1 and the region where the determination value is larger than 0.1, compensation amount .sub.3 of third joint J3 is calculated using equation (4) described above. On the other hand, within the hatched threshold range (from 0.1 to +0.1) in
(87) As described above, in the case illustrated in
(88) In the above exemplary embodiment, robot arm 10 includes first joint J1, second joint J2, third joint J3, and fourth joint J4 in this order. The present invention is also applicable to a robot arm including first joint J1 to fourth joint J4 in an order different from that in the above exemplary embodiment. For example, the robot arm may include first joint J1, fourth joint J4, second joint J2, and third joint J3 in this order. Similarly to the exemplary embodiment, first joint J1 and fourth joint J4 are configured such that the tilt of each rotary shaft affects the positional displacement of the tip of robot arm 10. Similarly to the exemplary embodiment, second joint J2 and third joint J3 are configured such that each rotary shaft rotates in the gravity direction.
INDUSTRIAL APPLICABILITY
(89) As described above, the present invention is extremely useful and has high industrial applicability because it is possible to obtain a highly practical effect that the positional displacement of the tip of the robot arm due to the deflections of the joint of the robot arm can be suppressed.
REFERENCE MARKS IN THE DRAWINGS
(90) 1 robot 10 robot arm 30 virtual straight line J1 first joint J2 second joint J3 third joint J4 fourth joint