Robot control device, control method, and program
The robot control device enhances backdrivability by compensating viscous resistance at low speeds, addressing the flexibility and coexistence challenges of robotic arms through feedforward control.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- TOYOTA JIDOSHA KK
- Filing Date
- 2023-08-14
- Publication Date
- 2026-06-02
AI Technical Summary
Existing robotic arms lack sufficient backdrivability due to the use of feedback control with disturbance observers, making it difficult to achieve high flexibility and coexistence with humans.
A robot control device and method that calculates a viscous resistance compensation value to minimize viscous resistance at low speeds, improving backdrivability by compensating the supply torque command through feedforward control.
Enhances backdrivability, particularly at low speeds, allowing for increased flexibility and responsiveness in human-coexisting robots, thereby improving interaction with the environment.
Smart Images

Figure 0007868576000002 
Figure 0007868576000003 
Figure 0007868576000004
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a robot control device, a control method, and a program. [Background technology]
[0002] Patent Document 1 discloses a technique for outputting an actuator control signal by subtracting an estimated disturbance by a disturbance observer from a set control signal. The disturbance observer estimates the disturbance by taking the actuator speed and control signal, which are fed back from the actuator, as input. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-178399 [Overview of the Initiative] [Problems that the invention aims to solve]
[0004] To achieve coexistence with humans, highly flexible robotic arms are required. Furthermore, robotic arms are envisioned to operate using, for example, machine learning. To increase the flexibility of robotic arms, it is important to improve the backdrivability (ease of movement when moved from the outside) of the actuator. In Patent Document 1, the control signal of the actuator is compensated for external forces using feedback control with a disturbance observer, making it difficult to obtain sufficient backdrivability.
[0005] This disclosure was made to solve these problems and primarily aims to provide a robot control device, control method, and program that can improve backdrivability. [Means for solving the problem]
[0006] A robot control device relating to one aspect of this disclosure is A speed calculation unit that calculates the speed of the output shaft of the drive unit that drives the robot, A compensation value calculation unit calculates a viscous resistance compensation value for generating an output torque command to be output to the drive unit by compensating the supply torque command so that the viscous resistance at the second speed is closer to zero than the viscous resistance at the first speed, when comparing the first speed determined by the speed calculation unit with a second speed which is smaller than the first speed. It is equipped with.
[0007] A control method relating to one aspect of this disclosure is: Computers The process of calculating the speed of the output shaft of the drive unit that drives the robot, A process for calculating a viscous resistance compensation value for generating an output torque command to be output to the drive unit, by compensating the supply torque command so that the viscous resistance at the second speed is closer to zero than the viscous resistance at the first speed, when comparing the first speed obtained in the speed calculation process with a second speed which is smaller than the first speed. Execute this.
[0008] A program relating to one aspect of this disclosure is: The process of calculating the speed of the output shaft of the drive unit that drives the robot, A process for calculating a viscous resistance compensation value for generating an output torque command to be output to the drive unit, by compensating the supply torque command so that the viscous resistance at the second speed is closer to zero than the viscous resistance at the first speed, when comparing the first speed obtained in the speed calculation process with a second speed which is smaller than the first speed. Have the computer execute it. [Effects of the Invention]
[0009] This disclosure provides a robot control device, control method, and program that can improve backdrivability. [Brief explanation of the drawing]
[0010] [Figure 1] It is a perspective view showing a schematic configuration of an arm portion of a robot according to an embodiment. [Figure 2] It is a block diagram showing a schematic configuration of a robot control device according to an embodiment. [Figure 3] It is a flowchart for explaining the calculation of a compensation value in the compensation value calculation unit of FIG. 2. [Figure 4] It is a graph showing an example of a viscous resistance compensation value. [Figure 5] It is a diagram for explaining the effects of the embodiment. [Figure 6] It is a diagram for explaining the effects of the embodiment. [Figure 7] It is a diagram for explaining the effects of the embodiment. [Figure 8] It is a diagram for explaining the effects of the embodiment. [Figure 9] It is a diagram for explaining the effects of the embodiment.
Mode for Carrying Out the Invention
[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings. For the sake of clarity of explanation, the following description and drawings are appropriately omitted and simplified. Also, in each drawing, the same elements are denoted by the same reference numerals, and duplicate explanations are omitted as necessary. In the embodiment, an example in which the technology of the present disclosure is applied to an arm portion of a robot will be described.
[0012] First, a robot arm to which a robot control device according to an embodiment is applied will be described. FIG. 1 is a perspective view showing a schematic configuration of an arm portion 1 of a robot according to an embodiment. The arm portion 1 extends from a main body portion 2 of the robot. In the example shown in FIG. 1, the main body portion 2 is configured as a base, but it is not limited thereto. For example, the main body portion 2 may be configured as a torso of a humanoid robot.
[0013] The arm section 1 is configured as a robot arm having one or more joint sections 3 connected by links or the like at a predetermined distance or more from its base. Each joint section 3 may be configured to rotate around at least one of the mutually orthogonal yaw axis, pitch axis, and roll axis.
[0014] In the example shown in Figure 1, the arm portion 1 has a wrist joint 31, an elbow joint 32, and a shoulder joint 33. The shoulder joint 33 is located at the base of the arm portion 1. The elbow joint 32 and the wrist joint 31 are located at a predetermined distance or more from the base of the arm portion 1. Here, the wrist joint 31, elbow joint 32, and shoulder joint 33 are configured to rotate around two axes, but are not limited to this. The wrist joint 31, elbow joint 32, and shoulder joint 33 may be configured to rotate around one axis or three or more axes, for example.
[0015] An end effector 8 capable of gripping an object is provided at the tip of the arm section 1. Multiple actuators 4 that generate driving force to drive each joint section 3 are centrally located at the base of the arm section 1.
[0016] Actuator 4 is a specific example of a drive unit. Actuator 4 may be configured, for example, as a servo motor with a reduction gear. Each actuator 4 generates a driving force that rotates the rotation axis of the corresponding joint 3. In the example shown in Figure 1, eight actuators 4 are centrally located at the base of the arm 1, each generating a driving force to rotate the two axes of the wrist joint 31, elbow joint 32, and shoulder joint 33, respectively.
[0017] For example, as shown in Figure 1, a belt 5 is stretched between each rotation axis of the elbow joint 32 and the corresponding output shaft of each actuator 4. The belt 5 is a specific example of a transmission unit. The output shaft of each actuator 4 transmits driving force to each rotation axis of the elbow joint 32 via the belt 5.
[0018] Similarly, a belt 5 is stretched between each rotation axis of the shoulder joint 33 and the output shaft of the corresponding actuator 4. The output shaft of each actuator 4 transmits driving force to each rotation axis of the shoulder joint 33 via the belt 5. A wire 6 is stretched between each rotation axis of the wrist joint 31 and the output shaft of the corresponding actuator 4. The output shaft of each actuator 4 transmits driving force to each rotation axis of the wrist joint 31 via the wire 6.
[0019] In the above example, a belt 5 and a wire 6 are used as the transmission part, but the system is not limited to these. The transmission part may be, for example, a chain, gears, a shaft, or any other transmission member capable of transmitting the driving force of the actuator 4.
[0020] The encoder 7 is a specific example of a rotation detection unit. The encoder 7 is integrally mounted on the actuator 4. The encoder 7 detects the rotational position of the output shaft of the actuator 4. Note that the rotation detection unit is not limited to the encoder 7; other angle sensors may also be used.
[0021] Conventionally, each joint of the arm section is equipped with an actuator. Furthermore, peripheral components such as wiring necessary for the actuators are also installed on the arm section. This leads to an increase in the weight of the arm section, resulting in reduced backdrivability.
[0022] In contrast, in this embodiment, the actuator 4 is concentrated at the base of the arm portion 1, and power is transmitted by belts or wires. Therefore, there is no need to provide actuators or their surrounding components at the tip or middle of the arm portion 1. This leads to a significant reduction in the weight of the arm portion 1 and improves the backdrivability of the arm portion 1.
[0023] In robots, one of the main factors contributing to reduced backdrivability is the friction of the actuators 4, particularly the gearbox. Here, the torque T required for backdrivability is... f This can be expressed by the following equation (1).
number
[0024] Here, T s is a constant determined by the internal friction of the reducer and the self-holding torque of the motor. θ represents the rotation angle of the output shaft. I a represents the moment of inertia, and C a represents the viscous friction coefficient, and K a represents the rigidity of the driving part. Improving the backdrivability means, for example, reducing one or more of T s , I a , C a , K a physically or by control to reduce the torque T f . Ideally, it is required to make the inertial resistance, viscous resistance, and frictional resistance of the reducer zero.
[0025] As described above, even if the robot arm is lightened to improve the backdrivability of the hardware itself, it is impossible to make each term of the above equation (1) zero. Therefore, in the embodiment, the backdrivability is improved by compensation in control. In the embodiment, among the terms of the backdrivability, compensation for the viscous resistance, which is a term proportional to the speed, is performed.
[0026] As described above, the goal is to compensate until the viscous resistance becomes zero. However, if compensation is attempted until the limit, for example, when attempting to compensate a motor with a small viscous resistance, there is a risk that the motor will rotate on its own due to parameter errors due to the compensation torque. For this reason, usually, the compensation value is set to be small considering variations and the like.
[0027] In human-coexisting robots, the purpose of friction compensation is to improve the accuracy of detecting external forces when the robot comes into contact with an object or its surrounding environment, such as when picking an object. Therefore, the region where friction compensation is necessary is limited to extremely low speeds. On the other hand, attempting to compensate for friction through control up to high speeds requires addressing nonlinear regions such as hysteresis and higher-order fluctuations, which can lead to increased complexity of the compensator due to higher order of operations, or to a deterioration in compensation performance due to setting safe compensation values. Therefore, in this embodiment, friction compensation is designed as follows, focusing on the low-speed operation region required for human-coexisting robots. Note that the low-speed operation region mentioned above can be, for example, a speed region smaller than 10-20 [rad / s].
[0028] Figure 2 is a block diagram showing the schematic configuration of a robot control device 10 according to an embodiment. As shown in Figure 2, the robot control device 10 includes an adder 11, a speed calculation unit 12, and a compensation value calculation unit 13. In the following description, the actuator 4 is assumed to include, as an example, a motor and a gear reducer that reduces speed at a high reduction ratio by utilizing mechanical meshing. In a gear reducer, when the gears rotate at a predetermined rotational speed, friction occurs due to the contact between the teeth of the gears. The robot control device 10 performs feedforward control, which cancels out the friction caused by the reducer by adding a compensation value that compensates for this friction in advance to the torque command supplied to the motor.
[0029] The adder 11 adds the set torque command F0 to the compensation value T calculated by the compensation value calculation unit 13, which will be described later. d The torque command F1 is output to actuator 4 after adding the values. The speed calculation unit 12 calculates the speed of the output shaft of actuator 4 from the rotation angle θ of actuator 4. The rotation angle θ of the output shaft of actuator 4 can be obtained by angle sensors, including the encoder 7 mentioned above.
[0030] Now, with further reference to Figure 3, the calculation of the compensation value in the compensation value calculation unit 13 will be explained. First, the velocity calculation unit 12 calculates the velocity ω of the output shaft of the actuator 4 and inputs the generated velocity ω to the compensation value calculation unit 13. In the compensation value calculation unit 13, as shown in Figure 3, it is first determined whether or not ω is greater than 0 (S1).
[0031] When the velocity ω is greater than 0 (S1, YES), the viscous drag compensation value T is calculated based on equation (2) below. d This is calculated. T d = -k1 × ω 2 +k² × ω ···(2) On the other hand, when the velocity ω is 0 or less (S1, NO), the viscous resistance compensation value T is calculated based on equation (3) below. d This is calculated. T d =k1 × ω 2 +k² × ω ···(3) The values in equations (2) and (3) are as follows: ω: Speed [rad / s] k2: Measured viscous resistance in the low-speed operating region. k1:k2 / (2ω0) ω0: Maximum speed to compensate
[0032] However, for ω > k2 / 2k1 and ω > -k2 / 2k1, the viscous resistance compensation value T when ω0 is... d The same value is assumed. An example of the viscous resistance compensation value calculated in this way is shown in Figure 4. In Figure 4, the maximum speed ω0 to be compensated is assumed to be, for example, 20 [rad / s]. As shown in Figure 4, the viscous resistance compensation value decreases as the speed of actuator 4 decreases. Also, the viscous resistance compensation value T for ω0 and above and for -ω0 and below d These values are all constant.
[0033] The robot control device 10 compensates for the viscous resistance of the actuator 4's reduction gear by adjusting the viscous resistance value T according to the speed of the actuator 4's output shaft. d This can generate the viscous resistance compensation value T. dBy superimposing this on the torque command, which is the control voltage of the motor, it becomes possible to cancel out the viscous resistance of the actuator 4. In this way, the robot control device 10 according to this embodiment can make the viscous resistance approach zero as the speed of the output shaft of the actuator 4 decreases in the low-speed operating region.
[0034] Here, the effects of the control according to the embodiment will be explained. Figure 5 illustrates an example of a simple collision experiment in which an external force is generated on the arm 23 by contact with a hammer (not shown). As shown in Figure 5, the actuator 21 is provided on an L-shaped base 20 in side view. The arm 23 is connected to the output shaft of the actuator 21 via a bracket 22. The results resulting from the movement of the arm 23 when a hammer (not shown) is struck from the side of the arm 23 will be explained with reference to Figures 6 to 9. In Figures 6 to 9, A shows the results when viscous resistance compensation is performed, and B shows the results when no compensation is performed.
[0035] Figure 6 shows the velocity of the output shaft of actuator 21 when an external force is generated by contact with the hammer. In Figure 6, the horizontal axis represents time (seconds) and the vertical axis represents velocity (rad / s). As shown in Figure 6, compared to the case without compensation, the time during which arm 23 moves when an external force is applied is longer when compensation is applied, and it can be seen that backdrivability is improved.
[0036] Figure 7 shows the Q-axis current generated in the motor of actuator 21 when an external force is applied. Torque is expressed as the product of the Q-axis current and the torque constant. In Figure 7, the horizontal axis is time (seconds) and the vertical axis is the Q-axis current (A). Figures 8 and 9 show the frequency characteristics based on the speed and torque of the output shaft of actuator 21. In Figure 8, the horizontal axis is frequency (rad / s) and the vertical axis is amplitude (dB). In Figure 9, the horizontal axis is frequency (rad / s) and the vertical axis is phase (deg). As can be seen from this, when compensation is applied, the amplitude on the low-frequency side is higher than when no compensation is applied, and the cutoff frequency shifts to the lower frequency side.
[0037] As described above, according to the embodiment, it is possible to more effectively improve backdrivability in the low-speed operating range, which is the main area of operation for human-coexisting robots. As a result, compared to cases using feedback control, higher responsiveness can be obtained and the flexibility of the robot can be increased.
[0038] While embodiments of this disclosure have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents.
[0039] This disclosure can also be implemented, for example, by having a processor execute a computer program to perform the various processes described in Figures 2 and 3.
[0040] Programs can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, RAMs (random access memory)).
[0041] Programs may be supplied to a computer by various types of transient computer-readable medium. Examples of transient computer-readable medium include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable medium can be supplied to a computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.
[0042] Each component of the robot control device 10 according to the above-described embodiments can be implemented not only by program, but also partially or entirely by dedicated hardware such as an ASIC (Application Specific Integrated Circuit) or FPGA. [Explanation of symbols]
[0043] 1. Arm section 2 Main body 3. Joints 4 Actuators 5 belts 6 wires 7 Encoders 8 End Effectors 10 Robot control device 11 Adder 12 Speed calculation section 13. Compensation Value Calculation Unit 20 bases 21 Actuators 22 brackets 23 Arms 31. Wrist joint 32 Elbow joint 33. Shoulder joint
Claims
1. A speed calculation unit that calculates the speed of the output shaft of the drive unit that drives the robot, A compensation value calculation unit calculates a viscous resistance compensation value for generating an output torque command to be output to the drive unit by compensating the supply torque command so that the viscous resistance at the second speed is closer to zero than the viscous resistance at the first speed, when comparing the first speed detected by the speed calculation unit with a second speed which is smaller than the first speed. Equipped with, The compensation value calculation unit, If the speed of the output shaft of the drive unit is greater than 0, the viscous resistance compensation value is calculated based on the following formula: T d = -k 1 ×ω 2 +k 2 ×ω, If the speed of the output shaft of the drive unit is 0 or less, the viscous resistance compensation value is calculated based on the following formula: T d =k 1 ×ω 2 +k 2 ×ω In addition, ω is the velocity [rad / s], k2 is the measured value of viscous resistance in the low-speed operating region. k1 is k2 / (2ω0) ω0 is the maximum speed to be compensated for. That is, Robot control device.
2. The system further includes an adder that generates the output torque command by adding the viscous resistance compensation value to the supply torque command. The robot control device according to claim 1.
3. The drive unit includes a motor that rotates the joints of the robot and a reduction gear. The robot control device according to claim 1.
4. The aforementioned robot, An arm portion extending from the main body and having at least one joint portion located at a predetermined distance or more from the base, At least one of the drive units generates a driving force to rotate the joint, A transmission unit is provided between the corresponding joint and the drive unit, and transmits the driving force of the drive unit to the corresponding joint. Equipped with, The drive unit is concentrated at the base of the arm portion. The robot control device according to claim 1.
5. The robot further comprises at least one rotation detection unit that detects rotation information of the drive unit, The speed calculation unit calculates the speed based on the rotation information of the drive unit detected by the rotation detection unit. The robot control device according to claim 2.
6. Computers The process of calculating the speed of the output shaft of the drive unit that drives the robot, A process for calculating a viscous resistance compensation value for generating an output torque command to be output to the drive unit, by compensating the supply torque command so that the viscous resistance at the second speed is closer to zero than the viscous resistance at the first speed, when comparing the first speed obtained in the speed calculation process with a second speed which is smaller than the first speed. Execute, The process for calculating the viscous resistance compensation value is: If the speed of the output shaft of the drive unit is greater than 0, the viscous resistance compensation value is calculated based on the following formula: T d = -k 1 ×ω 2 +k 2 ×ω, If the speed of the output shaft of the drive unit is 0 or less, the viscous resistance compensation value is calculated based on the following formula: T d =k 1 ×ω 2 +k 2 ×ω In addition, ω is the velocity [rad / s], k2 is the measured value of viscous resistance in the low-speed operating region. k1 is k2 / (2ω0) ω0 is the maximum speed to be compensated for. That is, Control method.
7. The process of calculating the speed of the output shaft of the drive unit that drives the robot, A process for calculating a viscous resistance compensation value for generating an output torque command to be output to the drive unit, by compensating the supply torque command so that the viscous resistance at the second speed is closer to zero than the viscous resistance at the first speed, when comparing the first speed obtained in the speed calculation process with a second speed which is smaller than the first speed. Have the computer run it, The process for calculating the viscous resistance compensation value is: If the speed of the output shaft of the drive unit is greater than 0, the viscous resistance compensation value is calculated based on the following formula: T d = -k 1 ×ω 2 +k 2 ×ω, If the speed of the output shaft of the drive unit is 0 or less, the viscous resistance compensation value is calculated based on the following formula: T d =k 1 ×ω 2 +k 2 ×ω In addition, ω is the velocity [rad / s], k2 is the measured value of viscous resistance in the low-speed operating region. k1 is k2 / (2ω0) ω0 is the maximum speed to be compensated for. That is, program.