Mechanical arm autonomous positioning error compensation method and system based on dynamic feedback
By acquiring real-time data analysis of temperature difference and elastic deformation angle of the robotic arm joints, and dynamically correcting the end effector pose, the positioning accuracy problem of the robotic arm under high-speed operation is solved, and high-precision and stable autonomous positioning error compensation is achieved.
Patent Information
- Application Number
- CN202611123231.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-28
- Publication Date
- 2026-08-25
AI Technical Summary
Existing robotic arm error compensation technologies cannot effectively eliminate the coupling effect between joint thermal deformation error and dynamic inertial error in high-speed continuous operation scenarios, resulting in a decrease in positioning accuracy and failing to meet high-precision requirements.
By acquiring real-time temperature, angular velocity, angular acceleration, and actual torque data of each joint of the robotic arm, analyzing the temperature difference deformation and elastic deformation angles, and using dynamic feedback to correct the end-effector pose, an autonomous positioning error compensation method and system based on dynamic feedback is constructed to compensate for thermal deformation and elastic deformation errors in real time.
It achieves absolute positioning accuracy and dynamic stability at the end of the robotic arm under high-speed continuous operation, avoids secondary errors caused by nonlinear mapping, and ensures high-precision operation quality.
Smart Images

Figure CN122632735A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot control technology, specifically to a method and system for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback. Background Technology
[0002] Industrial robotic arms have been widely used in high-speed precision assembly, semiconductor chip handling, and aerospace component processing. The end-effector's autonomous positioning accuracy and dynamic stability are core indicators determining its operational quality. Existing robotic arm error compensation technologies are mostly based on offline calibration results under ambient temperature and no-load conditions, establishing static thermal deformation compensation models or low-speed dynamic compensation models. These models can meet basic accuracy requirements in standardized production processes involving low-speed, constant-temperature, and short-duration operations.
[0003] However, during high-speed continuous operation of the robotic arm, the thermal deformation error caused by joint temperature rise and the dynamic inertial error generated by high-speed motion exhibit a strong coupling effect: on the one hand, joint friction heat generation leads to thermal elongation of the connecting rod and changes in joint clearance, and the temperature rise dynamically changes with operating time and load, making it impossible for offline thermal models to adapt in real time; on the other hand, centrifugal force and Coriolis force during high-speed motion cause elastic deformation of the joint, and temperature difference deformation further alters the dynamic parameters of the robotic arm, leading to inaccuracies in the dynamic model. In high-speed continuous operation scenarios, positioning errors increase sharply, failing to meet high-precision requirements. Summary of the Invention
[0004] To address the technical problem of large positioning errors in existing robotic arm error compensation technologies during high-speed continuous operation, the present invention aims to provide a method and system for autonomous positioning error compensation of robotic arms based on dynamic feedback. The specific technical solution adopted is as follows: This invention proposes a method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback, the method comprising: Acquire the working data of each joint under the current pose of the robotic arm, including real-time temperature, real-time angular velocity, real-time angular acceleration, and actual torque; For any joint, the temperature difference deformation angle increment is obtained based on the difference between the real-time temperature and the preset reference temperature of the robotic arm; the corresponding preset theoretical angle is corrected using the temperature difference deformation angle increment; the theoretical torque is analyzed by combining the real-time angular velocity and the real-time angular acceleration; and the elastic deformation angle is determined based on the difference between the actual torque and the theoretical torque. Based on the temperature difference deformation angle increment of all joints and the elastic deformation angle of all joints, the end-effector dynamic pose error vector is analyzed; based on the end-effector dynamic pose error vector, the end-effector correction pose vector is determined.
[0005] Furthermore, for any joint, obtaining the temperature difference deformation angle increment based on the difference between the real-time temperature and the preset reference temperature of the robotic arm includes: Choose any one of the joints as the current joint; The difference between the real-time temperature and the preset reference temperature of the robotic arm is used as the temperature change. Multiply the temperature change by the preset thermal stiffness coefficient of the current joint to obtain the temperature difference deformation angle increment of the current joint.
[0006] Furthermore, the step of correcting the corresponding preset theoretical angle using the temperature difference deformation angle increment, and analyzing the theoretical torque by combining the real-time angular velocity and the real-time angular acceleration, includes: The total joint angle is obtained by adding the temperature difference deformation angle increment to the preset theoretical angle of the joint in the current robot arm pose. Analyze the gravitational torque based on the total joint angle; By combining the real-time angular velocity, the preset dynamic friction coefficient, and the preset static friction coefficient, the friction torque is obtained; The inertial torque is obtained by multiplying the real-time angular acceleration by the preset equivalent rotational inertia of the joint. The theoretical torque of the joint is obtained by adding the gravitational torque, frictional torque, and inertial torque.
[0007] Furthermore, the analysis of gravitational torque based on the total joint angle includes: Substitute the total angle of the joint into the preset gravity Jacobian matrix to obtain the gravity Jacobian row vector of the current joint. The gravitational torque is obtained by multiplying the gravity Jacobian row vector with the preset gravity parameter vector.
[0008] Further, determining the elastic deformation angle based on the difference between the actual torque and the theoretical torque includes: The difference between the actual torque and the theoretical torque is taken as the dynamic composite residual torque; The elastic deformation angle is obtained by dividing the dynamic composite residual torque by the preset initial mechanical stiffness of the current joint.
[0009] Furthermore, before dividing the dynamic composite residual torque by the preset initial mechanical stiffness of the current joint to obtain the elastic deformation angle, the method further includes: The dynamic synthesis residual torque is smoothed using a low-pass filter.
[0010] Furthermore, the analysis of the end-effector dynamic pose error vector based on the temperature difference deformation angle increment of all joints and the elastic deformation angle of all joints includes: Based on the temperature difference deformation angle increment of all joints, construct the temperature difference deformation angle increment vector, and multiply it with the robot arm Jacobian matrix of the current robot arm pose to obtain the end-effector temperature deformation pose error vector. Based on the elastic deformation angles of all joints, construct an elastic deformation angle vector and multiply it with the robotic arm Jacobian matrix of the current robotic arm pose to obtain the end effector inertial pose error vector. The end-effector temperature deformation pose error vector is added to the end-effector inertial pose error vector to obtain the end-effector dynamic pose error vector.
[0011] Furthermore, the method for obtaining the robotic arm Jacobian matrix of the current robotic arm pose includes: Substitute the preset theoretical angles of each joint under the current robot arm pose into the preset Jacobian matrix to obtain the robot arm Jacobian matrix of the current robot arm pose.
[0012] Further, determining the corrected pose vector of the robotic arm end effector based on the end effector dynamic pose error vector includes: The end effector dynamic pose error vector is added to the preset inherent reference error vector of the current robot arm pose to obtain the end effector total error vector of the current robot arm pose. The corrected pose vector of the robotic arm end effector is obtained by subtracting the total error vector of the end effector from the preset theoretical pose vector of the end effector.
[0013] This invention also proposes a dynamic feedback-based autonomous positioning error compensation system for robotic arms, the system comprising: The data acquisition module is used to acquire the working data of each joint under the current posture of the robotic arm. The working data includes real-time temperature, real-time angular velocity, real-time angular acceleration and actual torque. The data processing module is used to obtain the temperature difference deformation angle increment for any joint based on the difference between the real-time temperature and the preset reference temperature of the robotic arm; correct the corresponding preset theoretical angle using the temperature difference deformation angle increment; analyze the theoretical torque by combining the real-time angular velocity and the real-time angular acceleration; and determine the elastic deformation angle based on the difference between the actual torque and the theoretical torque. The results analysis module is used to analyze the end-effector dynamic pose error vector based on the temperature difference deformation angle increment of all joints and the elastic deformation angle of all joints; and to determine the end-effector correction pose vector based on the end-effector dynamic pose error vector.
[0014] The present invention has the following beneficial effects: This invention, for any joint, obtains the incremental temperature-induced deformation angle based on the difference between the joint's real-time temperature and the robot arm's preset reference temperature, quantifying the physical torsion caused purely by temperature changes. The incremental temperature-induced deformation angle is used to correct the preset theoretical angle corresponding to the joint, and the theoretical torque is analyzed by combining the joint's real-time angular velocity and real-time angular acceleration. With the temperature deformation error already compensated for by feedforward, the torque benchmark determined by pure dynamic characteristics is accurately reconstructed as a reference standard for comparison with the actual torque. The elastic deformation angle is determined based on the difference between the joint's actual torque and the theoretical torque. The elastic deformation angle reflects the microscopic torsional deformation angle caused by the limited stiffness of the joint transmission mechanism when the robot arm is subjected to force.
[0015] Based on the incremental temperature deformation angles and elastic deformation angles of all joints, the dynamic pose error vector of the end effector is analyzed. This vector reflects the local microscopic thermal expansion and elongation, as well as the elastic torsion under stress, of each joint. After kinematic transmission and amplification through the multi-joint linkage mechanism, it accumulates at the end effector, resulting in a macroscopic physical deviation that quantifies the degree of damage to the final operational accuracy caused by coupled physical interference. Based on this dynamic pose error vector, a corrected pose vector for the robotic arm's end effector is determined. This avoids secondary errors caused by nonlinear mapping of joint space, allowing both temperature deformation and elastic deformation errors to be eliminated simultaneously and in one step, ensuring the actual absolute positioning accuracy and dynamic stability of the end effector during long-term high-speed operation. Attached Figure Description
[0016] Figure 1 A flowchart of a method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback, provided in one embodiment of the present invention; Figure 2 This is a flowchart illustrating a method for obtaining theoretical torque according to an embodiment of the present invention. Detailed Implementation
[0017] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains.
[0018] The following description, in conjunction with the accompanying drawings, details the specific scheme of the autonomous positioning error compensation method and system for a robotic arm based on dynamic feedback provided by this invention.
[0019] Please see Figure 1 The diagram illustrates a flowchart of a method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback, according to an embodiment of the present invention. The method includes: Step S101: Obtain the working data of each joint under the current pose of the robotic arm. The working data includes real-time temperature, real-time angular velocity, real-time angular acceleration and actual torque.
[0020] The actual positioning accuracy of a robotic arm is not determined solely by geometric parameters, but is also influenced by the nonlinear coupling of thermal effects (leading to structural deformation) and dynamic characteristics (inertia, friction, and load coupling). Therefore, the working data of each joint in the current pose of the robotic arm is the foundational data for subsequent error compensation determination.
[0021] This embodiment uses a multi-degree-of-freedom serial industrial robotic arm as an example. Its physical topology consists of an alternating series connection of a base, joints, links, and so on, with the number of joints and links determined by the actual application scenario of the industrial robotic arm at the factory. The working data of each joint in the current pose of the robotic arm is obtained through the robotic arm's hardware sensors and the internal communication bus. Each joint of a modern industrial robotic arm is pre-integrated with a servo motor, absolute encoder, torque sensor, and temperature sensor at the factory. The internal communication bus refers to the dedicated industrial Ethernet cable (usually built into a conduit inside the robotic arm) connecting the robotic arm controller base plate and the drivers of each joint.
[0022] Specifically, real-time temperature is read by temperature sensors attached to the housings of each joint motor or inside the reducer at a fixed sampling frequency; real-time angular velocity and real-time angular acceleration are continuously measured by high-precision absolute encoders installed at the tail of each joint servo motor at a fixed sampling frequency, and the real-time angular velocity and real-time angular acceleration are calculated based on the obtained real-time angles; actual torque is directly read by torque sensors installed at the output end of each joint at a fixed sampling frequency. All data is synchronously transmitted back and collected via an internal communication bus.
[0023] In one specific implementation of this invention, the temperature sensor has a fixed sampling frequency of 10Hz. The absolute encoder and the torque sensor both have a fixed sampling frequency of 1000Hz, maintaining consistency in timing.
[0024] Due to the large inertia of heat conduction, the temperature rise of the robotic arm joints is extremely slow, and a 10Hz temperature sensor sampling frequency is sufficient to capture temperature changes. However, the dynamic parameters change extremely rapidly, requiring a 1000Hz frequency to ensure accuracy. The sampling interval for real-time temperature is 100 milliseconds, while the sampling interval for real-time angular velocity, real-time angular acceleration, and actual torque is 1 millisecond. In this embodiment of the invention, a zero-order hold method is used to align the temperature data with the dynamic parameters in time.
[0025] Specifically, after the real-time temperature is read at the current temperature sensor sampling moment, this temperature value is kept constant for several consecutive dynamic control cycles (until the next temperature sampling value arrives), serving as the temperature input for each dynamic control cycle. Error compensation is performed point-by-point with a period of 1ms, and the temperature data is updated once at each 10Hz sampling node, with the latest value used during intermediate periods, in order to balance the large inertial characteristics of thermal conduction with the requirements of high-speed dynamic control.
[0026] It should be noted that the error compensation process of this invention is divided into two stages: offline calibration and online compensation. (1) Offline calibration stage: This stage is used to pre-acquire various preset parameters (including preset thermal stiffness coefficient, preset dynamic / static friction coefficient, preset joint equivalent rotational inertia, preset initial mechanical stiffness, preset gravity parameter vector, preset inherent reference error vector, etc.). This stage is performed in a controlled environment (such as a constant temperature of 25℃). By collecting data from the continuous and stable operation of the robotic arm in a typical pose, and calculating the statistical average value to suppress noise, a statistically significant calibration value is obtained.
[0027] (2) Online Compensation Stage: This stage uses the sampling times of the absolute encoder and torque sensor as the analysis benchmark. The instantaneous data obtained at the current sampling time (including real-time temperature, real-time angular velocity, real-time angular acceleration, actual torque, and the preset theoretical angle of each joint) is used as input to calculate the error compensation amount of the robotic arm at the current sampling time. The error compensation amount for each sampling time is calculated independently and in parallel, forming a continuous point-by-point real-time iterative process. This embodiment uses any independent sampling time of the robotic arm's current pose in an actual operating scenario as an example for illustration.
[0028] Step S102: For any joint, based on the difference between the real-time temperature and the preset reference temperature of the robotic arm, obtain the temperature difference deformation angle increment; use the temperature difference deformation angle increment to correct the corresponding preset theoretical angle, and combine the real-time angular velocity and the real-time angular acceleration to analyze the theoretical torque; determine the elastic deformation angle based on the difference between the actual torque and the theoretical torque.
[0029] The preset reference temperature of a robotic arm represents the original physical temperature of its joints before frictional heat generation and material thermal expansion. In actual high-speed continuous operation scenarios, frictional heat generation within the joint's internal mechanical structure causes the temperature to rise continuously. According to the law of thermal expansion and contraction, the physical quantity that drives material deformation is the temperature difference.
[0030] The temperature-induced deformation angle increment represents the non-mandated additional deflection angle of a single joint caused by the deviation of its real-time temperature from the reference temperature. During high-speed continuous operation of a robotic arm, mechanical components such as reducers, gears, and bearings within the joint experience thermal expansion due to frictional heat. Conversely, under conditions of shutdown and cooling or a sudden drop in ambient temperature, thermal contraction occurs. Influenced by internal assembly space and mechanical constraints, these microscopic thermal elongation or contraction, along with changes in clearance, macroscopically manifest as a slight physical torsional deformation of the joint's output shaft, deviating from its theoretical position. Therefore, the temperature-induced deformation angle increment is an algebraic quantity encompassing both positive and negative directions, comprehensively quantifying the physical torsion caused purely by temperature changes (thermal expansion or contraction).
[0031] The preset theoretical angle is the target angle value that each joint should rotate to relative to its predecessor, reflecting the relative pose relationship between adjacent joints under ideal, error-free conditions. Correcting the preset theoretical angle using temperature-induced deformation angle increments is to obtain the actual angle the joint should rotate under temperature influences. This ensures that the robotic arm's end effector accurately coincides with the same spatial coordinates in both cold and hot operating states, thus guaranteeing high-precision operation quality.
[0032] In this embodiment of the invention, the preset theoretical angle is generated by the trajectory planning module of the robotic arm controller. After the user issues an action command, the controller receives the end-effector spatial target pose data (including three-dimensional coordinates and pose angles) set by the user's processing program, and retrieves the link geometry parameters that are factory-fixed on the robotic arm. These parameters, along with the target pose data, are substituted into a preset inverse kinematics equation set within the controller. The equation set is solved using analytical geometry or numerical iterative algorithms to inversely calculate the specific angle variables that each joint must rotate to satisfy the spatial pose, generating the target angle value. During the movement, the controller sends these values as target commands to the servo motors of each joint at fixed time intervals, serving as the preset theoretical angle for each joint.
[0033] It should be understood that the process of solving inverse kinematics and trajectory planning is a well-known technique in this field and will not be elaborated further.
[0034] It should be noted that the solution of the preset theoretical angle corresponding to each joint is completed in the online compensation stage mentioned in step S101.
[0035] In this embodiment of the invention, the end-effector pose sensor at the end of the robotic arm is used to monitor the end-effector pose of the robotic arm in real time.
[0036] The theoretical torque represents the nominal driving torque that should theoretically be output under the current operating conditions of the robotic arm. With temperature deformation errors already compensated for by feedforward, the torque benchmark determined by pure dynamic characteristics is accurately reconstructed and used as a reference standard for comparison with the actual torque.
[0037] Since theoretical torque is the nominal driving torque calculated based on ideal rigid body dynamics and does not include the flexibility effect of the transmission chain, while actual torque is the real physical quantity measured by the joint torque sensor, which fully includes the elastic torsional effect of transmission components such as reducer flexures and gears when subjected to force, in order to accurately extract the joint flexibility deformation that cannot be directly measured and achieve high-precision positioning of the robotic arm end effector, it is necessary to analyze the elastic deformation angle based on the difference between actual torque and theoretical torque. This enables real-time online compensation without the need for additional output displacement sensors, effectively decouples thermal deformation and elastic deformation errors, and significantly improves the absolute positioning accuracy of the end effector under heavy load and high-speed conditions.
[0038] The elastic deformation angle characterizes the microscopic torsional deformation angle of the joint transmission mechanism (such as flexible components like reducers) of a robotic arm under stress due to its limited stiffness. It reflects the true physical deviation between the drive angle measured by the servo motor encoder and the actual output angle of the external linkage. Under high-speed and high-dynamic operation, centrifugal force, Coriolis force, and inertial impact create additional dynamic loads on the robotic arm. These loads act on the joints, causing elastic torsion and directly causing the end effector of the robotic arm to deviate from the theoretical trajectory of rigid body kinematics, which is the physical root cause of dynamic positioning errors.
[0039] In one specific implementation of this invention, the robotic arm is allowed to rest for a sufficient period of time before calibration (e.g., 2 to 4 hours based on engineering experience) to allow the internal temperature of each joint of the robotic arm to reach thermal equilibrium with the ambient room temperature. The stable temperature value read by the temperature sensor in the thermal equilibrium state is set as the preset reference temperature of the robotic arm. In the thermal equilibrium state, the internal temperature of each joint of the robotic arm physically converges to the ambient temperature, thus the temperature of each joint is consistent.
[0040] In this embodiment of the invention, the preset reference temperature of the robotic arm is 25°C.
[0041] It should be noted that the calibration of the preset reference temperature of the robotic arm is completed in the offline calibration stage mentioned in step S101.
[0042] Step S103: Analyze the end-effector dynamic pose error vector based on the temperature difference deformation angle increment of all joints and the elastic deformation angle of all joints; determine the end-effector correction pose vector based on the end-effector dynamic pose error vector.
[0043] A robotic arm is a series of kinematic chains, and its end-effector pose is the result of the sequential transmission and cumulative superposition of angles from all joints. Even a tiny angular deviation in any joint will be amplified step-by-step through subsequent links, ultimately manifesting as significant position and pose errors at the end-effector. Therefore, it is essential to incorporate the incremental temperature-induced deformation angles and elastic deformation angles of all joints into the analysis to fully characterize the true error state of the end-effector.
[0044] The end effector dynamic pose error vector is the geometric deviation between the actual pose and the theoretical pose of the robotic arm's end effector. It integrates the temperature deformation dimension caused by temperature difference and the dynamic elastic deformation dimension caused by high-speed motion torque. It reflects the local microscopic thermal expansion and elongation and elastic torsion under force of each joint. After kinematic transmission and amplification by the multi-joint linkage mechanism, it finally accumulates into a macroscopic physical deviation at the end of the operation. It quantifies the degree of damage to the final operation accuracy caused by coupled physical interference and provides a basis for the controller to perform reverse precision compensation directly in spatial coordinates.
[0045] Therefore, by determining the corrected pose vector of the robotic arm's end effector based on the dynamic pose error vector, the secondary error caused by nonlinear mapping of the joint space is avoided, allowing both temperature deformation and elastic deformation errors to be eliminated simultaneously and in one step. This enables the controller to predict and offset the three-dimensional positioning drift caused by high-speed continuous operation before issuing the motion trajectory, ensuring the actual absolute positioning accuracy and dynamic stability of the robotic arm's end effector during long-term high-speed operation.
[0046] Preferably, in some implementations of the present invention, the dynamic pose error vector of the end effector is analyzed based on the temperature difference deformation angle increment of all joints and the elastic deformation angle of all joints, including: Based on the temperature difference deformation angle increment of all joints, construct the temperature difference deformation angle increment vector, and multiply it with the robot arm Jacobian matrix of the current robot arm pose to obtain the end-effector temperature deformation pose error vector. Based on the elastic deformation angles of all joints, construct an elastic deformation angle vector and multiply it with the robotic arm Jacobian matrix of the current robotic arm pose to obtain the end effector inertial pose error vector. The end-effector temperature deformation pose error vector is added to the end-effector inertial pose error vector to obtain the end-effector dynamic pose error vector.
[0047] The end-effector temperature deformation pose error vector is a 6×1 numerical column vector. , representing the deviation of the actual end-effector position of the robotic arm after being affected by temperature deformation, relative to the theoretical end-effector position without temperature deformation. Here, T represents transpose. The first three components... This represents the translational offset of the actual end-effector position relative to the theoretical end-effector position along the X, Y, and Z axes of the base coordinate system; the last three components... This represents the small rotational angle deviation of the actual robotic arm end-effector pose relative to the theoretical robotic arm end-effector pose around the X, Y, and Z axes of the base coordinate system.
[0048] The end-effector temperature deformation pose error vector represents the positioning drift caused purely by the thermal expansion of the robotic arm's joints under no dynamic external force interference. It intuitively reflects the static geometric misalignment between the actual position reached by the end-effector and the position calibrated during cold operation after prolonged continuous operation and heating.
[0049] The end-effector inertial pose error vector is a 6×1 numerical column vector. This represents the deviation of the actual end-effector position of a robotic arm under the influence of dynamic inertial forces during high-speed continuous motion, relative to the theoretical end-effector position unaffected by dynamic inertial forces. Here, T represents transpose. The first three components... This represents the translational offset of the actual end-effector position relative to the theoretical end-effector position along the X, Y, and Z axes of the base coordinate system; the last three components... This represents the small rotational angle deviation of the actual robotic arm end-effector pose relative to the theoretical robotic arm end-effector pose around the X, Y, and Z axes of the base coordinate system.
[0050] The end-effector inertial pose error vector represents the dynamic positioning deviation caused at the end point by the slight elastic yielding of the joint mechanism due to the centrifugal force, Coriolis force, and acceleration / deceleration inertial impact generated by the high-speed movement of the robotic arm, after eliminating the influence of temperature rise. It directly reflects the dynamic lag or swing amplitude of the end point failing to keep up with the theoretical trajectory when the robotic arm performs high acceleration or high-speed emergency stop actions.
[0051] The end effector dynamic pose error vector represents the linear superposition of two pose deviations caused by joint thermal deformation due to temperature rise and dynamic inertial force during high-speed motion, respectively, in the base coordinate system at the same moment. It reflects the final comprehensive macroscopic performance of the end effector deviating from the ideal target when thermal and dynamic effects act simultaneously under high-speed continuous operation of the robotic arm.
[0052] In this embodiment of the invention, the method for constructing the base coordinate system is as follows: the intersection of the mounting surface of the robotic arm base and the rotation axis of the first joint is set as the origin, the Z-axis is along the rotation axis of the first joint, the X-axis is perpendicular to the Z-axis and points directly in front of the robotic arm in its initial mechanical zero position state, and the Y-axis is determined by the X-axis and the Z-axis according to the right-hand rule.
[0053] The end effector coordinate system is constructed as follows: the physical geometric center of the end flange is taken as the origin; the normal direction perpendicular to the flange end face and outward is set as the Z-axis; the preset mechanical positioning zero point on the flange (such as the direction of the positioning pin hole) is set as the X-axis; and finally, the Y-axis is determined according to the right-hand coordinate system rule. The end flange is the mechanical mounting interface located at the end of the last connecting rod of the robotic arm, used to fix and connect the end effector.
[0054] Furthermore, the method for obtaining the robotic arm Jacobian matrix of the current robotic arm pose includes: Substitute the preset theoretical angles of each joint under the current robot arm pose into the preset Jacobian matrix to obtain the robot arm Jacobian matrix of the current robot arm pose.
[0055] The internal elements of the pre-defined Jacobian matrix are trigonometric functions containing joint angle variables, representing the theoretical transmission formula universally applicable to the entire machine's workspace, thus establishing the algebraic mapping rule between joint motion increments and end-effector pose increments.
[0056] The robotic arm Jacobian matrix of the current robotic arm pose is a purely numerical matrix generated online, representing the actual error propagation ratio coefficient in the current instantaneous state, and is used to calculate the end-effector dynamic pose error vector.
[0057] In one specific implementation of this invention, the method for obtaining the preset Jacobian matrix is as follows: 1. Based on the DH parameters (including link length, link torsion angle, link offset and joint angle) of the robotic arm at the factory, establish algebraic analytical functions for the three-dimensional spatial position (X, Y, Z) and pose (such as Euler angles Rx, Ry, Rz) of the robotic arm end in the base coordinate system with respect to each joint angle variable.
[0058] (1) Construct the coordinate transformation matrix of each link relative to the previous link by combining the DH parameters: ; Where i represents the i-th link of the robotic arm; This represents the coordinate transformation matrix of the i-th link relative to the (i-1)-th link; Represents the joint angle of the i-th joint; This represents the link twist angle of the i-th link relative to the (i-1)-th link; Represents the length of the i-th link; This represents the link offset of the i-th link.
[0059] It should be noted that the dimensions of link length and link offset are in length units (e.g., millimeters); while the dimensions of joint angle and link torsion angle are in angle units (radians). The homogeneous transformation matrix unifies rotation and translation transformations into the same matrix structure, ensuring that the first three rows and first three columns are dimensionless rotation components, and the first three rows and fourth column are translation components with length dimensions.
[0060] In the serial robotic arm model, its physical topology consists of n joints and n links connected in alternating series, i.e., base-joint-link-joint...link-end effector. The joints are numbered from 1 to n sequentially from the base towards the end effector. Joints and links are defined in pairs. The i-th joint connects the (i-1)-th link and the i-th link, and the rotation of the i-th joint directly drives and only drives the i-th link, determining the pose of the i-th link relative to its preceding link. Therefore, in the mathematical model, the driving source (joint) and the driven member (link) are strongly bound together, sharing the index i.
[0061] The link twist angle of the i-th link represents the axial spatial twist pose of the i-th link relative to the (i-1)-th link. Specifically, it is the angle of rotation from the Z-axis of the (i-1)-th link's coordinate system to the Z-axis of the i-th link's coordinate system along the X-axis. The link offset of the i-th link represents the translation distance of the i-th link relative to the (i-1)-th link along the joint axis. Specifically, it is the distance along the Z-axis of the (i-1)-th link from the origin of the (i-1)-th link's coordinate system to the point where it intersects with the X-axis of the i-th link's coordinate system.
[0062] In this embodiment of the invention, for the coordinate system of the i-th link, the Z-axis is the axis of the i-th joint; the X-axis is the common perpendicular of the (i-1)-th joint axis and the i-th joint axis, with its direction pointing from the (i-1)-th joint to the i-th joint; the origin of the coordinate system is the intersection of the Z-axis and the X-axis; and the Y-axis is determined according to the right-hand rule. The coordinate systems of the remaining links are constructed according to this rule. For the last link, since it is connected to the last joint and the end effector, the end effector coordinate system is used as the coordinate system of the last link.
[0063] For the first three rows of the coordinate transformation matrix The coordinate components of the X-axis of the coordinate system representing the i-th link on the X-axis of the coordinate system representing the (i-1)-th link; The coordinate component of the X-axis of the i-th link in the coordinate system on the Y-axis of the (i-1)-th link is 0; 0 means that the coordinate component of the X-axis of the i-th link in the coordinate system on the Z-axis of the (i-1)-th link is 0. The coordinate component of the Y-axis of the coordinate system of the i-th link on the X-axis of the coordinate system of the (i-1)-th link; The coordinate component of the Y-axis of the coordinate system of the i-th link on the Y-axis of the coordinate system of the (i-1)-th link; The coordinate component of the Y-axis of the coordinate system representing the i-th link on the Z-axis of the coordinate system representing the (i-1)-th link; The coordinate component of the Z-axis of the coordinate system representing the i-th link on the X-axis of the coordinate system representing the (i-1)-th link; The coordinate component of the Z-axis of the coordinate system representing the i-th link on the Y-axis of the coordinate system representing the (i-1)-th link; The coordinate component of the Z-axis of the coordinate system representing the i-th link on the Z-axis of the coordinate system representing the (i-1)-th link; The coordinate components of the origin of the coordinate system of the i-th link on the X-axis of the coordinate system of the (i-1)-th link represent the coordinate components of the origin of the coordinate system of the i-th link. The coordinate components of the origin of the coordinate system of the i-th link on the Y-axis of the coordinate system of the (i-1)-th link represent the coordinate components of the origin of the coordinate system of the i-th link. The coordinate component of the origin of the coordinate system of the i-th link on the Z-axis of the coordinate system of the (i-1)-th link represents the coordinate component of the origin of the coordinate system of the i-th link.
[0064] The bottom row [0, 0, 0, 1] is a mathematical placeholder for a homogeneous matrix, used to satisfy the matrix dimension so that rotation and translation transformations can be performed simultaneously in a 4×4 matrix through linear multiplication.
[0065] (2) Multiply the coordinate transformation matrices of all the links in sequence to obtain the analytical equation of the total transformation matrix at the end: ; Where Y represents the analytical equation of the total transformation matrix of the robotic arm's end effector; n represents the total number of joints; and i is the index shared by joints and links. This represents the coordinate transformation matrix of the i-th link relative to the (i-1)-th link; For an n-dimensional column vector Each element corresponds to the joint angle of the robotic arm from the 1st to the nth joint at the same moment. Represents transposition; The cosine value represents the angle between the X-axis of the terminal coordinate system and the X-axis of the base coordinate system; The cosine value represents the angle between the X-axis of the terminal coordinate system and the Y-axis of the base coordinate system; The cosine value represents the angle between the X-axis of the terminal coordinate system and the Z-axis of the base coordinate system; The cosine value represents the angle between the Y-axis of the terminal coordinate system and the X-axis of the base coordinate system; The cosine value represents the angle between the Y-axis of the terminal coordinate system and the Y-axis of the base coordinate system; The cosine value represents the angle between the Y-axis of the terminal coordinate system and the Z-axis of the base coordinate system; The cosine value represents the angle between the Z-axis of the terminal coordinate system and the X-axis of the base coordinate system; The cosine value represents the angle between the Z-axis of the terminal coordinate system and the Y-axis of the base coordinate system; The cosine value represents the angle between the Z-axis of the terminal coordinate system and the Z-axis of the base coordinate system; This represents the coordinate distance between the origin of the final coordinate system and the X-axis of the base coordinate system. This represents the coordinate distance between the origin of the final coordinate system and the Y-axis of the base coordinate system. This represents the coordinate distance between the origin of the final coordinate system and the Z-axis of the base coordinate system.
[0066] The bottom row [0, 0, 0, 1] is a mathematical placeholder for the homogeneous matrix, used to satisfy the matrix dimension so that rotation and translation transformations can be performed simultaneously in a 4×4 matrix through linear multiplication. (The rest of the text appears to be a list of placeholders and doesn't translate directly.) , , ) is defined as the end position.
[0067] It should be understood that the analytical equation for the end-effector total transformation matrix is constructed using data from all joints at the same time. Specifically, the analytical equation for the end-effector total transformation matrix is a vector composed of the angles of each joint. Let be a matrix function with as independent variables, where each element in the matrix is an independent variable. Scalar functions, that is, scalar functions, Substituting these values into the matrix allows us to obtain the corresponding independent variables. The function value under the given value, for example, This represents the cosine of the angle between the X-axis of the end-effector coordinate system and the X-axis of the base coordinate system. Its specific value is derived from the vector formed by the current joint angles. Determined by multiplying the coordinate transformation matrices; , The meanings of elements are deduced similarly.
[0068] (3) Use the first 3×3 submatrix elements of the final total transformation matrix to solve for the Euler angles. Taking the common ZYX rotational order Euler angles as an example, its pose angle ( The algebraic equation of is extracted as follows: ; ; atan2 is the bivariate arctangent function.
[0069] 2. For the algebraic equations of the end position and pose angle obtained above, calculate the partial derivatives with respect to each joint angle.
[0070] 3. Arrange all the partial derivatives obtained from the differentiation into a 6xn matrix (n is the total number of links), following the rule that the first three rows correspond to the translational offset distances of the actual robotic arm end-effector position relative to the theoretical robotic arm end-effector position along the X, Y, and Z axes of the base coordinate system, and the last three rows correspond to the small rotational angle deviations (such as Euler angles) of the actual robotic arm end-effector pose relative to the theoretical robotic arm end-effector pose. This matrix, filled with sine and cosine formulas and link length constants, is the preset Jacobian matrix.
[0071] It should be understood that the method of taking the partial derivatives of the characteristic parameters of a function and obtaining the algebraic expression of the partial derivatives is a well-known technique and will not be elaborated further.
[0072] It should be noted that the calibration of the preset Jacobian matrix is completed in the offline calibration stage mentioned in step S101.
[0073] In summary, this invention, for any joint, obtains the temperature difference deformation angle increment based on the difference between the joint's real-time temperature and the robotic arm's preset reference temperature. The temperature difference deformation angle increment is used to correct the corresponding preset theoretical angle, and the theoretical torque is analyzed by combining the joint's real-time angular velocity and real-time angular acceleration. The elastic deformation angle is determined based on the difference between the joint's actual torque and the theoretical torque.
[0074] Based on the temperature difference deformation angle increments of all joints and the elastic deformation angles of all joints, the dynamic pose error vector of the end effector is analyzed to determine the corrected pose vector of the robotic arm's end effector. This enables the controller to predict and offset the positioning drift caused by high-speed continuous operation before issuing the motion trajectory, ensuring the actual absolute positioning accuracy and dynamic stability of the end effector during long-term high-speed operation of the robotic arm.
[0075] Preferably, in some implementations of the embodiments of the present invention, for any joint, obtaining the temperature difference deformation angle increment based on the difference between the real-time temperature and the preset reference temperature of the robotic arm includes: Choose any one of the joints as the current joint; The difference between the real-time temperature and the preset reference temperature of the robotic arm is used as the temperature change. Multiply the temperature change by the preset thermal stiffness coefficient of the current joint to obtain the temperature difference deformation angle increment of the current joint.
[0076] The temperature change represents the deviation of the current joint's real-time temperature from the preset reference temperature. It is the first-level driving quantity of the subsequent thermal deformation compensation chain, used to calculate the temperature difference deformation angle increment, and serves as the basis for subsequent joint angle correction, theoretical torque recalculation, and end-effector pose compensation.
[0077] The preset thermal stiffness coefficient characterizes the magnitude of the thermal deformation angle produced by each 1 degree Celsius increase in the current joint temperature. It quantifies the thermal deformation law of the current joint under specific thermodynamic boundary conditions and serves as an objective conversion benchmark connecting temperature change phenomena with geometric kinematic position deviations.
[0078] Multiply the temperature change by the preset thermal stiffness coefficient to obtain the temperature difference deformation angle increment. The temperature physical quantity (degrees Celsius) collected by the sensor is converted into the position physical quantity (angle offset) required by kinematics, which serves as the basis for quantifying the actual rotational deviation value of the joint caused by the temperature change.
[0079] It should be noted that each joint has a corresponding preset thermal stiffness coefficient.
[0080] In one specific implementation of this invention, with the robotic arm in a static state of any typical pose, excluding dynamic interference, the real-time temperature of each joint is collected under multiple different ambient temperature gradients (e.g., 25℃, 30℃, 35℃, 40℃, 45℃). Using 25℃ as the zero-thermal-deformation reference temperature, for any joint at any ambient temperature, the real-time temperature of the joint is subtracted from the zero-thermal-deformation reference temperature to obtain the temperature change. Simultaneously, the actual end-effector pose vector of the robotic arm is obtained through an end-effector pose sensor. This vector is then subtracted from the preset theoretical end-effector pose vector issued by the controller to obtain the end-effector pose deviation vector. Using the pseudo-inverse of the robotic arm Jacobian matrix under the current pose, the end-effector pose deviation vector is inversely mapped to the equivalent angular deviation of each joint, serving as the temperature difference deformation angle increment. For any joint, the temperature difference deformation angle increment of that joint at various ambient temperatures is used as the dependent variable, and the temperature change is used as the independent variable. The least squares method is used to linearly fit multiple sets of collected data, and the slope of the resulting line is the preset thermal stiffness coefficient of that joint.
[0081] It should be understood that the methods of using the least squares method for linear fitting and for solving the slope of a straight line are well-known techniques and will not be elaborated further.
[0082] It should be noted that the calculation of the preset thermal stiffness coefficient is completed in the offline calibration stage mentioned in step S101.
[0083] Preferably, such as Figure 2 As shown, in some implementations of this invention, the corresponding preset theoretical angle is corrected using the temperature difference deformation angle increment, and the theoretical torque is analyzed by combining the real-time angular velocity and the real-time angular acceleration, including:
[0084] Step S201: Add the temperature difference deformation angle increment to the preset theoretical angle of the current joint in the current robot arm pose to obtain the total joint angle.
[0085] The total joint angle is obtained by adding the temperature-induced deformation angle increment to the current preset theoretical angle of the joint. The core purpose is to recreate the true physical state of the joint in the kinematic model. The preset theoretical angle only represents the ideal motion command issued by the controller, while the temperature-induced deformation angle increment quantifies the actual physical deformation of the joint caused by temperature changes. Adding the two essentially superimposes the actual temperature deformation error, thereby calculating the true spatial angle of the joint under the current thermodynamic state (i.e., the total joint angle). This eliminates the cumulative effect of temperature deformation error, providing a correct benchmark for subsequent elastic deformation compensation.
[0086] Step S202: Analyze the gravitational torque based on the total angle of the joint.
[0087] In robotic arm dynamics, gravitational torque is generated by the weight of the link itself acting on the joint. The magnitude of the gravitational torque depends on the magnitude of gravity, the length of the lever arm, and the angle between the link and the direction of gravity. This angle is determined by the actual physical angle of the joint (i.e., the total joint angle). If the joint undergoes a slight angular displacement due to thermal deformation, the actual spatial pose of the link will change, the center of gravity will shift accordingly, and the gravitational torque will inevitably change.
[0088] The total joint angle represents the actual physical pose of the robotic arm, while the gravitational torque is a direct physical result of the actual pose. Therefore, only by calculating the gravitational torque based on the total joint angle can the accuracy of the theoretical torque model be ensured, thus providing an absolutely reliable dynamic benchmark for subsequent precise peeling and compensation for elastic deformation.
[0089] Specifically, based on the total angle of the joint, the gravitational torque is analyzed, including: Substitute the total angle of the joint into the preset gravity Jacobian matrix to obtain the gravity Jacobian row vector of the current joint. The gravitational torque is obtained by multiplying the gravity Jacobian row vector with the preset gravity parameter vector.
[0090] The preset gravity Jacobian matrix represents the pure geometric mapping relationship between the small displacement of the center of mass of each link of the robotic arm in the direction of gravity and the small rotation of each joint. Therefore, the instantaneous mapping of the total joint angle to the current real gravity torque, i.e. the gravity Jacobian row vector, can be obtained through the preset gravity Jacobian matrix, so as to realize the efficient real-time calculation of gravity torque and thus provide an absolutely reliable dynamic benchmark for accurately peeling elastic deformation.
[0091] The gravity Jacobian row vector represents the effective geometric lever arm (i.e., the force-to-torque transfer coefficient) of the gravity of each link to the current joint under the current robot arm pose. The preset gravity parameter vector represents the magnitude of the physical gravity of each link in the gravitational field. Therefore, multiplying the two (i.e., force multiplied by lever arm) yields the gravitational torque. The gravitational torque represents the basic balance torque that the current joint must output to maintain the true pose and overcome the influence of gravity of each link.
[0092] In one specific implementation of this invention, the calibration process for the preset gravity Jacobian matrix and the preset gravity parameter vector is as follows: 1. Extract basic physical parameters: Obtain the weight of each link, DH parameters (including link length, link torsion angle, link offset and joint angle) and the coordinates of the center of mass in the base coordinate system formed by the robot arm base from the robot arm's factory parameters.
[0093] 2. Construct the symbolic expression for gravity: Following the steps in step S103 to obtain the preset Jacobian matrix, obtain the analytical equation for the total transformation matrix of the robotic arm's end effector, and write the expression for the total gravitational potential energy: Where U represents the total gravitational potential energy of the robotic arm; j is the index shared by the joints and links, and the value of j ranges from 1 to n (where n is the total number of links). Let J be the mass of the j-th link; It is the acceleration due to gravity; Let Z be the Z-coordinate component (height) of the centroid of the j-th link in the base coordinate system.
[0094] Let the cumulative homogeneous transformation matrix of the j-th link relative to the base coordinate system be... ,in The calculation process is consistent with the process of calculating the analytical equation of the final total transformation matrix in step S103, and will not be repeated here. Multiply the coordinate vector of the centroid of the j-th link in the coordinate system of the j-th link with the cumulative homogeneous transformation matrix of the j-th link to obtain the Z-coordinate component of the centroid of the j-th link in the base coordinate system.
[0095] By taking the partial derivative with respect to each joint angle in the total gravitational potential energy expression, we obtain the gravitational Jacobian row vector equation for each link that only contains joint angle variables.
[0096] After taking the partial derivative of the total gravitational potential energy expression with respect to the angle of the j-th joint, the expression is algebraically expanded and factored based on the linear parameterization property of the dynamic equation. The separated trigonometric function terms containing independent variables are extracted and constructed into a 1×4n-dimensional factorization row vector with 4n elements, which serves as the gravitational Jacobian row vector for the j-th joint. Each element corresponds one-to-one with the distribution of the centroid gravitational constants within the reference gravity parameter vector G1. Since the gravitational torque borne by the j-th joint is only affected by the joint angle below it (near the base side) and not by the joint angle above it (near the end side), all elements after the j-th element are 0.
[0097] It should be noted that the gravity Jacobian row vector in this step is a gravity mapping vector obtained by taking the partial derivative of the gravitational potential energy with respect to the joint angle and then separating and decoupling the variables. Its magnitude implicitly contains the combined effect of gravitational acceleration and the angle partial derivative, and its dimension is 1 / s. 2 Or its proportionality coefficient, which has a different physical meaning from the conventional kinematic Jacobian (dimensioned in length or dimensionless). Multiplying it by a preset gravity parameter vector (dimensioned in kg·m) yields the gravitational torque in N·m.
[0098] Extract the reference gravity parameter vector composed of the product of the mass of each link and the coordinates of its center of mass: T is the transpose. This represents the mass of the first link. The x-axis coordinate represents the center of mass of the first link in the first link's coordinate system. The moment representing the distribution of the mass of the first link along the x-axis in the coordinate system of the first link; The y-axis coordinate represents the center of mass of the first link in the first link's coordinate system. The moment representing the distribution of the mass of the first link along the y-axis in the coordinate system of the first link; The z-axis coordinate represents the center of mass of the first link in the first link's coordinate system. This represents the distribution moment of the mass of the first link along the z-axis in the coordinate system of the first link; the explanations for other parameters follow the same pattern.
[0099] Therefore, the formula for the gravitational torque of the j-th joint can be simplified to: ,in, The row vector representing the gravity Jacobian of the j-th joint; This represents the reference gravity parameter vector, which is the product of the mass of each link and the coordinates of its center of mass.
[0100] It should be understood that, based on the fundamental principles of robotics and multivariable calculus, taking partial derivatives of multivariable nonlinear equations and performing variable separation and decoupling are conventional mathematical processing methods in this field. Specifically, after taking partial derivatives of the total gravitational potential energy with respect to each joint angle, based on the linear parameterization property of the dynamic equations, the partial derivative results can be algebraically expanded and factorized, thereby decoupling and extracting the gravity Jacobian row vector containing only joint angle variables, as well as the fixed gravity parameter vector composed of intrinsic constants (the product of mass and centroid coordinates) independent of angle variables.
[0101] 3. Collect static data from multiple poses: Under a constant temperature environment of 25℃, control the robotic arm to remain stationary in 8 typical poses in sequence (robotic arm initial zero position, horizontal extension in front, vertical lift in front, vertical drop in front, horizontal extension on the left, horizontal extension on the right, upper left limit of the workspace, and lower right limit of the workspace). Record the real-time angle of each joint and the static torque output by the torque sensor under each pose.
[0102] 4. Calculate the Jacobian value: For the j-th joint in any typical pose, substitute the real-time angles of each joint recorded in that pose into the gravity Jacobian row vector expression of the j-th joint obtained in step 2, and calculate the Jacobian value vector of the j-th joint in that pose.
[0103] 5. Solve for the unknown parameter vector: Substitute the static torque and corresponding Jacobian value vector of the j-th joint in any pose into the equation: Static torque = + static friction coefficient, where The vector represents the actual gravity parameter of the robotic arm. The aforementioned equations for the j-th joint in eight different poses are combined into a system of equations, and the actual gravity parameter vector G and the static friction coefficient of the robotic arm are solved using the least squares method.
[0104] 6. Calibrate preset features: The actual gravity parameter vector of the robotic arm obtained in step 5 is calibrated as the preset gravity parameter vector of the robotic arm, so that it does not need to be recalculated in subsequent calculations. Repeat steps 4 and 5 to calculate the static friction coefficient of each joint, which is used as the preset static friction coefficient for each joint.
[0105] Combine the row vectors of gravity Jacobian of all links in step 2 to construct the preset gravity Jacobian matrix.
[0106] It should be noted that the calibration of the preset gravity Jacobian matrix and the calculation of the preset static friction coefficient for each joint are completed in the offline calibration stage mentioned in step S101.
[0107] Step S203: Combine the real-time angular velocity, the preset dynamic friction coefficient, and the preset static friction coefficient to obtain the friction torque.
[0108] In the dynamics model of a robotic arm, the coefficient of dynamic friction represents the dynamic resistance torque generated per unit angular velocity, reflecting the degree to which the internal fluid or sealing material resists movement during joint motion. A larger coefficient indicates greater internal damping and more difficult movement. During robotic arm movement, the grease or lubricating oil inside the joint generates fluid resistance, which is proportional to the movement speed; the faster the speed, the greater the resistance. Therefore, the product of the real-time angular velocity and the preset coefficient of dynamic friction is the velocity-dependent dynamic resistance torque caused by this fluid viscosity.
[0109] Because mechanical joints experience not only speed-related dynamic resistance during movement, but also a constant coefficient of static friction (Coulomb friction) that is independent of speed and opposite to the direction of motion, this frictional resistance originates from the microscopic roughness and normal force of the solid contact surface. It is independent of speed, and its magnitude remains essentially constant as long as relative sliding occurs. Therefore, the calculated dynamic resistance torque must be combined with a preset static friction coefficient to obtain the frictional torque representing the true total frictional resistance of the joint. This allows for accurate modeling and real-time compensation of the joint friction effect, thereby eliminating low-speed crawling and improving the system's trajectory tracking accuracy.
[0110] Specifically, the formula for calculating frictional torque is: Frictional torque = Real-time angular velocity × Preset dynamic friction coefficient + Preset static friction coefficient × Sign function.
[0111] The preset static friction coefficient represents the absolute magnitude of the static friction torque, but torque has a direction. According to objective physical laws, the direction of friction is always opposite to the current direction of motion. Multiplying by the sign function extracts the sign of the current direction of motion: when the joint rotates in the positive direction (angular velocity greater than 0), the sign function outputs +1, and the direction of the static friction torque is positive. When the joint rotates in the negative direction (angular velocity less than 0), the sign function outputs -1, and the direction of the static friction torque becomes negative.
[0112] In one specific implementation of this invention, the method for obtaining the preset static friction coefficient is known from step S202.
[0113] The method for obtaining the preset coefficient of kinetic friction is as follows: 1. For any joint, under constant temperature (25℃) conditions, control the joint to move at a low speed and uniform speed (e.g., angular velocity between 0.1 rad / s and 0.3 rad / s), at which time the angular acceleration is 0.
[0114] 2. Extract the interval during the uniform motion where the absolute value of the angular velocity is greater than a preset speed threshold (this preset speed threshold is set based on the rated speed of the joint motor and the accuracy of the encoder; the empirical reference range is usually 3% to 5% of the rated speed of the motor. Taking a common industrial robotic arm as an example, the value is 0.05 rad / s) as the stable time band. Extract all actual joint angles, real-time angular velocities, and actual uniform torques within the stable time band. As shown in step S101, the fixed sampling frequency of the encoder for obtaining the absolute value of the angular velocity and the fixed sampling frequency of the torque sensor are both 1000 Hz, maintaining consistency in timing.
[0115] 3. Calculate the gravitational torque of each joint for each recorded actual joint angle according to the process in step S202. Then, combine the preset static friction coefficient of the joint with the actual uniform torque and subtract these two parts from the actual uniform torque to obtain the dynamic friction torque at each actual joint angle.
[0116] The calculation formula is: Dynamic friction torque = Actual uniform torque - Gravitational torque - Preset static friction coefficient × Sign function.
[0117] 4. Calculate the average value of all dynamic friction torques and the average value of all real-time angular velocities within the steady-state time band. Divide the average value of all dynamic friction torques by the average value of all real-time angular velocities to obtain the joint-specific dynamic friction coefficient, which is used as the preset dynamic friction coefficient.
[0118] 5. Perform the above operations sequentially on each joint to obtain the preset dynamic friction coefficient for each joint.
[0119] It should be noted that the calculation of the preset dynamic friction coefficient for each joint is completed in the offline calibration stage mentioned in step S101.
[0120] Step S204: Multiply the real-time angular acceleration by the preset equivalent rotational inertia of the joint to obtain the moment of inertia torque.
[0121] Real-time angular acceleration represents the rate of change of velocity of the joint, i.e., the degree of acceleration or deceleration. The preset equivalent moment of inertia of the joint represents the magnitude of the joint's rotational inertia. Multiplying the real-time angular acceleration by the preset equivalent moment of inertia of the joint is a precise calculation, using the basic laws of rotational dynamics, of the dynamic cost (i.e., moment of inertia) that the joint must pay to overcome its rotational inertia and achieve the current acceleration or deceleration.
[0122] In one specific implementation of this invention, the method for obtaining the preset equivalent rotational inertia of the joint is as follows: 1. In any robotic arm pose, for any joint, control the accelerated movement of that joint in a constant temperature (25℃) environment.
[0123] 2. Extract the stable acceleration band during motion where the absolute value of angular acceleration exceeds a preset acceleration threshold (the preset acceleration threshold is set based on the maximum angular acceleration parameters and dynamic response bandwidth of the robotic arm design; the empirical reference range is typically 10% to 15% of the maximum allowable angular acceleration of the joint. For example, a common industrial robotic arm uses a value of 1.0 rad / s²). Record all actual joint angles, real-time angular velocities, real-time angular accelerations, and the actual acceleration torque output by the sensors within the stable acceleration band. As shown in step S101, the fixed sampling frequency of the encoder and the fixed sampling frequency of the torque sensor for obtaining the absolute values of angular velocity and angular acceleration are both 1000 Hz, maintaining consistency in timing.
[0124] 3. For any sampling moment within the stable acceleration band, calculate the gravitational torque from the actual joint angle at that sampling moment according to step S202, and calculate the frictional torque of the joint from the real-time angular velocity and real-time angular acceleration at that sampling moment according to step S203. Subtract these two parts from the actual acceleration torque to obtain the inertial torque at that sampling moment.
[0125] The calculation formula is: Inertial torque = Actual acceleration torque - Gravitational torque - Friction torque.
[0126] 4. Calculate the average value of all moment of inertia torques and the average value of all real-time angular accelerations within the stable acceleration band. Divide the average value of all moment of inertia torques by the average value of all real-time angular accelerations to obtain the equivalent moment of inertia of the joint in the robot arm's pose.
[0127] 5. Changes in the robot arm's pose will affect the magnitude of the joint's equivalent rotational inertia. Perform the calibration steps 1 to 4 above under multiple typical poses to obtain the joint's equivalent rotational inertia under each typical robot arm pose.
[0128] 6. Using the joint's equivalent moment of inertia in each typical pose and the corresponding average real-time angular acceleration, establish a discrete interpolation mapping relationship between the joint's real-time angular acceleration and its equivalent moment of inertia.
[0129] 7. Based on the above steps, obtain the discrete interpolation mapping relationship between the real-time angular acceleration of each joint and the equivalent rotational inertia of the joint.
[0130] It should be noted that the solution of the discrete interpolation mapping relationship between the real-time angular acceleration of each joint and the equivalent rotational inertia of the joint is completed in the offline calibration stage mentioned in step S101.
[0131] During online operation, the real-time angular acceleration of each joint is input into the corresponding discrete interpolation mapping relationship, and the real-time equivalent rotational inertia of each joint is output as the preset equivalent rotational inertia of each joint.
[0132] Step S205: Add the gravitational torque, frictional torque and inertial torque to obtain the theoretical torque of the current joint.
[0133] The theoretical torque of the current joint represents the total target driving torque that the joint motor must output in order to accurately execute the predetermined trajectory under the current specific motion state. It is an ideal benchmark based on the inverse dynamics model, which integrates all physical effects such as gravity, friction and inertia. In the control system, it plays a key role in accurately guiding the motor output, eliminating dynamic coupling interference, and assessing the system load safety.
[0134] Preferably, in some implementations of the present invention, determining the elastic deformation angle based on the difference between the actual torque and the theoretical torque includes: The difference between the actual torque and the theoretical torque is taken as the dynamic composite residual torque; The elastic deformation angle is obtained by dividing the dynamic composite residual torque by the preset initial mechanical stiffness of the current joint.
[0135] In an ideal rigid body model, the torque output by the motor is transmitted to the load 100% without loss. However, in the real physical world, joint transmission systems are flexible (like springs). When the motor outputs actual torque, the transmission components undergo slight elastic torsion due to inertia, friction, or gravity at the load end. The dynamic composite residual torque is the additional stress torque generated inside the joint due to this elastic deformation, which is the direct power source causing the joint to undergo elastic deformation.
[0136] The preset initial mechanical stiffness characterizes the inherent physical property of the internal transmission components (RV reducer or linkage structure) of the joint in resisting elastic deformation, representing the magnitude of the torque required per unit angular deformation. Dividing the dynamic composite residual torque by the preset initial mechanical stiffness yields the current elastic deformation angle of the joint. The elastic deformation angle represents the degree of microscopic torsional deformation of the joint transmission components under the action of additional stress torque, and is a core observation variable for achieving flexible compensation and high-precision control.
[0137] In one specific implementation of this invention, the method for obtaining the preset initial mechanical stiffness is as follows: 1. Record baseline state data: Under constant temperature (25℃) environment, control the robotic arm to remain stationary in a certain fixed pose, and record the initial spatial pose vector of the end effector and the initial torque output by each joint torque sensor.
[0138] 2. Apply calibration load: Apply a calibration load of known mass (such as suspending a standard counterweight) to the end of the robotic arm and wait for the robotic arm to undergo a small elastic deformation due to the force and return to a static and stable state.
[0139] 3. Acquire incremental data: Record the actual end-effector pose vector and the actual torque of each joint after loading. Subtract the initial spatial pose vector from the actual end-effector pose vector to obtain the pose deviation increment vector of the end-effector. Subtract the corresponding initial torque from the actual torque of each joint to obtain the feedback torque increment of each joint.
[0140] 4. Spatial Mapping Inverse Solution: Based on the method for obtaining the robotic arm Jacobian matrix in step S103, the robotic arm Jacobian matrix under the current pose is obtained. The end-effector pose deviation increment vector ΔP is then mapped inversely to the joint space. The calculation formula is: ( (This is the inverse or pseudo-inverse of the Jacobian matrix), resulting in an n-row, 1-column column vector of joint angle deviation increments, where n represents the number of joints. The angle deviation increment of each joint due to force is then extracted from this vector.
[0141] 5. Calculate mechanical stiffness: According to the physical laws of elastic deformation, the mechanical stiffness of a single joint is equal to the ratio of the change in torque it bears to the resulting angular deformation. The initial mechanical stiffness of a single joint can be obtained by dividing the torque increment of each joint by the corresponding angular deviation increment. The formula is: Where e represents the e-th joint, This represents the initial mechanical stiffness of the e-th joint; This represents the increment of the feedback torque at the e-th joint; This represents the increment of the angle deviation of the e-th joint.
[0142] The initial mechanical stiffness of each joint obtained through the above calculation is used as the corresponding preset initial mechanical stiffness.
[0143] It should be noted that the calculation of the preset initial mechanical stiffness of each joint is completed in the offline calibration stage mentioned in step S101.
[0144] Furthermore, before dividing the dynamic composite residual torque by the preset initial mechanical stiffness of the current joint to obtain the elastic deformation angle, the process further includes: The dynamic synthesis residual torque is smoothed using a low-pass filter.
[0145] In real physical environments, the signals collected by encoders or torque sensors inevitably contain high-frequency noise. If the dynamic composite residual torque with noise is used directly for calculation, this high-frequency noise will be amplified by the controller. Not only will it fail to achieve accurate compensation, but it will also cause high-frequency vibration at the end of the robotic arm, and even lead to system divergence and instability.
[0146] In this embodiment of the invention, considering that the elastic deformation generated by the joint is usually a low-frequency dynamic process, while high-frequency vibration is often caused by complex factors such as friction and multi-axis coupling, this step introduces a low-pass filter to process the dynamic composite residual torque, filtering out high-frequency interference that is difficult to compensate for with a simple model, and retaining the effective low-frequency signal that reflects the real physical deformation. This allows the control system to focus on compensating for steady-state or low-frequency elastic deformation caused by gravity and macroscopic inertia, achieving a smooth transition of compensation commands and precise elimination of flexibility errors.
[0147] Specifically, the dynamic composite residual torque calculated at the current moment is stored in the historical data queue. Based on the dynamic composite residual torque at the current moment, a preset number of dynamic composite residual torques from historical moments are extracted, and a low-pass filter is used for sliding smoothing.
[0148] When the amount of dynamic composite residual torque data in the historical data queue is less than the preset amount, the filtering process is skipped and the dynamic composite residual torque at the current moment is directly output.
[0149] In one specific implementation of this invention, the preset quantity is set to 20.
[0150] Preferably, in some implementations of the present invention, determining the corrected pose vector of the robotic arm end effector based on the end effector dynamic pose error vector includes: The end effector dynamic pose error vector is added to the preset inherent reference error vector of the current robot arm pose to obtain the end effector total error vector of the current robot arm pose. The corrected pose vector of the robotic arm end effector is obtained by subtracting the total error vector of the end effector from the preset theoretical pose vector of the end effector.
[0151] The preset inherent reference error vector of the current robotic arm pose represents the pose deviation in the end-effector space generated by kinematic mapping of fixed manufacturing and assembly deviations (such as link length deviations, joint offsets, reducer backlash, etc.) in the physical structure of the robotic arm under the current joint angle configuration. In other words, it represents the fixed deviation between the ideal end-effector pose and the actual end-effector pose. Since inherent error sources such as link size deviations and assembly errors are fixed in the physical structure, these errors must undergo coordinate transformation and kinematic mapping of the joint rotation matrices before being transmitted to the end-effector. This results in the same internal deviations projecting into different sizes and directions in the end-effector space under different joint configurations. Therefore, the inherent reference error vector of the robotic arm in different poses is dynamically changing, and different preset inherent reference error vectors correspond to different robotic arm poses.
[0152] The preset inherent reference error vector is added to the end-effector dynamic pose error vector (errors that change with pose, such as gravity deformation, temperature difference deformation, joint flexibility, etc.) to obtain the total end-effector error vector, which represents the sum of all errors that actually exist at the end-effector under the current pose and deviate from the theoretical end-effector pose.
[0153] The preset theoretical pose vector of the robotic arm's end effector represents the end effector pose calculated using forward kinematics under ideal conditions (without any errors). Subtracting the total end effector error vector yields the corrected end effector pose vector, representing the target pose actually sent by the controller to the inverse kinematics solver—a virtual target point after error compensation. Based on the theoretical pose, an offset of an error amount is made in the opposite direction of the error, ensuring that even with existing errors, the actual landing point of the end effector returns to the theoretical position. This compensates for both the inherent and dynamic errors of the robotic arm, improving end effector positioning accuracy.
[0154] In one specific implementation of this invention, under a constant temperature (25°C) environment, the robotic arm is controlled to remain stationary in eight typical poses (initial zero position, horizontal extension in front, vertical lift in front, vertical drop in front, horizontal extension to the left, horizontal extension to the right, upper left limit of the workspace, and lower right limit of the workspace). At this time, there is no thermal deformation interference and no dynamic inertial force interference.
[0155] In any typical pose, record the real-time angles of each joint, the preset theoretical pose vector of the robotic arm end effector sent by the robotic arm controller to the end effector, and the actual pose vector of the end effector monitored in real time by the pose sensor of the robotic arm end effector. Subtract the preset theoretical pose vector of the robotic arm end effector sent by the controller from the actual pose vector of the end effector to obtain the reference error vector of the pose.
[0156] By utilizing the reference error vector of the robotic arm in all typical poses, and the real-time angles of each joint in each pose, a discrete interpolation mapping relationship between joint angles and reference error vectors is established.
[0157] During online operation, the real-time angles of each joint are input into the discrete interpolation mapping relationship, and the inherent reference error vector under the current robot arm pose is output as the preset inherent reference error vector of the current robot arm pose.
[0158] It should be understood that the method of establishing a discrete interpolation mapping relationship between joint angles and reference error vectors by using the reference error vector of the robotic arm in a preset typical pose and the angles of each joint is a well-known technique in the field and will not be described in detail here.
[0159] It should be noted that the solution of the preset inherent reference error vector of the current robotic arm pose is completed in the online compensation stage mentioned in step S101.
[0160] In one specific implementation of this invention, during the operation of the robotic arm, the preset theoretical angles currently sent to each joint servo motor are extracted in real time from the trajectory planning module of the robotic arm controller. Following the method in step S103, these angles are substituted into a preset Jacobian matrix to obtain the real-time robotic arm Jacobian matrix, and the end-effector position is extracted. , , ) and pose angle ( The end-effector position and pose angle are combined into a 6-row, 1-column column vector. The preset theoretical angles of each joint are substituted into this column vector to obtain a numerical column vector, which serves as the preset theoretical pose vector of the robotic arm end-effector.
[0161] It should be noted that the solution of the preset theoretical pose vector of the robotic arm end effector is completed in the online compensation stage mentioned in step S101.
[0162] In this embodiment of the invention, after obtaining the corrected pose vector of the robotic arm's end effector, the inverse kinematics solver inside the controller calculates the specific target angles that each joint needs to achieve. The servo motor drivers of each joint rotate directly according to these target angle values, ultimately causing the physical end effector of the robotic arm to reach the compensated spatial position, that is, to achieve the theoretical pose of the robotic arm's end effector.
[0163] This invention also proposes a dynamic feedback-based autonomous positioning error compensation system for robotic arms, the system comprising: The data acquisition module is used to acquire the working data of each joint under the current posture of the robotic arm. The working data includes real-time temperature, real-time angular velocity, real-time angular acceleration and actual torque. The data processing module is used to obtain the temperature difference deformation angle increment for any joint based on the difference between the real-time temperature and the preset reference temperature of the robotic arm; correct the corresponding preset theoretical angle using the temperature difference deformation angle increment; analyze the theoretical torque by combining the real-time angular velocity and the real-time angular acceleration; and determine the elastic deformation angle based on the difference between the actual torque and the theoretical torque. The results analysis module is used to analyze the end-effector dynamic pose error vector based on the temperature difference deformation angle increment of all joints and the elastic deformation angle of all joints; and to determine the end-effector correction pose vector based on the end-effector dynamic pose error vector.
Claims
1. A method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback, characterized in that, The method includes: Acquire the working data of each joint under the current pose of the robotic arm, including real-time temperature, real-time angular velocity, real-time angular acceleration, and actual torque; For any joint, the temperature difference deformation angle increment is obtained based on the difference between the real-time temperature and the preset reference temperature of the robotic arm; the corresponding preset theoretical angle is corrected using the temperature difference deformation angle increment; the theoretical torque is analyzed by combining the real-time angular velocity and the real-time angular acceleration; and the elastic deformation angle is determined based on the difference between the actual torque and the theoretical torque. Based on the temperature difference deformation angle increment of all joints and the elastic deformation angle of all joints, the end-effector dynamic pose error vector is analyzed; based on the end-effector dynamic pose error vector, the end-effector correction pose vector is determined.
2. The method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback according to claim 1, characterized in that, For any joint, the temperature difference deformation angle increment is obtained based on the difference between the real-time temperature and the preset reference temperature of the robotic arm, including: Choose any one of the joints as the current joint; The difference between the real-time temperature and the preset reference temperature of the robotic arm is used as the temperature change. Multiply the temperature change by the preset thermal stiffness coefficient of the current joint to obtain the temperature difference deformation angle increment of the current joint.
3. The method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback according to claim 2, characterized in that, The step of correcting the corresponding preset theoretical angle using the temperature difference deformation angle increment, and analyzing the theoretical torque by combining the real-time angular velocity and the real-time angular acceleration, includes: The total joint angle is obtained by adding the temperature difference deformation angle increment to the preset theoretical angle of the joint in the current robot arm pose. Analyze the gravitational torque based on the total joint angle; By combining the real-time angular velocity, the preset dynamic friction coefficient, and the preset static friction coefficient, the friction torque is obtained; The inertial torque is obtained by multiplying the real-time angular acceleration by the preset equivalent rotational inertia of the joint. The theoretical torque of the joint is obtained by adding the gravitational torque, frictional torque, and inertial torque.
4. The method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback according to claim 3, characterized in that, The analysis of gravitational torque based on the total joint angle includes: Substitute the total angle of the joint into the preset gravity Jacobian matrix to obtain the gravity Jacobian row vector of the current joint. The gravitational torque is obtained by multiplying the gravity Jacobian row vector with the preset gravity parameter vector.
5. The method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback according to claim 1, characterized in that, The step of determining the elastic deformation angle based on the difference between the actual torque and the theoretical torque includes: The difference between the actual torque and the theoretical torque is taken as the dynamic composite residual torque; The elastic deformation angle is obtained by dividing the dynamic composite residual torque by the preset initial mechanical stiffness of the current joint.
6. The method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback according to claim 5, characterized in that, Before dividing the dynamic composite residual torque by the preset initial mechanical stiffness of the current joint to obtain the elastic deformation angle, the method further includes: The dynamic synthesis residual torque is smoothed using a low-pass filter.
7. The method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback according to claim 1, characterized in that, The analysis of the end-effector dynamic pose error vector based on the temperature difference deformation angle increment of all joints and the elastic deformation angle of all joints includes: Based on the temperature difference deformation angle increment of all joints, construct the temperature difference deformation angle increment vector, and multiply it with the robot arm Jacobian matrix of the current robot arm pose to obtain the end-effector temperature deformation pose error vector. Based on the elastic deformation angles of all joints, construct an elastic deformation angle vector and multiply it with the robotic arm Jacobian matrix of the current robotic arm pose to obtain the end effector inertial pose error vector. The end-effector temperature deformation pose error vector is added to the end-effector inertial pose error vector to obtain the end-effector dynamic pose error vector.
8. The method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback according to claim 7, characterized in that, The method for obtaining the Jacobian matrix of the current robotic arm pose includes: Substitute the preset theoretical angles of each joint under the current robot arm pose into the preset Jacobian matrix to obtain the robot arm Jacobian matrix of the current robot arm pose.
9. The method for compensating for autonomous positioning errors of a robotic arm based on dynamic feedback according to claim 1, characterized in that, The step of determining the corrected pose vector of the robotic arm end effector based on the end effector dynamic pose error vector includes: The end effector dynamic pose error vector is added to the preset inherent reference error vector of the current robot arm pose to obtain the end effector total error vector of the current robot arm pose. The corrected pose vector of the robotic arm end effector is obtained by subtracting the total error vector of the end effector from the preset theoretical pose vector of the end effector.
10. A robotic arm autonomous positioning error compensation system based on dynamic feedback, characterized in that, The system includes: The data acquisition module is used to acquire the working data of each joint under the current posture of the robotic arm. The working data includes real-time temperature, real-time angular velocity, real-time angular acceleration and actual torque. The data processing module is used to obtain the temperature difference deformation angle increment for any joint based on the difference between the real-time temperature and the preset reference temperature of the robotic arm; correct the corresponding preset theoretical angle using the temperature difference deformation angle increment; analyze the theoretical torque by combining the real-time angular velocity and the real-time angular acceleration; and determine the elastic deformation angle based on the difference between the actual torque and the theoretical torque. The results analysis module is used to analyze the end-effector dynamic pose error vector based on the temperature difference deformation angle increment of all joints and the elastic deformation angle of all joints; and to determine the end-effector correction pose vector based on the end-effector dynamic pose error vector.