Robot end effector pose error compensation method and apparatus, 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, thus solving the problem of insufficient pose accuracy of the robot's end effector and achieving higher positioning accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-27
- Publication Date
- 2026-03-24
AI Technical Summary
The pose accuracy of existing robot end effectors is insufficient to meet the requirements of modern manufacturing and high-precision applications, resulting in their inability to accurately reach the expected position and perform operations in complex environments.
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 to construct a sample matrix. A convolutional neural network is then used to predict and compensate for the following error, 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 CN121572334B_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:
[0007] A robot end effector pose error compensation method, comprising:
[0008] Step S1, according to the position, velocity and acceleration of the specified task trajectory point, the expected position, velocity and acceleration of each driving joint are calculated through the six-degree-of-freedom robot kinematics model; the actual position, velocity and acceleration of each driving joint motor of the robot are 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:
[0009] The position vector equation of the task trajectory point is:
[0010] ;
[0011] Wherein, is the position vector of the task trajectory point, , , represent the coordinate values of the trajectory point on the , , coordinate axes respectively;
[0012] The velocity equation of the task trajectory point is:
[0013] ;
[0014] Wherein, is the velocity vector of the task trajectory point, , , represent the velocity values of the trajectory point on the , , coordinate axes respectively;
[0015] The acceleration equation of the task trajectory point is:
[0016] ;
[0017] Wherein, is the acceleration vector of the task trajectory point, , , represent the acceleration values of the trajectory point on the , , coordinate axes respectively;
[0018] Step S2, calculate the expected driving torque of the motor and the joint friction torque; specifically:
[0019] The desired position, velocity, acceleration of the driving joint motor are used to calculate the desired torque of each driving joint through the six-degree-of-freedom robot rigid body dynamics model,
[0020] ;
[0021] 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 moment received by the robot system, is the inertial moment of the robot system, is the angular acceleration of the robot system;
[0022] The joint friction torque is calculated:
[0023] ;
[0024] ;
[0025] ;
[0026] wherein, is the external thrust, is the maximum friction force, is the critical Stribeck velocity, which together with determines the friction curve in the partial lubrication stage, is the viscous friction coefficient, and L is the friction arm, 、 、 、 、 , L is a fixed value obtained by pre-measurement;
[0027] Step S3, a sample matrix is constructed by using the desired position, desired velocity, desired acceleration, motor desired driving torque, motor actual driving torque, and joint friction torque; specifically:
[0028] The desired and actual positions, velocities, and accelerations of each joint are interpolated and sampled, and the sampling values are used as matrix elements to construct a matrix. The matrix elements are the desired positions, desired velocities, desired accelerations, desired driving torques, actual driving torques, and joint friction torques of the six joint driving motors of the robot, forming a 6x6 matrix.
[0029] Step S4, using the sample matrix as input and the following error prediction value of each driving joint as output, a convolutional neural network is used to construct an error compensation network, and the error compensation network is trained with the goal of minimizing the difference between the following error prediction value and the following error measurement value; specifically:
[0030] The expected and actual positions, velocities, and accelerations of each joint are interpolated and sampled, and the sampling values are used as matrix elements to construct a matrix, and the matrix elements are the expected positions, expected velocities, expected accelerations, expected driving torques, actual driving torques, and joint friction torques of the six joint driving motors of the robot, to form a 6*6 matrix; then an error compensation network is constructed through an input layer, a convolution layer, a nonlinear activation function layer, a pooling layer, and a full connection layer;
[0031] In step S5, the trained error compensation network is used to predict the following errors of each driving joint and implement compensation.
[0032] The application further provides a robot end effector pose error compensation device, which comprises:
[0033] The first processing module is used to calculate the expected positions, velocities, and accelerations of each driving joint according to the positions, velocities, and accelerations of the specified task trajectory points through a six-degree-of-freedom robot kinematics model; the following errors are obtained by subtracting the actual positions from the expected positions of each driving joint motor of the robot collected by an encoder; and the actual driving torques of each driving joint motor are collected by a current signal acquisition card;
[0034] The second processing module is used to calculate the expected driving torques of the motor and the joint friction torques.
[0035] The third processing module is used to construct a sample matrix by using the expected positions, expected velocities, expected accelerations, expected driving torques of the motor, actual driving torques of the motor, and joint friction torques.
[0036] The fourth processing module is used to construct an error compensation network by using a convolutional neural network with the sample matrix as the input and the following error prediction values of each driving joint as the output, and train the error compensation network with the difference between the following error prediction values and the following error measurement values as the target.
[0037] The fifth processing module is used to predict the following errors of each driving joint by using the trained error compensation network and implement compensation.
[0038] The application further provides a robot end effector pose error compensation system, which comprises a memory and a processor, and the memory stores a computer program run by the processor, and the computer program performs a robot end effector pose error compensation method when run by the processor.
[0039] The application can compensate the coupling position error of the mechanical arm caused by factors such as damping, motion inertia and elastic deformation of the mechanical arm in real time. Through the extracted expected position, speed, acceleration and torque information, the actual collected actual position, speed, acceleration and torque information are used to construct an error prediction model by using a convolutional neural network, to predict and compensate the following error of each joint of the robot, so as to improve the end positioning accuracy of the robot. BRIEF DESCRIPTION OF DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or the prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of the provided drawings.
[0041] Figure 1 The flow chart of the robot end effector pose error compensation method of the embodiment of the present application is shown in the figure.
[0042] Figure 2 The convolution matrix structure is shown in the figure, wherein, The expected position of each joint is shown in the figure, The expected speed of each joint is shown in the figure, The expected acceleration of each joint is shown in the figure, and T is the expected driving torque of each joint, The actual collected driving torque of each joint is shown in the figure, The friction torque of each joint is shown in the figure, and each column is the extracted or calculated amount of the six joints in turn.
[0043] Figure 3 The neural network structure is shown in the figure.
[0044] Figure 4 The neural network application compensation flow chart is shown in the figure.
[0045] Figure 5 The system control block diagram is shown in the figure. DETAILED DESCRIPTION
[0046] The technical solutions in the embodiments of the present application will be described clearly and completely in the following with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.
[0047] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application will be further described in detail with reference to the drawings and specific embodiments.
[0048] Embodiment 1:
[0049] As Figure 1 shown, the embodiment of the application provides a robot end effector pose error compensation method, comprising:
[0050] Step one: collect data
[0051] 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.
[0052] Position vector equation of task trajectory point:
[0053] ;
[0054] Wherein, is the position vector of the task trajectory point, , , respectively represent the coordinate values of the trajectory point on the , , coordinate axis.
[0055] Velocity equation of task trajectory point:
[0056] ;
[0057] Wherein, is the velocity vector of the task trajectory point, , , respectively represent the velocity values of the trajectory point on the , , coordinate axis.
[0058] Acceleration equation of task trajectory point:
[0059] ;
[0060] Wherein, is the acceleration vector of the task trajectory point, , , respectively represent the acceleration values of the trajectory point on the , , coordinate axis.
[0061] 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 is collected by the current signal acquisition card.
[0062] Step two: calculate the expected driving torque and joint friction torque
[0063] The expected torque of each driving joint is calculated by the six-degree-of-freedom robot rigid body dynamics model using the expected position, velocity and acceleration of the driving joint motor.
[0064] ;
[0065] 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 moment received by the robot system, is the inertial moment of the robot system, is the angular acceleration of the robot system.
[0066] And the joint friction torque is calculated by using the friction model. And the friction torque is calculated by using the friction model, and the friction model is:
[0067] ;
[0068] ;
[0069] ;
[0070] Wherein, is the external thrust, is the maximum friction force, is the critical Stribeck velocity, which together with determines the friction curve in the partial lubrication stage, which varies between 0.5 and 2, is the viscous friction coefficient, and L is the friction arm, wherein , , , , , L is a fixed value obtained by pre-measurement;
[0071] Step three: construct a sample matrix
[0072] For the expected and actual positions, velocities and accelerations of each joint obtained in step one and step two, the sampling values are taken as matrix elements to construct a matrix, and the matrix elements are the expected positions, expected velocities, expected accelerations, expected driving torques, actual driving torques and joint friction torques of the six joint driving motors of the robot, forming a 6x6 matrix, such as Figure 2As shown, the joint following error is taken as a calibration value, and a new matrix is formed by row transformation and column transformation of the composed 6x6 matrix to prevent the neural network from overfitting during the training process, causing the accuracy to decrease. The two types of matrices are used as training sample data for calling.
[0073] Step four: construct error compensation network
[0074] The error compensation network is composed of an input layer, a convolution layer, a nonlinear activation function layer, a pooling layer, and a fully connected layer, as shown in the following figure. Figure 3 Each layer is defined as follows:
[0075] 1. Input layer:
[0076] The input layer is a two-input structure, and the input is two 6x6 matrices (the 6x6 matrix extracted in step three and the matrix obtained by row and column transformation thereof)
[0077] 2. Convolution layer
[0078] Two convolution layers are connected in series after the input layer. The convolution kernel size of the convolution layer is 3x3. The first convolution layer has 32 groups of convolution kernels, each with 2 kernels. The second convolution layer has 64 groups of convolution kernels, each with 32 kernels. At the same time, the surrounding of the convolution layer input is filled with 0. The 3x3 convolution kernel in the convolution layer is used to extract the features of the robot joint variable matrix, and the step size in the horizontal and vertical directions is set to 1.
[0079] 3. Nonlinear activation function layer
[0080] A nonlinear activation function layer is connected in series after the two convolution layers.
[0081] 4. Pooling layer
[0082] A pooling layer is connected in series after the activation function layer. The size of each feature layer is still 6x6. Since the size of the input layer is very small, no merging operation is performed.
[0083] 5. Fully connected layer
[0084] Two fully connected layers are connected in series after the input layer, and the number of neurons is 2304 and 512, respectively. The output of the CNN is 6x1, and the elements correspond to the calibration compensation of the following error values of each joint of the robot.
[0085] Step five: train the network
[0086] With the matrix obtained in step three as input, the network output constructed in step four is targeted at the following error collected in step one. First, the expected and actual positions, velocities, and accelerations of each joint are interpolated and sampled, and the sampling values are used as matrix elements to construct a matrix. The matrix elements are the expected positions, velocities, accelerations, expected drive torques, actual drive torques, and joint friction torques of the six joint drive motors of the robot, forming a 6x6 matrix. Then, the error compensation network is constructed through the input layer, convolution layer, nonlinear activation function layer, pooling layer, and full connection layer, and the training network is constructed as shown in Figure 4 .
[0087] Step six: compensation
[0088] The network is integrated into the control system of each joint of the robot. The expected positions, velocities, accelerations, expected torques, actual torques, and friction torques of the robot are compared with the input and actual output values of the robot through the feedforward convolutional neural network to obtain error values, and the error values are compensated on the motor command position signal through the feedforward convolutional neural network to improve the output accuracy. The compensation implementation process is shown in Figure 5 .
[0089] Embodiment 2
[0090] The embodiment of the application also provides a robot end effector pose error compensation device, comprising:
[0091] The first processing module is configured to calculate the expected positions, velocities, and accelerations of each drive joint according to the positions, velocities, and accelerations of the specified task trajectory points through the kinematic model of the six-degree-of-freedom robot, and to obtain the following error by subtracting the actual positions of the robot drive joint motors from the expected positions.
[0092] The second processing module is configured to calculate the expected drive torque of the motor and the joint friction torque.
[0093] The third processing module is configured to construct a sample matrix using the expected positions, velocities, accelerations, expected drive torque of the motor, actual drive torque of the motor, and joint friction torque.
[0094] The fourth processing module is configured to use the sample matrix as input and the following error prediction value of each drive joint as output, to construct an error compensation network using a convolutional neural network, and to train the error compensation network with the minimum difference between the following error prediction value and the following error measurement value as the target.
[0095] The fifth processing module is configured to predict the following error of each drive joint using the trained error compensation network and implement compensation.
[0096] Example 3:
[0097] The embodiment of the present application also provides a robot end effector pose error compensation system, comprising a memory and a processor, the memory has a computer program run by the processor stored thereon, and the computer program executes the robot end effector pose error compensation method when being run by the processor.
[0098] The above-described embodiments are only descriptions of the preferred modes of the present application, and do not limit the scope of the present application, and various modifications and improvements to the technical solutions of the present application made by those skilled in the art without departing from the design spirit of the present application shall fall within the protection scope of the present application defined by the claims.
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 of the mission are: ; 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