WO2020184203A1 - Robot control device and robot control method - Google Patents

Robot control device and robot control method Download PDF

Info

Publication number
WO2020184203A1
WO2020184203A1 PCT/JP2020/008100 JP2020008100W WO2020184203A1 WO 2020184203 A1 WO2020184203 A1 WO 2020184203A1 JP 2020008100 W JP2020008100 W JP 2020008100W WO 2020184203 A1 WO2020184203 A1 WO 2020184203A1
Authority
WO
WIPO (PCT)
Prior art keywords
command value
control unit
torque
joint
robot
Prior art date
Application number
PCT/JP2020/008100
Other languages
French (fr)
Japanese (ja)
Inventor
鉄也 田原
Original Assignee
アズビル株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アズビル株式会社 filed Critical アズビル株式会社
Priority to CN202080016903.2A priority Critical patent/CN113508011A/en
Publication of WO2020184203A1 publication Critical patent/WO2020184203A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements

Definitions

  • the present invention relates to a robot control device and a robot control method capable of simultaneously controlling the position and posture and force of a robot.
  • robots such as vertical articulated robots
  • a robot control device that simultaneously (parallel) controls the position and posture and force is used (see, for example, Patent Document 1).
  • the position / posture represents at least one of the position and the posture of the robot.
  • 9 to 11 show an example of the robot control device 1b.
  • the robot control device 1b shown in FIG. 9 includes a main control unit (upper controller) 11b and a plurality of joint control units (lower controller) 12b.
  • the joint control unit 12b is provided for each joint of the robot 2.
  • the main control unit 11b and each joint control unit 12b are connected by a communication line.
  • the robot 2 has a motor 21 and a sensor 22 (torque sensor 23 and encoder 24) for each joint.
  • the motor 21 and the sensor 22 are each connected to the corresponding joint control unit 12b by a power line or the like.
  • the torque sensor 23 detects the current value of torque at the corresponding joint.
  • the encoder 24 detects the current value of the corresponding joint angle. Note that FIG. 10 shows only one set of the motor 21, the torque sensor 23, and the encoder 24.
  • the main control unit 11b controls the entire robot 2 by outputting a command value to each joint control unit 12b.
  • the main control unit 11b has a force command value, a position / posture command value, and a speed command value for each joint based on the current torque value and the angle current value for each joint of the robot 2. Is calculated.
  • the main control unit 11b includes a force calculation unit 111b, a force control unit 112b, a position / attitude calculation unit 113b, a position / attitude control unit 114b, a command value synthesis unit 115b, and a command value conversion unit 116b. I have.
  • the force calculation unit 111b calculates the current value of the force of the robot 2 based on the current value of the torque of each joint of the robot 2.
  • the torque for each joint of the robot 2 is represented by the joint coordinate system, and the force calculation unit 111b converts the torque for each joint into a force represented by the orthogonal coordinate system.
  • represents the current value of torque
  • F represents the current value of force.
  • the force control unit 112b calculates the force control command value based on the force command value and the current value of the force calculated by the force calculation unit 111b.
  • the deviation calculator 1121b obtains the deviation between the command value of the force and the current value of the force, and the coefficient multiplication unit 1122b multiplies the deviation of the calculation result by the deviation calculator 1121b by the gain. By doing so, the command value of force control is obtained.
  • Fr represents the command value of the force
  • G F represents a gain.
  • the position / posture calculation unit 113b calculates the current value of the position / posture of the robot 2 based on the current value of the angle of each joint of the robot 2.
  • the current value of the angle for each joint of the robot 2 is represented by the joint coordinate system
  • the position / posture calculation unit 113b converts the current value of the angle for each joint into the current value of the position / posture represented by the orthogonal coordinate system.
  • represents the current value of the angle
  • X represents the current value of the position and orientation.
  • the position / posture control unit 114b calculates the position / posture control command value based on the position / posture command value and the position / posture current value calculated by the position / posture calculation unit 113b.
  • the deviation calculator 1141b obtains the deviation between the command value of the position / posture and the current value of the position / posture, and the coefficient multiplication unit 1142b multiplies the calculation result by the deviation calculator 1141b by the gain. By doing so, the command value of the position / attitude control is obtained.
  • Xr represents the command value of the position and orientation
  • G Z represents the gain.
  • the command value synthesis unit 115b synthesizes the force control command value calculated by the force control unit 112b and the position / attitude control command value calculated by the position / attitude control unit 114b.
  • the adder 1151b adds the command value for force control and the command value for position / attitude control.
  • the command value conversion unit 116b converts the synthesis result by the command value synthesis unit 115b into a command value of the angular velocity of each joint of the robot 2.
  • the coefficient multiplication unit 1161b multiplies the synthesis result by the inverse matrix of the Jacobian matrix. That is, the command value conversion unit 116b converts the command value represented by the orthogonal coordinate system into the command value represented by the joint coordinate system.
  • J represents the Jacobian matrix
  • ⁇ (dot) r represents the command value of the angular velocity.
  • the joint control unit 12b controls the motor 21 provided in the corresponding joint in response to a command from the main control unit 11b. As shown in FIG. 10, the joint control unit 12b includes a torque acquisition unit 121b and a joint angle control unit 122b.
  • the torque acquisition unit 121b acquires the current value of the torque at the corresponding joint.
  • the data indicating the current value of the torque acquired by the torque acquisition unit 121b is output to the main control unit 11b (force calculation unit 111b).
  • the joint angle control unit 122b calculates a command value for the motor 21 provided in the corresponding joint based on the command value of the angular velocity calculated by the main control unit 11b and the current value of the angle for each joint of the robot 2. ..
  • the speed conversion unit 1221b converts the current value of the angle into the current value of the angular velocity
  • the subtractor 1223b subtracts the current value of the angular velocity obtained by the speed conversion unit 1221b from the command value of the angular velocity.
  • the PI control unit 1224b performs PI control based on the subtraction result by the subtractor 1223b to obtain a command value for the motor 21.
  • the main control unit 11b has a degree of freedom of multiple joints (for example, 6 degrees of freedom).
  • the result of controlling and calculating the position and posture and the force at the same time is synthesized, and the combined result is converted into a signal to the joint control unit 12b of each axis and then output. That is, in the robot control device 1b, the main control unit 11b executes the main calculation of the compliance control. Therefore, this robot control device 1b has an advantage that parameters to be adjusted can be rationally integrated.
  • the feedback system is configured by the main control unit. That is, in this robot control device, the feedback control calculation is performed by a component having a physical and communication distance from the robot. Therefore, the delay from the detection of torque by the torque sensor to the input of the command value to the motor becomes long. As a result, in this robot control device, there is inevitably more room for wasted time, which is a factor that suppresses high gain that can maintain stability.
  • the dead time itself is not an element that can be canceled by lead compensation or the like, an adverse effect on the response time is unavoidable. As described above, it is difficult to improve the force control performance (particularly quick response) in the conventional robot control device, and further improvement is required.
  • the present invention has been made to solve the above problems, and an object of the present invention is to provide a robot control device capable of improving force control performance with respect to a conventional configuration.
  • the robot control device determines the torque command value and the position / posture control command value for each joint based on the force command value, the position / posture command value, and the current value of the angle of each joint of the robot.
  • the main control unit to be calculated and the joints of the robot are provided for each joint, and correspond based on the current value of the torque at the corresponding joint, the command value of the torque calculated by the main control unit, and the command value of the position / attitude control. It is characterized by being provided with a joint control unit that calculates a command value for a motor provided in the joint.
  • the force control performance can be improved as compared with the conventional configuration.
  • FIG. 6A and 6B are diagrams for explaining the effect of the robot control device according to the first embodiment, and FIG. 6A is an example of simulation results when the robot control device according to the first embodiment is used.
  • FIG. 6A is an example of simulation results when the robot control device according to the first embodiment is used.
  • 6B is a diagram showing an example of a simulation result when a conventional robot control device is used. It is a figure which shows the configuration example of the robot control device which concerns on Embodiment 2. It is a figure which shows the configuration example of the robot control device which concerns on Embodiment 2. It is a figure which shows the configuration example of the robot system including the conventional robot control device. It is a figure which shows the configuration example of the conventional robot control device. It is a figure which shows the configuration example of the conventional robot control device.
  • Embodiment 1. 1 and 2 are diagrams showing a configuration example of the robot control device 1 according to the first embodiment.
  • the relationship between the robot control device 1 and the robot 2 is the same as that in FIG. 9, and the description thereof will be omitted.
  • the robot control device 1 controls the position / posture and the force of the robot 2 at the same time (parallel).
  • the robot control device 1 includes a main control unit (upper controller) 11 and a plurality of joint control units (lower controllers) 12.
  • the joint control unit 12 is provided for each joint of the robot 2.
  • the main control unit 11 and each joint control unit 12 are connected by a communication line.
  • the main control unit 11 controls the entire robot 2 by outputting a command value to each joint control unit 12. Specifically, the main control unit 11 controls the torque command value and the position / posture control for each joint based on the force command value and the position / posture command value and the current value of the angle of each joint of the robot 2. Calculate the command value.
  • the command value for position / attitude control is the command value for speed.
  • the main control unit 11 includes a torque command value conversion unit 111, a position / attitude calculation unit 112, a position / attitude control unit 113, and a command value conversion unit 114.
  • the main control unit 11 is realized by a processing circuit such as a system LSI (Large Scale Integration), a CPU (Central Processing Unit) that executes a program stored in a memory or the like, or the like.
  • the torque command value conversion unit 111 converts the force command value into the torque command value for each joint of the robot 2.
  • the torque command value conversion unit 111 has a coefficient multiplication unit 1111.
  • the coefficient multiplication unit 1111 multiplies the command value of the force by the transposed matrix of the Jacobian matrix.
  • the force command value is represented by the Cartesian coordinate system
  • the torque command value conversion unit 111 converts the force command value into the torque command value represented by the joint coordinate system.
  • Fr represents a force command value
  • J represents a Jacobian matrix
  • ⁇ r represents a torque command value.
  • the position / posture calculation unit 112 calculates the current value of the position / posture of the robot 2 based on the current value of the angle of each joint of the robot 2.
  • the angle of each joint of the robot 2 is represented by the joint coordinate system, and the position / posture calculation unit 112 converts the angle of each joint into the position / posture represented by the orthogonal coordinate system.
  • the current value of the angle of each joint of the robot 2 is detected by the encoder 24 provided for each joint. In FIG. 2, ⁇ represents the current value of the angle, and X represents the current value of the position and orientation.
  • the position / attitude control unit 113 calculates a speed command value (position / attitude control command value) based on the position / attitude command value and the current position / attitude value calculated by the position / attitude calculation unit 112.
  • the position / attitude control unit 113 includes a deviation calculator 1131 and a coefficient multiplication unit 1132.
  • the deviation calculator 1131 calculates the deviation between the command value of the position / orientation and the current value of the position / orientation.
  • the coefficient multiplication unit 1132 obtains a speed command value by multiplying the deviation of the calculation result by the deviation calculator 1131 by the gain.
  • Xr represents a command value of position and orientation
  • G Z represents a gain.
  • the command value conversion unit 114 converts the speed command value calculated by the position / attitude control unit 113 into the command value of the angular velocity for each joint of the robot 2.
  • the command value conversion unit 114 has a coefficient multiplication unit 1141.
  • the coefficient multiplication unit 1141 multiplies the command value of the velocity calculated by the position / orientation control unit 113 by the inverse matrix of the Jacobian matrix. That is, the command value conversion unit 114 converts the command value represented by the orthogonal coordinate system into the command value represented by the joint coordinate system.
  • ⁇ (dot) r represents the command value of the angular velocity.
  • the joint control unit 12 controls the motor 21 provided in the corresponding joint in response to a command from the main control unit 11. Specifically, the joint control unit 12 is based on the current value of the torque at the corresponding joint, the command value of the torque calculated by the main control unit 11, and the command value of the angular velocity (command value of the position / attitude control). The command value for the motor 21 provided in the corresponding joint is calculated. As shown in FIG. 1, the joint control unit 12 includes a torque acquisition unit 121, a torque control unit 122, and a motor control unit 123.
  • the motor control unit 123 has a joint angle control unit 124 and a command value synthesis unit 125.
  • the torque acquisition unit 121 acquires the current value of the torque at the corresponding joint.
  • the current value of the torque for each joint of the robot 2 is detected by the torque sensor 23 provided for each joint.
  • the torque control unit 122 calculates the torque control command value based on the current value of the torque at the corresponding joint and the torque command value calculated by the main control unit 11.
  • the torque control unit 122 has a subtractor 1221 and a PI control unit 1222.
  • the subtractor 1221 subtracts the current value of the torque acquired by the torque acquisition unit 121 from the command value of the torque calculated by the main control unit 11.
  • the PI control unit 1222 obtains a command value for torque control by performing PI control based on the subtraction result by the subtractor 1221.
  • the joint angle control unit 124 calculates the command value for angular velocity control based on the command value for the angular velocity calculated by the main control unit 11.
  • the joint angle control unit 124 has a speed conversion unit 1241 and a speed control unit 1242.
  • the speed control unit 1242 has a subtractor 1243 and a PI control unit 1244.
  • the speed conversion unit 1241 converts the current value of the angle at the corresponding joint into the current value of the angular velocity.
  • the subtractor 1243 subtracts the current value of the angular velocity obtained by the speed conversion unit 1241 from the command value of the angular velocity calculated by the main control unit 11.
  • the PI control unit 1244 obtains a command value for angular velocity control by performing PI control based on the subtraction result by the subtractor 1243.
  • the command value combining unit 125 synthesizes the torque control command value calculated by the torque control unit 122 and the angular velocity control command value calculated by the joint angle control unit 124.
  • the command value synthesizing unit 125 has an adder 1251.
  • the adder 1251 adds the torque control command value calculated by the torque control unit 122 and the angular velocity control command value calculated by the joint angle control unit 124.
  • the main control unit 11 first has a force command value, a position / posture command value, and the robot 2. Based on the current value of the angle for each joint, the torque command value and the angular velocity command value (position / posture control command value) for each joint are calculated (step ST301).
  • the joint control unit 12 commands the motor 21 provided in the corresponding joint based on the current value of the torque in the corresponding joint, the command value of the torque calculated by the main control unit 11, and the command value of the angular velocity. Calculate the value (step ST302).
  • the torque command value conversion unit 111 first converts the force command value into the torque command value for each joint of the robot 2. Convert (step ST401).
  • the coefficient multiplication unit 1111 multiplies the command value of the force by the transposed matrix of the Jacobian matrix. Since the Jacobian matrix changes depending on the angle of the joints of the robot 2, it is necessary to update it as appropriate. Further, since the current value of the torque acquired by the torque acquisition unit 121 usually includes a torque component caused by gravity, it is preferable to superimpose the estimated value of the torque component caused by gravity on the torque command value so as to cancel this torque component.
  • the position / posture calculation unit 112 calculates the current value of the position / posture of the robot 2 based on the current value of the angle of each joint of the robot 2 (step ST402).
  • the position / attitude control unit 113 calculates a speed command value (position / attitude control command value) based on the position / attitude command value and the position / attitude current value calculated by the position / attitude calculation unit 112 (step). ST403).
  • the deviation calculator 1131 calculates the deviation between the command value of the position / orientation and the current value of the position / orientation
  • the coefficient multiplication unit 1132 calculates the deviation of the calculation result by the deviation calculator 1131.
  • the deviation of the position is obtained by subtracting the coordinate value of the current value from the coordinate value of the command value.
  • the attitude deviation can be obtained by obtaining the rotation conversion from the attitude of the current value to the attitude of the command value.
  • the command value conversion unit 114 converts the speed command value calculated by the position / attitude control unit 113 into the command value of the angular velocity for each joint of the robot 2 (step ST404).
  • the coefficient multiplication unit 1141 obtains the command value of the angular velocity for each joint by multiplying the command value of the velocity calculated by the position / attitude control unit 113 by the inverse matrix of the Jacobian matrix.
  • the torque acquisition unit 121 first acquires the current value of the torque at the corresponding joint (step ST501).
  • the torque control unit 122 calculates the torque control command value based on the current value of the torque at the corresponding joint and the torque command value calculated by the main control unit 11 (step ST502).
  • the subtractor 1221 subtracts the current value of the torque acquired by the torque acquisition unit 121 from the command value of the torque calculated by the main control unit 11, and the PI control unit 1222 uses the subtractor 1221. By performing PI control based on the subtraction result, a command value for torque control is obtained.
  • the joint angle control unit 124 calculates the command value of the angular velocity control based on the command value of the angular velocity calculated by the main control unit 11 (step ST503).
  • the speed conversion unit 1241 converts the current value of the angle at the corresponding joint into the current value of the angular velocity
  • the subtractor 1243 converts the speed from the command value of the angular velocity calculated by the main control unit 11.
  • the current value of the angular velocity obtained by the unit 1241 is subtracted, and the PI control unit 1244 performs PI control based on the subtraction result by the subtractor 1243 to obtain a command value for the angular velocity control.
  • the command value synthesizing unit 125 synthesizes the torque control command value calculated by the torque control unit 122 and the angular velocity control command value calculated by the joint angle control unit 124 (step ST504).
  • the adder 1251 adds the torque control command value calculated by the torque control unit 122 and the angular velocity control command value calculated by the joint angle control unit 124.
  • the command value (current command value), which is the result of synthesis by the command value synthesis unit 125, is output to the motor 21.
  • the feedback system is configured by the main control unit 11b. That is, in the robot control device 1b, the feedback control calculation is performed by a component having a physical and communication distance from the robot 2. Therefore, the delay from the detection of torque by the torque sensor 23 to the input of the command value to the motor 21 becomes long. As a result, in the robot control device 1, there is inevitably more room for wasted time, which is a factor that suppresses high gain that can maintain stability. Moreover, since the dead time itself is not an element that can be canceled by lead compensation or the like, an adverse effect on the response time is unavoidable.
  • the main control unit 11 does not perform the calculation for the force control, but the joint control unit 12 performs the calculation for the torque control to obtain torque.
  • the delay from the detection of torque by the sensor 23 to the input of the command value to the motor 21 is shortened, and the room for wasted time can be reduced. That is, the robot control device 1 according to the first embodiment can also make adjustments (gain adjustment of one-variable control for each joint) corresponding to high gain of the controller that can maintain stability.
  • FIG. 6 is a diagram for explaining the effect of the robot control device 1 according to the first embodiment.
  • FIG. 6A is a diagram showing an example of a simulation result when the robot control device 1 according to the first embodiment is used
  • FIG. 6B shows an example of a simulation result when the conventional robot control device 1b is used. It is a figure.
  • FIG. 6 shows a simulation result when an object is pressed in the Z-axis direction by the robot 2.
  • the target value of the pressing force by the robot 2 is 10 [N].
  • the horizontal axis represents time [s]
  • the vertical axis represents the pressing force of the robot 2 in the Z-axis direction. In this case, as shown in FIG.
  • the time (setting time) until the pressing force of the robot 2 in the Z-axis direction is set to the target value is 3.03. It is [s].
  • the settling time is 0.47 [s]. That is, when the robot control device 1 according to the first embodiment is used, the pressing force in the Z-axis direction by the robot 2 is set to the target value in a shorter time than when the conventional robot control device 1b is used. You can see that it is doing.
  • the gain from the calculation of the force deviation to the calculation of the speed command value in the conventional robot control device 1b is ⁇ 2.0 ⁇ 10 -3 .
  • the equivalent gain corresponding to the gain from the calculation of the force deviation to the calculation of the speed command value in the robot control device 1 according to the first embodiment is ⁇ 9.2 ⁇ 10 -3. .. That is, it can be seen that the robot control device 1 according to the first embodiment can realize force control with a higher gain than the conventional robot control device 1b. Since the robot control device 1 according to the first embodiment does not actually calculate the speed command value from the force deviation, the gain shown above is not an actual gain but a converted value.
  • the torque control of a single unit can be realized by setting the gain related to speed control to 0, and the normal speed control can be realized by setting the gain related to torque control to 0. it can.
  • the robot control device 1 is based on the command value of the force, the command value of the position and posture, and the current value of the angle of each joint of the robot 2, for each joint.
  • the main control unit 11 that calculates the torque command value and the position / attitude control command value, and the current value of the torque at each joint provided by the robot 2 and the torque calculated by the main control unit 11 It is provided with a joint control unit 12 that calculates a command value for a motor 21 provided in a corresponding joint based on a command value and a command value for position / attitude control.
  • the joint angle control unit 124 is provided in the joint control unit 12 in the first embodiment.
  • the present invention is not limited to this, and the joint angle control unit 124 may be provided in the main control unit 11.
  • the joint angle control unit 124 is not an essential configuration and may be removed from the robot control device 1.
  • the joint control unit 12 calculates the angular velocity control command value using the angular velocity command value (position / orientation control command value) calculated by the main control unit 11, and then calculates the torque control command.
  • the case where the value and the command value of the angular velocity control are combined is shown.
  • the joint control unit 12 synthesizes the torque control command value and the angular velocity command value (command value for position / attitude control) calculated by the main control unit 11, and then uses the combined result.
  • the command value of the angular velocity control may be calculated.
  • 7 and 8 are diagrams showing a configuration example of the robot control device 1 according to the second embodiment. The robot control device 1 according to the second embodiment shown in FIGS.
  • the command value combining unit 126 synthesizes the command value of the angular velocity (command value of position / attitude control) calculated by the main control unit 11 and the command value of torque control calculated by the torque control unit 122.
  • the command value synthesizing unit 126 has an adder 1261.
  • the adder 1261 adds the command value of the angular velocity calculated by the main control unit 11 and the command value of the torque control calculated by the torque control unit 122.
  • the joint angle control unit 127 calculates the command value for angular velocity control based on the synthesis result by the command value synthesis unit 126.
  • the joint angle control unit 127 has a speed conversion unit 1271 and a speed control unit 1272.
  • the speed control unit 1272 includes a subtractor 1273 and a PI control unit 1274.
  • the speed conversion unit 1271 converts the current value of the angle at the corresponding joint into the current value of the angular velocity.
  • the subtractor 1273 subtracts the current value of the angular velocity obtained by the speed conversion unit 1271 from the synthesis result by the command value synthesis unit 126.
  • the PI control unit 1274 obtains a command value for angular velocity control by performing PI control based on the subtraction result by the subtractor 1273.
  • the command value (current command value) of the angular velocity control calculated by the joint angle control unit 127 is output to the motor 21 provided in the corresponding joint.
  • the command value of the position / attitude control and the command value of the torque control are combined, and the angular velocity control is performed based on the combined result.
  • the robot control device 1 according to the second embodiment also has the same effect as the robot control device 1 according to the first embodiment. Further, the robot control device 1 according to the second embodiment has a correspondence relationship close to that of the conventional compliance control.
  • any combination of each embodiment, modification of any component of each embodiment, or omission of any component in each embodiment is possible. is there.
  • the joint angle control unit controls the speed, but it is also possible to control the position and posture through the control of other physical quantities such as acceleration or current. ..
  • the robot control device can improve the force control performance as compared with the conventional configuration, and is suitable for use in a robot control device or the like capable of simultaneously controlling the position and orientation of the robot and the force.
  • Robot control device Robot 11 Main control unit 12 Joint control unit 21 Motor 22 Sensor 23 Torque sensor 24 Encoder 111 Torque command value conversion unit 112 Position / orientation calculation unit 113 Position / orientation control unit 114 Command value conversion unit 121 Torque acquisition unit 122 Torque Control unit 123 Motor control unit 124 Joint angle control unit 125 Command value synthesis unit 126 Command value synthesis unit 127 Joint angle control unit 1111 Coefficient multiplication unit 1131 Deviation calculator 1132 Coefficient multiplication unit 1141 Coefficient multiplication unit 1221 Subtractor 1222 PI control unit 1241 Speed conversion unit 1242 Speed control unit 1243 Subtractor 1244 PI control unit 1251 Adder 1261 Adder 1272 Speed conversion unit 1272 Speed control unit 1273 Subtractor 1274 PI control unit

Abstract

The present invention is provided with: a main control unit (11) which calculates a torque command value for each joint and a command value of a position and orientation control on the basis of a force command value, a position and orientation command value, and the current angle value for each joint included in the robot (2); and a joint control unit (12) which is provided at each joint included in the robot (2), and calculates a command value for a motor (21) provided to each corresponding joint on the basis of the current torque value at the corresponding joint, and the torque command value and command value of the position and orientation control calculated by the main control unit (11).

Description

ロボット制御装置及びロボット制御方法Robot control device and robot control method
 この発明は、ロボットの位置姿勢と力を同時に制御可能なロボット制御装置及びロボット制御方法に関する。 The present invention relates to a robot control device and a robot control method capable of simultaneously controlling the position and posture and force of a robot.
 垂直多関節ロボット等のロボット(ロボットアーム)では、位置姿勢と力を同時(並列)に制御対象とするロボット制御装置が用いられている(例えば特許文献1参照)。なお、位置姿勢は、ロボットの位置及び姿勢のうちの少なくとも一方を表す。図9~図11に、ロボット制御装置1bの一例を示す。 In robots (robot arms) such as vertical articulated robots, a robot control device that simultaneously (parallel) controls the position and posture and force is used (see, for example, Patent Document 1). The position / posture represents at least one of the position and the posture of the robot. 9 to 11 show an example of the robot control device 1b.
 図9に示すロボット制御装置1bは、メイン制御部(上位コントローラ)11b、及び複数の関節制御部(下位コントローラ)12bを備えている。関節制御部12bは、ロボット2が有する関節毎に設けられている。なお、メイン制御部11bと各関節制御部12bとの間は通信線により接続されている。 The robot control device 1b shown in FIG. 9 includes a main control unit (upper controller) 11b and a plurality of joint control units (lower controller) 12b. The joint control unit 12b is provided for each joint of the robot 2. The main control unit 11b and each joint control unit 12b are connected by a communication line.
 また、図9に示すように、ロボット2は、関節毎に、モータ21及びセンサ22(トルクセンサ23及びエンコーダ24)を有している。モータ21及びセンサ22はそれぞれ、対応する関節制御部12bに対して電力線等により接続されている。トルクセンサ23は、対応する関節でのトルクの現在値を検出する。エンコーダ24は、対応する関節の角度の現在値を検出する。なお図10では、モータ21、トルクセンサ23及びエンコーダ24を一組のみ示している。 Further, as shown in FIG. 9, the robot 2 has a motor 21 and a sensor 22 (torque sensor 23 and encoder 24) for each joint. The motor 21 and the sensor 22 are each connected to the corresponding joint control unit 12b by a power line or the like. The torque sensor 23 detects the current value of torque at the corresponding joint. The encoder 24 detects the current value of the corresponding joint angle. Note that FIG. 10 shows only one set of the motor 21, the torque sensor 23, and the encoder 24.
 メイン制御部11bは、各関節制御部12bに指令値を出力することで、ロボット2全体を制御する。具体的には、メイン制御部11bは、力の指令値及び位置姿勢の指令値並びにロボット2が有する関節毎のトルクの現在値及び角度の現在値に基づいて、当該関節毎の速度の指令値を演算する。メイン制御部11bは、図10及び図11に示すように、力演算部111b、力制御部112b、位置姿勢演算部113b、位置姿勢制御部114b、指令値合成部115b及び指令値変換部116bを備えている。 The main control unit 11b controls the entire robot 2 by outputting a command value to each joint control unit 12b. Specifically, the main control unit 11b has a force command value, a position / posture command value, and a speed command value for each joint based on the current torque value and the angle current value for each joint of the robot 2. Is calculated. As shown in FIGS. 10 and 11, the main control unit 11b includes a force calculation unit 111b, a force control unit 112b, a position / attitude calculation unit 113b, a position / attitude control unit 114b, a command value synthesis unit 115b, and a command value conversion unit 116b. I have.
 力演算部111bは、ロボット2が有する関節毎のトルクの現在値に基づいて、ロボット2の力の現在値を演算する。ロボット2が有する関節毎のトルクは関節座標系で表されており、力演算部111bは、関節毎のトルクを直交座標系で表された力に変換する。図11において、τはトルクの現在値を表し、Fは力の現在値を表している。 The force calculation unit 111b calculates the current value of the force of the robot 2 based on the current value of the torque of each joint of the robot 2. The torque for each joint of the robot 2 is represented by the joint coordinate system, and the force calculation unit 111b converts the torque for each joint into a force represented by the orthogonal coordinate system. In FIG. 11, τ represents the current value of torque and F represents the current value of force.
 力制御部112bは、力の指令値及び力演算部111bにより演算された力の現在値に基づいて、力制御の指令値を演算する。この力制御部112bでは、偏差演算器1121bで力の指令値と力の現在値との間の偏差を求め、係数乗算部1122bで偏差演算器1121bによる演算結果の偏差に対してゲインを乗算することで、力制御の指令値を得る。図11において、Frは力の指令値を表し、Gはゲインを表している。 The force control unit 112b calculates the force control command value based on the force command value and the current value of the force calculated by the force calculation unit 111b. In the force control unit 112b, the deviation calculator 1121b obtains the deviation between the command value of the force and the current value of the force, and the coefficient multiplication unit 1122b multiplies the deviation of the calculation result by the deviation calculator 1121b by the gain. By doing so, the command value of force control is obtained. In Figure 11, Fr represents the command value of the force, G F represents a gain.
 位置姿勢演算部113bは、ロボット2が有する関節毎の角度の現在値に基づいて、ロボット2の位置姿勢の現在値を演算する。ロボット2が有する関節毎の角度の現在値は関節座標系で表されており、位置姿勢演算部113bは、関節毎の角度の現在値を直交座標系で表された位置姿勢の現在値に変換する。図11において、θは角度の現在値を表し、Xは位置姿勢の現在値を表している。 The position / posture calculation unit 113b calculates the current value of the position / posture of the robot 2 based on the current value of the angle of each joint of the robot 2. The current value of the angle for each joint of the robot 2 is represented by the joint coordinate system, and the position / posture calculation unit 113b converts the current value of the angle for each joint into the current value of the position / posture represented by the orthogonal coordinate system. To do. In FIG. 11, θ represents the current value of the angle, and X represents the current value of the position and orientation.
 位置姿勢制御部114bは、位置姿勢の指令値及び位置姿勢演算部113bにより演算された位置姿勢の現在値に基づいて、位置姿勢制御の指令値を演算する。この位置姿勢制御部114bでは、偏差演算器1141bで位置姿勢の指令値と位置姿勢の現在値との間の偏差を求め、係数乗算部1142bで偏差演算器1141bによる演算結果に対してゲインを乗算することで、位置姿勢制御の指令値を得る。図11において、Xrは位置姿勢の指令値を表し、Gはゲインを表している。 The position / posture control unit 114b calculates the position / posture control command value based on the position / posture command value and the position / posture current value calculated by the position / posture calculation unit 113b. In the position / attitude control unit 114b, the deviation calculator 1141b obtains the deviation between the command value of the position / posture and the current value of the position / posture, and the coefficient multiplication unit 1142b multiplies the calculation result by the deviation calculator 1141b by the gain. By doing so, the command value of the position / attitude control is obtained. In FIG. 11, Xr represents the command value of the position and orientation, and G Z represents the gain.
 指令値合成部115bは、力制御部112bにより演算された力制御の指令値及び位置姿勢制御部114bにより演算された位置姿勢制御の指令値を合成する。この指令値合成部115bでは、加算器1151bで力制御の指令値と位置姿勢制御の指令値とを加算する。 The command value synthesis unit 115b synthesizes the force control command value calculated by the force control unit 112b and the position / attitude control command value calculated by the position / attitude control unit 114b. In the command value combining unit 115b, the adder 1151b adds the command value for force control and the command value for position / attitude control.
 指令値変換部116bは、指令値合成部115bによる合成結果を、ロボット2が有する関節毎の角速度の指令値に変換する。この指令値変換部116bでは、係数乗算部1161bで上記合成結果に対してヤコビ行列の逆行列を乗算する。すなわち、指令値変換部116bは、直交座標系で表された指令値を関節座標系で表された指令値に変換する。図11において、Jはヤコビ行列を表し、θ(ドット)rは角速度の指令値を表している。 The command value conversion unit 116b converts the synthesis result by the command value synthesis unit 115b into a command value of the angular velocity of each joint of the robot 2. In the command value conversion unit 116b, the coefficient multiplication unit 1161b multiplies the synthesis result by the inverse matrix of the Jacobian matrix. That is, the command value conversion unit 116b converts the command value represented by the orthogonal coordinate system into the command value represented by the joint coordinate system. In FIG. 11, J represents the Jacobian matrix, and θ (dot) r represents the command value of the angular velocity.
 関節制御部12bは、メイン制御部11bからの指令に応じ、対応する関節に設けられたモータ21を制御する。関節制御部12bは、図10に示すように、トルク取得部121b及び関節角制御部122bを備えている。 The joint control unit 12b controls the motor 21 provided in the corresponding joint in response to a command from the main control unit 11b. As shown in FIG. 10, the joint control unit 12b includes a torque acquisition unit 121b and a joint angle control unit 122b.
 トルク取得部121bは、対応する関節でのトルクの現在値を取得する。このトルク取得部121bにより取得されたトルクの現在値を示すデータは、メイン制御部11b(力演算部111b)に出力される。 The torque acquisition unit 121b acquires the current value of the torque at the corresponding joint. The data indicating the current value of the torque acquired by the torque acquisition unit 121b is output to the main control unit 11b (force calculation unit 111b).
 関節角制御部122bは、メイン制御部11bにより演算された角速度の指令値及びロボット2が有する関節毎の角度の現在値に基づいて、対応する関節に設けられたモータ21に対する指令値を演算する。この関節角制御部122bでは、速度変換部1221bで角度の現在値を角速度の現在値に変換し、減算器1223bで角速度の指令値から速度変換部1221bで得られた角速度の現在値を減算し、PI制御部1224bで減算器1223bによる減算結果に基づいてPI制御を行うことで、モータ21に対する指令値を得る。 The joint angle control unit 122b calculates a command value for the motor 21 provided in the corresponding joint based on the command value of the angular velocity calculated by the main control unit 11b and the current value of the angle for each joint of the robot 2. .. In the joint angle control unit 122b, the speed conversion unit 1221b converts the current value of the angle into the current value of the angular velocity, and the subtractor 1223b subtracts the current value of the angular velocity obtained by the speed conversion unit 1221b from the command value of the angular velocity. , The PI control unit 1224b performs PI control based on the subtraction result by the subtractor 1223b to obtain a command value for the motor 21.
 このように、図9~図11に示すロボット制御装置1bでは、複数の関節を連携して操作する必要があり、メイン制御部11bで、多関節の自由度(例えば6自由度)に対して位置姿勢と力を同時に制御演算した結果を合成し、当該合成結果を各軸の関節制御部12bへの信号に変換してから出力する。すなわち、このロボット制御装置1bでは、メイン制御部11bでコンプライアンス制御の主要な演算を実行する。そのため、このロボット制御装置1bでは、調整すべきパラメータを合理的に統合できる等のメリットがある。 As described above, in the robot control device 1b shown in FIGS. 9 to 11, it is necessary to operate a plurality of joints in cooperation with each other, and the main control unit 11b has a degree of freedom of multiple joints (for example, 6 degrees of freedom). The result of controlling and calculating the position and posture and the force at the same time is synthesized, and the combined result is converted into a signal to the joint control unit 12b of each axis and then output. That is, in the robot control device 1b, the main control unit 11b executes the main calculation of the compliance control. Therefore, this robot control device 1b has an advantage that parameters to be adjusted can be rationally integrated.
特開2016-168650号公報Japanese Unexamined Patent Publication No. 2016-168650
 一般に、産業用ロボット等のロボットでは、力制御によって実現が求められる対象として精密な研磨の倣い動作等があり、整定動作又は追従動作のようなダイナミクスの性能向上が常に求められている。
 一方、従来のロボット制御装置では、メイン制御部でフィードバック系を構成している。すなわち、このロボット制御装置では、ロボットから物理的にも通信的にも距離のある構成要素でフィードバック制御演算を行うことになる。よって、トルクセンサによるトルクの検出からモータへの指令値の入力までの遅延が長くなる。その結果、このロボット制御装置では、不可避的にむだ時間が入り込む余地が多くなり、安定性を維持できるハイゲイン化を抑制する要因になる。また、むだ時間自体も、リード補償等でキャンセルできる要素ではないため、応答時間への悪影響は避けられない。
 このように、従来のロボット制御装置では、力制御の性能(特に速応性)の向上が難しく、更なる改善が求められている。
In general, in robots such as industrial robots, precision polishing imitation motion and the like are required to be realized by force control, and improvement of dynamics performance such as settling motion or follow-up motion is always required.
On the other hand, in the conventional robot control device, the feedback system is configured by the main control unit. That is, in this robot control device, the feedback control calculation is performed by a component having a physical and communication distance from the robot. Therefore, the delay from the detection of torque by the torque sensor to the input of the command value to the motor becomes long. As a result, in this robot control device, there is inevitably more room for wasted time, which is a factor that suppresses high gain that can maintain stability. Moreover, since the dead time itself is not an element that can be canceled by lead compensation or the like, an adverse effect on the response time is unavoidable.
As described above, it is difficult to improve the force control performance (particularly quick response) in the conventional robot control device, and further improvement is required.
 この発明は、上記のような課題を解決するためになされたもので、従来構成に対して力制御の性能を向上可能なロボット制御装置を提供することを目的としている。 The present invention has been made to solve the above problems, and an object of the present invention is to provide a robot control device capable of improving force control performance with respect to a conventional configuration.
 この発明に係るロボット制御装置は、力の指令値及び位置姿勢の指令値並びにロボットが有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び位置姿勢制御の指令値を演算するメイン制御部と、ロボットが有する関節毎に設けられ、対応する関節でのトルクの現在値並びにメイン制御部により演算されたトルクの指令値及び位置姿勢制御の指令値に基づいて、対応する関節に設けられたモータに対する指令値を演算する関節制御部とを備えたことを特徴とする。 The robot control device according to the present invention determines the torque command value and the position / posture control command value for each joint based on the force command value, the position / posture command value, and the current value of the angle of each joint of the robot. The main control unit to be calculated and the joints of the robot are provided for each joint, and correspond based on the current value of the torque at the corresponding joint, the command value of the torque calculated by the main control unit, and the command value of the position / attitude control. It is characterized by being provided with a joint control unit that calculates a command value for a motor provided in the joint.
 この発明によれば、上記のように構成したので、従来構成に対して力制御の性能を向上可能となる。 According to the present invention, since the configuration is as described above, the force control performance can be improved as compared with the conventional configuration.
実施の形態1に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control device which concerns on Embodiment 1. FIG. 実施の形態1に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control device which concerns on Embodiment 1. FIG. 実施の形態1に係るロボット制御装置の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the robot control apparatus which concerns on Embodiment 1. FIG. 実施の形態1におけるメイン制御部の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the main control part in Embodiment 1. 実施の形態1における関節制御部の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the joint control part in Embodiment 1. 図6A、図6Bは、実施の形態1に係るロボット制御装置による効果を説明するための図であり、図6Aは実施の形態1に係るロボット制御装置を用いた場合でのシミュレーション結果の一例を示す図であり、図6Bは従来のロボット制御装置を用いた場合でのシミュレーション結果の一例を示す図である。6A and 6B are diagrams for explaining the effect of the robot control device according to the first embodiment, and FIG. 6A is an example of simulation results when the robot control device according to the first embodiment is used. FIG. 6B is a diagram showing an example of a simulation result when a conventional robot control device is used. 実施の形態2に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control device which concerns on Embodiment 2. 実施の形態2に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control device which concerns on Embodiment 2. 従来のロボット制御装置を含むロボットシステムの構成例を示す図である。It is a figure which shows the configuration example of the robot system including the conventional robot control device. 従来のロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the conventional robot control device. 従来のロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the conventional robot control device.
 以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
 図1,2は実施の形態1に係るロボット制御装置1の構成例を示す図である。なお、ロボット制御装置1とロボット2との関係は、図9と同様であり、その説明を省略する。
 ロボット制御装置1は、ロボット2の位置姿勢と力を同時(並列)に制御する。ロボット制御装置1は、図1,2に示すように、メイン制御部(上位コントローラ)11、及び複数の関節制御部(下位コントローラ)12を備えている。関節制御部12は、ロボット2が有する関節毎に設けられている。なお、メイン制御部11と各関節制御部12との間は通信線により接続されている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment 1.
1 and 2 are diagrams showing a configuration example of the robot control device 1 according to the first embodiment. The relationship between the robot control device 1 and the robot 2 is the same as that in FIG. 9, and the description thereof will be omitted.
The robot control device 1 controls the position / posture and the force of the robot 2 at the same time (parallel). As shown in FIGS. 1 and 2, the robot control device 1 includes a main control unit (upper controller) 11 and a plurality of joint control units (lower controllers) 12. The joint control unit 12 is provided for each joint of the robot 2. The main control unit 11 and each joint control unit 12 are connected by a communication line.
 メイン制御部11は、各関節制御部12に指令値を出力することで、ロボット2全体を制御する。具体的には、メイン制御部11は、力の指令値及び位置姿勢の指令値並びにロボット2が有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び位置姿勢制御の指令値を演算する。図1,2では、位置姿勢制御の指令値は速度の指令値である。メイン制御部11は、図1に示すように、トルク指令値変換部111、位置姿勢演算部112、位置姿勢制御部113及び指令値変換部114を備えている。なお、メイン制御部11は、システムLSI(Large Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。 The main control unit 11 controls the entire robot 2 by outputting a command value to each joint control unit 12. Specifically, the main control unit 11 controls the torque command value and the position / posture control for each joint based on the force command value and the position / posture command value and the current value of the angle of each joint of the robot 2. Calculate the command value. In FIGS. 1 and 2, the command value for position / attitude control is the command value for speed. As shown in FIG. 1, the main control unit 11 includes a torque command value conversion unit 111, a position / attitude calculation unit 112, a position / attitude control unit 113, and a command value conversion unit 114. The main control unit 11 is realized by a processing circuit such as a system LSI (Large Scale Integration), a CPU (Central Processing Unit) that executes a program stored in a memory or the like, or the like.
 トルク指令値変換部111は、力の指令値を、ロボット2が有する関節毎のトルクの指令値に変換する。トルク指令値変換部111は、係数乗算部1111を有している。係数乗算部1111は、力の指令値に対してヤコビ行列の転置行列を乗算する。力の指令値は直交座標系で表されており、トルク指令値変換部111は、力の指令値を関節座標系で表されたトルクの指令値に変換する。図2において、Frは力の指令値を表し、Jはヤコビ行列を表し、τrはトルクの指令値を表している。 The torque command value conversion unit 111 converts the force command value into the torque command value for each joint of the robot 2. The torque command value conversion unit 111 has a coefficient multiplication unit 1111. The coefficient multiplication unit 1111 multiplies the command value of the force by the transposed matrix of the Jacobian matrix. The force command value is represented by the Cartesian coordinate system, and the torque command value conversion unit 111 converts the force command value into the torque command value represented by the joint coordinate system. In FIG. 2, Fr represents a force command value, J represents a Jacobian matrix, and τr represents a torque command value.
 位置姿勢演算部112は、ロボット2が有する関節毎の角度の現在値に基づいて、ロボット2の位置姿勢の現在値を演算する。ロボット2が有する関節毎の角度は関節座標系で表されており、位置姿勢演算部112は、関節毎の角度を直交座標系で表された位置姿勢に変換する。なおロボット2が有する関節毎の角度の現在値は、当該関節毎に設けられたエンコーダ24により検出される。図2において、θは角度の現在値を表し、Xは位置姿勢の現在値を表している。 The position / posture calculation unit 112 calculates the current value of the position / posture of the robot 2 based on the current value of the angle of each joint of the robot 2. The angle of each joint of the robot 2 is represented by the joint coordinate system, and the position / posture calculation unit 112 converts the angle of each joint into the position / posture represented by the orthogonal coordinate system. The current value of the angle of each joint of the robot 2 is detected by the encoder 24 provided for each joint. In FIG. 2, θ represents the current value of the angle, and X represents the current value of the position and orientation.
 位置姿勢制御部113は、位置姿勢の指令値及び位置姿勢演算部112により演算された位置姿勢の現在値に基づいて、速度の指令値(位置姿勢制御の指令値)を演算する。位置姿勢制御部113は、偏差演算器1131及び係数乗算部1132を有している。 The position / attitude control unit 113 calculates a speed command value (position / attitude control command value) based on the position / attitude command value and the current position / attitude value calculated by the position / attitude calculation unit 112. The position / attitude control unit 113 includes a deviation calculator 1131 and a coefficient multiplication unit 1132.
 偏差演算器1131は、位置姿勢の指令値と位置姿勢の現在値との間の偏差を演算によって求める。
 係数乗算部1132は、偏差演算器1131による演算結果の偏差に対してゲインを乗算することで、速度の指令値を得る。図2において、Xrは位置姿勢の指令値を表し、Gはゲインを表している。
The deviation calculator 1131 calculates the deviation between the command value of the position / orientation and the current value of the position / orientation.
The coefficient multiplication unit 1132 obtains a speed command value by multiplying the deviation of the calculation result by the deviation calculator 1131 by the gain. In FIG. 2, Xr represents a command value of position and orientation, and G Z represents a gain.
 指令値変換部114は、位置姿勢制御部113により演算された速度の指令値を、ロボット2が有する関節毎の角速度の指令値に変換する。指令値変換部114は、係数乗算部1141を有している。係数乗算部1141は、位置姿勢制御部113により演算された速度の指令値に対してヤコビ行列の逆行列を乗算する。すなわち、指令値変換部114は、直交座標系で表された指令値を関節座標系で表された指令値に変換する。図2において、θ(ドット)rは角速度の指令値を表している。 The command value conversion unit 114 converts the speed command value calculated by the position / attitude control unit 113 into the command value of the angular velocity for each joint of the robot 2. The command value conversion unit 114 has a coefficient multiplication unit 1141. The coefficient multiplication unit 1141 multiplies the command value of the velocity calculated by the position / orientation control unit 113 by the inverse matrix of the Jacobian matrix. That is, the command value conversion unit 114 converts the command value represented by the orthogonal coordinate system into the command value represented by the joint coordinate system. In FIG. 2, θ (dot) r represents the command value of the angular velocity.
 関節制御部12は、メイン制御部11からの指令に応じ、対応する関節に設けられたモータ21を制御する。具体的には、関節制御部12は、対応する関節でのトルクの現在値並びにメイン制御部11により演算されたトルクの指令値及び角速度の指令値(位置姿勢制御の指令値)に基づいて、対応する関節に設けられたモータ21に対する指令値を演算する。関節制御部12は、図1に示すように、トルク取得部121、トルク制御部122及びモータ制御部123を備えている。モータ制御部123は、関節角制御部124及び指令値合成部125を有している。 The joint control unit 12 controls the motor 21 provided in the corresponding joint in response to a command from the main control unit 11. Specifically, the joint control unit 12 is based on the current value of the torque at the corresponding joint, the command value of the torque calculated by the main control unit 11, and the command value of the angular velocity (command value of the position / attitude control). The command value for the motor 21 provided in the corresponding joint is calculated. As shown in FIG. 1, the joint control unit 12 includes a torque acquisition unit 121, a torque control unit 122, and a motor control unit 123. The motor control unit 123 has a joint angle control unit 124 and a command value synthesis unit 125.
 トルク取得部121は、対応する関節でのトルクの現在値を取得する。ロボット2が有する関節毎のトルクの現在値は、当該関節毎に設けられたトルクセンサ23により検出される。 The torque acquisition unit 121 acquires the current value of the torque at the corresponding joint. The current value of the torque for each joint of the robot 2 is detected by the torque sensor 23 provided for each joint.
 トルク制御部122は、対応する関節でのトルクの現在値及びメイン制御部11により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算する。トルク制御部122は、減算器1221及びPI制御部1222を有している。 The torque control unit 122 calculates the torque control command value based on the current value of the torque at the corresponding joint and the torque command value calculated by the main control unit 11. The torque control unit 122 has a subtractor 1221 and a PI control unit 1222.
 減算器1221は、メイン制御部11により演算されたトルクの指令値から、トルク取得部121により取得されたトルクの現在値を減算する。
 PI制御部1222は、減算器1221による減算結果に基づいてPI制御を行うことで、トルク制御の指令値を得る。
The subtractor 1221 subtracts the current value of the torque acquired by the torque acquisition unit 121 from the command value of the torque calculated by the main control unit 11.
The PI control unit 1222 obtains a command value for torque control by performing PI control based on the subtraction result by the subtractor 1221.
 関節角制御部124は、メイン制御部11により演算された角速度の指令値に基づいて、角速度制御の指令値を演算する。関節角制御部124は、速度変換部1241及び速度制御部1242を有している。速度制御部1242は、減算器1243及びPI制御部1244を有している。 The joint angle control unit 124 calculates the command value for angular velocity control based on the command value for the angular velocity calculated by the main control unit 11. The joint angle control unit 124 has a speed conversion unit 1241 and a speed control unit 1242. The speed control unit 1242 has a subtractor 1243 and a PI control unit 1244.
 速度変換部1241は、対応する関節での角度の現在値を角速度の現在値に変換する。 The speed conversion unit 1241 converts the current value of the angle at the corresponding joint into the current value of the angular velocity.
 減算器1243は、メイン制御部11により演算された角速度の指令値から、速度変換部1241により得られた角速度の現在値を減算する。
 PI制御部1244は、減算器1243による減算結果に基づいてPI制御を行うことで、角速度制御の指令値を得る。
The subtractor 1243 subtracts the current value of the angular velocity obtained by the speed conversion unit 1241 from the command value of the angular velocity calculated by the main control unit 11.
The PI control unit 1244 obtains a command value for angular velocity control by performing PI control based on the subtraction result by the subtractor 1243.
 指令値合成部125は、トルク制御部122により演算されたトルク制御の指令値及び関節角制御部124により演算された角速度制御の指令値を合成する。図1では、指令値合成部125は、加算器1251を有する。加算器1251は、トルク制御部122により演算されたトルク制御の指令値と関節角制御部124により演算された角速度制御の指令値とを加算する。この指令値合成部125による合成結果である指令値(電流指令値)は、モータ21に出力される。 The command value combining unit 125 synthesizes the torque control command value calculated by the torque control unit 122 and the angular velocity control command value calculated by the joint angle control unit 124. In FIG. 1, the command value synthesizing unit 125 has an adder 1251. The adder 1251 adds the torque control command value calculated by the torque control unit 122 and the angular velocity control command value calculated by the joint angle control unit 124. The command value (current command value), which is the result of synthesis by the command value synthesis unit 125, is output to the motor 21.
 次に、図1,2に示す実施の形態1に係るロボット制御装置1の動作例について、図3を参照しながら説明する。
 図1,2に示す実施の形態1に係るロボット制御装置1の動作例では、図3に示すように、まず、メイン制御部11は、力の指令値及び位置姿勢の指令値並びにロボット2が有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び角速度の指令値(位置姿勢制御の指令値)を演算する(ステップST301)。
Next, an operation example of the robot control device 1 according to the first embodiment shown in FIGS. 1 and 2 will be described with reference to FIG.
In the operation example of the robot control device 1 according to the first embodiment shown in FIGS. 1 and 2, first, as shown in FIG. 3, the main control unit 11 first has a force command value, a position / posture command value, and the robot 2. Based on the current value of the angle for each joint, the torque command value and the angular velocity command value (position / posture control command value) for each joint are calculated (step ST301).
 次いで、関節制御部12は、対応する関節でのトルクの現在値並びにメイン制御部11により演算されたトルクの指令値及び角速度の指令値に基づいて、対応する関節に設けられたモータ21に対する指令値を演算する(ステップST302)。 Next, the joint control unit 12 commands the motor 21 provided in the corresponding joint based on the current value of the torque in the corresponding joint, the command value of the torque calculated by the main control unit 11, and the command value of the angular velocity. Calculate the value (step ST302).
 次に、図1,2に示すメイン制御部11の動作例について、図4を参照しながら説明する。
 図1,2に示すメイン制御部11の動作例では、図4に示すように、まず、トルク指令値変換部111は、力の指令値を、ロボット2が有する関節毎のトルクの指令値に変換する(ステップST401)。図1,2では、係数乗算部1111が、力の指令値に対してヤコビ行列の転置行列を乗算する。なお、ヤコビ行列はロボット2の関節の角度によって変わるので、適宜更新する必要がある。また、トルク取得部121が取得するトルクの現在値は通常、重力に起因するトルク成分を含むので、このトルク成分を相殺するようトルク指令値にこの重力起因トルク成分の推定値を重畳すると良い。
Next, an operation example of the main control unit 11 shown in FIGS. 1 and 2 will be described with reference to FIG.
In the operation example of the main control unit 11 shown in FIGS. 1 and 2, as shown in FIG. 4, the torque command value conversion unit 111 first converts the force command value into the torque command value for each joint of the robot 2. Convert (step ST401). In FIGS. 1 and 2, the coefficient multiplication unit 1111 multiplies the command value of the force by the transposed matrix of the Jacobian matrix. Since the Jacobian matrix changes depending on the angle of the joints of the robot 2, it is necessary to update it as appropriate. Further, since the current value of the torque acquired by the torque acquisition unit 121 usually includes a torque component caused by gravity, it is preferable to superimpose the estimated value of the torque component caused by gravity on the torque command value so as to cancel this torque component.
 また、位置姿勢演算部112は、ロボット2が有する関節毎の角度の現在値に基づいて、ロボット2の位置姿勢の現在値を演算する(ステップST402)。 Further, the position / posture calculation unit 112 calculates the current value of the position / posture of the robot 2 based on the current value of the angle of each joint of the robot 2 (step ST402).
 次いで、位置姿勢制御部113は、位置姿勢の指令値及び位置姿勢演算部112により演算された位置姿勢の現在値に基づいて、速度の指令値(位置姿勢制御の指令値)を演算する(ステップST403)。図1,2では、偏差演算器1131が、位置姿勢の指令値と位置姿勢の現在値との間の偏差を演算し、係数乗算部1132が、偏差演算器1131による演算結果の偏差に対してゲインを乗算することで、速度の指令値を得る。なお、位置の偏差は、指令値の座標値から現在値の座標値を減算することで得られる。姿勢の偏差は、現在値の姿勢から指令値の姿勢への回転変換を求めることで得ることができる。 Next, the position / attitude control unit 113 calculates a speed command value (position / attitude control command value) based on the position / attitude command value and the position / attitude current value calculated by the position / attitude calculation unit 112 (step). ST403). In FIGS. 1 and 2, the deviation calculator 1131 calculates the deviation between the command value of the position / orientation and the current value of the position / orientation, and the coefficient multiplication unit 1132 calculates the deviation of the calculation result by the deviation calculator 1131. By multiplying the gain, the command value of speed is obtained. The deviation of the position is obtained by subtracting the coordinate value of the current value from the coordinate value of the command value. The attitude deviation can be obtained by obtaining the rotation conversion from the attitude of the current value to the attitude of the command value.
 次いで、指令値変換部114は、位置姿勢制御部113により演算された速度の指令値を、ロボット2が有する関節毎の角速度の指令値に変換する(ステップST404)。図1,2では、係数乗算部1141が、位置姿勢制御部113により演算された速度の指令値に対してヤコビ行列の逆行列を乗算することで、関節毎の角速度の指令値を得る。 Next, the command value conversion unit 114 converts the speed command value calculated by the position / attitude control unit 113 into the command value of the angular velocity for each joint of the robot 2 (step ST404). In FIGS. 1 and 2, the coefficient multiplication unit 1141 obtains the command value of the angular velocity for each joint by multiplying the command value of the velocity calculated by the position / attitude control unit 113 by the inverse matrix of the Jacobian matrix.
 次に、図1,2に示す関節制御部12の動作例について、図5を参照しながら説明する。
 図1,2に示す関節制御部12の動作例では、図5に示すように、まず、トルク取得部121は、対応する関節でのトルクの現在値を取得する(ステップST501)。
Next, an operation example of the joint control unit 12 shown in FIGS. 1 and 2 will be described with reference to FIG.
In the operation example of the joint control unit 12 shown in FIGS. 1 and 2, as shown in FIG. 5, the torque acquisition unit 121 first acquires the current value of the torque at the corresponding joint (step ST501).
 次いで、トルク制御部122は、対応する関節でのトルクの現在値及びメイン制御部11により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算する(ステップST502)。図1,2では、減算器1221が、メイン制御部11により演算されたトルクの指令値からトルク取得部121により取得されたトルクの現在値を減算し、PI制御部1222が、減算器1221による減算結果に基づいてPI制御を行うことで、トルク制御の指令値を得る。 Next, the torque control unit 122 calculates the torque control command value based on the current value of the torque at the corresponding joint and the torque command value calculated by the main control unit 11 (step ST502). In FIGS. 1 and 2, the subtractor 1221 subtracts the current value of the torque acquired by the torque acquisition unit 121 from the command value of the torque calculated by the main control unit 11, and the PI control unit 1222 uses the subtractor 1221. By performing PI control based on the subtraction result, a command value for torque control is obtained.
 また、関節角制御部124は、メイン制御部11により演算された角速度の指令値に基づいて、角速度制御の指令値を演算する(ステップST503)。図1,2では、速度変換部1241が、対応する関節での角度の現在値を角速度の現在値に変換し、減算器1243が、メイン制御部11により演算された角速度の指令値から速度変換部1241により得られた角速度の現在値を減算し、PI制御部1244が、減算器1243による減算結果に基づいてPI制御を行うことで、角速度制御の指令値を得る。 Further, the joint angle control unit 124 calculates the command value of the angular velocity control based on the command value of the angular velocity calculated by the main control unit 11 (step ST503). In FIGS. 1 and 2, the speed conversion unit 1241 converts the current value of the angle at the corresponding joint into the current value of the angular velocity, and the subtractor 1243 converts the speed from the command value of the angular velocity calculated by the main control unit 11. The current value of the angular velocity obtained by the unit 1241 is subtracted, and the PI control unit 1244 performs PI control based on the subtraction result by the subtractor 1243 to obtain a command value for the angular velocity control.
 次いで、指令値合成部125は、トルク制御部122により演算されたトルク制御の指令値及び関節角制御部124により演算された角速度制御の指令値を合成する(ステップST504)。図1,2では、加算器1251が、トルク制御部122により演算されたトルク制御の指令値と関節角制御部124により演算された角速度制御の指令値とを加算する。この指令値合成部125による合成結果である指令値(電流指令値)は、モータ21に出力される。 Next, the command value synthesizing unit 125 synthesizes the torque control command value calculated by the torque control unit 122 and the angular velocity control command value calculated by the joint angle control unit 124 (step ST504). In FIGS. 1 and 2, the adder 1251 adds the torque control command value calculated by the torque control unit 122 and the angular velocity control command value calculated by the joint angle control unit 124. The command value (current command value), which is the result of synthesis by the command value synthesis unit 125, is output to the motor 21.
 次に、実施の形態1に係るロボット制御装置1による効果について説明する。
 上述したように、従来のロボット制御装置1bでは、メイン制御部11bでフィードバック系を構成している。すなわち、このロボット制御装置1bでは、ロボット2から物理的にも通信的にも距離のある構成要素でフィードバック制御演算を行うことになる。よって、トルクセンサ23によるトルクの検出からモータ21への指令値の入力までの遅延が長くなる。その結果、このロボット制御装置1では、不可避的にむだ時間が入り込む余地が多くなり、安定性を維持できるハイゲイン化を抑制する要因になる。また、むだ時間自体も、リード補償等でキャンセルできる要素ではないため、応答時間への悪影響は避けられない。
Next, the effect of the robot control device 1 according to the first embodiment will be described.
As described above, in the conventional robot control device 1b, the feedback system is configured by the main control unit 11b. That is, in the robot control device 1b, the feedback control calculation is performed by a component having a physical and communication distance from the robot 2. Therefore, the delay from the detection of torque by the torque sensor 23 to the input of the command value to the motor 21 becomes long. As a result, in the robot control device 1, there is inevitably more room for wasted time, which is a factor that suppresses high gain that can maintain stability. Moreover, since the dead time itself is not an element that can be canceled by lead compensation or the like, an adverse effect on the response time is unavoidable.
 これに対し、実施の形態1に係るロボット制御装置1のように、メイン制御部11で力制御に対する演算を実施するのではなく、関節制御部12でトルク制御に対する演算を実施することで、トルクセンサ23によるトルクの検出からモータ21への指令値の入力までの遅延が短くなり、むだ時間が入り込む余地を削減できる。すなわち、実施の形態1に係るロボット制御装置1は、安定性を維持できるコントローラのハイゲイン化に相当する調整(関節単位の1変数制御のゲイン調整)も可能になる。このように、実施の形態1に係るロボット制御装置1では、従来構成に対して力制御の性能(特に速応性)の向上が可能となる。 On the other hand, unlike the robot control device 1 according to the first embodiment, the main control unit 11 does not perform the calculation for the force control, but the joint control unit 12 performs the calculation for the torque control to obtain torque. The delay from the detection of torque by the sensor 23 to the input of the command value to the motor 21 is shortened, and the room for wasted time can be reduced. That is, the robot control device 1 according to the first embodiment can also make adjustments (gain adjustment of one-variable control for each joint) corresponding to high gain of the controller that can maintain stability. As described above, in the robot control device 1 according to the first embodiment, it is possible to improve the force control performance (particularly quick response) with respect to the conventional configuration.
 図6は、実施の形態1に係るロボット制御装置1による効果を説明するための図である。図6Aは実施の形態1に係るロボット制御装置1を用いた場合でのシミュレーション結果の一例を示す図であり、図6Bは従来のロボット制御装置1bを用いた場合でのシミュレーション結果の一例を示す図である。図6では、ロボット2で物体をZ軸方向に押し付けた際のシミュレーション結果を示している。なお、ロボット2による押付け力の目標値は10[N]としている。図6A及び図6Bにおいて、横軸は時間[s]を示し、縦軸はロボット2によるZ軸方向への押付け力を示している。
 この場合、図6Bに示すように、従来のロボット制御装置1bを用いた場合には、ロボット2によるZ軸方向への押付け力が目標値に整定するまでの時間(整定時間)が3.03[s]となっている。これに対し、図6Aに示すように、実施の形態1に係るロボット制御装置1を用いた場合には、整定時間が0.47[s]となっている。すなわち、実施の形態1に係るロボット制御装置1を用いた場合には、従来のロボット制御装置1bを用いた場合に対し、ロボット2によるZ軸方向への押付け力が短い時間で目標値に整定していることがわかる。
FIG. 6 is a diagram for explaining the effect of the robot control device 1 according to the first embodiment. FIG. 6A is a diagram showing an example of a simulation result when the robot control device 1 according to the first embodiment is used, and FIG. 6B shows an example of a simulation result when the conventional robot control device 1b is used. It is a figure. FIG. 6 shows a simulation result when an object is pressed in the Z-axis direction by the robot 2. The target value of the pressing force by the robot 2 is 10 [N]. In FIGS. 6A and 6B, the horizontal axis represents time [s], and the vertical axis represents the pressing force of the robot 2 in the Z-axis direction.
In this case, as shown in FIG. 6B, when the conventional robot control device 1b is used, the time (setting time) until the pressing force of the robot 2 in the Z-axis direction is set to the target value is 3.03. It is [s]. On the other hand, as shown in FIG. 6A, when the robot control device 1 according to the first embodiment is used, the settling time is 0.47 [s]. That is, when the robot control device 1 according to the first embodiment is used, the pressing force in the Z-axis direction by the robot 2 is set to the target value in a shorter time than when the conventional robot control device 1b is used. You can see that it is doing.
 また図6Bでは、従来のロボット制御装置1bにおける、力偏差の算出から速度指令値の算出までのゲインは、-2.0×10-3となる。これに対し、図6Aでは、実施の形態1に係るロボット制御装置1における、力偏差の算出から速度指令値の算出までのゲインに相当する等価ゲインは、-9.2×10-3となる。すなわち、実施の形態1に係るロボット制御装置1では、従来のロボット制御装置1bに対して高いゲインでの力制御が実現できていることがわかる。なお、実施の形態1に係るロボット制御装置1では、実際には力偏差から速度指令値を算出していないので、上記で示したゲインは実際のゲインではなく換算値である。 Further, in FIG. 6B, the gain from the calculation of the force deviation to the calculation of the speed command value in the conventional robot control device 1b is −2.0 × 10 -3 . On the other hand, in FIG. 6A, the equivalent gain corresponding to the gain from the calculation of the force deviation to the calculation of the speed command value in the robot control device 1 according to the first embodiment is −9.2 × 10 -3. .. That is, it can be seen that the robot control device 1 according to the first embodiment can realize force control with a higher gain than the conventional robot control device 1b. Since the robot control device 1 according to the first embodiment does not actually calculate the speed command value from the force deviation, the gain shown above is not an actual gain but a converted value.
 なお、図1,2に示すロボット制御装置1では、速度制御に関するゲインを0にすることで単体のトルク制御を実現でき、また、トルク制御に関するゲインを0にすることで通常の速度制御を実現できる。 In the robot control device 1 shown in FIGS. 1 and 2, the torque control of a single unit can be realized by setting the gain related to speed control to 0, and the normal speed control can be realized by setting the gain related to torque control to 0. it can.
 以上のように、この実施の形態1によれば、ロボット制御装置1は、力の指令値及び位置姿勢の指令値並びにロボット2が有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び位置姿勢制御の指令値を演算するメイン制御部11と、ロボット2が有する関節毎に設けられ、対応する関節でのトルクの現在値並びにメイン制御部11により演算されたトルクの指令値及び位置姿勢制御の指令値に基づいて、対応する関節に設けられたモータ21に対する指令値を演算する関節制御部12とを備えた。これにより、実施の形態1に係るロボット制御装置1は、従来構成に対して力制御の性能を向上可能となる。 As described above, according to the first embodiment, the robot control device 1 is based on the command value of the force, the command value of the position and posture, and the current value of the angle of each joint of the robot 2, for each joint. The main control unit 11 that calculates the torque command value and the position / attitude control command value, and the current value of the torque at each joint provided by the robot 2 and the torque calculated by the main control unit 11 It is provided with a joint control unit 12 that calculates a command value for a motor 21 provided in a corresponding joint based on a command value and a command value for position / attitude control. As a result, the robot control device 1 according to the first embodiment can improve the force control performance as compared with the conventional configuration.
 なお、実施の形態1では関節角制御部124が関節制御部12に設けられた場合を示した。しかしながら、これに限らず、関節角制御部124はメイン制御部11に設けられていてもよい。例えば、ロボット2が低速で動作する場合等であれば、関節角制御部124がメイン制御部11に設けられていることによる影響は少ないと考えられる。
 また、関節角制御部124は必須の構成ではなく、ロボット制御装置1から取除いてもよい。
In the first embodiment, the case where the joint angle control unit 124 is provided in the joint control unit 12 is shown. However, the present invention is not limited to this, and the joint angle control unit 124 may be provided in the main control unit 11. For example, when the robot 2 operates at a low speed, it is considered that the influence of the joint angle control unit 124 provided on the main control unit 11 is small.
Further, the joint angle control unit 124 is not an essential configuration and may be removed from the robot control device 1.
実施の形態2.
 実施の形態1では、関節制御部12において、メイン制御部11で演算された角速度の指令値(位置姿勢制御の指令値)を用いて角速度制御の指令値を演算し、その後、トルク制御の指令値及び角速度制御の指令値を合成する場合を示した。しかしながら、これに限らず、関節制御部12において、トルク制御の指令値及びメイン制御部11で演算された角速度の指令値(位置姿勢制御の指令値)を合成した後、その合成結果を用いて角速度制御の指令値を演算してもよい。
 図7,8は実施の形態2に係るロボット制御装置1の構成例を示す図である。図7,8に示す実施の形態2に係るロボット制御装置1は、図1,2に示す実施の形態1に係るロボット制御装置1に対し、関節角制御部124及び指令値合成部125を指令値合成部126及び関節角制御部127に変更している。その他の構成は同様であり、同一の符号を付してその説明を省略する。
Embodiment 2.
In the first embodiment, the joint control unit 12 calculates the angular velocity control command value using the angular velocity command value (position / orientation control command value) calculated by the main control unit 11, and then calculates the torque control command. The case where the value and the command value of the angular velocity control are combined is shown. However, not limited to this, the joint control unit 12 synthesizes the torque control command value and the angular velocity command value (command value for position / attitude control) calculated by the main control unit 11, and then uses the combined result. The command value of the angular velocity control may be calculated.
7 and 8 are diagrams showing a configuration example of the robot control device 1 according to the second embodiment. The robot control device 1 according to the second embodiment shown in FIGS. 7 and 8 commands the joint angle control unit 124 and the command value synthesis unit 125 to the robot control device 1 according to the first embodiment shown in FIGS. The value synthesis unit 126 and the joint angle control unit 127 have been changed. Other configurations are the same, and the same reference numerals are given and the description thereof will be omitted.
 指令値合成部126は、メイン制御部11により演算された角速度の指令値(位置姿勢制御の指令値)及びトルク制御部122により演算されたトルク制御の指令値を合成する。図8では、指令値合成部126は、加算器1261を有する。加算器1261は、メイン制御部11により演算された角速度の指令値とトルク制御部122により演算されたトルク制御の指令値とを加算する。 The command value combining unit 126 synthesizes the command value of the angular velocity (command value of position / attitude control) calculated by the main control unit 11 and the command value of torque control calculated by the torque control unit 122. In FIG. 8, the command value synthesizing unit 126 has an adder 1261. The adder 1261 adds the command value of the angular velocity calculated by the main control unit 11 and the command value of the torque control calculated by the torque control unit 122.
 関節角制御部127は、指令値合成部126による合成結果に基づいて、角速度制御の指令値を演算する。関節角制御部127は、速度変換部1271及び速度制御部1272を有している。速度制御部1272は、減算器1273及びPI制御部1274を有している。 The joint angle control unit 127 calculates the command value for angular velocity control based on the synthesis result by the command value synthesis unit 126. The joint angle control unit 127 has a speed conversion unit 1271 and a speed control unit 1272. The speed control unit 1272 includes a subtractor 1273 and a PI control unit 1274.
 速度変換部1271は、対応する関節での角度の現在値を角速度の現在値に変換する。 The speed conversion unit 1271 converts the current value of the angle at the corresponding joint into the current value of the angular velocity.
 減算器1273は、指令値合成部126による合成結果から、速度変換部1271により得られた角速度の現在値を減算する。
 PI制御部1274は、減算器1273による減算結果に基づいてPI制御を行うことで、角速度制御の指令値を得る。
 この関節角制御部127により演算された角速度制御の指令値(電流指令値)は、対応する関節に設けられたモータ21に出力される。
The subtractor 1273 subtracts the current value of the angular velocity obtained by the speed conversion unit 1271 from the synthesis result by the command value synthesis unit 126.
The PI control unit 1274 obtains a command value for angular velocity control by performing PI control based on the subtraction result by the subtractor 1273.
The command value (current command value) of the angular velocity control calculated by the joint angle control unit 127 is output to the motor 21 provided in the corresponding joint.
 このように、実施の形態2に係るロボット制御装置1では、位置姿勢制御の指令値及びトルク制御の指令値を合成し、その合成結果に基づいて角速度制御を実施する。この実施の形態2に係るロボット制御装置1についても、実施の形態1に係るロボット制御装置1と同様の効果が得られる。また、実施の形態2に係るロボット制御装置1は、従来のコンプライアンス制御に近い対応関係となる。 As described above, in the robot control device 1 according to the second embodiment, the command value of the position / attitude control and the command value of the torque control are combined, and the angular velocity control is performed based on the combined result. The robot control device 1 according to the second embodiment also has the same effect as the robot control device 1 according to the first embodiment. Further, the robot control device 1 according to the second embodiment has a correspondence relationship close to that of the conventional compliance control.
 また、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。例えば、実施の形態1,2では関節角制御部が速度制御を行う例を用いて説明したが、加速度又は電流等の他の物理量の制御を介して位置姿勢の制御を行うことも可能である。 Further, in the present invention, within the scope of the invention, any combination of each embodiment, modification of any component of each embodiment, or omission of any component in each embodiment is possible. is there. For example, in the first and second embodiments, the joint angle control unit controls the speed, but it is also possible to control the position and posture through the control of other physical quantities such as acceleration or current. ..
 この発明に係るロボット制御装置は、従来構成に対して力制御の性能を向上可能となり、ロボットの位置姿勢と力を同時に制御可能なロボット制御装置等に用いるのに適している。 The robot control device according to the present invention can improve the force control performance as compared with the conventional configuration, and is suitable for use in a robot control device or the like capable of simultaneously controlling the position and orientation of the robot and the force.
1 ロボット制御装置
2 ロボット
11 メイン制御部
12 関節制御部
21 モータ
22 センサ
23 トルクセンサ
24 エンコーダ
111 トルク指令値変換部
112 位置姿勢演算部
113 位置姿勢制御部
114 指令値変換部
121 トルク取得部
122 トルク制御部
123 モータ制御部
124 関節角制御部
125 指令値合成部
126 指令値合成部
127 関節角制御部
1111 係数乗算部
1131 偏差演算器
1132 係数乗算部
1141 係数乗算部
1221 減算器
1222 PI制御部
1241 速度変換部
1242 速度制御部
1243 減算器
1244 PI制御部
1251 加算器
1261 加算器
1271 速度変換部
1272 速度制御部
1273 減算器
1274 PI制御部
1 Robot control device 2 Robot 11 Main control unit 12 Joint control unit 21 Motor 22 Sensor 23 Torque sensor 24 Encoder 111 Torque command value conversion unit 112 Position / orientation calculation unit 113 Position / orientation control unit 114 Command value conversion unit 121 Torque acquisition unit 122 Torque Control unit 123 Motor control unit 124 Joint angle control unit 125 Command value synthesis unit 126 Command value synthesis unit 127 Joint angle control unit 1111 Coefficient multiplication unit 1131 Deviation calculator 1132 Coefficient multiplication unit 1141 Coefficient multiplication unit 1221 Subtractor 1222 PI control unit 1241 Speed conversion unit 1242 Speed control unit 1243 Subtractor 1244 PI control unit 1251 Adder 1261 Adder 1272 Speed conversion unit 1272 Speed control unit 1273 Subtractor 1274 PI control unit

Claims (5)

  1.  力の指令値及び位置姿勢の指令値並びにロボットが有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び位置姿勢制御の指令値を演算するメイン制御部と、
     前記ロボットが有する関節毎に設けられ、対応する関節でのトルクの現在値並びに前記メイン制御部により演算されたトルクの指令値及び位置姿勢制御の指令値に基づいて、対応する関節に設けられたモータに対する指令値を演算する関節制御部と
     を備えたロボット制御装置。
    A main control unit that calculates the torque command value and position / posture control command value for each joint based on the force command value, the position / posture command value, and the current value of the angle of each joint of the robot.
    It is provided for each joint of the robot, and is provided for the corresponding joint based on the current value of the torque in the corresponding joint, the command value of the torque calculated by the main control unit, and the command value of the position / orientation control. A robot control device equipped with a joint control unit that calculates command values for the motor.
  2.  前記関節制御部は、
     対応する関節でのトルクの現在値及び前記メイン制御部により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算するトルク制御部と、
     前記メイン制御部により演算された位置姿勢制御の指令値及び前記トルク制御部により演算されたトルク制御の指令値を合成することで、前記モータに対する指令値を得る指令値合成部とを備えた
     ことを特徴とする請求項1記載のロボット制御装置。
    The joint control unit
    A torque control unit that calculates a torque control command value based on the current torque value at the corresponding joint and the torque command value calculated by the main control unit.
    It is provided with a command value synthesizing unit that obtains a command value for the motor by synthesizing a position / attitude control command value calculated by the main control unit and a torque control command value calculated by the torque control unit. The robot control device according to claim 1.
  3.  前記関節制御部は、
     対応する関節でのトルクの現在値及び前記メイン制御部により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算するトルク制御部と、
     前記メイン制御部により演算された位置姿勢制御の指令値に基づいて、角速度制御の指令値を演算する関節角制御部と、
     前記トルク制御部により演算されたトルク制御の指令値及び前記関節角制御部により演算された角速度制御の指令値を合成することで、前記モータに対する指令値を得る指令値合成部とを備えた
     ことを特徴とする請求項1記載のロボット制御装置。
    The joint control unit
    A torque control unit that calculates a torque control command value based on the current torque value at the corresponding joint and the torque command value calculated by the main control unit.
    A joint angle control unit that calculates an angular velocity control command value based on the position / attitude control command value calculated by the main control unit.
    It is provided with a command value synthesizing unit for obtaining a command value for the motor by synthesizing a torque control command value calculated by the torque control unit and an angular velocity control command value calculated by the joint angle control unit. The robot control device according to claim 1.
  4.  前記関節制御部は、
     対応する関節でのトルクの現在値及び前記メイン制御部により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算するトルク制御部と、
     前記メイン制御部により演算された位置姿勢制御の指令値及び前記トルク制御部により演算されたトルク制御の指令値を合成する指令値合成部と、
     前記指令値合成部による合成結果に基づいて角速度制御の指令値を演算することで、前記モータに対する指令値を得る関節角制御部とを備えた
     ことを特徴とする請求項1記載のロボット制御装置。
    The joint control unit
    A torque control unit that calculates a torque control command value based on the current torque value at the corresponding joint and the torque command value calculated by the main control unit.
    A command value synthesizing unit that synthesizes a position / attitude control command value calculated by the main control unit and a torque control command value calculated by the torque control unit.
    The robot control device according to claim 1, further comprising a joint angle control unit that obtains a command value for the motor by calculating a command value for angular velocity control based on a synthesis result by the command value synthesis unit. ..
  5.  メイン制御部と、ロボットが有する関節毎に設けられた関節制御部とを備えたロボット制御装置によるロボット制御方法であって、
     前記メイン制御部は、力の指令値及び位置姿勢の指令値並びにロボットが有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び位置姿勢制御の指令値を演算し、
     前記関節制御部は、対応する関節でのトルクの現在値並びに前記メイン制御部により演算されたトルクの指令値及び位置姿勢制御の指令値に基づいて、対応する関節に設けられたモータに対する指令値を演算する
     ことを特徴とするロボット制御方法。
    It is a robot control method by a robot control device including a main control unit and a joint control unit provided for each joint of the robot.
    The main control unit calculates the torque command value and the position / posture control command value for each joint based on the force command value, the position / posture command value, and the current value of the angle of each joint of the robot.
    The joint control unit has a command value for a motor provided in the corresponding joint based on the current value of the torque in the corresponding joint, the command value of the torque calculated by the main control unit, and the command value of the position / attitude control. A robot control method characterized by calculating.
PCT/JP2020/008100 2019-03-11 2020-02-27 Robot control device and robot control method WO2020184203A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202080016903.2A CN113508011A (en) 2019-03-11 2020-02-27 Robot control device and robot control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-043626 2019-03-11
JP2019043626A JP7300854B2 (en) 2019-03-11 2019-03-11 ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD

Publications (1)

Publication Number Publication Date
WO2020184203A1 true WO2020184203A1 (en) 2020-09-17

Family

ID=72426801

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/008100 WO2020184203A1 (en) 2019-03-11 2020-02-27 Robot control device and robot control method

Country Status (3)

Country Link
JP (1) JP7300854B2 (en)
CN (1) CN113508011A (en)
WO (1) WO2020184203A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03214303A (en) * 1990-01-19 1991-09-19 Citizen Watch Co Ltd Positioning controller and track data teaching method
JPH0623682A (en) * 1992-07-06 1994-02-01 Mitsubishi Electric Corp Control device for robot
JPH10230493A (en) * 1997-02-17 1998-09-02 Toshiba Corp Force control robot and its control method
JP2017158417A (en) * 2016-02-29 2017-09-07 株式会社安川電機 Motor control system, robot system, and communication method for motor control system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3324298B2 (en) * 1994-10-19 2002-09-17 株式会社豊田中央研究所 Manipulator control device
JPH0944253A (en) * 1995-08-03 1997-02-14 Toyota Central Res & Dev Lab Inc Driving switching controller
JP6584102B2 (en) 2015-03-13 2019-10-02 キヤノン株式会社 Robot apparatus, robot control method, program, recording medium, and article manufacturing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03214303A (en) * 1990-01-19 1991-09-19 Citizen Watch Co Ltd Positioning controller and track data teaching method
JPH0623682A (en) * 1992-07-06 1994-02-01 Mitsubishi Electric Corp Control device for robot
JPH10230493A (en) * 1997-02-17 1998-09-02 Toshiba Corp Force control robot and its control method
JP2017158417A (en) * 2016-02-29 2017-09-07 株式会社安川電機 Motor control system, robot system, and communication method for motor control system

Also Published As

Publication number Publication date
JP7300854B2 (en) 2023-06-30
JP2020146765A (en) 2020-09-17
CN113508011A (en) 2021-10-15

Similar Documents

Publication Publication Date Title
JP4896276B2 (en) ROBOT, ROBOT CONTROL DEVICE, CONTROL METHOD, AND CONTROL PROGRAM
JP5327722B2 (en) Robot load estimation apparatus and load estimation method
US8428780B2 (en) External force target generating device of legged mobile robot
WO2001038048A1 (en) Robot controller
KR102312368B1 (en) System, method for controlling redundant robot, and a recording medium having computer readable program for executing the method
CN106826839A (en) Control to robot
WO2013122018A1 (en) Control apparatus of robot, robot, and program thereof
JP4192780B2 (en) Robot control device
JP3120028B2 (en) Control method for machine having link mechanism
JP4269150B2 (en) Robot controller
JPH10128688A (en) Non-interfering control method of robot
WO2020184203A1 (en) Robot control device and robot control method
JPH09123077A (en) Rigidity identifying method of robot and its device
JP2005186210A (en) Control method and control device for parallel mechanism machine
JP6237039B2 (en) Robot control apparatus and robot control method
JP4134369B2 (en) Robot control device
US8670869B2 (en) Robot controller
WO2020255724A1 (en) Robot control device and robot control method
Chemori et al. Control of parallel robots: towards very high accelerations
JP7141847B2 (en) Deflection amount estimation device, robot control device, and deflection amount estimation method
Luong et al. Continuous terminal sliding mode control with perturbation estimation for a stewart platform
JPH0760667A (en) Weaving control device for robot
JP2021109259A (en) Robot control device and robot control method
JP2022079273A (en) Robot control device and robot control method
US20230302643A1 (en) Systems and Hybrid Position Force Control Processes of an Industrial Robot

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20770504

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20770504

Country of ref document: EP

Kind code of ref document: A1