Robot end effector pose error compensation method, device and system
By combining a six-degree-of-freedom robot kinematics and rigid body dynamics model with a convolutional neural network, the following error of the robot's end effector is predicted and compensated, solving the problem of insufficient pose accuracy of the robot's end effector and improving the robot's positioning accuracy in complex environments.
Patent Information
- Application Number
- CN202610108107.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-27
- Publication Date
- 2026-02-27
- Estimated Expiration
- 2046-01-27
AI Technical Summary
The pose accuracy of existing robot end effectors is insufficient to meet the requirements of modern manufacturing and high-precision applications, especially in complex working environments where reliability is difficult to guarantee.
The desired position, velocity, acceleration, and torque are calculated using a six-degree-of-freedom robot kinematic model and a rigid body dynamics model. Actual data is then acquired using an encoder and a current signal acquisition card. A sample matrix is constructed, and a convolutional neural network is used to predict and compensate for following errors, thereby improving the end-effector positioning accuracy.
It enables real-time compensation for coupling position errors caused by factors such as damping, moment of inertia and elastic deformation of the robotic arm, thereby improving the positioning accuracy of the robot's end effector.
Smart Images

Figure CN121572334A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of six degrees of freedom robot, and particularly relates to a robot end effector pose error compensation method and device and system. BACKGROUND
[0002] As a typical automation equipment, robots can replace manual work to efficiently complete tasks such as feeding, stacking, machining, welding, spraying, and assembling, and have been widely applied in many aspects of industrial production, greatly improving production efficiency and quality standards. With the rapid development of science and technology and the rapid growth of social demand, robot technology is widely applied in aerospace industry, medical devices, and high-precision instruments and other high-tech fields, and the positioning accuracy requirements of the end effector of the robot application scene for industrial robots have also increased. However, whether the end effector of the robot can accurately reach the position and perform the correct operation depends on its own control accuracy, and too low robot accuracy will result in that it cannot reach the expected ideal pose in actual work. Therefore, in order to ensure the reliability of the robot in various high-difficulty tasks and complex working environments, the pose accuracy of the robot itself becomes particularly important. With the increasing precision of application fields, higher requirements are put forward for the robot to ensure accuracy under processing conditions.
[0003] The positioning accuracy of the end effector in actual robot application is the result of the comprehensive action of multiple factors. According to the error independent action principle: one error source only causes a certain local error, the local error is a linear function of the source error, and is independent of other error sources, and the total error is the comprehensive of the local error. However, the correlation of the influence of each source error on the robot accuracy should also be considered in the process of calculating the error caused by the source error. Therefore, it can be concluded that the position error of the robot is the result of the coupling of multiple factors under the comprehensive action.
[0004] In summary, robots have become an indispensable part of manufacturing technology, but most robots now face a major problem: the accuracy of the robot itself cannot meet the production requirements. Therefore, how to comprehensively and effectively improve the pose error of the robot end effector has become an important problem for robots to face modern manufacturing fields and high-precision applications. SUMMARY
[0005] The technical problem to be solved by the present application is to provide a robot end effector pose error compensation method and device and system, which comprehensively considers the motion and torque information of each driving joint of the robot, predicts and compensates for the following error, and thereby improves the end positioning accuracy of the robot.
[0006] To achieve the above-mentioned purpose, the technical scheme adopted by the present application is as follows: A robot end effector pose error compensation method, comprising: Step S1, according to the position, velocity, acceleration of the specified task trajectory point, the expected position, velocity, acceleration of each driving joint is calculated through the six-degree-of-freedom robot kinematics model; the actual position, velocity, acceleration of each driving joint motor of the robot is collected by the encoder, and the following error is obtained by subtracting the expected position from the actual position; the actual driving torque of each driving joint motor is collected by the current signal acquisition card; specifically: The position vector equation of the task trajectory point is: ; Wherein, is the position vector of the task trajectory point, , , respectively represent the coordinate values of the trajectory point on the , , coordinate axis; The velocity equation of the task trajectory point is: ; Wherein, is the velocity vector of the task trajectory point, , , respectively represent the velocity values of the trajectory point on the , , coordinate axis; The acceleration equation of the task trajectory point is: ; Wherein, is the acceleration vector of the task trajectory point, , , respectively represent the acceleration values of the trajectory point on the , , coordinate axis; Step S2, calculate the expected driving torque of the motor and the joint friction torque; specifically: Through the six-degree-of-freedom robot rigid body dynamics model, the expected torque of each driving joint is calculated by using the expected position, velocity, acceleration of the driving joint motor, ; Wherein, is the generalized force received by the robot system, is the mass of the robot system, is the acceleration of the robot system; is the generalized force received by the robot system, For the inertial torque of the robot system, The angular acceleration of the robot system; Calculate the joint friction torque: ; ; ; in, As an external force, For maximum friction, It is the critical Stribeck velocity, and its sum Together, they determine the friction curve during the partial lubrication phase. Let L be the coefficient of viscous friction and L be the frictional lever arm. , , , , L is a fixed value obtained through prior measurement; Step S3: Construct a sample matrix using the desired position, desired velocity, desired acceleration, desired motor driving torque, actual motor driving torque, and joint friction torque; specifically: Interpolation sampling is performed on the expected and actual positions, velocities, and accelerations of each joint. The sampled values are used as matrix elements to construct a matrix. The matrix consists of the expected positions, expected velocities, expected accelerations, expected driving torques, actual driving torques, and joint friction torques of the robot's six joint drive motors, forming a 6×6 matrix. Step S4: Using the sample matrix as input and the predicted follower error values of each driving joint as output, construct an error compensation network using a convolutional neural network, and train the error compensation network with the objective of minimizing the difference between the predicted follower error values and the measured follower error values; specifically: The expected and actual positions, velocities, and accelerations of each joint are interpolated and sampled. The sampled values are used as matrix elements to construct a matrix. The matrix consists of the expected position, expected velocity, expected acceleration, expected driving torque, actual driving torque, and joint friction torque of the robot's six joint drive motors, forming a 6×6 matrix. Then, an error compensation network is constructed through an input layer, a convolutional layer, a nonlinear activation function layer, a pooling layer, and a fully connected layer. Step S5: Use the trained error compensation network to predict the following error of each drive joint and implement compensation.
[0007] The present invention also provides a robot end effector pose error compensation device, comprising: The first processing module is used to calculate the desired position, velocity, and acceleration of each drive joint based on the position, velocity, and acceleration of the specified task trajectory points using a six-degree-of-freedom robot kinematic model; to collect the actual position, velocity, and acceleration of the motors of each drive joint of the robot using an encoder, and to obtain the following error by subtracting the desired position from the actual position; and to collect the actual driving torque of the motors of each drive joint using a current signal acquisition card. The second processing module is used to calculate the desired driving torque of the motor and the joint friction torque. The third processing module is used to construct a sample matrix using the desired position, desired velocity, desired acceleration, desired driving torque of the motor, actual driving torque of the motor, and joint friction torque. The fourth processing module is used to take the sample matrix as input, the predicted value of the following error of each driving joint as output, construct an error compensation network using a convolutional neural network, and train the error compensation network with the goal of minimizing the difference between the predicted value of the following error and the measured value of the following error. The fifth processing module is used to predict and compensate for the following errors of each drive joint using the trained error compensation network.
[0008] The present invention also provides a robot end effector pose error compensation system, comprising: a memory and a processor, wherein the memory stores a computer program executed by the processor, and the computer program executes a robot end effector pose error compensation method when executed by the processor.
[0009] This invention can compensate for coupling position errors of a robotic arm caused by factors such as damping, moment of inertia, and elastic deformation in real time. By extracting the desired position, velocity, acceleration, and torque information, and using the actual position, velocity, acceleration, and torque information collected, an error prediction model is constructed using a convolutional neural network to predict and compensate for the following errors of each joint of the robot, thereby improving the end-effector positioning accuracy of the robot. Attached Figure Description
[0010] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0011] Figure 1 This is a flowchart of the robot end effector pose error compensation method according to an embodiment of the present invention; Figure 2 It is a convolutional matrix structure; where, For the desired positions of each joint, For the desired speed of each joint, Let T be the desired acceleration of each joint, and T be the desired driving torque of each joint. To collect the actual driving torque for each joint, For the friction torque of each joint, each column contains the extracted or calculated values for each of the six joints. Figure 3 It is a neural network structure; Figure 4 Flowchart for applying compensation to neural networks; Figure 5 This is a system control block diagram. Detailed Implementation
[0012] 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.
[0013] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0014] Example 1: like Figure 1 As shown, this embodiment of the invention provides a method for compensating for pose error of a robot end effector, including: Step 1: Data Collection Based on the position, velocity, and acceleration of the specified task trajectory points, the desired position, velocity, and acceleration of each driven joint are calculated using a six-degree-of-freedom robot kinematic model.
[0015] Position vector equations of the mission trajectory points: ; in, The position vector of the task trajectory point. , , These represent the trajectory points at... , , The coordinate values on the coordinate axis.
[0016] Velocity equations for the trajectory points: ; in, The velocity vector of the trajectory point. , , These represent the trajectory points at... , , Velocity values on the coordinate axes.
[0017] The acceleration equations for the trajectory points are as follows: ; in, The acceleration vector of the trajectory point. , , These represent the trajectory points at... , , Acceleration values on the coordinate axes.
[0018] The encoder is used to collect the actual position, speed and acceleration of the motors of each drive joint of the robot. The tracking error is obtained by subtracting the actual position from the actual position. The actual driving torque of each drive joint is collected by the current signal acquisition card.
[0019] Step 2: Calculate the desired driving torque and joint friction torque By using the desired position, velocity, and acceleration of the drive joint motors, the desired torque of each drive joint is calculated using a six-degree-of-freedom robot rigid body dynamics model.
[0020] ; in, For the generalized forces acting on a robotic system, For the quality of the robot system, For the acceleration of the robot system; For the generalized torque acting on the robot system, For the inertial torque of the robot system, This refers to the angular acceleration of the robot system.
[0021] The friction torque of the joint is calculated using a friction model. The friction model is as follows: ; ; ; in, As an external force, For maximum friction, It is the critical Stribeck velocity, and it is... Together, they determine the friction curve during the partial lubrication phase, varying between 0.5 and 2. Let be the coefficient of viscous friction, and L be the friction arm, where , , , , L is a fixed value obtained through prior measurement; Step 3: Construct the sample matrix Interpolation sampling is performed on the expected and actual positions, velocities, and accelerations of each joint obtained in steps one and two. These sampled values are used as matrix elements to construct a matrix. The matrix elements consist of the expected position, expected velocity, expected acceleration, expected driving torque, actual driving torque, and joint friction torque of the robot's six joint drive motors, forming a 6×6 matrix. Figure 2 As shown, the following error of each joint is used as the calibration value, and the row and column transformations of the 6×6 matrix are performed to form a new matrix to prevent the accuracy from decreasing due to overfitting of the neural network during training. The above two types of matrices are used as training sample data for later use.
[0022] Step 4: Construct the error compensation network The error compensation network consists of an input layer, convolutional layers, non-linear activation function layers, pooling layers, and fully connected layers, such as... Figure 3 As shown, each layer is defined as follows: 1. Input layer: The input layer has a two-input structure, with the input consisting of two 6x6 matrices (the 6×6 matrix extracted in step three and the matrix obtained by its row and column transformations). 2. Convolutional layer The input layer is followed by two convolutional layers, each with a 3×3 kernel. The first convolutional layer has 32 sets of kernels, with 2 kernels per set. The second convolutional layer has 64 sets of kernels, with 32 kernels per set. The input to the convolutional layers is padded with zeros. The 3×3 kernels are used to extract features from the robot's joint variable matrix, with a stride of 1 in both the horizontal and vertical directions.
[0023] 3. Nonlinear activation function layer Two convolutional layers are followed by a non-linear activation function layer.
[0024] 4. Pooling layer An activation function layer is followed by a pooling layer, and the size of each feature layer remains 6×6. Since the input layer size is very small, no merging operation is performed.
[0025] 5. Fully Connected Layer Following this are two cascaded fully connected layers with 2304 and 512 neurons respectively. The CNN output is 6×1, with elements corresponding to the calibration compensation for the following error values of each joint of the robot.
[0026] Step 5: Train the network Using the matrix obtained in step three as input, and the network output constructed in step four and the following error collected in step one as the target, the expected and actual positions, velocities, and accelerations of each joint are first interpolated and sampled. The sampled values are then used as matrix elements to construct a matrix. The matrix consists of the expected position, expected velocity, expected acceleration, expected driving torque, actual driving torque, and joint friction torque of the robot's six joint drive motors, forming a 6×6 matrix. Then, through the aforementioned input layer, convolutional layer, nonlinear activation function layer, pooling layer, and fully connected layer, an error compensation network is constructed, and a training network is built as follows: Figure 4 As shown.
[0027] Step Six: Implement Compensation The network is integrated into the control system of each joint of the robot. A feedforward convolutional neural network is used to compare the robot's desired position, desired velocity, desired acceleration, desired torque, actual torque, and frictional torque with the robot's input and actual output values to obtain error values. These error values are then compensated for in the motor command position signal using the feedforward convolutional neural network, thereby improving output accuracy. The compensation process is as follows: Figure 5 As shown.
[0028] Example 2: This invention also provides a robot end effector pose error compensation device, comprising: The first processing module is used to calculate the desired position, velocity, and acceleration of each drive joint based on the position, velocity, and acceleration of the specified task trajectory points using a six-degree-of-freedom robot kinematic model; to collect the actual position, velocity, and acceleration of the motors of each drive joint of the robot using an encoder, and to obtain the following error by subtracting the desired position from the actual position; and to collect the actual driving torque of the motors of each drive joint using a current signal acquisition card. The second processing module is used to calculate the desired driving torque of the motor and the joint friction torque. The third processing module is used to construct a sample matrix using the desired position, desired velocity, desired acceleration, desired driving torque of the motor, actual driving torque of the motor, and joint friction torque. The fourth processing module is used to take the sample matrix as input, the predicted value of the following error of each driving joint as output, construct an error compensation network using a convolutional neural network, and train the error compensation network with the goal of minimizing the difference between the predicted value of the following error and the measured value of the following error. The fifth processing module is used to predict and compensate for the following errors of each drive joint using the trained error compensation network.
[0029] Example 3: This invention also provides a robot end effector pose error compensation system, comprising: a memory and a processor, wherein the memory stores a computer program executed by the processor, and the computer program executes a robot end effector pose error compensation method when executed by the processor.
[0030] The embodiments described above are merely preferred embodiments of the present invention and are not intended to limit the scope of the present invention. Various modifications and improvements made to the technical solutions of the present invention by those skilled in the art without departing from the spirit of the present invention should fall within the protection scope defined by the claims of the present invention.
Claims
1. A method for compensating for pose error of a robot end effector, characterized in that, include: Step S1: Based on the position, velocity, and acceleration of the specified task trajectory points, calculate the desired position, velocity, and acceleration of each drive joint using a six-degree-of-freedom robot kinematic model; The robot uses encoders to collect the actual position, velocity, and acceleration of the motors at each drive joint, aiming to subtract these values from the actual position to obtain the following error. A current signal acquisition card is used to collect the actual driving torque of the motors at each drive joint. Specifically: Position vector equations of the mission trajectory points: ; in, The position vector of the task trajectory point. , , These represent the trajectory points at... , , Coordinate values on the coordinate axes; Velocity equations for the trajectory points: ; in, The velocity vector of the trajectory point. , , These represent the trajectory points at... , , Velocity values on the coordinate axes; The acceleration equations for the trajectory points are as follows: ; in, The acceleration vector of the trajectory point. , , These represent the trajectory points at... , , Acceleration values on the coordinate axes; Step S2: Calculate the desired driving torque of the motor and the joint friction torque; specifically: By utilizing the desired position, velocity, and acceleration of the drive joint motors, the desired torque of each drive joint is calculated using a six-degree-of-freedom robot rigid body dynamics model. ; in, For the generalized forces acting on a robot system, For the quality of the robot system, For the acceleration of the robot system; For the generalized torque acting on the robot system, For the inertial torque of the robot system, The angular acceleration of the robot system; Calculate the joint friction torque: ; ; ; in, As an external force, For maximum friction, It is the critical Stribeck velocity, and its sum Together, they determine the friction curve during the partial lubrication phase. Let L be the coefficient of viscous friction and L be the frictional lever arm. , , , , L is a fixed value obtained through prior measurement; Step S3: Construct a sample matrix using the desired position, desired velocity, desired acceleration, desired motor driving torque, actual motor driving torque, and joint friction torque; specifically: Interpolation sampling is performed on the expected and actual positions, velocities, and accelerations of each joint. The sampled values are used as matrix elements to construct a matrix. The matrix consists of the expected positions, expected velocities, expected accelerations, expected driving torques, actual driving torques, and joint friction torques of the robot's six joint drive motors, forming a 6×6 matrix. Step S4: Using the sample matrix as input and the predicted follower error values of each driving joint as output, construct an error compensation network using a convolutional neural network, and train the error compensation network with the objective of minimizing the difference between the predicted follower error values and the measured follower error values; specifically: The expected and actual positions, velocities, and accelerations of each joint are interpolated and sampled. The sampled values are used as matrix elements to construct a matrix. The matrix consists of the expected position, expected velocity, expected acceleration, expected driving torque, actual driving torque, and joint friction torque of the robot's six joint drive motors, forming a 6×6 matrix. Then, an error compensation network is constructed through an input layer, a convolutional layer, a nonlinear activation function layer, a pooling layer, and a fully connected layer. Step S5: Use the trained error compensation network to predict the following error of each drive joint and implement compensation.
2. A robot end effector pose error compensation device, characterized in that, include: The first processing module is used to calculate the desired position, velocity, and acceleration of each drive joint based on the position, velocity, and acceleration of the specified task trajectory points using a six-degree-of-freedom robot kinematic model. The actual position, velocity, and acceleration of the motors of each drive joint of the robot are collected using an encoder, and the tracking error is obtained by subtracting the actual position from the data. The actual driving torque of the motors of each drive joint is collected using a current signal acquisition card. The second processing module is used to calculate the desired driving torque of the motor and the joint friction torque. The third processing module is used to construct a sample matrix using the desired position, desired velocity, desired acceleration, desired driving torque of the motor, actual driving torque of the motor, and joint friction torque. The fourth processing module is used to take the sample matrix as input, the predicted value of the following error of each driving joint as output, construct an error compensation network using a convolutional neural network, and train the error compensation network with the goal of minimizing the difference between the predicted value of the following error and the measured value of the following error. The fifth processing module is used to predict and compensate for the following errors of each drive joint using the trained error compensation network.
3. A robot end effector pose error compensation system, characterized in that, include: The system includes a memory and a processor, wherein the memory stores a computer program that is executed by the processor, and the computer program, when executed by the processor, performs the robot end effector pose error compensation method as described in claim 1.
Citation Information
Patent Citations
Robot joint friction torque compensation method and system
CN109732605A
Robot gravity pose decomposition joint error offline compensation method, system and terminal
CN114131611A
SCARA robot dynamic trajectory control method and device
CN120962674A
Robot tail end anti-impact compliant control method, device and system and storage medium
CN121267945A
Obtaining the gear stiffness of a robot joint gear of a robot arm
US20220105628A1