Robot control method and robot control device
Patent Information
- Application Number
- CN202180057939.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-11-11
- Filing Date
- 2021-11-02
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2041-11-02
AI Technical Summary
[0026] According to this disclosure, even when an impact force is applied from the output side of the motor, the motor can be rotated in the direction of escaping the impact force.
Smart Images

Figure CN116113522B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to robot control methods and robot control devices. Background Technology
[0002] Patent document 1 discloses a robot control device that, in position control, enables the robot to work by adding an integral value to a proportional value as a torque command signal. On the other hand, in flexible control, enables the robot to work by adding a compensation value to a proportional value that is limited to a torque limit value.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2000-42957 Summary of the Invention
[0006] -The problem the invention aims to solve-
[0007] However, as in the invention of Patent Document 1, setting the gravity change compensation value to a small limit value equivalent to the change in gravity during flexible control raises concerns that the robot may not be able to escape the collision force applied to it.
[0008] Specifically, when a hypoid gear, which is a type of worm gear reducer, is used as a speed reducer for an electric motor, it is easy for the robot arm to become taut and not rotate when an impact force is applied from the output side of the motor.
[0009] This disclosure is made in view of the aspects involved, and its purpose is to enable the motor to rotate in the direction of escaping the impact force even when an impact force is applied from the output side of the motor.
[0010] -Methods for solving the problem-
[0011] The first invention is a robot control method for controlling the movement of a robot arm having multiple motors. The robot control method includes: a step of calculating the gravitational torque (τge) applied to the motor of the object to be compensated based on the rotation angle of the multiple motors; a step of calculating a gravity compensation current (Igc) to compensate for the gravitational torque (τge); a step of calculating a gravity compensation current subtraction value (Igsub) based on the gravity compensation current (Igc) and a predetermined gravity subtraction setpoint (Igth); a step of calculating an excitation sine wave (Igsin) based on a predetermined excitation sine wave amplitude (Igsa) and a predetermined frequency (Igsf); and a step of calculating a gravity compensation current correction value (Igc4) based on the gravity compensation current (Igc), the gravity compensation current subtraction value (Igsub), and the excitation sine wave (Igsin).
[0012] In the first invention, the gravity compensation current correction value (Igc4) is calculated based on the gravity compensation current (Igc), the gravity compensation current subtraction value (Igsub), and the excitation sine wave (Igsin). The gravity compensation current (Igc) is the current applied to the motor to compensate for the gravitational torque (τge) applied to the motor being compensated. The gravity compensation current (Igc) is subtracted from the gravity compensation current subtraction value (Igsub). The gravity compensation current (Igc) is then added to the excitation sine wave (Igsin).
[0013] Therefore, it is possible to excite the motor from the input side, which is in a static friction stop state due to self-locking, and put the motor into a dynamic friction state. As a result, even when an impact force is applied from the output side of the motor, the motor can be made to rotate in the direction of escaping the impact force.
[0014] The second invention, in the first invention, comprises: a step of flexibly controlling the motor to mimic the direction of the applied collision force when a collision force is applied to the robot arm; and a step of correcting the current command of the motor based on the gravity compensation current correction value (Igc4) in the flexible control.
[0015] In the second invention, flexible control is performed when a collision force is applied to the robot arm. In the flexible control, the current command of the motor is corrected based on the gravity compensation current correction value (Igc4).
[0016] This ensures the flexibility of the robotic arm and alleviates tension.
[0017] The third invention is a robot control device for controlling the movement of a robot arm having multiple motors. The robot control device includes: a first calculation unit that calculates the gravitational torque (τge) applied to the motor of the object to be compensated based on the rotation angle of the multiple motors; a second calculation unit that calculates a gravity compensation current (Igc) to compensate for the gravitational torque (τge); a third calculation unit that calculates a gravity compensation current subtraction value (Igsub) based on the gravity compensation current (Igc) and a predetermined gravity subtraction setpoint (Igth); a fourth calculation unit that calculates an excitation sine wave (Igsin) based on a predetermined excitation sine wave amplitude (Igsa) and a predetermined frequency (Igsf); and a fifth calculation unit that calculates a gravity compensation current correction value (Igc4) based on the gravity compensation current (Igc), the gravity compensation current subtraction value (Igsub), and the excitation sine wave (Igsin).
[0018] In the third invention, the gravity compensation current correction value (Igc4) is calculated based on the gravity compensation current (Igc), the gravity compensation current subtraction value (Igsub), and the excitation sine wave (Igsin). The gravity compensation current (Igc) is the current applied to the motor to compensate for the gravitational torque (τge) applied to the motor being compensated. The gravity compensation current (Igc) is subtracted from the gravity compensation current subtraction value (Igsub). The gravity compensation current (Igc) is then added to the excitation sine wave (Igsin).
[0019] Therefore, it is possible to excite the motor from the input side, which is in a static friction stop state due to self-locking, and put the motor into a dynamic friction state. As a result, even when an impact force is applied from the output side of the motor, the motor can be made to rotate in the direction of escaping the impact force.
[0020] The fourth invention, in the third invention, includes: a flexible control unit that, when a collision force is applied to the robot arm, performs flexible control to drive the motor in a direction that mimics the direction in which the collision force is applied; and a current command correction unit that, in the flexible control, corrects the current command of the motor based on the gravity compensation current correction value (Igc4).
[0021] In the fourth invention, flexible control is performed when a collision force is applied to the robot arm. In the flexible control, the current command of the motor is corrected based on the gravity compensation current correction value (Igc4).
[0022] This ensures the flexibility of the robotic arm and alleviates tension.
[0023] The fifth invention, in the third or fourth invention, describes a motor having a hyperbolic gear.
[0024] In the fifth invention, a motor with a hypoid gear is used. The hypoid gear has a ring-shaped gear. This allows the robot's cable to be routed through the interior of the ring-shaped gear. Furthermore, even with a motor featuring a hypoid gear that is easy to lock, the motor can be rotated in the direction of escaping impact forces.
[0025] -Invention Effects-
[0026] According to this disclosure, even when an impact force is applied from the output side of the motor, the motor can be rotated in the direction of escaping the impact force. Attached Figure Description
[0027] Figure 1 This is a diagram showing the structure of the robot involved in this embodiment.
[0028] Figure 2 It is a three-dimensional diagram showing the structure of a hyperbolic gear.
[0029] Figure 3 It is a three-dimensional diagram showing the configuration of hyperbolic gears and cables.
[0030] Figure 4 This is a block diagram representing the structure of a robot control device.
[0031] Figure 5 This is a diagram representing the structure of the flexible control block.
[0032] Figure 6 This is a diagram showing the waveform of the gravity compensation current when the arm rotates 360° from the side under flexible control.
[0033] Figure 7 This is a graph showing the waveform of the gravity compensation current reduction value when the arm rotates 360° from the side under flexible control.
[0034] Figure 8 It is a diagram showing the waveform of the excitation sine wave when the arm is rotated 360° from the side under flexible control.
[0035] Figure 9 This is a graph showing the waveform of the gravity compensation current correction value when the arm rotates 360° from the side under flexible control.
[0036] Figure 10 This is a graph showing the waveform of the gravity compensation current when the collision stops at the position of the 4th axis with an action angle of 60° under flexible control.
[0037] Figure 11 It is a graph showing the waveform of the gravity compensation current reduction value when the collision stops at the position of the 4th axis with an action angle of 60° under flexible control.
[0038] Figure 12 It is a diagram showing the waveform of the excitation sine wave when the fourth axis stops colliding at a position of 60° of motion angle under flexible control.
[0039] Figure 13 This is a graph showing the waveform of the gravity compensation current correction value when the collision stops at the position of the 4th axis with an action angle of 60° under flexible control. Detailed Implementation Detailed Implementation
[0041] The embodiments of this disclosure are described below with reference to the accompanying drawings. Furthermore, the following description of preferred embodiments is merely illustrative and is not intended to limit this disclosure, its applications, or its uses.
[0042] Implementation Method
[0043] like Figure 1As shown, the vertical multi-joint robot 1 has a robot arm 2 and multiple joints J1 to J6. A robot control device 10 is connected to the robot 1.
[0044] The robot arm 2 is divided into multiple parts, and joints J1 to J6 are respectively provided at the connecting parts of each part. Joints J1 to J6 have axes 1 to 6. Joints J1 to J6 are connected to servo motors 3 via reducers.
[0045] Servo motor 3 is driven based on position command θcom from robot control device 10.
[0046] Servo motor 3 controls the movement and posture of robot arm 2 by rotating joints J1 to J6 by the desired amount.
[0047] Joints J1 to J3 are the main three-axis axes that determine the overall posture of the robot arm 2. Joint J1 is the rotation axis that enables the robot arm 2 to rotate. Joints J4 to J6 are the arm three-axis axes that determine the direction of the front end of the robot arm 2.
[0048] like Figure 2 as well as Figure 3 As shown, the joint J4 of the RW axis (4th axis) and the joint J6 of the TW axis (6th axis) are equipped with a reducer containing a hypoid gear 5. The hypoid gear 5 has a ring gear 6 and a pinion 7. A cable 8 is inserted into a hole in the center of the ring gear 6. The cable 8 is, for example, a welding cable mounted on the welding part at the front end of the robot 1. The pinion 7 is connected to the servo motor 3 via a belt or the like.
[0049] like Figure 4 As shown, the robot control device 10 includes a position control block 12. The position control block 12 constitutes a feedback controller. The position control block 12 generates a current command to make the actual motor rotation angle θfb follow the motor rotation angle command θcom. The motor rotation angle command θcom and the actual motor rotation angle θfb are input to the position control block 12. In the position control block 12, PID calculations are performed based on the motor rotation angle command θcom and the motor rotation angle θfb, thereby calculating the first current command Icom1. The position control block 12 outputs the first current command Icom1 to the control mode switching block 15.
[0050] The current control block 13 generates a current command to induce torque in the motor in the opposite direction to the motor's rotation. The actual motor angular velocity ωfb is input to the current control block 13. The current control block 13 outputs the second current command Icom2 to the control mode switching block 15.
[0051] Flexible control block 14 generates current commands for flexible control of the simulated collision force direction. The first current command Icom1, the actual motor rotation angle θfb, and the load mass information 29 of the other axis motor rotation angles are input to flexible control block 14. Flexible control block 14 outputs the third current command Icom3 to control mode switching block 15.
[0052] In addition to the first current command Icom1, the second current command Icom2, and the third current command Icom3, the control mode switching block 15 also inputs a motor deceleration judgment signal Dth, a collision direction flag Dir, and a collision detection signal Dcol. Based on the motor deceleration judgment signal Dth, the collision direction flag Dir, and the collision detection signal Dcol, the control mode switching block 15 selects one of the first current command Icom1, the second current command Icom2, and the third current command Icom3, and outputs the motor current Im applied to the motor.
[0053] Specifically, when the motor rotation direction and the collision torque direction are opposite axes, the control mode switching block 15 switches from the position control block 12 to the current control block 13 to reduce the motor rotation speed.
[0054] In addition, when the motor rotation speed is below the set value, the control mode switching block 15 switches to the flexible control block 14 that simulates the direction of the collision force.
[0055] In addition, when the motor rotation direction and the collision torque direction are on the same axis, the control mode switching block 15 switches from the position control block 12 to the flexible control block 14.
[0056] Towards Figure 2 The dotted-line frame shows the motor + actual load 17 providing the motor current Im. In the motor, the motor torque τmm is generated in operation block 18 by multiplying the motor current Im by the torque constant Kt. The torque τmm minus the disturbance torque 20 is applied to the motor transfer function 21.
[0057] The disturbance torque 20 is the sum of the friction torque τμ, the gravitational torque τg, the dynamic torque τdyn (the sum of inertial force, centrifugal force, and Coriolis force), and the collision torque τdis.
[0058] The motor transfer function 21 is described using the motor inertia J. The motor transfer function 21 outputs the motor rotation angle θfb. The motor rotation angle θfb is detected by an optical or magnetic encoder. In the arithmetic block 115, the value of the motor rotation angle θfb multiplied by the reciprocal of the gear ratio 1 / Rg is output as the operating angle θax.
[0059] The collision direction determination block 23 is input with the motor angular velocity ωfb and the collision torque detection value τdisd. The collision direction determination block 23 compares the collision torque detection direction and the motor rotation direction and calculates the collision direction flag Dir. The collision direction determination block 23 outputs the collision direction flag Dir to the control mode switching block 15.
[0060] Specifically, the collision direction discrimination block 23 calculates the collision direction flag Dir based on the following conditions.
[0061] ωfb×τdisd<0(Dir=1)
[0062] ωfb×τdisd≥0(Dir=0)
[0063] Thus, the collision direction flag Dir is "1" when the direction of the motor angular velocity ωfb is opposite to that of the collision torque detection value τdisd, and "0" otherwise.
[0064] The motor rotation angle θfb is input into the motor angular velocity detection block 24. The motor angular velocity detection block 24 calculates the motor angular velocity ωfb by differentiating the motor rotation angle θfb.
[0065] The collision determination block 25 inputs the collision torque detection value τdisd and the other axis collision torque detection value 28. If, among the collision torque detection value τdisd and the other axis collision torque detection value 28, the collision determination block 25 determines that a collision has occurred, even if one axis of the robot arm 2 exceeds a predetermined collision torque detection threshold, then the collision determination block 25 outputs a collision detection signal Dcol to the control mode switching block 15.
[0066] The collision torque detection block 26 calculates the collision torque detection value τdisd of the collision force applied to the robot arm 2 and the motor 3 driving the robot arm 2. Other axis motor rotation angle load mass information 29, the actual motor rotation angle θfb, and the motor current Im are input to the collision torque detection block 26.
[0067] In the collision torque detection block 26, angular velocity and angular acceleration are calculated by time differentiation of the motor rotation angle θfb and the other axis motor rotation angle load mass information 29. In the collision torque detection block 26, the required torque of the motor under the condition of no collision torque τdis is obtained through inverse dynamics calculation using information of the robot's mechanical parameters. The collision torque detection block 26 calculates the collision torque detection value τdisd by subtracting the value obtained by multiplying the motor current Im by the torque constant Kt from the torque obtained using inverse dynamics calculation.
[0068] The motor angular velocity ωfb is input to the motor deceleration judgment block 32. The motor deceleration judgment block 32 compares the magnitude of the motor angular velocity ωfb with a set threshold to confirm motor deceleration. Specifically, if the following conditions are met, it is determined that the motor is decelerating.
[0069] |ωfb|<ωth(Dth=1)
[0070] When the absolute value of the motor angular velocity ωfb is less than the specified deceleration judgment threshold ωth, the motor deceleration judgment block 32 outputs the motor deceleration judgment signal Dth to the control mode switching block 15.
[0071] The following describes the actions when a collision force is applied to the robot arm 2.
[0072] In the normal position control before collision detection, the control mode switching block 15 selects the first current command Icom1 as the motor current Im and applies it to the motor + actual load 17.
[0073] When the collision detection signal Dcol is input, the control mode switching block 15 switches the control mode based on the information of the collision direction flag Dir shown below.
[0074] Dir = 1 (Im = Icom2) Current control mode
[0075] Dir=0 (Im=Icom3) Flexible control mode
[0076] Specifically, when the collision direction indicator Dir is "1", the control mode switching block 15 selects the second current command Icom2 as the motor current Im and moves to the current control mode.
[0077] On the other hand, when the collision direction indicator Dir is “0”, the control mode switching block 15 selects the third current command Icom3 as the motor current Im and moves to the flexible control mode.
[0078] Here, if the motor decelerates after switching to current control mode, the absolute value of the motor angular velocity ωfb becomes less than the specified deceleration judgment threshold ωth. In this case, the motor deceleration judgment block 32 outputs a motor deceleration judgment signal Dth to the control mode switching block 15.
[0079] If the control mode switching block 15 receives the motor deceleration judgment signal Dth, it will select the third current command Icom3 as the motor current Im and move to the flexible control mode.
[0080] Furthermore, during collision detection, if the absolute value of the motor angular velocity ωfb is less than the specified deceleration judgment threshold ωth, the control mode switching block 15 does not switch from the normal control mode to the current control mode, but instead switches to the flexible control mode. In other words, the control mode switching block 15 does not apply reverse torque to the motor to decelerate it, but switches from the normal control mode to the flexible control mode.
[0081] Based on the current limitation of the first current command Icom1 output from the position control block 12, the flexible control block 14 adds a gravity compensation current to prevent the robot from falling due to its own weight, thereby achieving flexible control.
[0082] Therefore, even if the deviation between the motor rotation angle command θcom and the motor rotation angle θfb increases, the servo rigidity of the position control is weakened by limiting the motor current, thus creating flexibility.
[0083] When the motor deceleration judgment signal Dth is "1", the motor angular velocity ωfb becomes less than the specified deceleration judgment threshold ωth. Therefore, the motor is almost stopped, the inertial energy is also reduced, and it moves to a flexible control mode, thereby eliminating the deformation of the reducer and other components caused by collisions.
[0084] (Actions in Flexible Control)
[0085] However, when the reducer of the motor 3 uses a hypoid gear 5, which is a type of worm gear reducer, the robot arm 2 is prone to a state of tension and non-rotation when a collision force is applied from the output side of the motor 3.
[0086] Therefore, in this embodiment, by studying the control of the flexible control block 14, even when a collision force is applied from the output side of the motor 3 during flexible control, the motor 3 can be rotated in the direction of escaping the collision force.
[0087] Specifically, such as Figure 5 As shown, the flexible control block 14 includes a gravity torque calculation block 101 (first calculation unit). The motor rotation angle θfb and other axis motor rotation angle load mass information 29 are input to the gravity torque calculation block 101. Based on the motor rotation angle θfb and other axis motor rotation angle load mass information 29, the gravity torque calculation block 101 calculates the gravity torque τge applied to the motor 3 being compensated through dynamic calculations. The gravity torque calculation block 101 outputs the gravity torque τge. The gravity torque τge is input to the calculation block 103 (second calculation unit).
[0088] In operation block 103, the gravity compensation current Igc is calculated to compensate for the gravity torque τge.
[0089] The gravity compensation current Igc is obtained by multiplying the gravitational torque τge by the reciprocal of the torque constant 1 / Kt. Operation block 103 outputs the gravity compensation current Igc.
[0090] Figure 6 This represents the waveform of the gravity compensation current Igc when the joint J4 of the fourth axis rotates 360° (-180° to 180°) from the arm side (reducer output side) under flexible control.
[0091] like Figure 6 As shown, for example, when the operating angle θax of the fourth axis is 0°, the maximum motor current ratio is 0%. Furthermore, when the operating angle θax of the fourth axis is 90°, the maximum motor current ratio is 30%. At this time, by... Figure 6 A torque based on gravity-compensated current Igc is applied to motor 3 in a clockwise direction, thus achieving a self-locking state. Therefore, the welded part at the front end of the arm cannot be... Figure 6 Rotate counterclockwise.
[0092] The gravity compensation current Igc is input to the gravity compensation current reduction block 107 (third calculation unit). The gravity compensation current reduction block 107 reduces the gravity compensation current Igc to alleviate the self-locking state of the motor 3. Based on the gravity compensation current Igc and the predetermined gravity reduction setting value Igth, the gravity compensation current reduction block 107 calculates and outputs the gravity compensation current reduction value Igsub. The gravity compensation current reduction value Igc is obtained using the following formula.
[0093] Igc > Igth (Igsub = Igth)
[0094] |Igc|≤Igth(Igsub=Igc)
[0095] Igc <- Igth (Igsub = -Igth)
[0096] Specifically, when the gravity compensation current Igc is greater than the gravity subtraction setting value Igth, the gravity compensation current subtraction value is set to Igsub = Igth. When the absolute value of the gravity compensation current Igc is less than or equal to the gravity subtraction setting value Igth, the gravity compensation current subtraction value is set to Igsub = Igc. When the gravity compensation current Igc is less than a negative value (-Igth) of the gravity subtraction setting value, the gravity compensation current subtraction value is set to Igsub = -Igth.
[0097] like Figure 7 As shown, for example, if the gravity subtraction setting value Igth is set to 20%, then the waveform of the gravity compensation current subtraction value Igsub becomes... Figure 6The shape of the peak portion with a maximum motor current ratio higher than 20% and the valley portion with a maximum motor current ratio lower than -20% is shown in the gravity compensation current Igc diagram.
[0098] The excitation sinusoidal current calculation block 109 (4th calculation unit) calculates the excitation sinusoidal wave Igsin used to move the self-locking motor from the static friction stop state to the dynamic friction state.
[0099] The excitation sinusoidal current calculation block 109 calculates and outputs the excitation sinusoidal wave Igsin based on the specified excitation sinusoidal wave amplitude Igsa and the specified frequency Igsf. If the elapsed time is set as t, the excitation sinusoidal wave Igsin is obtained by the following formula.
[0100] Igsin=Igsa×sin(2π×Igsf×t)
[0101] exist Figure 8 In the example shown, the amplitude Igsa of the excitation sine wave is set to 5%, the frequency Igsf is set to 20Hz, and the elapsed time t is set to 2 seconds.
[0102] Furthermore, under flexible control, if the joint J4 of the fourth axis is rotated 360° (-180° to 180°) from the arm side (reducer output side) within 2 seconds, then the following is obtained: Figure 8 The waveform of the excitation sine wave amplitude Igsa is shown.
[0103] Operation block 116 (5th operation unit) calculates the gravity compensation current correction value Igc4 based on the gravity compensation current Igc, the gravity compensation current subtraction value Igsub, and the excitation sine wave Igsin. The gravity compensation current correction value Igc4 is obtained by the following formula.
[0104] Igc4 = Igc - Igsub + Igsin
[0105] In calculation block 116, the subtraction value (Igsin-Igsub) is calculated by subtracting the gravity compensation current subtraction value Igsub from the excitation sine wave Igsin. Calculation block 116 selectively adds the subtraction value (Igsin-Igsub) to the gravity compensation current Igc by switching switch Swg, thereby calculating and outputting the gravity compensation current correction value Igc4.
[0106] Furthermore, under flexible control, if the joint J4 of the fourth axis is rotated 360° (-180° to 180°) from the arm side (reducer output side) within 2 seconds, then the following is obtained: Figure 9 The waveform of the gravity compensation current correction value Igc4 is shown.
[0107] The first current command Icom1, normally controlled, is input to the current limiting block 105. The current limiting block 105 calculates and outputs the current command limit value Icl_lim based on the preset current limit setting value Icth. The current command limit value Icl_lim is obtained using the following formula.
[0108] Icom1>Icth(Icl_lim=Icth)
[0109] |Icom1|≤Icth(Ic1_lim=Icom1)
[0110] Icom1 <- Icth(Ic1_lim = -Icth)
[0111] Furthermore, the flexible control block 14 calculates the fourth current command Icom4 for flexible control by adding the gravity compensation current correction value Igc4 to the current command limit value Ic1_lim. The flexible control block 14 outputs the fourth current command Icom4. Thus, the flexible control block 14 constitutes a current command correction unit in flexible control that corrects the current command of the motor 3 based on the gravity compensation current correction value Igc4.
[0112] <The case where the collision stops at a position with a motion angle of 60°>
[0113] The following describes the collision stop situation when the 4th axis stops at a position with an action angle θax = 60° in flexible control.
[0114] Figure 10 This represents the waveform of the gravity compensation current Igc when the joint J4 of the fourth axis rotates 360° (-180° to 180°) from the arm side (reducer output side) under flexible control.
[0115] like Figure 10 As shown, when the collision stops at the position of the fourth axis with an action angle of θax = 60°, the maximum ratio of the motor current to the gravity compensation current Igc is 26%.
[0116] like Figure 11 As shown, when the collision stops at the position of the 4th axis with an action angle of θax = 60°, the maximum ratio of the motor current to the gravity compensation current reduction value Igsub is 20%.
[0117] As described above, the excitation sine wave Igsin is obtained through Igsin = Igsa × sin(2π × Igsf × t). Here, if we set the amplitude Igsa of the excitation sine wave to 5%, the frequency Igsf to 20Hz, and the elapsed time t to 2 seconds, we obtain... Figure 12 The waveform of the excitation sinusoidal wave amplitude Igsa is shown. Figure 12In the middle, set the horizontal axis as the time axis.
[0118] As mentioned above, the gravity compensation current correction value Igc4 is obtained through Igc4 = Igc - Igsub + Igsin. Here, since the maximum ratio of the gravity compensation current Igc to the motor current is 26%, and the maximum ratio of the gravity compensation current subtraction value Igsub to the motor current is 20%, the result is Igc - Igsub = 26 - 20 = 6%. Therefore, we obtain... Figure 13 The waveform of the gravity compensation current correction value Igc4 is shown. Figure 13 In the middle, set the horizontal axis as the time axis.
[0119] As described above, the robot control device 10 of this embodiment can correct the current command of the motor 3 based on the gravity compensation current correction value Igc4 during flexible control, thereby ensuring the flexibility of the robot arm 2 and alleviating tension.
[0120] Specifically, the motor 3, which is in a static friction stop state due to self-locking, can be excited from the input side, thus setting the motor 3 to a dynamic friction state. As a result, even when an impact force is applied from the output side of the motor 3, the motor 3 can be rotated in the direction of escaping the impact force.
[0121] Industrial availability
[0122] As explained above, this disclosure provides a highly practical effect: even when an impact force is applied from the output side of the motor, the motor can be rotated in the direction of escaping the impact force. Therefore, it is extremely useful and has high industrial applicability.
[0123] -Symbol Explanation-
[0124] 2. Robotic arm
[0125] 3 motors
[0126] 5. Hypoid gears
[0127] 10. Robot control device
[0128] 14. Flexible Control Block (Flexible Control Unit, Current Command Correction Unit)
[0129] 101 Gravity Torque Calculation Block (Calculation Unit 1)
[0130] 103 Arithmetic Block (Arithmetic Unit 2)
[0131] 107 Gravity Compensation Current Subtraction Block (3rd Calculation Unit)
[0132] 109 Excitation Sine Wave Current Operation Block (4th Operation Section)
[0133] 116 Arithmetic Block (5th Arithmetic Unit)
[0134] τge Gravitational torque
[0135] IgC gravity compensation current
[0136] Igth Gravity subtraction setting value
[0137] Igsub gravity compensation current reduction value
[0138] Igsa excited sine wave amplitude
[0139] Igsf frequency
[0140] Igsin excited sine wave
[0141] Igc4 Gravity compensation current correction value.
Claims
1. A robot control method for controlling the movements of a robot arm having multiple motors, the robot control method comprising: The process of calculating the gravitational torque (τge) applied to the compensation object by the motor based on the rotation angle of the plurality of motors; The process of calculating the gravity compensation current (Igc) to compensate for the gravity torque (τge); The process of calculating the gravity compensation current subtraction value (Igsub) based on the gravity compensation current (Igc) and the specified gravity subtraction setting value (Igth); The process of calculating the excitation sine wave (Igsin) based on the specified excitation sine wave amplitude (Igsa) and specified frequency (Igsf); and The process of subtracting the gravity compensation current subtraction value (Igsub) from the gravity compensation current (Igc) and adding the excitation sine wave (Igsin) to calculate the gravity compensation current correction value (Igc4).
2. The robot control method according to claim 1, wherein, The robot control method includes: When a collision force is applied to the robotic arm, a process is performed to drive the motor in a way that allows for flexible control mimicking the direction of the applied collision force; and In the flexible control, there is a process of correcting the current command of the motor based on the gravity compensation current correction value (Igc4).
3. A robot control device for controlling the movements of a robot arm having multiple motors, the robot control device comprising: The first calculation unit calculates the gravitational torque (τge) applied to the motor of the compensation object based on the rotation angle of the plurality of motors. The second calculation unit calculates the gravity compensation current (Igc) to compensate for the gravity torque (τge); The third calculation unit calculates the gravity compensation current reduction value (Igsub) based on the gravity compensation current (Igc) and the specified gravity reduction setting value (Igth). The fourth calculation unit calculates the excitation sine wave (Igsin) based on the specified amplitude (Igsa) and frequency (Igsf); and The fifth calculation unit subtracts the gravity compensation current reduction value (Igsub) from the gravity compensation current (Igc) and adds the excitation sine wave (Igsin) to calculate the gravity compensation current correction value (Igc4).
4. The robot control device according to claim 3, wherein, The robot control device includes: The flexible control unit, upon applying a collision force to the robotic arm, performs flexible control to drive the motor so as to mimic the direction in which the collision force was applied; and The current command correction unit corrects the motor's current command based on the gravity compensation current correction value (Igc4) in the flexible control.
5. The robot control device according to claim 3 or 4, wherein, The motor has hyperbolic gears.
Citation Information
Patent Citations
Robot controller
JP2000042957A
Apparatus and method for controlling a industrial robot
CN1823310A
Controller of robot
JP1986231612A
Return-to-origin control device for articulated robot
JP1993104466A