A robot transmission component torque adaptive control method and system
Patent Information
- Application Number
- CN202610584361.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-29
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2046-04-29
AI Technical Summary
[0003]为了解决现有技术的不足,本发明公开了一种机器人传动部件力矩自适应控制方法及系统,旨在解决现有技术中因无法有效区分外部负载变化与内部振动,导致力矩控制不稳定、加剧传动部件磨损的技术问题
[0017]In summary, this invention provides a method and system for adaptive torque control of robot transmission components. The method introduces an observation mechanism based on the principle of energy conservation to establish an energy balance relationship between the input electrical energy of the motor and the change in the mechanical energy of the actuator, and calculates the real-time deviation between the two. By setting a time window that matches the system's inherent vibration period and integrating the energy balance deviation within that window, the method filters out periodic energy fluctuations with a net value of zero caused by internal vibration, thereby highlighting the unidirectional energy imbalance trend caused by the continuously acting external load. Furthermore, by analyzing the final absolute value and evolution trend characteristics of the accumulated deviation after integration, the method intelligently and reliably distinguishes whether the actuator is in an internal vibration state or an external load change state. Finally, only when the external load change state is determined, the output torque control parameters are dynamically adjusted based on the characteristics of the accumulated deviation to perform load compensation.
Smart Images

Figure CN122274985B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to a method and system for adaptive torque control of robot transmission components. Background Technology
[0002] In industrial scenarios involving heavy-duty handling or frequent load changes, torque control of robot actuators is crucial for ensuring stable operation and extending their service life. Existing technologies typically rely on indirect signals such as motor current and joint speed errors to infer changes in external load and adjust the output torque accordingly. However, this approach presents a core technical challenge: effectively distinguishing between actual external load changes and the robot's internal mechanical vibrations. For example, when a robot moves rapidly or starts / stops, elastic elements and gaps in its transmission chain can cause brief vibrations, which manifest as high-frequency fluctuations in sensor signals, similar to the load impact signal generated when grasping a heavy object. If the control system misinterprets this internal vibration as an external load, it will perform unnecessary torque compensation, frequently adjusting the output and triggering new torque oscillations. Conversely, reducing system sensitivity to filter vibrations can lead to a lag in response to actual load changes, resulting in motion errors and impacts. This torque control instability caused by the inability to accurately identify the source of disturbance directly exacerbates the impact wear of core transmission components such as reducer gears and lead screw nut pairs, severely impacting the robot's operational smoothness and long-term reliability. Summary of the Invention
[0003] To address the shortcomings of existing technologies, this invention discloses a method and system for adaptive torque control of robot transmission components, aiming to solve the technical problem in existing technologies where the inability to effectively distinguish between external load changes and internal vibrations leads to unstable torque control and exacerbates wear on transmission components.
[0004] The technical solution of the present invention is as follows: In a first aspect, the present invention discloses a torque adaptive control method for a robot transmission component, used for load compensation control of the robot's actuator, the method comprising: The system acquires the input electrical parameters of the robot's motor and the motion state parameters of the actuator. Based on the input electrical parameters, it determines the energy input from the motor to the actuator, and based on the motion state parameters, it determines the change in mechanical energy of the actuator during the motion process. Calculate the energy balance deviation between the energy characterization value and the change in mechanical energy; The energy balance deviation is accumulated within a preset time window to obtain the accumulated deviation value; the length of the time window is set based on the inherent vibration period of the actuator, so as to use the integral effect to offset the energy reciprocating exchange interference inside the actuator. Identify the evolution characteristics of the cumulative deviation value within the time window, and determine the current state of the actuator based on the evolution characteristics. The evolution characteristics include the final absolute value of the cumulative deviation value and the evolution trend type. The current state includes the external load change state and the internal vibration state. Only when the current state is determined to be an external load change state, the output torque control parameters of the actuator are adjusted based on the evolution characteristics to compensate for the impact of the external load on the actuator.
[0005] This technical solution, based on the principle of energy conservation, constructs an energy balance deviation by comparing the changes in energy input to the motor and mechanical energy of the actuator. Utilizing cumulative calculations within a specific time window, it effectively filters out periodic internal vibration interference, highlighting the true trend of external load changes. This enables accurate identification of the load state and allows for compensation only when necessary, fundamentally avoiding torque fluctuations caused by misjudgment and significantly improving the stability of the control system and the protection of transmission components.
[0006] Furthermore, the input electrical parameters include the motor's current and voltage; The steps for determining the energy input value from the motor to the actuator based on the input electrical parameters include: The total output energy of the motor is calculated based on the current and voltage, and the total output energy is used as the energy characterization value.
[0007] Furthermore, the motion state parameters include the angular velocity and angle of the actuator; The steps for determining the change in mechanical energy of the actuator during motion based on motion state parameters include: The kinetic energy increment and gravitational potential energy change of the actuator are calculated based on the angular velocity and angle, respectively, and the sum of the kinetic energy increment and gravitational potential energy change is taken as the mechanical energy change.
[0008] Furthermore, the steps for calculating the energy balance deviation between the energy characterization value and the change in mechanical energy include: Obtain the pose configuration parameters of the actuator in the current motion trajectory. The pose configuration parameters include the instantaneous angle combination of each joint. Based on the pose configuration parameters, a preset gravity-induced loss model is retrieved to obtain the lateral pressure increment of the transmission pair caused by gravity in the current pose of the actuator. The corresponding internal friction dissipation correction value is calculated based on the lateral pressure increment; The energy characterization value is subtracted using the internal friction dissipation correction value, and the difference between the processed energy characterization value and the change in mechanical energy is calculated to obtain the energy balance deviation, so as to eliminate the interference of internal energy dissipation fluctuations caused by pose changes on load identification.
[0009] Furthermore, the step of accumulating the energy balance deviation within a preset time window to obtain the accumulated deviation value includes: The energy balance deviation is integrated over time within the time window to obtain the integral value as the cumulative deviation value.
[0010] Furthermore, the steps of identifying the evolution characteristics of the cumulative deviation value within a time window and determining the current state of the actuator based on these evolution characteristics include: Extract the absolute value of the cumulative deviation at the end of the time window as the final absolute value; Based on the changes in the cumulative deviation value within the time window, identify the evolution trend type of the cumulative deviation value; the evolution trend types include unidirectional evolution trend and non-unidirectional evolution trend, and unidirectional evolution trend includes unidirectional increasing trend and unidirectional decreasing trend; If the final absolute value is less than the preset first threshold, the actuator is determined to be in an internal vibration state. If the final absolute value exceeds the preset second threshold and the evolution trend of the cumulative deviation value is a unidirectional evolution trend, then the actuator is determined to be in an external load change state.
[0011] Furthermore, the steps for adjusting the output torque control parameters of the actuator based on the evolution characteristics only when the current state is determined to be an external load change state include: If the evolution trend is a unidirectional increasing trend, a positive torque compensation command is generated to overcome the resistance; if the evolution trend is a unidirectional decreasing trend, a negative torque compensation command is generated to adapt to the assist. Based on the final absolute value of the cumulative deviation, the degree of change in the external load is quantified, and based on the preset mapping relationship or control algorithm, the specific torque compensation amount or control parameter adjustment amount is calculated.
[0012] Based on the torque compensation amount or control parameter adjustment amount, and in conjunction with the generated positive torque compensation command or negative torque compensation command, the output torque control parameters of the actuator are updated in real time.
[0013] Furthermore, the method also includes: Identify a reference motion interval within the operating cycle of the actuator. The reference motion interval is the segment of operation in which the actuator moves at a constant speed and performs a no-load grasping and releasing action. The energy balance deviation is obtained within the reference action range and used as the thermal offset. By performing trend smoothing filtering on the hot-state offsets of multiple consecutive operating cycles, the offset evolution trend can be obtained. If the offset evolution trend is a unidirectional linear change that is positively correlated with temperature change, it is determined that the actuator has experienced internal thermal drift.
[0014] Furthermore, after determining that the actuator has experienced internal thermal drift, the method also includes: Generate compensation correction values based on the offset evolution trend; The compensation correction value is added to the calculation item of the energy characterization value to correct the calculation basis of the energy balance deviation; The calculation basis for correcting the energy balance deviation includes: dynamically adjusting the internal friction dissipation correction value of the actuator according to the deviation evolution trend, so that the energy balance deviation returns to zero.
[0015] Secondly, the present invention also discloses a torque adaptive control system for a robot transmission component, used to execute the steps in the aforementioned method, including: The energy acquisition module is used to acquire the input electrical parameters of the robot's motor and the motion state parameters of the actuator. Based on the input electrical parameters, it determines the energy input from the motor to the actuator, and based on the motion state parameters, it determines the change in mechanical energy of the actuator during the motion process. The deviation calculation module is used to calculate the energy balance deviation between the energy characterization value and the change in mechanical energy. The cumulative calculation module is used to accumulate the energy balance deviation within a preset time window to obtain the cumulative deviation value. The length of the time window is set based on the inherent vibration period of the actuator to use the integral effect to counteract the energy reciprocating exchange interference inside the actuator. The identification and determination module is used to identify the evolution characteristics of the cumulative deviation value within the time window and determine the current state of the actuator based on the evolution characteristics. The evolution characteristics include the final absolute value of the cumulative deviation value and the evolution trend type. The current state includes the external load change state and the internal vibration state. The control adjustment module is used to adjust the output torque control parameters of the actuator based on the evolution characteristics only when the current state is determined to be an external load change state, in order to compensate for the impact of the external load on the actuator.
[0016] This technical solution provides a physical or functional system capable of implementing the aforementioned torque adaptive control method. Each module has a clearly defined function, collectively forming a complete control loop, providing a hardware or software foundation for the practical deployment and application of the method.
[0017] In summary, this invention provides a method and system for adaptive torque control of robot transmission components. The method introduces an observation mechanism based on the principle of energy conservation to establish an energy balance relationship between the input electrical energy of the motor and the change in the mechanical energy of the actuator, and calculates the real-time deviation between the two. By setting a time window that matches the system's inherent vibration period and integrating the energy balance deviation within that window, the method filters out periodic energy fluctuations with a net value of zero caused by internal vibration, thereby highlighting the unidirectional energy imbalance trend caused by the continuously acting external load. Furthermore, by analyzing the final absolute value and evolution trend characteristics of the accumulated deviation after integration, the method intelligently and reliably distinguishes whether the actuator is in an internal vibration state or an external load change state. Finally, only when the external load change state is determined, the output torque control parameters are dynamically adjusted based on the characteristics of the accumulated deviation to perform load compensation. Attached Figure Description
[0018] Figure 1 This is a flowchart illustrating an adaptive torque control method for a robot transmission component, provided in an embodiment of the present invention.
[0019] Figure 2 This is a schematic diagram of a torque adaptive control system for a robot transmission component provided in an embodiment of the present invention.
[0020] Labeling Explanation: 210, Energy Acquisition Module; 220, Deviation Calculation Module; 230, Cumulative Calculation Module; 240, Identification and Judgment Module; 250, Control and Adjustment Module. Detailed Implementation
[0021] The technical solutions of this invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are merely some, not all, of the embodiments of this invention. The components of this invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the invention provided in the drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without inventive effort are within the scope of protection of this invention.
[0022] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this invention, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0023] In a typical automated foundry, a six-axis industrial robot is responsible for removing hot metal castings from the die-casting machine and placing them on a cooling conveyor belt. This process demands extremely high stability from the robot, as any sudden torque fluctuation can cause the robotic arm to vibrate, affecting placement accuracy and potentially damaging the robot's precision reducers due to impact. However, this task presents an inherent challenge: the robot system needs to distinguish between two distinct physical phenomena. The first is the slight elastic vibration of the arm itself due to inertia during high-speed robot movement—a reciprocating exchange of internal energy. The second is the real external load surge generated when the robot's grippers grasp or release castings weighing tens of kilograms. Traditional control methods often struggle to clearly separate the signal characteristics of these two phenomena, frequently misinterpreting internal vibrations as external load changes and performing unnecessary torque compensation, or failing to respond promptly to real load impacts due to sluggish response, leading to system instability and accelerated wear on transmission components.
[0024] Firstly, please see Figure 1 This invention provides a torque adaptive control method for robot transmission components, used for load compensation control of robot actuators. The method includes: S1. Obtain the input electrical parameters of the robot's motor and the motion state parameters of the actuator. Determine the energy input value from the motor to the actuator based on the input electrical parameters, and determine the change in mechanical energy of the actuator during the motion process based on the motion state parameters. S2. Calculate the energy balance deviation between the energy characterization value and the change in mechanical energy; S3. Accumulate the energy balance deviation within a preset time window to obtain the accumulated deviation value; wherein, the length of the time window is set based on the inherent vibration period of the actuator, so as to use the integral effect to offset the energy reciprocating exchange interference inside the actuator. S4. Identify the evolution characteristics of the cumulative deviation value within the time window, and determine the current state of the actuator based on the evolution characteristics. The evolution characteristics include the final absolute value of the cumulative deviation value and the evolution trend type. The current state includes the external load change state and the internal vibration state. S5. Only when the current state is determined to be an external load change state, adjust the output torque control parameters of the actuator based on the evolution characteristics to compensate for the impact of the external load on the actuator.
[0025] Specifically, the energy characterization value refers to the quantitative representation of the energy that the motor driving the robot's actuators obtains from the power source and converts into output energy for the mechanical system within a certain period of time. It represents the total energy input of the entire robot's mechanical system.
[0026] The change in mechanical energy refers to the sum of the changes in kinetic energy and gravitational potential energy of the robot's actuator due to changes in speed and position / height within the same time period. It represents the manifestation of the system's energy in its mechanical motion.
[0027] Energy balance deviation is the difference between the energy value and the change in mechanical energy. According to the law of conservation of energy, in an ideal situation where no external load does work and internal friction losses are not considered, the input energy should be completely converted into a change in mechanical energy, and the energy balance deviation is zero. When there is an external load (such as gripping a heavy object) or internal friction, the deviation value will no longer be zero, and its magnitude and sign reflect the combined effect of external work and internal dissipation.
[0028] A time window is a pre-defined continuous period of time used to analyze energy balance deviations. Its key characteristic is that its length is related to the inherent vibration period of the robot actuator. The purpose is to separate energy disturbances of different natures by performing cumulative calculations within this window using mathematical methods.
[0029] The cumulative deviation value is the result of accumulating (e.g., integrating) the energy balance deviation within the aforementioned time window. It can amplify persistent energy imbalances while suppressing recurring energy fluctuations.
[0030] Evolutionary characteristics describe the pattern of change of the cumulative deviation value within a time window. They mainly include the final value at the end of the window and whether the trend of change within the window is unidirectional increase, unidirectional decrease, or back-and-forth fluctuation.
[0031] The external load change state refers to the state in which the cumulative deviation value shows a continuous unidirectional increase or decrease within a time window, and its final absolute value exceeds a preset threshold. This state represents the continuous unidirectional outflow or inflow of energy to the external environment of the actuator, indicating the existence of a real external load.
[0032] The internal vibration state refers to the state in which the final absolute value of the cumulative deviation value within the time window is less than the preset threshold, and its evolution trend is characterized by fluctuations around the zero value. This state indicates that energy is mainly exchanged between kinetic and potential energy forms within the actuator, indicating that the current signal disturbance mainly originates from the inherent vibration of the mechanical system.
[0033] The overall process of this technical solution is described in detail below. The core idea of this method is to establish an observation model based on energy conservation to distinguish between real external load changes and mechanical vibrations inside the system.
[0034] First, during each control cycle of the robot's operation, the control system synchronously collects two types of data. The first type is the input electrical parameters of the motor, which are typically provided by the servo driver, such as by reading the motor's DC bus voltage and phase current data from the driver's internal registers or through a high-speed industrial bus (such as EtherCAT). The second type is the motion state parameters of the actuators, which are mainly provided by encoders installed at each joint of the robot. By performing differential calculations on the encoder readings, the precise instantaneous angular velocity and angle values of each joint can be obtained.
[0035] After acquiring this raw data, the system performs two parallel energy calculations. First, it calculates the total energy input from the motor to the mechanical system, i.e., the energy characterization value, based on the motor's input electrical parameters. For example, this can be obtained by estimating the motor's output power and integrating it over time. Second, based on the angular velocities and angles of each joint, and combined with the robot's kinematic and dynamic models (including known parameters such as the mass, center of mass position, and moment of inertia of each link), it calculates the increment of kinetic energy and the change in gravitational potential energy of the entire actuator during the current control cycle. The sum of these two constitutes the change in mechanical energy.
[0036] Next, the difference between the energy characterization value and the change in mechanical energy is calculated to obtain the instantaneous energy balance deviation. This deviation can be understood as "the portion of energy that cannot be explained by the change in mechanical energy." This portion of energy goes to two main places: one is used to overcome external loads (for example, when lifting a heavy object, the energy is converted into the potential energy of the object); the other is dissipated as heat energy in the friction of the transmission chain. In addition, when the robot vibrates, energy is converted back and forth between the kinetic energy of the links and the elastic potential energy of the elastic elements, which will also be reflected in the energy balance deviation as high-frequency fluctuations.
[0037] To identify the true external load from the mixed energy balance deviation signal, this invention introduces a step of performing cumulative calculations within a specific time window. The length of this time window is not arbitrarily set, but determined based on the natural vibration period of the robot's actuator. This natural vibration period can be obtained through finite element simulation analysis of the robot's structural model, or by applying a slight pulse impact to the robot's end effector, measuring its vibration response with an accelerometer, and identifying the dominant vibration frequency through spectral analysis (such as Fast Fourier Transform), the reciprocal of which is the natural vibration period. For example, for a specific handling robot, its dominant vibration period in a typical working posture might be 100 milliseconds. Therefore, the control system can set the length of the time window to 100 milliseconds or an integer multiple thereof.
[0038] Within this time window, the system continuously accumulates the energy balance deviation. When the robot only experiences internal vibrations, energy flows back and forth between kinetic and elastic potential energy, causing the energy balance deviation to oscillate alternately between positive and negative values. Within a complete vibration cycle, the accumulated value will be very close to zero due to the cancellation of positive and negative values. Conversely, when the robot grasps a heavy object and needs to continuously output torque to overcome its gravity, the energy balance deviation will remain a positive value (indicating continuous net energy consumption), and the accumulated deviation value will increase significantly and unidirectionally over time.
[0039] At the end of a time window, the system analyzes the evolution of the cumulative deviation value. Specifically, it focuses on two aspects: the final absolute value of the cumulative deviation at the end of the window, and the type of its evolution trend within the window. If the final absolute value is small, below a preset threshold (for example, this threshold is set based on the noise level during system no-load operation), the system determines that the current state is an internal vibration state. If the final absolute value significantly exceeds another higher threshold, and its evolution trend is unidirectionally increasing or decreasing, the system determines that the current state is an external load change state.
[0040] Finally, and most crucially, the control system only takes action when the determination indicates an external load change. It adjusts the output torque based on the evolution of the accumulated deviation value. For example, if the accumulated deviation value increases unidirectionally, indicating external resistance, the system generates a positive torque compensation command; if it decreases unidirectionally, indicating external assistance, a negative torque compensation command is generated. The magnitude of the compensation is quantified by the final absolute value of the accumulated deviation; a larger value indicates a more drastic load change, and the corresponding torque compensation is greater. When the system is determined to be in an internal vibration state, it chooses to "ignore" this energy fluctuation and does not perform any torque adjustment, thus avoiding control oscillations introduced by misjudgment.
[0041] In this way, the method acts like a "filter" for the control system, intelligently ignoring the "internal noise" (mechanical vibration) generated by the robot's own movement and responding only to "external signals" (real load changes). This allows the robot to respond quickly and move smoothly when grasping heavy objects, while remaining stable during high-speed, unloaded movement, preventing unnecessary shaking due to its own vibration. This significantly improves operational quality and protects core transmission components.
[0042] In one specific implementation, the input electrical parameters include the motor's current and voltage; The steps for determining the energy input value from the motor to the actuator based on the input electrical parameters include: The total output energy of the motor is calculated based on the current and voltage, and the total output energy is used as the energy characterization value.
[0043] Specifically, this is a very straightforward and engineering-easy-to-implement calculation method. Modern robot servo drives are typically able to monitor and provide the three-phase currents (Ia, Ib, Ic) and DC bus voltage (Udc) output to the motor in real time. For permanent magnet synchronous motors, the output electromagnetic torque is approximately proportional to the q-axis current (Iq), while the motor's mechanical power is approximately equal to the electromagnetic torque multiplied by the mechanical angular velocity. More directly, the input electrical power can be calculated as the product of voltage and current. Within a control cycle (e.g., 1 millisecond), the input energy can be approximated as the average input electrical power within that cycle multiplied by the cycle duration. For example, the increment of the energy characterization value dE_in ≈ (Ua*Ia + Ub*Ib + Uc*Ic)*dt, where Ua, Ub, and Uc are the instantaneous phase voltages of the motor's three-phase windings, Ia, Ib, and Ic are the instantaneous phase currents of the motor's three-phase windings, Ua*Ia + Ub*Ib + Uc*Ic represents the instantaneous total three-phase input power of the motor, and dt is the duration of the current control cycle. By accumulating this increment in each control cycle, the total energy characterization value can be obtained. The advantage of this method is that the data source is reliable, no additional sensors are required, and it can very accurately reflect the electrical energy consumed by the motor, providing a solid foundation for energy balance analysis.
[0044] In another specific implementation, the motion state parameters include the angular velocity and angle of the actuator; The steps for determining the change in mechanical energy of the actuator during motion based on motion state parameters include: The kinetic energy increment and gravitational potential energy change of the actuator are calculated based on the angular velocity and angle, respectively, and the sum of the kinetic energy increment and gravitational potential energy change is taken as the mechanical energy change.
[0045] This provides a clear physical model for calculating mechanical energy. For a robot actuator consisting of multiple links, its total mechanical energy is the sum of the kinetic and potential energies of all the links.
[0046] Kinetic energy calculation: For the i-th link, its kinetic energy includes translational kinetic energy and rotational kinetic energy. The total kinetic energy can be calculated using a complex dynamic Jacobian matrix, or simplified to a weighted sum of the rotational kinetic energies of each joint. For example, the kinetic energy increment of the j-th joint can be calculated as 0.5*Jj*(ωj_current^2-ωj_previous^2), where Jj is the equivalent moment of inertia of the joint, ωj is its angular velocity, ωj_current is the equivalent moment of inertia of the joint, and ωj_previous is the angular velocity of the joint in the previous control cycle. The sum of the kinetic energy increments of all joints is the total kinetic energy increment.
[0047] Calculation of gravitational potential energy: For the i-th link, its gravitational potential energy is mi*g*hi, where mi is its mass, g is the gravitational acceleration, and hi is the height of its center of mass relative to a reference plane. This height hi is a function of the joint angles (θ1, θ2, ..., θn) and can be accurately calculated using the robot's forward kinematics model. The change in gravitational potential energy is the difference between the total potential energy in the current cycle and the total potential energy in the previous cycle.
[0048] Adding the calculated total kinetic energy increment to the total gravitational potential energy change yields the total mechanical energy change during that control cycle. This calculation method, based on a precise robot dynamics model, ensures the accuracy of the right-hand side of the energy balance equation.
[0049] In a further embodiment, the step of calculating the energy balance deviation between the energy characterization value and the change in mechanical energy includes: Obtain the pose configuration parameters of the actuator in the current motion trajectory. The pose configuration parameters include the instantaneous angle combination of each joint. Based on the pose configuration parameters, a preset gravity-induced loss model is retrieved to obtain the lateral pressure increment of the transmission pair caused by gravity in the current pose of the actuator. The corresponding internal friction dissipation correction value is calculated based on the lateral pressure increment; The energy characterization value is subtracted using the internal friction dissipation correction value, and the difference between the processed energy characterization value and the change in mechanical energy is calculated to obtain the energy balance deviation, so as to eliminate the interference of internal energy dissipation fluctuations caused by pose changes on load identification.
[0050] This step aims to address a deeper issue: the robot's internal friction is not a constant value; it varies with the robot's posture. For example, when the robot's arm is extended horizontally, its own weight exerts a significant lateral pressure on the reducer gears of the shoulder joint, resulting in a substantial increase in meshing friction. Conversely, when the arm is vertically extended, this lateral pressure is almost zero, and friction decreases accordingly. If this variation is ignored, when the robot moves from a vertical to a horizontal posture, the increased frictional energy dissipation might be mistakenly interpreted by the energy balance system as external resistance, leading to misjudgment.
[0051] To address this issue, a gravity-induced loss model can be pre-established. The process for building this model is as follows: In offline mode, the robot is slowly moved to a series of different posture points within its workspace without external load. At each posture point, the system calculates the energy balance deviation using the aforementioned method. Since there is no external load, this energy balance deviation primarily reflects the internal friction loss under that posture. By collecting a large number of posture points (i.e., combinations of joint angles) and their corresponding friction loss values, a mapping table or a polynomial function can be fitted to form the gravity-induced loss model.
[0052] For example, a simplified model could be: Friction dissipation correction value = k1*|cos(θ2)|+k2*|cos(θ3)|+..., where θi is the angle of each joint and ki is the coefficient to be calibrated.
[0053] During actual robot operation, the control system acquires the current joint angle combination, i.e., pose configuration parameters, in each cycle. Then, using these parameters, it queries or calculates the gravity-induced loss model to obtain the expected internal friction dissipation correction value for the current posture. Before calculating the final energy balance deviation, this correction value is subtracted from the energy characterization value. That is, the corrected energy balance deviation = (energy characterization value - internal friction dissipation correction value) - change in mechanical energy.
[0054] Through this pre-compensation, frictional fluctuations caused by changes in the robot's own posture are "eliminated" in advance, so that the final energy balance deviation can more purely reflect the changes caused by external loads, greatly improving the accuracy and robustness of load identification.
[0055] In a preferred embodiment, the step of accumulating the energy balance deviation within a preset time window to obtain the accumulated deviation value includes: The energy balance deviation is integrated over time within the time window to obtain the integral value as the cumulative deviation value.
[0056] This is a concretization of the concept of "cumulative calculation." In digital control systems, time integration is usually achieved through discrete summation. Assuming the control system has a period of Δt, and the energy balance deviation has a series of sampled values e_1, e_2, ..., e_N within a time window (length T = N * Δt), then the cumulative deviation value (integral value) obtained at the end of the window can be calculated as: Integral value = Σ(e_i * Δt), where i ranges from 1 to N.
[0057] Defining the accumulation operation as time integration has clear physical and mathematical significance. From a signal processing perspective, integration is a low-pass filter. For high-frequency vibration signals with a zero mean, integration significantly attenuates them, bringing the integration result close to zero. However, for load signals with a DC component (i.e., a non-zero mean), integration amplifies them. Therefore, using time integration is an effective and standard engineering approach to achieving the core objective of distinguishing between vibration and load.
[0058] Based on the above embodiments, the present invention also provides some further preferred embodiments, which aim to refine the load state determination logic and control adjustment strategy, and introduce adaptive capability to long-term system changes.
[0059] As a preferred implementation, the step of identifying the evolution characteristics of the cumulative deviation value within a time window and determining the current state of the actuator based on the evolution characteristics includes: Extract the absolute value of the cumulative deviation at the end of the time window as the final absolute value; Based on the changes in the cumulative deviation value within the time window, identify the evolution trend type of the cumulative deviation value; the evolution trend types include unidirectional evolution trend and non-unidirectional evolution trend, and unidirectional evolution trend includes unidirectional increasing trend and unidirectional decreasing trend; If the final absolute value is less than the preset first threshold, the actuator is determined to be in an internal vibration state. If the final absolute value exceeds the preset second threshold and the evolution trend of the cumulative deviation value is a unidirectional evolution trend, then the actuator is determined to be in an external load change state.
[0060] This step provides a specific and operable set of quantitative standards for the aforementioned state determination process. It decomposes the abstract "evolutionary characteristics" into two clear indicators: the terminal absolute value and the evolutionary trend type, and establishes clear discrimination rules based on these two indicators.
[0061] In practical implementation, the control system needs to pre-set two key thresholds: a first threshold and a second threshold. These thresholds are typically set based on experimental calibration. For example, in a foundry application scenario, the robot can be allowed to run at different speeds and postures under no-load conditions, and the maximum fluctuation range of the cumulative deviation value within a 100-millisecond time window can be recorded. Assuming the experiment shows that regardless of the movement, as long as there is no external contact, the final absolute value of the cumulative deviation will never exceed 0.5 joules, then the first threshold can be set to 0.5 joules or slightly higher, such as 0.6 joules. Any cumulative deviation below this value is considered inherent noise or slight vibration of the system.
[0062] The robot is then repeatedly subjected to the action of grasping the casting, and typical values of the cumulative deviation are recorded as the load changes. Assuming the results show that the cumulative deviation caused by grasping a standard casting is typically above 10 joules, the second threshold can be set to a value significantly lower than 10 joules but much higher than the first threshold, such as 5 joules.
[0063] The type of evolution trend can be identified by sampling the cumulative deviation value multiple times within a time window. For example, within a 100-millisecond window, the system can record the cumulative deviation value at four time points: 25, 50, 75, and 100 milliseconds. If these four values show a monotonically increasing (e.g., 1.5J, 3.2J, 4.8J, 6.1J) or monotonically decreasing trend, it is determined to be a unidirectional evolution trend. If the value fluctuates (e.g., 0.1J, -0.05J, 0.12J, 0.08J), it is determined to be a non-unidirectional evolution trend.
[0064] In summary, the decision-making logic is as follows: When a time window ends, the system checks the final absolute value of the accumulated deviation. If it is less than 0.6 joules, it is directly determined to be internal vibration, and no action is taken. If it is greater than 5 joules, the system further examines its evolution trend. If it is a unidirectional evolution, it is confirmed as an external load change, and torque compensation is prepared. If it is a non-unidirectional evolution (for example, the robot end effector bounces off a rapidly colliding object), even if its peak value is large, it may not be determined as a load change requiring continuous compensation. By setting a "dead zone" between the first and second thresholds, frequent switching of control logic near the critical state can be effectively avoided.
[0065] After determining that there is an external load change, the steps for adjusting the output torque control parameters of the actuator based on the evolution characteristics, only when the current state is determined to be an external load change state, include: If the evolution trend is a unidirectional increasing trend, a positive torque compensation command is generated to overcome the resistance; if the evolution trend is a unidirectional decreasing trend, a negative torque compensation command is generated to adapt to the assist. Based on the final absolute value of the cumulative deviation, the degree of change in the external load is quantified, and based on the preset mapping relationship or control algorithm, the specific torque compensation amount or control parameter adjustment amount is calculated.
[0066] Based on the torque compensation amount or control parameter adjustment amount, and in conjunction with the generated positive torque compensation command or negative torque compensation command, the output torque control parameters of the actuator are updated in real time.
[0067] This step details how the identified load information is transformed into specific control actions, achieving a closed loop from "perception" to "action".
[0068] The direction of compensation is intuitive: a unidirectional increase in the cumulative deviation value means that the energy input to the system is greater than the increase in its mechanical energy, indicating that additional energy is being used to overcome external resistance (such as lifting a heavy object), thus requiring an increase in positive torque. Conversely, a unidirectional decrease means that the energy input to the system is less than the increase in its mechanical energy, indicating that external assistance is helping the robot move (such as lowering a heavy object down a slope), in which case a reverse braking torque (i.e., negative torque compensation) needs to be applied to maintain smooth movement.
[0069] There are several ways to calculate the compensation amplitude. A simple approach is to establish a linear mapping relationship: Torque Compensation Amount = Kp * Terminal Absolute Value. Here, Kp is a proportional gain coefficient that needs to be calibrated based on the robot's load capacity and response characteristics. For example, if Kp = 0.2 Nm / J, when the detected terminal absolute value is 15 J, the system will add an additional 3 Nm of compensation torque to the original torque command.
[0070] A more refined control algorithm employs a PI (proportional-integral) controller that operates on the energy balance deviation. The instantaneous energy balance deviation can be used as the input error of the PI controller, and the controller's output becomes the torque compensation. This approach not only provides proportional compensation based on load size but also gradually eliminates steady-state energy deviations caused by model inaccuracies or continuous loads through the integral term, resulting in more accurate torque compensation.
[0071] Ultimately, the calculated torque compensation is superimposed on the original torque command of the robot motion controller in real time, thereby achieving smooth and rapid compensation for external loads.
[0072] Furthermore, to address the thermal effects generated by robots during prolonged operation, this invention also provides a mechanism for identifying and compensating for internal thermal drift. The method further includes: Identify a reference motion interval within the operating cycle of the actuator. The reference motion interval is the segment of operation in which the actuator moves at a constant speed and performs a no-load grasping and releasing action. The energy balance deviation is obtained within the reference action range and used as the thermal offset. By performing trend smoothing filtering on the hot-state offsets of multiple consecutive operating cycles, the offset evolution trend can be obtained. If the offset evolution trend is a unidirectional linear change that is positively correlated with temperature change, it is determined that the actuator has experienced internal thermal drift.
[0073] This solution aims to address a long-standing problem in precision control: system parameters drift slowly with temperature changes. In robotics, this is most evident in the frictional characteristics of reducers and joint bearings. When a robot is first powered on (cold state), the grease is more viscous, resulting in higher friction; after several hours of continuous operation (hot state), the temperature rises, the grease thins, and friction decreases. This change in friction is reflected in the baseline of the energy balance deviation, and if left unaddressed, the system may mistakenly interpret it as a persistent, minor external load.
[0074] To this end, the method first defines a "reference motion range". This is typically a fixed, repetitive, and unloaded segment of motion within each work cycle of the robot. In the example of the foundry, the trajectory of the robot returning unloaded to the die-casting machine's waiting position after placing the casting on the cooling zone has a fixed velocity profile and no load interaction, making it an ideal reference motion range.
[0075] In each work cycle, when the robot performs this reference action, the system continuously calculates the energy balance deviation and takes its average value within that range. This value is recorded as the "thermal offset" for the current cycle. Theoretically, if the system model is perfect and there is no temperature influence, this value should always be zero.
[0076] Next, the system performs trend analysis on the thermal offset sequence recorded over multiple consecutive work cycles (e.g., 100 consecutive cycles). To eliminate random noise from a single measurement, a smoothing filtering algorithm, such as a moving average filter or an exponentially weighted moving average, is typically used. If the filtered data sequence exhibits a slow, unidirectional, and approximately linear trend (e.g., the thermal offset slowly increases from -0.5J to -0.1J in the first hour after power-on), and this trend is positively correlated with the readings of temperature sensors installed near the robot's joints, then the system can determine that internal thermal drift has occurred.
[0077] After determining that an internal thermal drift has occurred, the method further includes: Generate compensation correction values based on the offset evolution trend; The compensation correction value is added to the calculation item of the energy characterization value to correct the calculation basis of the energy balance deviation; The calculation basis for correcting the energy balance deviation includes: dynamically adjusting the internal friction dissipation correction value of the actuator according to the deviation evolution trend, so that the energy balance deviation returns to zero.
[0078] This step provides a closed-loop compensation method for thermal drift, enabling the system to self-calibrate.
[0079] Once the system confirms the existence and variation of thermal drift based on the drift evolution trend (for example, the thermal drift increases by 0.1 J for every 10 degrees Celsius increase in temperature), it can generate a compensation correction value that is equal in magnitude but opposite in sign to the drift.
[0080] The most direct compensation method is to apply this compensation correction value to the calculation of the aforementioned "internal friction dissipation correction value". In this embodiment, the internal friction dissipation correction value is obtained by querying a pose-based gravity-induced loss model. This model can now be dynamically adjusted. The adjusted internal friction dissipation correction value = model output value + thermal drift compensation value.
[0081] For example, if the system detects a current thermal offset of -0.2J (meaning that the actual friction is less than the model prediction, resulting in "excess" energy), then the compensation correction value is +0.2J. When calculating the final energy balance deviation, the system will deduct 0.2J more energy from the energy characterization value, which is equivalent to dynamically lowering the system's estimate of internal friction to match the actual situation under thermal conditions.
[0082] In this way, thermal drift is compensated for in real time, and the calculation benchmark for energy balance deviation is dynamically pulled back to zero. This ensures that the robot's ability to identify external loads remains consistent and accurate regardless of whether it is operating in a cold or hot state, greatly improving the stability and reliability of the entire control system in all-weather, long-term working environments.
[0083] Secondly, see Figure 2 The present invention also provides a torque adaptive control system for robot transmission components. This system can be a software functional module integrated into the robot's main controller, or it can be a separate hardware coprocessor. The system includes: The energy acquisition module 210 is used to acquire the input electrical parameters of the robot's motor and the motion state parameters of the actuator, determine the energy characterization value input by the motor to the actuator based on the input electrical parameters, and determine the change in mechanical energy of the actuator during the motion process based on the motion state parameters. Deviation calculation module 220 is used to calculate the energy balance deviation between the energy characterization value and the change in mechanical energy; The cumulative calculation module 230 is used to perform cumulative calculation on the energy balance deviation within a preset time window to obtain the cumulative deviation value; wherein, the length of the time window is set based on the inherent vibration period of the actuator, so as to use the integral effect to offset the energy reciprocating exchange interference inside the actuator; The identification and determination module 240 is used to identify the evolution characteristics of the cumulative deviation value within a time window and determine the current state of the actuator based on the evolution characteristics. The evolution characteristics include the final absolute value of the cumulative deviation value and the evolution trend type. The current state includes the external load change state and the internal vibration state. The control adjustment module 250 is used to adjust the output torque control parameters of the actuator based on the evolution characteristics only when the current state is determined to be an external load change state, so as to compensate for the influence of the external load on the actuator.
[0084] This system provides a complete hardware or software implementation architecture for the aforementioned methods.
[0085] In hardware implementation, the energy acquisition module 210 can be a unit containing a high-speed data acquisition card and corresponding interface circuitry, directly connected via physical lines to the current and voltage monitoring ports of the robot servo drive and the signal output terminals of each joint encoder. In software implementation, it can be a driver or service process within the robot controller's operating system, acquiring the necessary electrical and motion parameters by reading shared memory or monitoring data packets on industrial buses (such as EtherCAT or CANopen). This module also incorporates the aforementioned energy calculation algorithm, capable of converting raw voltage, current, angle, and angular velocity data into two core observables in real time: energy representation values and changes in mechanical energy.
[0086] The deviation calculation module 220 receives two energy values from the energy acquisition module 210 and performs a subtraction operation to obtain the instantaneous energy balance deviation. In a preferred embodiment, this module also interacts with a database or function library storing a gravity-induced loss model. Before calculating the deviation, it pre-compensates the energy characterization value based on the current robot pose to eliminate friction fluctuations caused by posture changes.
[0087] The cumulative calculation module 230 internally maintains a buffer to store the energy balance deviation sequence within a time window. The core function of this module is an integrator; in each control cycle, it accumulates the new energy balance deviation value into the integration register. The length parameter of the time window is configurable and is set during system initialization based on the robot's model and characteristics.
[0088] The identification and judgment module 240 is activated at the end of each time window to analyze the cumulative deviation value output by the cumulative calculation module 230. This module internally implements the aforementioned judgment logic, including extracting the final absolute value, identifying the evolution trend, and comparing it with preset first and second thresholds. Its output is a clear status flag indicating whether the current state is "internal vibration state" or "external load change state".
[0089] The control adjustment module 250 only operates when it receives an "external load change status" signal from the identification and judgment module 240. Based on the specific characteristics (direction and magnitude) of the accumulated deviation value, it calculates the specific torque compensation amount through a preset mapping relationship or control algorithm (such as a PI controller). Then, this module sends this compensation amount to the robot's underlying motion controller to update and superimpose the original torque commands in real time.
[0090] In summary, this system reconstructs the load perception problem from an energy perspective, constructs robust decision logic using physical laws (energy conservation) and system characteristics (natural frequency), and ultimately achieves a torque adaptive control solution that is clear in principle, has strong anti-interference capabilities, and can effectively protect transmission components.
[0091] The above description is merely an embodiment of the present invention and is not intended to limit the scope of protection of the present invention. For those skilled in the art, the present invention can have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for adaptive torque control of a robot transmission component, used for load compensation control of the robot's actuator, characterized in that, The method includes: The input electrical parameters of the robot's motor and the motion state parameters of the actuator are obtained. The energy characterization value input by the motor to the actuator is determined based on the input electrical parameters. At the same time, the change in mechanical energy of the actuator during the motion process is determined based on the motion state parameters. Calculate the energy balance deviation between the energy characterization value and the change in mechanical energy; The energy balance deviation is accumulated within a preset time window to obtain the accumulated deviation value; wherein, the length of the time window is set based on the inherent vibration period of the actuator, so as to use the integral effect to cancel the energy reciprocating exchange interference inside the actuator; Identify the evolution characteristics of the cumulative deviation value within the time window, and determine the current state of the actuator based on the evolution characteristics. The evolution characteristics include the final absolute value of the cumulative deviation value and the evolution trend type. The current state includes the external load change state and the internal vibration state. Only when the current state is determined to be the external load change state, the output torque control parameters of the actuator are adjusted based on the evolution characteristics to compensate for the influence of the external load on the actuator.
2. The method for adaptive torque control of a robot transmission component according to claim 1, characterized in that, The input electrical parameters include the current and voltage of the motor; The step of determining the energy characterization value input by the motor to the actuator based on the input electrical parameters includes: The total output energy of the motor is calculated based on the current and voltage, and the total output energy is used as the energy characterization value.
3. The method for adaptive torque control of a robot transmission component according to claim 1, characterized in that, The motion state parameters include the angular velocity and angle of the actuator; The step of determining the change in mechanical energy of the actuator during motion based on the motion state parameters includes: The kinetic energy increment and gravitational potential energy change of the actuator are calculated based on the angular velocity and angle, respectively, and the sum of the kinetic energy increment and the gravitational potential energy change is taken as the mechanical energy change.
4. The adaptive torque control method for a robot transmission component according to claim 1, characterized in that, The step of calculating the energy balance deviation between the energy characterization value and the change in mechanical energy includes: Obtain the pose configuration parameters of the actuator in the current motion trajectory, the pose configuration parameters including the instantaneous angle combination of each joint; Based on the posture configuration parameters, a preset gravity-induced loss model is retrieved to obtain the lateral pressure increment of the transmission pair caused by gravity in the current posture of the actuator. The corresponding internal friction dissipation correction value is calculated based on the lateral pressure increment; The energy characterization value is subtracted using the internal friction dissipation correction value, and the difference between the processed energy characterization value and the mechanical energy change is calculated to obtain the energy balance deviation, so as to eliminate the interference of internal energy dissipation fluctuations caused by pose changes on load identification.
5. The method for adaptive torque control of a robot transmission component according to claim 1, characterized in that, The step of accumulating the energy balance deviation within a preset time window to obtain the accumulated deviation value includes: The energy balance deviation is integrated over time within the time window to obtain the integral value as the cumulative deviation value.
6. The method for adaptive torque control of a robot transmission component according to claim 5, characterized in that, The step of identifying the evolution characteristics of the cumulative deviation value within the time window and determining the current state of the actuator based on the evolution characteristics includes: The absolute value of the cumulative deviation value at the end of the time window is extracted as the final absolute value; Based on the changes in the cumulative deviation value within the time window, the evolution trend type of the cumulative deviation value is identified; the evolution trend type includes unidirectional evolution trend and non-unidirectional evolution trend, and the unidirectional evolution trend includes unidirectional increasing trend and unidirectional decreasing trend; If the final absolute value is less than a preset first threshold, the actuator is determined to be in an internal vibration state. If the final absolute value exceeds a preset second threshold and the evolution trend of the cumulative deviation value is a unidirectional evolution trend, then the actuator is determined to be in an external load change state.
7. The adaptive torque control method for a robot transmission component according to claim 6, characterized in that, The step of adjusting the output torque control parameters of the actuator based on the evolution characteristics only when the current state is determined to be the external load change state includes: If the evolution trend is a unidirectional increasing trend, a positive torque compensation command is generated to overcome the resistance; if the evolution trend is a unidirectional decreasing trend, a negative torque compensation command is generated to adapt to the assist. Based on the final absolute value of the accumulated deviation, the degree of change in the external load is quantified, and based on the preset mapping relationship or control algorithm, the specific torque compensation amount or control parameter adjustment amount is calculated. Based on the torque compensation amount or the control parameter adjustment amount, and in conjunction with the generated positive torque compensation command or negative torque compensation command, the output torque control parameters of the actuator are updated in real time.
8. The method for adaptive torque control of a robot transmission component according to claim 1, characterized in that, The method also includes: A reference action interval is identified in the working cycle of the actuator. The reference action interval is a segment of the actuator with a constant movement speed and no load gripping and releasing action. The energy balance deviation is obtained within the reference action range and is used as the thermal offset. The hot-state offset is subjected to trend smoothing filtering for multiple consecutive operating cycles to obtain the offset evolution trend; If the offset evolution trend is a unidirectional linear change that is positively correlated with temperature change, it is determined that the actuator has experienced internal thermal drift.
9. The method for adaptive torque control of a robot transmission component according to claim 8, characterized in that, After determining that the actuator has experienced internal thermal drift, the method further includes: A compensation correction value is generated based on the aforementioned offset evolution trend; The compensation correction value is added to the calculation item of the energy characterization value to correct the calculation basis of the energy balance deviation; The calculation basis for correcting the energy balance deviation includes: dynamically adjusting the internal friction dissipation correction value of the actuator according to the deviation evolution trend, so that the energy balance deviation returns to zero.
10. A torque adaptive control system for a robot transmission component, used to execute the steps of the method according to any one of claims 1 to 9, characterized in that, include: An energy acquisition module is used to acquire the input electrical parameters of the robot's motor and the motion state parameters of the actuator, determine the energy characterization value input by the motor to the actuator based on the input electrical parameters, and determine the change in mechanical energy of the actuator during the motion process based on the motion state parameters. The deviation calculation module is used to calculate the energy balance deviation between the energy characterization value and the change in mechanical energy. The cumulative calculation module is used to perform cumulative calculation on the energy balance deviation within a preset time window to obtain the cumulative deviation value; wherein, the length of the time window is set based on the inherent vibration period of the actuator, so as to use the integral effect to cancel the energy reciprocating exchange interference inside the actuator; The identification and determination module is used to identify the evolution characteristics of the cumulative deviation value within the time window, and determine the current state of the actuator based on the evolution characteristics. The evolution characteristics include the final absolute value of the cumulative deviation value and the evolution trend type. The current state includes the external load change state and the internal vibration state. The control adjustment module is used to adjust the output torque control parameters of the actuator based on the evolution characteristics only when the current state is determined to be the external load change state, so as to compensate for the influence of the external load on the actuator.
Citation Information
Patent Citations
Industrial robot control system and method
CN120255424A
Balance control algorithm for gravity center trajectory planning and real-time tracking of humanoid robot
CN121403379A