Robot control method
11298819 · 2022-04-12
Assignee
Inventors
- Hiroyuki Nakata (Osaka, JP)
- Atsumi Hashimoto (Osaka, JP)
- Ryosuke Yamamoto (Osaka, JP)
- Yasuyoshi Honuchi (Osaka, JP)
Cpc classification
B25J9/1694
PERFORMING OPERATIONS; TRANSPORTING
H02P29/64
ELECTRICITY
B25J9/1641
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1628
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1674
PERFORMING OPERATIONS; TRANSPORTING
International classification
H02P21/00
ELECTRICITY
Abstract
A robot control method of controlling motion of a robot arm by using a servo motor includes adding d-axis electric current to a motor electric current command (steps 15-6, 15-8) if external temperature is less than or equal to a predetermined value (step 15-3), and if an absolute value of the motor electric current command is less than or equal to a predetermined value (step 15-4), and if a value of detected overload is less than or equal to a predetermined value (step 15-5).
Claims
1. An apparatus for controlling motion of a robot arm, the apparatus comprising: a temperature sensor that measures a temperature; and a servo controller that determines whether the temperature is less than or equal to a first predetermined value, determines whether an absolute value of a motor electric current command is less than or equal to a second predetermined value if the temperature is less than or equal to the first predetermined value, determines whether a value of a detected overload is less than or equal to a third predetermined value if the absolute value of the motor electric current command is less than or equal to the second predetermined value, and adds a d-axis electric current to the motor electric current command if the value of detected overload is less than or equal to the third predetermined value, and controls the motion of the robot arm using the motor electric current command after the d-axis electric current is added to the motor electric current command.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
DESCRIPTION OF EMBODIMENT
(19) Hereinafter, an exemplary embodiment will be described in detail with reference to the drawings. The following preferred exemplary embodiment is essentially an example.
(20)
(21)
(22) As illustrated in
(23) A conventional servo controller will be described before servo controller 65 according to the present exemplary embodiment is described.
(24)
(25) Velocity control block 10 multiplies a difference between velocity loop command ωcom and motor velocity feedback ωm by velocity proportional gain 8. Velocity control block 10 determines motor velocity feetback ωm by differentiating motor position feedback θm with respect to derivative element 32. Velocity control block 10 multiplies an integral of the difference by velocity integral gain 9. Velocity control block 10 generates motor torque electric current command Iq by adding the multiplied integral to the difference multiplied by velocity proportional gain 8.
(26) Field weakening control may be necessary to rotate the motor at high velocity. The field weakening control weakens counter-electromotive force in the motor that increases in proportion to rotation of the motor. That is, a difference between the counter-electromotive force in the motor and voltage of a power source is maintained. Therefore, electric current flows through the motor, and thus the motor is rotated.
(27) The field weakening control is generally performed by vector addition of motor torque electric current command Iq and field weakening electric current command Id0 for a motor reactive electric current component. At that time, motor command electric current Im is calculated using Equation (1).
Im=Iq+j×Id0 (1)
(28) where j is imaginary unit (that represents a reactive component).
(29) The calculation is performed in d-axis-electric-current adding zeroth-block 100 in
(30) As illustrated in
Id0=k1×ωm+k2×Iq (2)
(31) where k1 is a coefficient of proportionality for velocity and k2 is a coefficient of proportionality for torque.
(32) If a robot is stopped, ωm may be zero and Iq may be zero, and thus Id0 may be zero and Im may be zero at an axis to which gravity is not applied. In that case, electric current does not flow through the motor, and the motor does not generate heat. If grease for reduction gears hardens at low temperature, the grease for reduction gears is not heated.
(33) In a method proposed in PTL 1, value Id1 of addition of d-axis electric current is determined based on a temperature sensor and motor torque electric current command Iq. Consequently, reactive electric current component flows through a motor and the motor generates heat even when the motor is stopped. Consequently, grease for reduction gears is heated, and viscous friction of the grease for reduction gears is decreased.
(34)
(35)
(36) In step 8-1 in
(37) In step 8-2, it is determined whether value Tc of the temperature sensor is less than threshold Tcth of the temperature sensor. If value Tc of the temperature sensor is less than threshold Tcth of the temperature sensor, step 8-3 is performed. If value Tc of the temperature sensor is not less than threshold Tcth of the temperature sensor, step 8-5 is performed.
(38) In step 8-3, it is determined whether an absolute value of motor torque electric current command Iq is less than motor torque electric current threshold Iqth. If the absolute value of motor torque electric current command Iq is less than motor torque electric current threshold Iqth, step 8-4 is performed. If the absolute value of motor torque electric current command Iq is not less than motor torque electric current threshold Iqth, step 8-5 is performed.
(39) In step 8-4, value Id_add assigned to a value of addition of d-axis electric current is assigned to value Id1 of addition of d-axis electric current.
(40) On the other hand, in step 8-5, “zero” is assigned to value Id1 of addition of axis electric current.
(41) Steps 8-2 to 8-5 are performed in d-axis-addition determining first-block 104 in
(42) In step 8-6, motor command electric current Im is calculated using Equation (3) as follows:
Im=Iq+j×(Id0+Id1) (3)
(43)
(44) The heated motor heats grease for reduction gears that hardens at low temperature. Consequently, viscous friction of the grease for reduction gears is decreased.
(45) If d-axis electric current has flowed by field weakening (Id0≠0), however, the method may allow motor command electric current Im to exceed a maximum allowable value or may cause wrong overload.
(46) Absolute value Ia of motor command electric current Im is calculated using Equation (4) as follows:
Ia=|Im|=√(Iq.sup.2+(Id0+Id1).sup.2) (4)
(47) A motor has a maximum allowable value for electric current that flows through the motor. If an absolute value of electric current through the motor exceeds the maximum allowable value, winding of the motor may be damaged, or a magnet of the motor may be demagnetized.
(48) Before value Id1 of addition of d-axis electric current is added, absolute value Ia of motor command electric current Im may have reached the maximum allowable value. Even if an absolute value of motor torque electric current command Iq is less than motor torque electric current threshold Iqth, absolute value Ia of motor command electric current Im may reach a maximum allowable value for Im after field weakening electric current command Id0 is added.
(49) In such a situation, if value Id1 of addition of d-axis electric current that is reactive electric current for dealing with the low temperature is added, absolute value Ia of motor command electric current Im exceeds the maximum allowable value for Im, as illustrated in
(50) That is, if value Id1 of addition of d-axis electric current is determined by only monitoring motor torque electric current command Iq, as in PTL 1, absolute value Ia of motor command electric current Im may exceed the maximum allowable value for Im. Consequently, winding of the motor may be damaged, or a magnet of the motor may be demagnetized.
(51) Next, an overload detecting function will be described. The overload detecting function detects overload. Consequently, an integral of absolute value Ia of motor command electric current Im over time does not exceed a limit. The limit is a limit on rise in temperature of winding of a motor.
(52)
(53) The overload detecting function detects overload. Consequently, an integral of absolute value Ia of motor command electric current Im over time is less than or equal to the limit.
(54)
(55) In step 11-1, value OLdet of detected overload is determined using Equation (5) as follows:
OLdet=OLdet(n−1)+(Ia−Iath)×ΔT (5)
(56) where Iath is a threshold of electric current of detection of overload, and
(57) ΔT is an interval at which detection of overload is performed.
(58) In Equation (5), OLdet(n−1) is a value (OLdet) of detected overload that has been detected one interval before. In step 11-2, value OLdet of detected overload is compared with first threshold OLth of overload. If a condition of Inequality (6) is satisfied, overload is determined.
OLdet≥OLth (6)
(59) If determination is “Y” in step 11-2, overload is determined, and the motor is stopped in step 11-3. Further, in step 11-4, notice of malfunction is displayed, and a process of detecting overload is finished. The display of notice of malfunction is display of a message “overload is detected” on controls and display 63 in
(60) If determination is “N” in step 11-2, no overload is determined, and the process of detecting overload is finished.
(61) In
(62) A problem of viscous friction of grease for reduction gears at low temperature will be described with reference to
(63) Block 18 that illustrates a motor and external force in
(64) Iq is used instead of Im in Equation (7) because Iq is an active component for generation of torque. Since it is supposed that reduction gears 53 are rigid bodies, output position θL from which reduction gears output is a value calculated by only multiplying motor position feedback θm by gear ratio (coefficient of proportionality). Therefore, derivative ωm that is a derivative of position feedback θm of the motor is used instead of output position θL from which the reduction gears output in Equation (8).
τm=Kt×Iq (7)
τm=τdyn+τdis+Jm×αm+D×ωm+τμ (8)
(65) where Kt is a motor torque constant, Iq is motor electric current, αm is motor angular acceleration (derivative of ωm), ωm is motor angular velocity, Jm is motor inertia (rotor+first stage of reduction gears), D is a viscous friction coefficient, τμ is dynamic friction torque, τdyn is dynamic torque (a sum of gravity torque, inertial force, centrifugal force, and Coriolis force), and τdis is collision torque,
(66) where dynamic friction torque τμ is calculated using Equation (9) as follows:
τμ=Kμ×sgn (9)
(67) where Kμ is magnitude of dynamic friction, and
(68) sgn is 1 (ωm>0), 0 (ωm=0), or −1 (ωm<0).
(69) If temperature falls, especially falls to 5° C. or lower, viscous friction coefficient D in Equation (8) significantly increases. Therefore, torque τm generated by the motor that is necessary to drive the load side increases, and thus motor torque electric current command Iq that generates torque τm increases. Consequently, absolute value Ia of motor command electric current Im calculated using Equation (4) also increases.
(70) That is, even if a robot operates the same way, absolute value Ia of motor command electric current Im is higher at a low temperature that is lower than or equal to 5° C. than at a normal temperature that is approximately 20° C. Consequently, value OLdet of detected overload calculated using Inequality (6) also increases.
(71) If value Id1 of addition of d-axis electric current is added to deal with the low temperature, absolute value Ia of motor command electric current Im increases further, and thus value OLdet of detected overload also increases further. If the condition of Inequality (6) is satisfied by the increase in value OLdet of detected overload, wrong overload detection occurs, and the control equipment stops.
(72) Hereinafter, first servo controller 65 according to the present exemplary embodiment will be described to decrease viscous friction of grease for reduction gears at low temperature without demagnetizing a magnet of a motor and causing wrong overload detection.
(73)
(74)
(75)
(76) In step 15-1, field weakening electric current command Id0 is calculated in field weakening block 102 in
(77) In step 15-2, absolute value Ia2 of motor command electric current Im before addition of d-axis electric current is determined (Equation (10)) in absolute-value-before-addition calculating block 205 in
Ia2=√(Iq.sup.2+Id0.sup.2) (10)
(78) In step 15-3, value Tc of the temperature sensor is compared with threshold Tcth of the temperature sensor. If value Tc of the temperature sensor is less than threshold Tcth of the temperature sensor, step 15-4 is performed. If value Tc of the temperature sensor is not less than threshold Tcth of the temperature sensor, step 15-7 is performed.
(79) In step 15-4, Ia2 calculated in step 15-2 is compared with threshold Iath2 of an absolute value of electric current. If Ia2 is less than Iath2, step 15-5 is performed. If Ia2 is not less than Iath2, step 15-7 is performed.
(80)
(81) Next, in step 15-5, value OLdet of detected overload is compared with second threshold OLth2 of overload. Value OLdet of detected overload is calculated in overload detecting block 204 in
(82) In step 15-6, value Id_addA assigned to a value of addition of d-axis electric current is assigned to value Id1A of addition of d-axis electric current.
(83) On the other hand, in step 15-7, “zero” is assigned to value Id1A of addition of d-axis electric current.
(84) Steps 15-3 to 15-7 are performed in d-axis-addition determining second-block 202 in
(85) In step 15-8, motor command electric current Im is calculated using Equation (11) as follows:
Im=Iq+j×(Id0+Id1A) (11)
(86)
(87) Next, detection of overload according to the present exemplary embodiment will be described with reference to
(88) As shown in
(89) While a condition (Ia2<Iath2) in step 15-4 is satisfied until time t1, processes in steps 15-6 and 15-8 are performed, and thus d-axis electric current is added. Therefore, increase in value OLdet of detected overload calculated in Equation (5) is highly probable, and thus value OLdet of detected overload tends to increase generally until time t1.
(90) The condition in step 15-5 becomes unsatisfied at time t1. Then Id1A=0 is satisfied in step 15-7, and thus d-axis electric current is not added. Therefore, tendency for addition of d-axis electric current to increase value OLdet of detected overload ends, and thus value OLdet of detected overload is not allowed to exceed first threshold OLth of overload. That is, wrong overload detection is not allowed to occur.
(91) As described above, a robot control method according to the present exemplary embodiment controls motion of a robot arm by using servo motors connected to reduction gears, and includes: determining whether temperature is less than or equal to a predetermined value; determining whether an absolute value of a motor electric current command is less than or equal to a predetermined value; determining whether a level of detected overload is less than or equal to a predetermined value; and adding d-axis electric current.
(92) The second to fifth servo controllers of robot controller 62 in
INDUSTRIAL APPLICABILITY
(93) A robot control method according to the present disclosure makes a motor generate heat to decrease viscous friction of grease for reduction gears at low temperature without demagnetizing a magnet of the motor and causing wrong overload. Therefore, the robot control method according to the present disclosure is usefully applied to industrial robots, such as welding robots.
REFERENCE MARKS IN THE DRAWINGS
(94) 5: position proportional gain 6: position control block 8: velocity proportional gain 9: velocity integral gain 10: velocity control block 18: block that illustrates motor and external forces 32: derivative element 51: encoder 52: encoder 53: reduction gears 61: robotic mechanism 62: robot controller 63: controls and display 64: main controller 65: servo controller 66: motor 100: d-axis-electric-current adding zeroth-block 102: field weakening block 104: d-axis-addition determining first-block 150: d-axis-electric-current adding first-block 200: d-axis-electric-current adding second-block 202: d-axis-addition determining second-block 204: overload detecting block 205: absolute-value-before-addition calculating block ωm: motor velocity feedback θcom: position command θm: position feedback θL: output position from which reduction gears output ωcom: velocity loop command Im: motor command electric current τm: torque generated by motor τdyn: dynamic torque (sum of gravity torque, inertial force, centrifugal force, and Coriolis force) τμ: dynamic friction torque τdis: collision torque Tc: value output from temperature sensor Iq: motor torque electric current command Id0: field weakening electric current command Id1: value of addition of d-axis electric current Ia: absolute value of motor command electric current Im Ia2: absolute value of motor command electric current Im before addition of d-axis electric current Iath: threshold of electric current of detection of overload Iath2: threshold of absolute value of electric current (for determination of addition of d-axis electric current) Id1A: value of addition of d-axis electric current Id_addA: value assigned to value of addition of d-axis electric current OLdet: value of detected overload OLth: first threshold of overload (for determination of overload) OLth2: second threshold of overload (for determination of addition of d-axis electric current)