Method and device for drag compensation of a robot arm

By comprehensively considering the gravity, friction, and impedance of the robotic arm to calculate the compensation current, and combining it with position, speed, and torque limitations, the problems of large compensation current error and insufficient safety in robotic arm drag teaching are solved, achieving more accurate drag control and safety protection.

CN117207179BActive Publication Date: 2026-07-03AUBO (BEIJING) ROBOTICS TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
AUBO (BEIJING) ROBOTICS TECH CO LTD
Filing Date
2023-09-06
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

In existing robotic arm drag teaching methods, the control method based on motor current and end effector six-dimensional force sensor has problems such as large calculation error of compensation current and high cost, resulting in poor drag performance and insufficient safety.

Method used

The compensation current is calculated by comprehensively considering the gravity, friction and impedance of the robotic arm. The compensation current is corrected by filtering and position and speed limits. The drag compensation current is calculated using the dynamic model and friction model of the robotic arm. Safety protection is carried out by combining position, speed and torque limits.

Benefits of technology

It improves the accuracy and safety of compensation current, reduces control costs, enhances drive performance, and avoids dependence on sensors and external devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117207179B_ABST
    Figure CN117207179B_ABST
Patent Text Reader

Abstract

This invention provides a drag compensation method and device for a robotic arm. The method includes: setting the driver mode and parameters of the robotic arm; filtering the motion state of the robotic arm; calculating the drag compensation current of the robotic arm based on the motion state, the drag compensation current including gravity compensation current, friction compensation current, and impedance compensation current; correcting the drag compensation current according to the drag position limit, speed limit, and torque limit of the robotic arm to obtain the drag drive current of the robotic arm; and driving the robotic arm according to the drag drive current. This invention comprehensively considers the gravity, friction, and impedance of the robotic arm to calculate the compensation current, and further corrects the compensation current according to the drag position limit, speed limit, and torque limit, thereby making the compensation current sent to the driver more accurate and enhancing the safety factor. It eliminates the need for external equipment, improving drag performance while controlling costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotic arm technology, specifically to a drag compensation method for a robotic arm. Background Technology

[0002] Drag-and-drop teaching, also known as direct teaching, refers to the process of manually dragging a robotic arm (robot) to move its end effector along a desired trajectory, then having the robot record the points of movement to recreate the taught motion. Drag-and-drop teaching is flexible and more intuitive, allowing operators to quickly and directly record the working points, significantly improving teaching efficiency. It has a wide range of applications in the field of robotics.

[0003] Currently, there are two main control methods for robotic arms in drag-and-drop teaching: one based on motor current and the other based on a six-dimensional force sensor at the end effector. The former, based on motor current, operates in a zero-force mode, relying on dynamics and friction models to calculate the required compensation current for the robot. However, this method suffers from significant calculation errors due to model parameter identification errors, speed and acceleration estimation errors, and signal noise. Ultimately, this leads to deviations in the compensation current sent to the actuator.

[0004] Force control is based on a six-dimensional force sensor at the end of the robot. The robot's joint angular position or velocity is calculated from the sensor force information and the closed-loop force control architecture. However, this method still requires sensor support, and the product cost is very high. Summary of the Invention

[0005] To solve the above-mentioned technical problems, this invention provides a drag compensation method for a robotic arm. This method can make the compensation current sent to the driver more accurate and enhance the safety factor. It does not require external equipment and improves drag performance while controlling costs.

[0006] The present invention also provides a drag compensation device for a robotic arm.

[0007] The technical solution adopted in this invention is as follows:

[0008] A first aspect of the present invention provides a drag compensation method for a robotic arm, comprising the following steps: setting the driver mode and parameters of the robotic arm; filtering the motion state of the robotic arm to obtain a filtered motion state, wherein the motion state includes the speed, acceleration, position, and temperature of the robotic arm joints; calculating a drag compensation current for the robotic arm based on the motion state, wherein the drag compensation current includes gravity compensation current, friction compensation current, and impedance compensation current; correcting the drag compensation current based on drag position limitations, speed limitations, and torque limitations of the robotic arm to obtain a drag drive current for the robotic arm; and driving the robotic arm according to the drag drive current.

[0009] The drag compensation method for the robotic arm proposed in this invention also has the following additional technical features:

[0010] According to one embodiment of the present invention, the gravity compensation current is calculated based on the current position of the robotic arm joints and the dynamic model of the robotic arm.

[0011] According to one embodiment of the present invention, the friction model (1)-(4) is obtained specifically according to the following formulas:

[0012] (1);

[0013] (2);

[0014] (3)

[0015] (4);

[0016] Where v is the joint velocity, t is the joint temperature, and τ1 is the joint load. F s The static friction coefficient is F c Let be the Coulomb friction coefficient. V s Stribeck's velocity coefficient, μ For Stribeck shape factor, F v0 The first coefficient of viscous friction, F v1 The second coefficient of viscous friction, F v2 It is the third coefficient of viscous friction. F v3 It is the fourth viscous friction coefficient. F t1 The coefficient of friction at the first viscosity temperature. F t2 The coefficient of friction at the second viscosity temperature. F t3 The third viscosity temperature friction coefficient, c 1 The coefficient of friction under the first load is... c 2 The coefficient of friction under the second load is... f 1 For load friction force, f t For temperature friction, f l It is viscous friction. f This represents the total frictional force.

[0017] According to one embodiment of the present invention, the friction model is obtained in the zero-velocity range by the following formula (5):

[0018] (5)

[0019] in, f For the total friction force, F c Let be the Coulomb friction coefficient. threshold denoted as the velocity dead zone, and v as the joint velocity.

[0020] According to one embodiment of the present invention, the impedance compensation current is calculated based on the current joint position, velocity and acceleration of the robotic arm, and the impedance parameters (MDK) of the second-order system in which the robotic arm joints are located.

[0021] According to one embodiment of the present invention, the correction of the drag compensation current based on the drag position limitation, speed limitation, and torque limitation of the robotic arm specifically includes: obtaining the position range of the robotic arm joint; obtaining the position limitation damping and position limitation stiffness of the robotic arm based on the position range of the robotic arm joint; calculating the drag position limitation current based on the position limitation damping and position limitation stiffness; obtaining the speed range of the robotic arm joint; obtaining the speed limitation damping of the robotic arm based on the speed range of the robotic arm joint; calculating the drag speed limitation current based on the speed limitation damping; calculating the motor drive current based on the drag compensation current, drag position limitation current, and drag speed limitation current; obtaining the motor drive torque based on the motor drive current; obtaining the motor drive torque based on the speed of the robotic arm, the motor drive torque, and the theoretical torque; and obtaining the drag drive current of the robotic arm based on the adjusted motor drive torque.

[0022] According to an embodiment of the present invention, the position range of the robotic arm joint is obtained, the position limiting damping and position limiting stiffness of the robotic arm are obtained based on the position range of the robotic arm joint, and the drag position limiting current is calculated based on the position limiting damping and position limiting stiffness. Specifically, this includes: obtaining the position range of the robotic arm based on the joint position of the robotic arm, wherein the position range includes: normal drag position range, transition position range and extreme position range; if the position range of the robotic arm is the normal drag position range, then the position limiting damping is 0, and the drag position limiting current is 0; if the position range of the robotic arm is the transition position range, then the position limiting stiffness is 0, the position limiting damping and the change rate of the position of the robotic arm are linear functions, the position limiting damping is obtained based on the linear function and the position of the robotic arm, and the drag position limiting current is obtained according to the following formula (1). If the position range of the robotic arm is the extreme position range, then the position limiting stiffness and position limiting damping are given values, the target position is ±355°, the target velocity is 0, and the drag position limiting current is obtained according to the following formula (6). ;

[0023] (6)

[0024] in, To limit the current for dragging position, MDK represents the mass-damping-stiffness of the second-order system containing the robotic arm joint, respectively. and These are the current acceleration and the target acceleration of the joint, respectively. and The current velocity and target velocity of the joint. and This refers to the current and target positions of the joint.

[0025] According to an embodiment of the present invention, the speed range of the robotic arm joint is obtained, the speed limiting damping of the robotic arm is obtained according to the speed range of the robotic arm joint, and the drag speed limiting current is calculated according to the speed limiting damping. Specifically, the method includes: obtaining the speed range of the robotic arm joint according to the speed of the robotic arm joint, wherein the speed range includes: normal drag speed range, transition speed range and limit speed range; if the speed range of the robotic arm joint is the normal speed position range, then the speed limiting damping is 0 and the drag speed limiting current is 0; if the speed range of the robotic arm joint is the transition speed range, then the speed limiting damping and the speed of the robotic arm joint change rate are linear functions, the speed limiting damping is obtained according to the linear function and the speed of the robotic arm joint, and the drag speed limiting current is obtained according to the following formula (7); if the speed range of the robotic arm joint is the limit speed range, then the speed limiting damping and the speed of the robotic arm joint change rate are cubic polynomials, the speed limiting damping is obtained according to the cubic polynomial and the speed of the robotic arm joint, and the drag speed limiting current is obtained according to the following formula (7).

[0026] (7)

[0027] in, To limit the current for speed, MDK represents the mass-damping-stiffness of the second-order system containing the robotic arm joint, respectively. and These are the current acceleration and the target acceleration of the joint, respectively. and The current velocity and target velocity of the joint. and This refers to the current and target positions of the joint.

[0028] According to one embodiment of the present invention, the motor driving torque is obtained based on the speed of the robotic arm, the motor driving torque, and the theoretical torque, specifically including: if the speed of the robotic arm joint is positive and the theoretical torque is negative, when the motor driving torque > the theoretical torque, the motor driving torque is adjusted to the theoretical torque; if the speed of the robotic arm joint is negative and the theoretical torque is positive, when the motor driving torque < the theoretical torque, the motor driving torque is adjusted to the theoretical torque; if the speed of the robotic arm joint is positive and the theoretical torque is positive, when the motor driving torque > the theoretical torque, the motor driving torque is adjusted to the theoretical torque; if the speed of the robotic arm joint is negative and the theoretical torque is negative, when the motor driving torque < the theoretical torque, the motor driving torque is adjusted to the theoretical torque; when the robotic arm does not meet the above four conditions, the motor driving torque is adjusted to the theoretical torque.

[0029] A second aspect of the present invention provides a drag compensation device for a robotic arm, comprising: a setting module for setting the actuator mode and parameters of the robotic arm; a preprocessing module for filtering the motion state of the robotic arm to obtain a filtered motion state, the motion state including the speed, acceleration, position, and temperature of the robotic arm joints; a compensation module for calculating a drag compensation current of the robotic arm based on the motion state, the drag compensation current including gravity compensation current, friction compensation current, and impedance compensation current; a correction module for correcting the drag compensation current based on drag position limitations, speed limitations, and torque limitations of the robotic arm to obtain a drag drive current for the robotic arm; and a drive module for driving the robotic arm according to the drag drive current.

[0030] The beneficial effects of this invention are:

[0031] 1. This invention comprehensively considers the gravity, friction and impedance of the robotic arm to calculate the compensation current of the robotic arm, and further corrects the compensation current according to the drag position limit, speed limit and torque limit, so that the compensation current sent to the driver can be more accurate, and the safety factor is enhanced. Moreover, it does not require external devices such as sensors or enable buttons, thus improving drag performance while controlling costs.

[0032] 2. Special measures were taken to address the issue of inaccurate velocity sign determination during zero-speed friction calculation, further improving the accuracy of the compensation current. Attached Figure Description

[0033] Figure 1 This is a flowchart of a drag compensation method for a robotic arm according to an embodiment of the present invention;

[0034] Figure 2This is a flowchart illustrating the correction of the drag compensation current according to an embodiment of the present invention;

[0035] Figure 3 This is a schematic diagram of the location space according to an embodiment of the present invention;

[0036] Figure 4 This is a schematic diagram of the velocity space according to an embodiment of the present invention;

[0037] Figure 5 This is a block diagram of a drag compensation device for a robotic arm according to an embodiment of the present invention. Detailed Implementation

[0038] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0039] Figure 1 This is a flowchart of a drag compensation method for a robotic arm according to an embodiment of the present invention, as follows: Figure 1 As shown, the method includes the following steps:

[0040] S1, set the drive mode and parameters of the robotic arm.

[0041] Specifically, during drag teaching, the driver mode is set to current mode; the parameters are divided into two parts: one is basic parameters, such as the load and the robot arm's body dynamics parameters, friction parameters, torque coefficient, etc.; the other is fixed parameters, such as filtering parameters, impedance parameters, safety protection parameters, etc. The damping in the impedance parameters can be used to adjust the drag feel.

[0042] S2 filters the motion state of the robotic arm to obtain the filtered motion state, which includes the speed, acceleration, position, and temperature of the robotic arm joints.

[0043] Specifically, in this invention, the filtering of the motion state is implemented in the driving layer (4kHz), which can be achieved using a moving average + low-pass filter method. After filtering, the motion state can reduce the influence of noise on friction, thereby improving the accuracy of the friction compensation current acquisition described below.

[0044] S3 calculates the drag compensation current of the robotic arm based on the motion state. The drag compensation current includes: gravity compensation current, friction compensation current and impedance compensation current.

[0045] Specifically, the drag compensation current = gravity compensation current + friction compensation current - impedance compensation current. The following describes how to obtain the gravity compensation current, friction compensation current, and impedance compensation current using specific embodiments.

[0046] In one embodiment of the present invention, the gravity compensation current is calculated based on the current position of the robotic arm joints and the dynamic model of the robotic arm.

[0047] Specifically, the dynamic model of the robotic arm is a linear function of its inertial parameters, which can be used to simplify model calculations, identify dynamic parameters, and obtain joint torques. Based on the current position of the robotic arm joints and the dynamic model, the joint torques can be obtained, and the corresponding gravity compensation current can be obtained based on the joint torques.

[0048] The dynamic parameters of the robotic arm's dynamic model are derived from CAD (Computer Aided Design) parameters. Due to the high noise in the velocity and acceleration signals, the inertia tensor and Coriolis force matrix parameters in the dynamic parameters deviate, leading to calculation errors in inertial and Coriolis forces. This makes it difficult to use these parameters for calculating inertial and Coriolis force compensation currents. Therefore, in this invention, only the gravity compensation current term is used, ignoring the inertial and Coriolis force compensation currents.

[0049] According to the present invention, the friction compensation current is obtained in the following manner: a friction model is obtained based on the current speed, position, temperature and load of the robotic arm joint; the total friction force of the robotic arm is calculated based on the friction model; and the friction compensation current is obtained based on the total friction force.

[0050] Furthermore, according to an embodiment of the present invention, the friction model is a VTL (velocity-temperature-load) model, specifically obtained according to the following formulas (1)-(4):

[0051] (1);

[0052] (2);

[0053] (3)

[0054] (4);

[0055] Where v is the joint velocity, t is the joint temperature, and τ1 is the joint load. F s The static friction coefficient is F c Let be the Coulomb friction coefficient. V s Stribeck's velocity coefficient, μ For Stribeck shape factor,F v0 The first coefficient of viscous friction, F v1 The second coefficient of viscous friction, F v2 It is the third coefficient of viscous friction. F v3 It is the fourth viscous friction coefficient. F t1 The coefficient of friction at the first viscosity temperature. F t2 The coefficient of friction at the second viscosity temperature. F t3 The third viscosity temperature friction coefficient, c 1 The coefficient of friction under the first load is... c 2 The coefficient of friction under the second load is... f 1 For load friction force, f t For temperature friction, f l It is viscous friction. f This represents the total frictional force.

[0056] In the zero-speed range (i.e., the speed is near zero, close to zero, with a certain margin), on the one hand, the speed sign is inaccurate and the speed measurement noise is extremely high; on the other hand, the friction force at zero speed is mainly static friction, which is an uncertain value. Therefore, in the embodiments of the present invention, a speed dead zone threshold is set, and the friction model is obtained in the zero-speed range by the following formula (5):

[0057] (5)

[0058] in, f For the total friction force, F c Let be the Coulomb friction coefficient. threshold denoted as the velocity dead zone, and v as the joint velocity.

[0059] As the formula shows, the sign of the friction compensation current is determined by the sign of the velocity. Near zero velocity, it manifests as a signal transition, causing joint vibration. Therefore, it can be used to measure the total friction force. f Filtering can be performed using an IIR (Infinite Impulse Response, digital filter) to avoid joint vibration.

[0060] After obtaining the total friction force fThen, the friction compensation current can be obtained based on the relationship between the total friction force and the friction compensation current. The relationship between the total friction force and the friction compensation current should be set in advance according to the actual situation.

[0061] According to one embodiment of the present invention, the impedance compensation current is calculated based on the current joint position, velocity and acceleration of the robotic arm, and the impedance parameters (MDK) of the second-order system in which the robotic arm joints are located.

[0062] It is understandable that the impedance in a robotic arm serves two purposes: 1) adjusting the feel during normal dragging; and 2) handling safety precautions during abnormal dragging. The reasons for adding impedance compensation current in this invention are: 1) Errors in the calculation of dynamics and friction (mainly from model parameter errors and velocity and acceleration estimation errors) lead to deviations in the dynamics and friction currents calculated based on the model, resulting in overcompensation (even a small external disturbance can cause the robot to move, and the robot cannot stop after the external force is removed); 2) Even if the dynamics and friction compensation is accurate, if the robot's dynamics and friction are completely compensated, causing the robot to exhibit zero inertia and zero damping characteristics during dragging, this is quite dangerous for actual dragging.

[0063] S4, adjusts the drag compensation current according to the drag position limit, speed limit and torque limit of the robotic arm to obtain the drag drive current of the robotic arm.

[0064] Specifically, when a robotic arm is dragged, there are certain position, speed, and torque limitations to prevent accidents caused by dragging beyond the range, excessive speed, or excessive force. Therefore, this invention modifies the drag compensation current based on the drag position, speed, and torque limitations of the robotic arm to provide safety protection.

[0065] The following describes how to correct the drag compensation current using specific embodiments.

[0066] According to one embodiment of the present invention, such as Figure 2 As shown, the drag compensation current is corrected based on the drag position limit, speed limit, and torque limit of the robotic arm to obtain the drag drive current of the robotic arm, specifically including:

[0067] S41, obtain the position range of the robotic arm joint, obtain the position limiting damping and position limiting stiffness of the robotic arm based on the position range of the robotic arm joint, and calculate the drag position limiting current based on the position limiting damping and position limiting stiffness.

[0068] Furthermore, the position range of the robotic arm joints is obtained, and the position limiting damping and position limiting stiffness of the robotic arm are obtained based on the position limiting damping and position limiting stiffness. The drag position limiting current is calculated based on the position limiting damping and position limiting stiffness, specifically including:

[0069] The position range of the robotic arm is determined based on its joint positions. This position range includes: normal drag position range, transition position range, and extreme position range. For example, the normal drag position range is [-330°, +330°], the transition position range is [-355°, -330°) and (+330°, +355°], and the extreme position range is [-360°, -355°) and (+355°, +360°]. If the robotic arm is in the normal drag position range, the position limiting damping is 0, and the drag position limiting current is [-360°, -355°] and (+355°, +360°]. The position limit stiffness is 0 if the position range of the robotic arm is a transitional position range. The position limit damping is a linear function of the rate of change of the position of the robotic arm. The position limit damping is obtained based on the linear function and the position of the robotic arm. The drag position limit current is obtained according to the following formula (6). If the position range of the robotic arm is the limit position range, then the position limiting stiffness and position limiting damping of the robotic arm joint are given values, the target position is ±355°, the target velocity is 0, and the drag position limiting current is obtained according to the following formula (6). ;

[0070] (6)

[0071] in, To limit the current for dragging position, MDK represents the mass-damping-stiffness of the second-order system containing the robotic arm joint, respectively. and These are the current acceleration and the target acceleration of the joint, respectively. and The current velocity and target velocity of the joint. and This refers to the current and target positions of the joint.

[0072] In summary, such as Figure 3 As shown, section A is the normal driving position range, requiring no position protection and generating no position limiting current. The value is 0. Interval B is the transition position interval, where the stiffness K is 0. The damping D and the rate of change of the robot arm's position are linear functions. The coefficients of this linear function are pre-set. The current position-limiting damping can be obtained by substituting the current position of the robot arm into the linear function. Substituting this position-limiting damping into D in formula (6) yields the result. At this point, all other parameters in formula (6) are known parameters and can be directly obtained based on the actual situation of the robotic arm. The C interval is the extreme position interval, and the target position is set within this interval. ±355°, target speed Given the damping D and stiffness K of the robotic arm joint, which are 0, we can obtain the result by substituting them into formula (6). .

[0073] Overall, the damping increases as the joint approaches its limit position, and a rebound force is generated in the C range, eventually stopping at the target position.

[0074] Therefore, the drag position limiting current can be calculated based on the position range of the robotic arm joints. .

[0075] S42, obtain the speed range of the robotic arm joint, obtain the speed limit damping of the robotic arm based on the speed range of the robotic arm joint, and calculate the drag speed limit current based on the speed limit damping. .

[0076] Furthermore, according to one embodiment of the present invention, the speed range of the robotic arm joint is obtained, the speed limiting damping of the robotic arm is obtained based on the speed range of the robotic arm joint, and the drag speed limiting current is calculated based on the speed limiting damping. Specifically, it includes:

[0077] The speed range of the robotic arm joints is determined based on their joint speeds. This range includes: normal drag speed range, transition speed range, and limit speed range. The normal drag speed range is [-1.8 rad / s, +1.8 rad / s], the transition speed range is [-2 rad / s, -1.8 rad / s) and (+1.8 rad / s, +2 rad / s], and the limit speed range is [-3 rad / s, -2 rad / s) and (+2 rad / s, +3 rad / s]. [rad / s]; If the speed range of the robotic arm joint is the normal speed position range, then the speed limit damping is 0 and the drag speed limit current is 0; If the speed range of the robotic arm joint is the transition speed range, then the speed limit damping and the change rate of the speed of the robotic arm joint are linear functions. The speed limit damping is obtained according to the linear function and the speed of the robotic arm joint, and the speed limit stiffness is 0. The drag speed limit current is obtained according to the following formula (7); If the speed range of the robotic arm joint is the limit speed range, then the speed limit damping and the change rate of the speed of the robotic arm joint are cubic polynomials. The speed limit damping is obtained according to the cubic polynomial and the speed of the robotic arm joint, and the speed limit stiffness is 0. The drag speed limit current is obtained according to the following formula (7);

[0078] (7)

[0079] in, To limit the current for speed, MDK represents the mass-damping-stiffness of the second-order system containing the robotic arm joint, respectively. and These are the current acceleration and the target acceleration of the joint, respectively. and The current velocity and target velocity of the joint. and This refers to the current and target positions of the joint.

[0080] In summary, such as Figure 4 As shown, range a represents the normal driving speed range, requiring no speed protection and generating no speed limiting current. The value is 0; the b interval is the transition speed interval, and the damping D in this interval is a linear function of the rate of change of the speed of the robotic arm joint. The coefficient of this linear function is set in advance. The current speed limit damping can be obtained by substituting the current speed of the robotic arm joint into the linear function. The position limit damping can be obtained by substituting the position limit damping into D in formula (7). At this point, all other parameters in formula (7) are known parameters and can be directly obtained based on the actual situation of the robotic arm. The c-interval is the limit speed interval. The speed of the robotic arm with joint speed in this interval is about to reach the limit speed and needs to be intervened to reduce the speed as soon as possible. The damping D in this interval is a cubic polynomial with the rate of change of the speed of the robotic arm joint. The coefficients of this cubic polynomial are set in advance. The current speed limit damping can be obtained by substituting the current speed of the robotic arm joint into the cubic polynomial. Substituting this speed limit damping into D in formula (7) will yield the speed limit damping. At this point, the other parameters in formula (7) are known parameters and can be directly obtained according to the actual situation of the robotic arm. The general trend is that the closer the joint is to the limit speed, the greater the damping, and the less likely it is to be dragged to the limit speed. In order to ensure that there is no jerking, the damping must be continuous throughout the process. When limiting the speed, the stiffness term is not considered. When calculating the drag speed limiting current, the stiffness K is 0. Therefore, the drag speed limiting current can be calculated according to the speed range of the robotic arm joint. .

[0081] S43, calculate the motor drive current based on the drag compensation current, drag position limit current and drag speed limit current, and obtain the motor drive torque based on the motor drive current.

[0082] Specifically, the motor drive current = drag compensation current + drag position limiting current + drag speed limiting current, and the motor drive torque is the torque corresponding to the motor drive current.

[0083] S44 adjusts the motor drive torque based on the speed of the robotic arm, the motor drive torque, and the theoretical torque.

[0084] Specifically, the movement of the robotic arm consists of external drag torque and motor drive torque, i.e., external drag torque + motor drive torque = theoretical torque. The theoretical torque is the torque calculated based on the dynamic model to maintain the current motion state. The external drag torque is an unknown quantity. The robotic arm cannot adjust the motor drive torque in real time based on the external drag torque. Furthermore, when the motor drive torque > theoretical torque, even if the external drag torque is 0 (released state), the robotic arm cannot stop quickly, which can easily lead to safety accidents such as runaway. It is understandable that the sign of acceleration can be determined by the sign of the output torque versus the theoretical torque. Based on the current velocity and acceleration direction, the motion state of the robotic arm can be analyzed. When the robotic arm is in the following four motion states, to improve the safety performance of the robotic arm, it is necessary to adjust the motor drive torque, and thus adjust the torque limiting current, as follows:

[0085] In a specific embodiment of the present invention, obtaining the motor driving torque based on the speed of the robotic arm, the motor driving torque, and the theoretical torque specifically includes:

[0086] If the speed of the robotic arm joint is positive and the theoretical torque is negative, the robot is in a deceleration state. When the motor driving torque is greater than the theoretical torque, the acceleration is small. The motor driving torque needs to be adjusted to the theoretical torque to obtain a greater acceleration and reach zero speed as soon as possible.

[0087] If the speed of the robotic arm joint is negative and the theoretical torque is positive, the robot is in a deceleration state. When the motor driving torque is less than the theoretical torque, the acceleration is small. The motor driving torque needs to be adjusted to the theoretical torque to obtain a greater acceleration and reach zero speed as soon as possible.

[0088] If the speed of the robotic arm joint is positive and the theoretical torque is positive, the robot is in an accelerated state. When the motor driving torque is greater than the theoretical torque, the robot obtains a torque greater than that which can maintain its own motion state, which can easily cause a runaway hazard. The motor driving torque needs to be adjusted to the theoretical torque.

[0089] If the speed of the robotic arm joint is negative and the theoretical torque is negative, the robot is in an accelerated state. When the motor driving torque is less than the theoretical torque, the robot obtains a torque greater than that which can maintain its own motion state, which can easily cause a runaway hazard. The motor driving torque needs to be adjusted to the theoretical torque.

[0090] When the robotic arm does not meet the above four conditions, the motor drive torque does not need to be adjusted.

[0091] S45 obtains the drag drive current of the robotic arm based on the adjusted motor drive torque.

[0092] Specifically, the corresponding driving current of the robotic arm can be obtained directly from the motor driving torque, which limits the dragging position, dragging speed and torque of the robotic arm, focusing not only on the dragging experience but also on safety protection.

[0093] S5 drives the robotic arm according to the drag drive current.

[0094] Specifically, the drive current is filtered and then sent to the driver so that the driver can drive the robotic arm according to the drive current.

[0095] In summary, the drag compensation method for the robotic arm according to embodiments of the present invention comprehensively considers the weight, friction, and impedance of the robotic arm to calculate the compensation current, and further corrects the compensation current based on drag position limitations, speed limitations, and torque limitations. This makes the compensation current sent to the driver more accurate, enhances the safety factor, and eliminates the need for external devices such as sensors or enable buttons, thereby improving drag performance while controlling costs. Furthermore, it addresses the problem of inaccurate speed sign determination during zero-speed friction calculation by providing special handling, further improving the accuracy of the compensation current.

[0096] Corresponding to the aforementioned drag compensation method for robotic arms, this invention also proposes a drag compensation device for robotic arms. Details not disclosed in the device embodiments can be found in the aforementioned method embodiments, and will not be repeated here.

[0097] Figure 5 This is a block diagram of a drag compensation device for a robotic arm according to an embodiment of the present invention, as shown below. Figure 5 As shown, the device includes: a setting module 1, a preprocessing module 2, a compensation module 3, a correction module 4, and a driving module 5.

[0098] The system comprises the following modules: a setting module 1 for setting the actuator mode and parameters of the robotic arm; a preprocessing module 2 for filtering the motion state of the robotic arm to obtain the filtered motion state, which includes the speed, acceleration, position, and temperature of the robotic arm joints; a compensation module 3 for calculating the drag compensation current of the robotic arm based on the motion state, which includes gravity compensation current, friction compensation current, and impedance compensation current; a correction module 4 for correcting the drag compensation current based on the drag position limit, speed limit, and torque limit of the robotic arm to obtain the drag drive current of the robotic arm; and a drive module 5 for driving the robotic arm based on the drag drive current.

[0099] The drag compensation device for the robotic arm according to an embodiment of the present invention comprehensively considers the weight, friction and impedance of the robotic arm to calculate the compensation current of the robotic arm, and further corrects the compensation current according to the drag position limit, speed limit and torque limit, so that the compensation current sent to the driver can be more accurate, and the safety factor is enhanced. Moreover, it does not require external devices such as sensors or enable buttons, thus improving drag performance while controlling costs.

[0100] In the description of this invention, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. "A plurality of" means two or more, unless otherwise explicitly specified.

[0101] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Furthermore, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0102] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.

Claims

1. A drag compensation method for a robotic arm, characterized in that, Includes the following steps: Set the drive mode and parameters for the robotic arm; The motion state of the robotic arm is filtered to obtain the filtered motion state, which includes the speed, acceleration, position and temperature of the robotic arm joints. The drag compensation current of the robotic arm is calculated based on the motion state. The drag compensation current includes: gravity compensation current, friction compensation current and impedance compensation current. The drag compensation current is corrected according to the drag position limit, speed limit and torque limit of the robotic arm to obtain the drag drive current of the robotic arm; The robotic arm is driven according to the drag drive current; The friction compensation current is obtained using the following method: A friction model is obtained based on the current speed, position, temperature, and load of the robotic arm joints; Calculate the total frictional force of the robotic arm based on the friction model; The friction compensation current is obtained based on the total friction force. Specifically, the friction models (1)-(4) are obtained according to the following formulas: (1); (2); (3) (4); Where v is the joint velocity, t is the joint temperature, and τ1 is the joint load. F s The static friction coefficient is F c Let be the Coulomb friction coefficient. V s Stribeck's velocity coefficient, μ For Stribeck shape factor, F v0 The first coefficient of viscous friction, F v1 The second coefficient of viscous friction, F v2 It is the third coefficient of viscous friction. F v3 It is the fourth viscous friction coefficient. F t1 The coefficient of friction at the first viscosity temperature. F t2 The coefficient of friction at the second viscosity temperature. F t3 The third viscosity temperature friction coefficient, c 1 The coefficient of friction under the first load is... c 2 The coefficient of friction under the second load is... f 1 For load friction force, f t For temperature friction, f l It is viscous friction. f This represents the total frictional force.

2. The drag compensation method for a robotic arm according to claim 1, characterized in that, The gravity compensation current is calculated based on the current position of the robotic arm joints and the dynamic model of the robotic arm.

3. The drag compensation method for a robotic arm according to claim 1, characterized in that, Within the zero-velocity range, the friction model is obtained using the following formula (5): (5) in, f For the total friction force, F c Let be the Coulomb friction coefficient. threshold denoted as the velocity dead zone, and v as the joint velocity.

4. The drag compensation method for a robotic arm according to claim 1, characterized in that, The impedance compensation current is calculated based on the current position, velocity, and acceleration of each joint of the robotic arm, as well as the impedance parameters of the second-order system in which the robotic arm joints are located.

5. The drag compensation method for a robotic arm according to claim 1, characterized in that, The drag compensation current is corrected based on the drag position limit, speed limit, and torque limit of the robotic arm to obtain the drag drive current of the robotic arm, specifically including: Obtain the position range of the robotic arm joint, obtain the position limiting damping and position limiting stiffness of the robotic arm based on the position range of the robotic arm joint, and calculate the drag position limiting current based on the position limiting damping and position limiting stiffness. Obtain the speed range of the robotic arm joint, obtain the speed limiting damping of the robotic arm based on the speed range of the robotic arm joint, and calculate the drag speed limiting current based on the speed limiting damping. The motor drive current is calculated based on the drag compensation current, drag position limit current and drag speed limit current, and the motor drive torque is obtained based on the motor drive current. The motor drive torque is adjusted based on the speed of the robotic arm, the motor drive torque, and the theoretical torque. The drag drive current of the robotic arm is obtained based on the adjusted motor drive torque.

6. The drag compensation method for a robotic arm according to claim 5, characterized in that, The position range of the robotic arm joint is obtained, the position limiting damping of the robotic arm is obtained based on the position range of the robotic arm joint, and the drag position limiting current is calculated based on the position limiting damping, specifically including: The position range of the robotic arm is obtained based on the joint position of the robotic arm. The position range includes: normal drag position range, transition position range and extreme position range. If the position range of the robotic arm is within the normal drag position range, then the position limiting damping is 0, and the drag position limiting current is 0. If the position range of the robotic arm is a transitional position range, then the position limiting stiffness is 0, and the position limiting damping is a linear function of the rate of change of the position of the robotic arm. The position limiting damping is obtained based on the linear function and the position of the robotic arm, and the drag position limiting current is obtained according to the following formula (6). ; If the position range of the robotic arm is the extreme position range, then the position limiting stiffness and position limiting damping of the robotic arm are given values, the target position is ±355°, the target velocity is 0, and the drag position limiting current is obtained according to the following formula (6). ; (6) in, To limit the current for dragging position, MDK represents the mass-damping-stiffness of the second-order system containing the robotic arm joint, respectively. and These are the current acceleration and the target acceleration of the joint, respectively. and The current velocity and target velocity of the joint. and This refers to the current and target positions of the joint.

7. The drag compensation method for a robotic arm according to claim 5, characterized in that, Obtain the speed range of the robotic arm joints, obtain the speed limiting damping of the robotic arm based on the speed range of the robotic arm joints, and calculate the drag speed limiting current based on the speed limiting damping, specifically including: The speed range of the robotic arm joint is obtained based on the joint speed of the robotic arm. The speed range includes: normal dragging speed range, transition speed range and limit speed range. If the speed range of the robotic arm joint is within the normal speed position range, then the speed limiting damping is 0, and the drag speed limiting current is 0. If the speed range of the robotic arm joint is a transition speed range, the speed limiting damping and the rate of change of the speed of the robotic arm joint are linear functions. The speed limiting damping is obtained according to the linear function and the speed of the robotic arm joint. The drag speed limiting current is obtained according to the following formula (7). If the speed range of the robotic arm joint is the limit speed range, the speed limiting damping and the rate of change of the speed of the robotic arm joint are cubic polynomials. The speed limiting damping is obtained according to the cubic polynomial and the speed of the robotic arm joint. The drag speed limiting current is obtained according to the following formula (7). (7) in, To limit the current for speed, MDK represents the mass-damping-stiffness of the second-order system containing the robotic arm joint, respectively. and These are the current acceleration and the target acceleration of the joint, respectively. and The current velocity and target velocity of the joint. and This refers to the current and target positions of the joint.

8. The drag compensation method for a robotic arm according to claim 5, characterized in that, The motor driving torque is obtained based on the speed of the robotic arm, the motor driving torque, and the theoretical torque, specifically including: If the speed of the robotic arm joint is positive and the theoretical torque is negative, when the motor driving torque is greater than the theoretical torque, the motor driving torque will be adjusted to the theoretical torque. If the speed of the robotic arm joint is negative and the theoretical torque is positive, when the motor driving torque is less than the theoretical torque, adjust the motor driving torque to the theoretical torque. If the speed of the robotic arm joint is positive and the theoretical torque is positive, when the motor driving torque is greater than the theoretical torque, adjust the motor driving torque to the theoretical torque; If the speed of the robotic arm joint is negative and the theoretical torque is negative, when the motor driving torque is less than the theoretical torque, the motor driving torque will be adjusted to the theoretical torque.

9. A drag compensation device for a robotic arm, characterized in that, include: The setting module is used to set the drive mode and parameters of the robotic arm; The preprocessing module is used to filter the motion state of the robotic arm to obtain the filtered motion state, which includes the speed, acceleration, position and temperature of the robotic arm joints. The compensation module is used to calculate the drag compensation current of the robotic arm according to the motion state. The drag compensation current includes: gravity compensation current, friction compensation current and impedance compensation current. The correction module is used to correct the drag compensation current according to the drag position limit, speed limit and torque limit of the robotic arm, so as to obtain the drag drive current of the robotic arm; A drive module is configured to drive the robotic arm according to the drag drive current; The compensation module obtains the friction compensation current in the following way: it obtains a friction model based on the current speed, position, temperature, and load of the robotic arm joints; it calculates the total friction force of the robotic arm based on the friction model; and it obtains the friction compensation current based on the total friction force. The compensation module specifically obtains the friction model (1)-(4) according to the following formulas: (1); (2); (3) (4); Where v is the joint velocity, t is the joint temperature, and τ1 is the joint load. F s The static friction coefficient is F c Let be the Coulomb friction coefficient. V s Stribeck's velocity coefficient, μ For Stribeck shape factor, F v0 The first coefficient of viscous friction, F v1 The second coefficient of viscous friction, F v2 It is the third coefficient of viscous friction. F v3 It is the fourth viscous friction coefficient. F t1 The coefficient of friction at the first viscosity temperature. F t2 The coefficient of friction at the second viscosity temperature. F t3 The third viscosity temperature friction coefficient, c 1 The coefficient of friction under the first load is... c 2 The coefficient of friction under the second load is... f 1 For load friction force, f t For temperature friction, f l It is viscous friction. f This represents the total frictional force.