Robot control device and robot control method
The robot control device addresses the inadequacy in predicting motor temperature by incorporating a correction unit to account for both copper and iron losses, ensuring accurate temperature prediction and control, thus preventing motor overheating and overload.
Patent Information
- Application Number
- PCT/JP2023/027783
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-28
- Publication Date
- 2025-02-06
AI Technical Summary
Existing robot control systems inadequately predict motor temperature, particularly when varying load masses are involved, as they only consider copper losses and not iron losses, leading to potential motor overheating and overload detection issues.
A robot control device that includes a current detection unit, a heat generation prediction unit, and a correction unit to calculate and correct heat generation predictions based on both copper and iron losses, using the load mass to accurately predict motor temperature and control motor operation.
This solution allows for accurate motor temperature prediction and control, preventing overheating and overload, regardless of motor characteristics, by accounting for iron losses and adjusting operation parameters accordingly.
Smart Images

Figure JP2023027783_06022025_PF_FP_ABST
Abstract
Description
Robot control device and robot control method
[0001] The present disclosure relates to a robot control device and a robot control method that appropriately predict the temperature of a motor that drives a robot axis.
[0002] Robots are often configured with joints equipped with motors to perform complex tasks. Robots that grasp and transport objects have a robot hand, structured appropriately for the task, attached to the end of the robot arm. Robots equipped with a robot hand have a load mass, which is the sum of the mass of the robot hand and the mass of the object to be grasped, that varies depending on the mass of the object to be grasped by the robot hand or the mass of the robot hand itself.
[0003] In robot control, the robot arm and robot hand are operated by changing acceleration and deceleration in response to the load mass stored in the robot control device that controls the robot. As the load mass on the robot becomes lighter, the high-speed range of operation of the motor installed in the robot increases, and heat generation due to iron loss in the motor increases.
[0004] For this reason, in robots, motor heat generation is predicted to protect the motor from heat generation and motor overload is detected based on the motor heat generation state. In predicting motor heat generation, a common method is to predict motor heat generation using the motor current value, which is the value of the motor current supplied to the motor.
[0005] However, when predicting motor heat generation using only the motor current value, only copper loss, which is a factor in motor heat generation, is considered, and the effects of iron loss and the like in the motor are not taken into account. Therefore, when controlling the operation of a robot based on a motor heat generation prediction using only the motor current value, if the load mass is light, the motor may exceed the allowable temperature even though the predicted heat generation value is below a predetermined threshold value to prevent the motor from exceeding the allowable temperature. Therefore, predicting motor heat generation using only the motor current value is not sufficient to protect the motor from heat generation.
[0006] In particular, for robots with large payload capacities, the range of masses of objects to be grasped is large, resulting in large variations in load mass. If the heat generation prediction threshold is set to match the no-load case in order to reliably protect the motor from heat generation, an overload will be detected even when the motor is below its allowable temperature under maximum load, making this impractical.
[0007] Therefore, Patent Document 1 describes a temperature estimation device that calculates the amount of heat generated by primary copper loss in the motor coil and the amount of heat generated by iron loss in the motor stator core, and estimates the temperatures of the motor's components using a motor model. The temperature estimation device described in Patent Document 1 calculates not only the amount of heat generated by the motor's copper loss, but also the amount of heat generated by the motor's iron loss, and predicts the heat generation of the motor.
[0008] International Publication No. 2022 / 085545
[0009] However, while the temperature estimation device described in Patent Document 1 predicts heat generation in a motor, including iron loss, it requires data on the motor itself, such as loss at maximum output corresponding to the rotation speed of the motor itself, loss at no load, and current at maximum output, which makes it difficult to obtain data if the company developing the robot control device does not develop the motor itself.
[0010] The present disclosure has been made in view of the above, and aims to provide a robot control device that can appropriately predict the temperature of a motor regardless of the characteristics of the motor itself.
[0011] In order to solve the above-mentioned problems and achieve the object, a robot control device according to the present disclosure is a robot control device for controlling the operation of a robot arm having motors mounted at joints, and includes: a current detection unit that detects a motor current value, which is the value of the motor current supplied to the motor; a predicted heat generation value calculation unit that calculates a predicted heat generation value of the motor based on the motor current value; a predicted heat generation value correction unit that corrects the predicted heat generation value based on a load mass, which is the sum of the mass of a robot hand connected to the robot arm and gripping an object to be gripped, and the mass of the object to be gripped, to calculate a corrected predicted heat generation value; and a motor control unit that controls the operation of the motor based on the corrected predicted heat generation value.
[0012] According to the present disclosure, it is possible to provide an effect of being able to appropriately predict the temperature of a motor regardless of the characteristics of the motor itself.
[0013] 1 is a diagram showing an example of a control method for controlling a robot by a robot control device in a robot system according to a second embodiment; FIG. 2 is a diagram showing an example of a control method for controlling a robot by a robot control device in a robot system according to a second embodiment; FIG. 3 is a diagram showing an example of a control method for controlling a first axis motor by a first axis motor control unit in a predetermined reference maximum speed in a third embodiment; FIG. 4 is a diagram showing an example of a control method for controlling a first axis motor by a first axis motor control unit in a predetermined stop time between transport operations in a third embodiment;
[0014] A robot control device and a robot control method according to an embodiment will be described in detail below with reference to the accompanying drawings.
[0015] First Embodiment Fig. 1 is an overall view of a robot system according to a first embodiment. Fig. 2 is a diagram showing the configuration of a robot control device and a robot provided in the robot system according to the first embodiment. Fig. 3 is a diagram showing the flow of information in the robot system according to the first embodiment. The robot system 100 includes a robot 1 installed on an assembly stand 300 and a robot control device 2 that controls the robot 1. The robot 1 and the robot control device 2 are connected by a communication line 3. The robot 1 is a device that grasps and transports a grasped object W, and includes a robot hand 13 that grasps the grasped object W. The robot 1 is used for applications such as product production.
[0016] The object to be grasped W is an object to be transported by the robot 1 and is an object to be grasped by the robot hand 13. The robot control device 2 is a computer that controls the operation of each axis connected to each motor by controlling each motor of the robot 1. The robot control device 2 controls the operation of the axes of the robot 1, thereby controlling the position of the robot hand 13.
[0017] The robot 1 includes a base 11 disposed on an assembly stand 300 and has a robot arm 12 supported by the base 11. The base 11 is rotatable in the plane of the assembly stand 300. That is, the base 11 is provided with a motor (not shown) that rotates the entire robot arm 12, including the base 11, in the plane of the assembly stand 300. A robot hand 13, which is a part gripper, is attached to the tip of the robot arm 12, which is the wrist of the robot arm 12. The robot hand 13 is controlled by a robot control device 2 and grips a gripping target W.
[0018] Although FIG. 1 shows a case where the robot 1 includes one robot arm 12, the robot 1 may include multiple robot arms 12.
[0019] The robot arm 12 includes a first robot arm portion 121 a, a second robot arm portion 121 b, a third robot arm portion 121 c, a first joint portion 122 a, a second joint portion 122 b, a third joint portion 122 c, motors for each axis, and encoders for each axis. The side of the robot arm 12 closer to the base portion 11 is called one end, and the side closer to the robot hand 13 is called the other end.
[0020] The first joint portion 122a is supported by the base portion 11. The first joint portion 122a rotatably supports the first robot arm portion 121a and drives the first robot arm portion 121a to rotate.
[0021] One end of the first robot arm unit 121a is connected to a first joint unit 122a, and the other end is connected to a second joint unit 122b. The first robot arm unit 121a is driven to rotate around the first joint unit 122a by the first joint unit 122a.
[0022] The second joint 122b rotatably connects the other end of the first robot arm 121a to one end of the second robot arm 121b. The second joint 122b rotatably supports the second robot arm 121b and drives the second robot arm 121b to rotate.
[0023] The second robot arm unit 121b has one end connected to the second joint unit 122b and the other end connected to the third joint unit 122c. The second robot arm unit 121b is driven to rotate around the second joint unit 122b by the second joint unit 122b.
[0024] The third joint 122c rotatably connects the other end of the second robot arm 121b to one end of the robot hand 13. The third joint 122c rotatably supports the robot hand 13 and drives the robot hand 13 to rotate.
[0025] The robot 1 is provided with the same number of axis motors as the number of axes of the robot 1. In the first embodiment, the robot 1 is provided with three axes: a first axis 123a, a second axis 123b, and a third axis 123c. Therefore, the robot 1 is provided with three axis motors: a first axis motor EM1 that imparts rotational power to the first axis 123a, a second axis motor EM2 that imparts rotational power to the second axis 123b, and a third axis motor EM3 that imparts rotational power to the third axis 123c. A drive current is supplied to each axis motor from a power supply (not shown).
[0026] The first joint 122a has a built-in first axis motor EM1 that is an axis motor EM that rotationally drives the first robot arm 121a. The first axis motor EM1 is connected to a first axis 123a provided in the first joint 122a, and applies rotational power to the first robot arm 121a via the first axis 123a.
[0027] The second joint 122b has a built-in second axis motor EM2 that is an axis motor EM that rotationally drives the second robot arm 121b. The second axis motor EM2 is connected to a second axis 123b provided in the second joint 122b, and applies rotational power to the second robot arm 121b via the second axis 123b.
[0028] The third joint 122c incorporates a third axis motor EM3, which is an axis motor EM that rotationally drives the robot hand 13. The third axis motor EM3 is connected to a third axis 123c provided in the third joint 122c, and applies rotational power to the robot hand 13 via the third axis 123c.
[0029] In the following description, when there is no need to distinguish between the first-axis motor EM1, the second-axis motor EM2, and the third-axis motor EM3, they may be simply referred to as motors EM.
[0030] An axis encoder is connected to each axis motor in the robot 1. Each axis encoder acquires joint angle data, which is data on the joint angle of each axis motor, in real time and feeds it back to the axis motor control unit (described later). The joint angle data of the axis motor can be considered the rotation angle of the axis motor.
[0031] A reduction gear (not shown) that rotates the shaft of the robot 1 using, for example, the principle of a harmonic gear is connected to the rotation of the rotation shaft of each motor. The rotation of the rotation shaft of each motor is transmitted to the shaft of the robot 1 through the reduction gear, causing the shaft to rotate. In this way, a rotation mechanism that rotates the shaft of the robot 1 is configured by providing each motor and reduction gear.
[0032] The robot 1 is provided with three axis encoders, the number of which is the same as the number of axes of the robot 1. Therefore, the robot 1 is provided with three axis encoders: a first-axis encoder E1 that is an encoder E that detects the joint angle of the first-axis motor EM1, a second-axis encoder E2 that is an encoder E that detects the joint angle of the second-axis motor EM2, and a third-axis encoder E3 that is an encoder E that detects the joint angle of the third-axis motor EM3.
[0033] The robot control device 2 includes a control unit 21 and a storage unit 22 .
[0034] The memory unit 22 stores various types of information used to control the robot 1. That is, the memory unit 22 stores various types of information used to control the transport operation of the robot 1 for the object to be grasped W. The memory unit 22 also stores information such as the maximum rotation speed that can be achieved by each axis motor and the angular range of the rotation angle that can be achieved by each axis motor.
[0035] The control unit 21 predicts a heat generation prediction value, which is a predicted value of the temperature of the motor of the robot 1, and controls the motor of the robot 1 based on the predicted heat generation value to control the operation of the robot 1. The control unit 21 feedback-controls each axis motor using data on the motor current value of each axis motor detected by each axis motor current detection unit, which will be described later.
[0036] The control unit 21 includes an operation command generating unit 210, an axis motor control unit, and an axis motor current detection unit.
[0037] The axis motor current detection unit detects in real time the motor current value I, which is the value of the motor current supplied from the robot control device 2 to each axis motor of the robot 1 via the communication line 3, and feeds it back to a heat generation prediction value calculation unit 211 (described later) of the operation command generation unit 210 of the robot control device 2. The robot control device 2 includes a power supply unit (not shown) that supplies motor current to each axis motor of the robot 1 via the communication line 3. The axis motor current detection unit detects the motor current value I, which is the value of the motor current supplied from the power supply unit to each axis motor of the robot 1 via the communication line 3.
[0038] The number of axis motor current detectors provided is the same as the number of axis motors of the robot 1. Therefore, the control unit 21 is provided with three axis motor current detectors: a first-axis motor current detector S1 that is a motor current detector S that detects the motor current value I of the first-axis motor EM1; a second-axis motor current detector S2 that is a motor current detector S that detects the motor current value I of the second-axis motor EM2; and a third-axis motor current detector S3 that is a motor current detector S that detects the motor current value I of the third-axis motor EM3. Note that the axis motor current detectors may not be included in the control unit 21 in the robot control device 2, but may be provided as components independent of the control unit 21.
[0039] The motion command generation unit 210 generates a reference motion command for controlling a predetermined reference motion of each axis motor in order to control a predetermined conveying motion of the grasped object W in the robot 1. The motion command generation unit 210 generates a control command for feedback control of the conveying motion of each axis motor using a control program stored in the storage unit 22. The reference motion command includes various information such as information on the rotation angle and motor speed of each axis motor. The motion command generation unit 210 transmits the generated motion command to each axis motor control unit. Each axis motor control unit controls each axis motor based on the motion command.
[0040] In addition, the operation command generation unit 210 predicts a heat generation prediction value, which is a predicted value of the temperature of each axis motor of the robot 1, and generates a corrective operation command to control the operation of each axis motor of the robot 1 based on the predicted heat generation prediction value.
[0041] The correction operation command is an operation command for controlling a correction operation in which a predetermined reference operation of each axis motor is corrected based on the temperature of each axis motor. The correction operation command includes various information such as information on the rotation angle and motor speed of each axis motor.
[0042] The operation command generation unit 210 calculates a predicted heat generation value ε of each axis motor due to copper loss based on the motor current value I, and corrects the predicted heat generation value ε to calculate a corrected predicted heat generation value ε', which is the corrected predicted heat generation value of each axis motor. The operation command generation unit 210 generates a corrected operation command that corrects the reference operation based on the corrected predicted heat generation value ε'. The operation command generation unit 210 transmits the generated corrected operation command to each axis motor control unit. Each axis motor control unit controls each axis motor based on the corrected operation command.
[0043] The predicted heat generation value is a predicted value of the temperature of each axis motor when the robot 1 performs a transport operation.
[0044] The predicted heat generation value ε is a predicted value of the temperature of the shaft motor when only copper loss based on the motor current value I is taken into consideration among the losses of the shaft motor that are the cause of heat generation of the shaft motor.
[0045] The corrected heat generation prediction value ε' is a prediction value of the temperature of the axis motor, in which the heat generation prediction value ε is corrected taking into account the iron loss of each axis motor using the load mass M, which is the sum of the mass of the robot hand 13 and the mass of the object to be grasped W.
[0046] The operation command generation unit 210 includes a heat generation prediction value calculation unit 211 , a heat generation prediction value correction unit 212 , and a motor speed calculation unit 213 .
[0047] The predicted heat generation value calculation unit 211 predicts a predicted heat generation value, which is a predicted value of the temperature of each axis motor taking into account only the copper loss and iron loss of each axis motor. The predicted heat generation value calculation unit 211 calculates the predicted heat generation value ε of each axis motor using the motor current value I and coefficient L of each axis motor according to the following equation (1). That is, the predicted heat generation value calculation unit 211 calculates the predicted heat generation value ε of each axis motor due only to copper loss, based on the motor current value I. The predicted heat generation value calculation unit 211 acquires the motor current value I of each axis motor detected by the axis motor current detection unit.
[0048] The coefficient L is a coefficient for calculating the predicted heat generation value ε of each axis motor based on the motor current value I of each axis motor, and is determined in advance and stored in the predicted heat generation value calculation unit 211. The coefficient L is set so that the predicted heat generation value ε when the motor temperature T of each axis motor under maximum load becomes the allowable temperature Ts of each axis motor is used as a threshold value.
[0049] The threshold value is a reference value of the predicted heat generation value ε at which the motor temperature T does not exceed the allowable temperature Ts of the motor, and is a reference value for detecting an overload of each axis motor.
[0050] The maximum load on each axis motor occurs when the load mass M, which is the sum of the mass of the robot hand 13 and the mass of the object to be grasped W, is at its maximum.
[0051]
[0052] The predicted heat generation value correction unit 212 corrects the predicted heat generation value ε of each axis motor calculated by the predicted heat generation value calculation unit 211, and calculates a corrected predicted heat generation value ε', which is the corrected predicted heat generation value of each axis motor. The predicted heat generation value correction unit 212 corrects the predicted heat generation value ε of each axis motor due only to copper loss based on the motor current value I, using a load mass M, which is the sum of the mass of the robot hand 13 and the mass of the grasped object W, and calculates the corrected predicted heat generation value ε'. The load mass M is determined in advance and stored in the storage unit 22. Note that information about the load mass M may be stored in the predicted heat generation value correction unit 212.
[0053] The predicted heat generation value correction unit 212 uses the following equation (2) to add a coefficient K based on the load mass M to the predicted heat generation value ε of each axis motor due only to copper loss obtained by the above equation (1), to calculate a corrected predicted heat generation value ε'.
[0054]
[0055] The predicted heat value corrector 212 that corrects the predicted heat value ε of each axis motor as described above can be said to be a means for predicting the temperature of each axis motor, taking into account the influence of heat generated by iron loss in each axis motor.
[0056] FIG. 4 is a characteristic diagram showing the relationship between the predicted heat generation value ε and the motor temperature T when the robot system according to the first embodiment is under maximum load and no load. In FIG. 4, the horizontal axis represents the motor temperature T. In FIG. 4, the vertical axis represents the predicted heat generation value ε. The coefficient K is a value greater than 0 (>0). The coefficient K is approximated by a linear expression of the load mass M, as shown in the following equation (3). The coefficient K is added to the predicted heat generation value ε, which is the predicted heat generation value due only to copper loss when the load mass is M.
[0057] The coefficient K is set to 0 when the load mass M is at its maximum, and to a maximum value Kmax when there is no load and the robot hand 13 and the object to be grasped W are not attached to the robot arm 12, so that the corrected predicted heat generation value ε' becomes the above-mentioned threshold value at the allowable temperature Ts of each axis motor. The value of the coefficient K becomes larger as the load mass M becomes lighter, and becomes the maximum value Kmax when there is no load. The threshold information is stored in the motor speed calculation unit 213. The threshold information may also be stored in the storage unit 22.
[0058]
[0059] To calculate Kmax, first, the robot 1 is operated at maximum load in multiple operations with different motor current values I to calculate the coefficient L. The predicted heat generation value ε and motor temperature T at this time are then obtained, and the predicted heat generation value ε and motor temperature T are plotted on a graph, and the plotted points are linearly approximated. The coefficient L is set so that the predicted heat generation value ε becomes the threshold value when the motor temperature T reaches the allowable temperature Ts of each axis motor. Similar processing is also performed in the no-load state. The difference Δε between the predicted heat generation value ε at maximum load and the predicted heat generation value ε at no-load when the allowable temperature Ts is shown in the graph of FIG. 4 becomes Kmax.
[0060] From the above equations (2) and (3), the corrected predicted heat generation value ε′ can be expressed by the following equation (4).
[0061]
[0062] The motor speed calculation unit 213 calculates appropriate acceleration and deceleration for each axis motor corresponding to the load mass M, which is the sum of the mass of the robot hand 13 and the mass of the object to be grasped W, and calculates appropriate motor speeds V for each axis motor corresponding to the load mass M. In the transport operation of the robot 1 to transport the object to be grasped W, the required motor torque changes according to the magnitude of the load mass M, and the required acceleration and deceleration of the motor changes. The motor speed calculation unit 213 transmits information on the calculated motor speeds V for each axis motor to the respective axis motor control units.
[0063] The load mass M is determined based on the mass of the robot hand 13 and the mass of the grasped object W, and is stored in the storage unit 22. The load mass M varies depending on the type of robot hand 13 and the type of grasped object W, and is uniquely determined by the type of robot hand 13 and the type of grasped object W. The load mass M may also be stored in the motor speed calculation unit 213.
[0064] When changing the mass of the robot hand 13 or the mass of the grasped object W, it is possible to connect an external device such as an input device to the robot control device 2 and input information about the load mass M from the input device to the motor speed calculation unit 213. That is, the robot control device 2 allows the user to set the load mass M, but does not have a component for detecting the load mass M. Therefore, the robot control device 2 does not change the control in accordance with the mass of the grasped object W during the conveyance operation of the grasped object W. It is also possible for the robot control device 2 to be equipped with an input device.
[0065] The axis motor control unit controls the operation of each axis motor based on the operation command or corrected operation command generated by the operation command generation unit 210, or on a motor operation control command input from outside the robot control unit 2. The robot control unit 2 includes a power supply unit (not shown) that supplies motor current to each axis motor of the robot 1 via the communication line 3. The axis motor control unit controls the motor current supplied from the power supply unit to each axis motor of the robot 1 via the communication line 3.
[0066] The robot control device 2 is provided with as many axis motor control units as there are axis motors of the robot 1. Therefore, the robot control device 2 is provided with three axis motor control units: a first axis motor control unit 220a that controls the first axis motor EM1, a second axis motor control unit 220b that controls the second axis motor EM2, and a third axis motor control unit 220c that controls the third axis motor EM3.
[0067] In the first embodiment, shaft motor control units are provided for the three shaft motors, but a configuration may be adopted in which one shaft motor control unit controls the three shaft motors.
[0068] Next, a method for controlling the robot 1 by the robot control device 2 will be described. FIG. 5 is a flowchart showing an example of the procedure of the method for controlling the robot by the robot control device in the robot system according to the first embodiment. The following describes a case where the first-axis motor control unit 220a of the robot control device 2 controls the first-axis motor EM1. Note that similar processing is performed when the second-axis motor control unit 220b of the robot control device 2 controls the second-axis motor EM2 and when the third-axis motor control unit 220c of the robot control device 2 controls the third-axis motor EM3. The following also shows an example of the procedure of the method for controlling the robot when the corrected predicted heat generation value ε' of the first-axis motor EM1 is close to a predetermined threshold value.
[0069] In step S110, the first-axis motor control unit 220a of the robot control device 2 initiates a movement command to the first-axis motor EM1. The first-axis motor control unit 220a initiates a movement command to the first-axis motor EM1 based on the movement command generated by the movement command generation unit 210, and begins control of the first-axis motor EM1. The movement command generation unit 210 generates a movement command including information on an appropriate motor speed V of the first-axis motor EM1 corresponding to the load mass M, calculated by the motor speed calculation unit 213. The first-axis motor EM1 operates under the control of the first-axis motor control unit 220a. Then, the process proceeds to step S120.
[0070] In step S120, the motor current value I of the motor current supplied to the first-axis motor EM1 is detected. Specifically, the first-axis motor current detection unit S1 of the robot control device 2 detects the motor current value I of the motor current supplied to the first-axis motor EM1 at a predetermined cycle. The first-axis motor current detection unit S1 transmits information on the detected motor current value I to the heat generation prediction value calculation unit 211 of the operation command generation unit 210 of the control unit 21 of the robot control device 2. Then, the process proceeds to step S130.
[0071] In step S130, the predicted heat generation value ε of the first-axis motor EM1 is calculated. Specifically, the predicted heat generation value calculation unit 211 calculates the predicted heat generation value ε of the first-axis motor EM1. The predicted heat generation value calculation unit 211 calculates the predicted heat generation value ε of the first-axis motor EM1 using the above equation (1) based on information about the motor current value I of the first-axis motor EM1 acquired from the first-axis motor current detection unit S1. The first-axis motor current detection unit S1 transmits information about the calculated predicted heat generation value ε to the predicted heat generation value correction unit 212. Then, the process proceeds to step S140.
[0072] In step S140, the corrected predicted heat generation value ε' of the first-axis motor EM1 is calculated. Specifically, the predicted heat generation value correction unit 212 calculates the corrected predicted heat generation value ε' of the first-axis motor EM1. The predicted heat generation value correction unit 212 calculates the corrected predicted heat generation value ε' of the first-axis motor EM1 using information on the predicted heat generation value ε of the first-axis motor EM1 acquired from the first-axis motor current detection unit S1, information on the load mass M stored in the storage unit 22, and the above equation (4). The predicted heat generation value correction unit 212 transmits information on the calculated corrected predicted heat generation value ε' to the motor speed calculation unit 213. Then, the process proceeds to step S150.
[0073] In step S150, the motor speed V of the first-axis motor EM1 during the operation of conveying the grasped object W is calculated. Specifically, the motor speed calculation unit 213 of the robot control device 2 calculates the motor speed V of the first-axis motor EM1 during the operation of conveying the grasped object W. When the corrected predicted heat generation value ε' is close to a predetermined threshold, the motor speed calculation unit 213 calculates the motor speed V of the first-axis motor EM1 during the operation of conveying the grasped object W based on the corrected predicted heat generation value ε' calculated by the predicted heat generation value correction unit 212. The motor speed calculation unit 213 transmits information about the calculated motor speed V of the first-axis motor EM1 during the operation of conveying the grasped object W to the operation command generation unit 210. The operation command generation unit 210 generates a corrected operation command including the motor speed V acquired from the motor speed calculation unit 213. The operation command generation unit 210 transmits the generated corrected operation command to the first-axis motor control unit 220a. Thereafter, the process proceeds to step S160.
[0074] In step S160, the conveying operation of the first-axis motor EM1 to convey the grasp target object W is controlled. Specifically, the first-axis motor control unit 220a controls the conveying operation of the first-axis motor EM1 to convey the grasp target object W. The first-axis motor control unit 220a controls the conveying operation of the first-axis motor EM1 to convey the grasp target object W based on the information of the corrected operation command acquired from the operation command generation unit 210. After that, the process returns to step S130 and repeats.
[0075] The robot control device 2 according to the first embodiment described above is a robot control device for controlling the operation of a robot arm having a motor mounted at a joint, and is characterized by comprising: a current detection unit that detects a motor current value, which is the value of the motor current supplied to the motor; a predicted heat generation value calculation unit that calculates a predicted heat generation value of the motor based on the motor current value; a predicted heat generation value correction unit that corrects the predicted heat generation value based on a load mass, which is the sum of the mass of the robot hand connected to the robot arm and gripping the object to be gripped, and the mass of the object to be gripped, to calculate a corrected predicted heat generation value; and a motor control unit that controls the operation of the motor based on the corrected predicted heat generation value.
[0076] As described above, in the robot control device 2 of the robot system 100 according to the first embodiment, each axis current detection unit detects a motor current value I, which is the value of the motor current supplied to each axis motor. Furthermore, the predicted heat generation value calculation unit 211 calculates a predicted heat generation value ε of each axis motor based on the motor current value I. Furthermore, the predicted heat generation value correction unit 212 corrects the predicted heat generation value ε based on the load mass M, which is the sum of the mass of the robot hand 13 connected to the robot arm 12 and gripping the gripping object W and the mass of the gripping object W, to calculate a corrected predicted heat generation value ε'.
[0077] Although the iron loss of a motor can be expressed as a function of the rotational speed of the motor, accurately calculating the iron loss of a motor requires various data related to the performance of the motor itself, and such information is not easily available.
[0078] In contrast, the robot control device 2 according to the first embodiment corrects the predicted heat generation value ε using the load mass M, which is correlated with the rotational speed of each axis motor, and can easily calculate the corrected predicted heat generation value ε', which is the predicted value of the temperature of each axis motor, taking into account the influence of iron loss, regardless of the characteristics of each axis motor itself.
[0079] The robot control device 2 then calculates the corrected predicted heat generation value ε' by correcting the predicted heat generation value ε using a coefficient K, which is a coefficient expressed by a linear equation of the load mass and is determined based on data on the motor temperature T of each axis motor during actual operation of the robot 1 and the predicted heat generation value ε. This allows the robot control device 2 to calculate the corrected predicted heat generation value ε' while appropriately considering the influence of iron loss, which is not taken into account in the predicted heat generation value ε. In other words, the robot control device 2 can acquire parameters for calculating the corrected predicted heat generation value ε' by operating the robot 1, making it easy to obtain information for calculating the corrected predicted heat generation value ε'.
[0080] Furthermore, the robot control device 2 can easily calculate the corrected predicted heat generation value ε' by taking into account the influence of iron loss without changing the general calculation process for heat generation prediction using the motor current value.
[0081] Furthermore, the robot control device 2 can easily determine a threshold value for the predicted heat generation value at which the temperature of each axis motor does not exceed the allowable temperature Ts, i.e., a threshold value for detecting overload of each axis motor, based on data on the motor temperature T of each axis motor during actual operation of the robot 1, the allowable temperature Ts of each axis motor, and data on the predicted heat generation value ε.
[0082] In the above-described first embodiment, the robot system 100 having a three-axis robot 1 is described as an example, but the control described in the first embodiment can also be applied to a robot system including a general six-axis robot 1.
[0083] Therefore, the robot system 100 and the robot control device 2 according to the first embodiment have the advantage that the temperature of each axis motor of the robot arm 12 can be appropriately predicted regardless of the characteristics of the motor itself.
[0084] Second Embodiment Fig. 6 is a diagram showing the configuration of a robot control device and a robot provided in a robot system according to a second embodiment. Fig. 7 is a diagram showing the flow of information in the robot system according to the second embodiment. The robot system 100a according to the second embodiment has a configuration in which a display unit 23 is added to the robot control device 2, compared to the configuration of the robot system 100 according to the first embodiment. Therefore, the robot system 100a according to the second embodiment can obtain the same effects as the robot system 100 according to the first embodiment by performing the same processing as the robot system 100 according to the first embodiment.
[0085] The display unit 23 acquires the corrected predicted heat generation value ε' calculated by the predicted heat generation value correction unit 212 from the predicted heat generation value correction unit 212 and displays the corrected predicted heat generation value ε'. This allows the user to operate the robot 1 while viewing the corrected predicted heat generation value ε'. In this case, the user can control the conveyance operation of the robot 1 to convey the object W to be grasped by the robot 1 by connecting an external device such as an input device to the robot control device 2 and inputting motion control information for the robot 1 that controls the operation of the robot 1 from the input device to each axis motor control unit. The motion control information for the robot 1 can be said to be a motor motion control command that controls the operation of the motor EM. Note that the robot control device 2 may also be equipped with an input device.
[0086] The robot system 100a according to the second embodiment has the same effects as the robot system 100 according to the first embodiment.
[0087] In addition, the robot system 100a can display the corrected heat generation prediction value ε' on the display unit 23, allowing the user to manually control the transport operation of the robot 1 to transport the object W to be grasped while looking at the corrected heat generation prediction value ε'.
[0088] Embodiment 3 In this embodiment, the function of the motor speed calculation unit 213 will be described. The predicted heat generation value correction unit 212 calculates the corrected predicted heat generation value ε' as described in the above-mentioned embodiment 1. Then, the motor speed calculation unit 213 calculates an appropriate motor speed V, i.e., the rotation speed of the motor, based on the corrected predicted heat generation value ε' calculated by the predicted heat generation value correction unit 212.
[0089] The appropriate motor speed is a motor speed that prevents the motor from being overloaded when the robot 1 transports the object W to be grasped, and keeps the motor temperature T below the allowable temperature Ts of the motor.
[0090] For example, when the corrected predicted heat generation value ε' increases and approaches a predetermined threshold, the motor speed calculation unit 213 calculates an appropriate motor speed V, i.e., the motor rotation speed, for automatically adjusting the operation of each axis motor so that the corrected predicted heat generation value ε' does not exceed the threshold, i.e., so that the motor temperature T does not exceed the motor's allowable temperature Ts. That is, when the corrected predicted heat generation value ε' increases and approaches a predetermined threshold, the motor speed calculation unit 213 calculates an appropriate motor speed V, i.e., the motor rotation speed, for automatically adjusting the operation of each axis motor so that the corrected predicted heat generation value ε' continues to be equal to or less than the threshold, i.e., so that the motor temperature T continues to be equal to or less than the motor's allowable temperature Ts.
[0091] Specifically, the motor speed calculation unit 213 calculates an appropriate motor speed V, i.e., a rotational speed of the motor, for performing control to reduce the maximum motor speed V below a predetermined reference maximum speed when the robot 1 performs a conveying operation of the grasped object W. Alternatively, the motor speed calculation unit 213 calculates an appropriate motor speed V, i.e., a rotational speed of the motor, for performing control to make the stop time of the robot 1 between conveying operations of the robot 1 longer than a predetermined reference stop time. The stop time of the robot 1 can be said to be the stop time of the motor of each axis.
[0092] In other words, when the robot arm 12 is transporting the object W to be grasped and the corrected heat generation prediction value ε' becomes equal to or greater than a predetermined reference heat generation prediction value that is smaller than a predetermined threshold value, the motor speed calculation unit 213 calculates a corrected motor speed V' for controlling the maximum motor speed V of each axis motor during the transport operation to be lower than a predetermined reference speed, or a corrected motor speed V' for each axis motor for controlling the stop time of each axis motor to be longer than a predetermined reference speed.
[0093] The motor control unit then controls the motors of each axis based on the corrected motor speed V′ calculated by the motor speed calculation unit 213 .
[0094] The case where the corrected predicted heat generation value ε' approaches the threshold value is when the corrected predicted heat generation value ε' is equal to or greater than a predetermined reference predicted heat generation value that is smaller than the threshold value.
[0095] The reference heat generation prediction value is a temperature obtained by subtracting a predetermined subtraction value for protecting the motor from heat generation from the threshold value.
[0096] FIG. 8 is a diagram showing an example of control in which the first-axis motor control unit reduces the maximum motor speed below a predetermined reference maximum speed in embodiment 3. The horizontal axis in FIG. 8 represents time. The vertical axis in FIG. 8 represents the motor speed of the first-axis motor EM1. In FIG. 8, the solid line represents the change in motor speed of the first-axis motor EM1 during operation control of the first-axis motor EM1 according to the predetermined reference. Also in FIG. 8, the dashed line represents the change in motor speed during operation control of the first-axis motor EM1 when the corrected heat generation prediction value ε' for the first-axis motor EM1 approaches the threshold value.
[0097] 8 , the first-axis motor control unit 220a controls the robot hand 13 to grasp the grasp target W at time T0. The first-axis motor control unit 220a controls the robot hand 13 to lift by driving the first-axis motor EM1 during the period from time T0 to time T2. At this time, in the predetermined standard operation control performed by the first-axis motor control unit 220a, the motor speed of the first-axis motor EM1 increases during the period from time T0 to time T1, reaches a maximum motor speed SP1 at time T1, decreases during the period from time T1 to time T2, and reaches 0 at time T2.
[0098] On the other hand, for example, when the corrected heat generation prediction value ε' approaches the threshold value, the first-axis motor control unit 220a controls the robot hand 13 to grasp the graspable object W at time T0, and then drives the first-axis motor EM1 to raise the robot hand 13 during the period from time T0 to time T12. At this time, under the control performed by the first-axis motor control unit 220a, the motor speed of the first-axis motor EM1 increases during the period from time T0 to time T11, reaches motor speed SP2, which is the maximum speed, at time T11, decreases during the period from time T11 to time T12, and reaches 0 at time T12. Here, motor speed SP2 is slower than motor speed SP1.
[0099] When the corrected predicted heat generation value ε′ approaches the threshold value, the motor speed calculation unit 213 calculates an appropriate motor speed V, i.e., the motor rotation speed, for the first axis motor control unit 220a to perform the above-mentioned control.
[0100] FIG. 9 is a diagram showing an example in which the first-axis motor control unit controls the first-axis motor with a predetermined stop time between conveying operations in embodiment 3. The horizontal axis in FIG. 9 represents time. The vertical axis in FIG. 9 represents the operation control state of the first-axis motor EM1, with ON representing a state in which the first-axis motor EM1 is operating and OFF representing a state in which the first-axis motor EM1 is stopped. FIG. 9 shows an example in which the first-axis motor EM1 is controlled with a predetermined stop time between conveying operations.
[0101] 9, the periods from time T0 to time T11, from time T12 to time T13, and from time T14 to time T15 each constitute one cycle of the robot 1's operation to transport the object to be grasped W. In addition, in the example shown in FIG. 9, the periods from time T11 to time T12 and from time T13 to time T14 each constitute a stop time T20 of the robot 1 between the robot 1's operations to transport the object to be grasped W.
[0102] FIG. 10 is a diagram showing an example in which the first-axis motor control unit controls the first-axis motor for a stop time longer than a predetermined stop time between conveying operations in embodiment 3. The horizontal axis in FIG. 10 represents time. The vertical axis in FIG. 10 represents the operation control state of the first-axis motor EM1, with ON representing a state in which the first-axis motor EM1 is operating and OFF representing a state in which the first-axis motor EM1 is stopped. FIG. 10 shows an example in which the first-axis motor control unit 220a controls the first-axis motor EM1 for a stop time longer than a predetermined stop time between conveying operations when the corrected heat generation prediction value ε' approaches the threshold value.
[0103] 10 , the periods from time T0 to time T31, from time T32 to time T33, and from time T34 to time T35 each constitute one cycle of the robot 1's operation to transport the object to be grasped W. In addition, in the example shown in FIG. 10 , the periods from time T31 to time T32 and from time T33 to time T34 each constitute a stop time T40 of the robot 1 between the robot 1's operations to transport the object to be grasped W. Here, the stop time T40 is set to 1.5 times the stop time T20.
[0104] The motor speed calculation unit 213 calculates an appropriate stop time T40 for the first axis motor control unit 220a to perform control as shown in FIG. 10 when the corrected predicted heat generation value ε′ approaches the threshold value.
[0105] As described above, when the corrected predicted heat generation value ε' increases and approaches a predetermined threshold, the motor speed calculation unit 213 can calculate an appropriate motor speed V, i.e., the motor rotation speed, for automatically adjusting the operation of each axis motor so that the corrected predicted heat generation value ε' does not exceed the threshold, i.e., so that the motor temperature T does not exceed the motor's allowable temperature Ts. In other words, when the corrected predicted heat generation value ε' increases and approaches a predetermined threshold, the motor speed calculation unit 213 can calculate an appropriate motor speed V, i.e., the motor rotation speed, for automatically adjusting the operation of each axis motor so that the corrected predicted heat generation value ε' continues to be equal to or less than the threshold, i.e., so that the motor temperature T continues to be equal to or less than the motor's allowable temperature Ts.
[0106] The operation command generation unit 210 then generates a corrected operation command including the motor speed V calculated by the motor speed calculation unit 213. The operation command generation unit 210 transmits the generated corrected operation command to the first-axis motor control unit 220a. The first-axis motor control unit 220a controls the transport operation of the first-axis motor EM1 to transport the grasped object W, based on the information of the corrected operation command acquired from the operation command generation unit 210.
[0107] This allows the robot system 100 to automatically adjust and control the operation of each axis motor so that the corrected heat generation prediction value ε' does not exceed the threshold value, i.e., so that the motor temperature T does not exceed the motor's allowable temperature Ts.
[0108] Furthermore, the robot system 100 allows adjustment of the operation of each axis motor while the robot 1 is in operation during development so that the temperature does not exceed the allowable temperature Ts.
[0109] Next, the hardware configuration of the control unit 21 of the robot control device 2 according to the first to third embodiments will be described. The control unit 21 is realized, for example, as a processing circuit having the hardware configuration shown in FIG. 11. FIG. 11 is a diagram showing an example of the hardware configuration of the processing circuit according to the first to third embodiments. When the control unit 21 is realized by the processing circuit shown in FIG. 11, the control unit 21 is realized by the processor 101 executing a program stored in the memory 102. Furthermore, the above functions may be realized by multiple processors and multiple memories working together. Furthermore, some of the functions of the control unit 21 may be implemented as electronic circuits, and other parts may be realized using the processor 101 and the memory 102.
[0110] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or different embodiments may be combined with each other. It is also possible to omit or modify parts of the configurations as long as they do not deviate from the gist of the invention.
[0111] REFERENCE SIGNS LIST 1 Robot, 2 Robot control device, 3 Communication line, 11 Base unit, 12 Robot arm, 13 Robot hand, 21 Control unit, 22 Storage unit, 23 Display unit, 100, 100a Robot system, 101 Processor, 102 Memory, 210 Operation command generation unit, 211 Heat generation prediction value calculation unit, 212 Heat generation prediction value correction unit, 213 Motor speed calculation unit, 300 Assembly table, E Encoder, EM Motor, I Motor current value, K, L Coefficients, M Load mass, S Motor current detection unit, T Motor temperature, Ts Allowable temperature, V Motor speed, W Grasped object, Δε Difference, ε Heat generation prediction value, ε' Corrected heat generation prediction value.
Claims
1. A robot control device for controlling the operation of a robot arm having a motor mounted at a joint, comprising: a current detection unit that detects a motor current value, which is the value of the motor current supplied to the motor; a predicted heat generation value calculation unit that calculates a predicted heat generation value of the motor based on the motor current value; a predicted heat generation value correction unit that corrects the predicted heat generation value based on a load mass, which is the sum of the mass of a robot hand connected to the robot arm and gripping an object to be grasped, and the mass of the object to be grasped, to calculate a corrected predicted heat generation value; and a motor control unit that controls the operation of the motor based on the corrected predicted heat generation value.
2. The robot control device according to claim 1, further comprising a motor speed calculation unit that calculates the motor speed of the motor in accordance with the load mass.
3. The robot control device according to claim 2, wherein the motor speed calculation unit calculates a corrective motor speed for controlling the motor to reduce the maximum motor speed to a value lower than a predetermined standard when the corrected heat generation prediction value becomes equal to or exceeds a predetermined standard heat generation prediction value that is smaller than a predetermined threshold value, or a corrective motor speed for controlling the motor to be stopped for a period longer than a predetermined standard, and the motor control unit controls the operation of the motor based on the corrective motor speed.
4. A robot control device as described in any one of claims 1 to 3, characterized in that the heat generation prediction value correction unit calculates the corrected heat generation prediction value by adding a coefficient represented by a linear expression of the load mass to the heat generation prediction value, the linear expression of the load mass takes a maximum value when the load mass is unloaded and is equal to 0 when the load mass is at maximum load, and the maximum value is the difference between the heat generation prediction value at the motor allowable temperature of the motor when unloaded and when at maximum load.
5. A robot control device as described in any one of claims 1 to 4, comprising: a motor control unit that controls the operation of the motor; and a display unit that displays the corrected heat generation prediction value, wherein the motor control unit controls the operation of the motor based on a motor operation control command that is input from outside the robot control device and controls the operation of the motor.
6. A robot control method for controlling the operation of a robot arm having a motor implemented in a joint, comprising the steps of: detecting a motor current value, which is a value of the motor current supplied to the motor; calculating a predicted heat generation value of the motor based on the motor current value; correcting the predicted heat generation value based on a load mass, which is the sum of the mass of a robot hand connected to the robot arm and gripping an object to be grasped, and the mass of the object to be grasped, to calculate a corrected predicted heat generation value; and controlling the operation of the motor based on the corrected predicted heat generation value.
Citation Information
Patent Citations
Method for controlling robot in shortest time considering operation duty
JP1997091025A