Method for determining a torque of a robot manipulator at a gearbox

The method uses encoders to compensate for ripples and apply stiffness models to accurately determine torque in robot manipulators, addressing cost and accuracy issues in existing methods.

WO2026153638A1PCT designated stage Publication Date: 2026-07-23ABB (SCHWEIZ) AG
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ABB (SCHWEIZ) AG
Filing Date
2025-01-15
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Existing methods for determining torque in robot manipulators at a gearbox face challenges such as high costs, reliability issues, and inaccuracies due to encoder measurement errors and mechanical imperfections, particularly when external disturbances are present.

Method used

A method involving the use of first and second encoders to measure input and output positions, compensating for ripples in the output encoder data, applying linear and non-linear stiffness models to determine torque based on deflection data, and incorporating calibration models to account for mechanical characteristics.

Benefits of technology

Enables accurate and cost-effective torque estimation in robot manipulators, improving precision and reliability by compensating for encoder disturbances and mechanical errors, suitable for various joint axes and robotic configurations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025050910_23072026_PF_FP_ABST
    Figure EP2025050910_23072026_PF_FP_ABST
Patent Text Reader

Abstract

The disclosure relates to a method (100) for determining a torque of a robot manipulator (10) at a gearbox (12), the method (100) comprising: (102) obtaining first measurement data from a first encoder (21), the first measurement data being indicative of a position of a driving element at an input side of the gearbox (12); (S103) obtaining second measurement data from a second encoder (22), the second measurement data being indicative of a position of the robot manipulator (10) at an output side of the gearbox (12); (S104) identifying and compensating ripples in the second measurement data to generate corrected second measurement data; (S105) determining deflection data based on the first measurement data and the corrected second measurement data, wherein the deflection data is indicative of a relative displacement between the first encoder (21) and the second encoder (22); (S106) applying a first calibration model to the deflection data, wherein the first calibration model uses a linear stiffness model; and (S107) determining the torque of the robot manipulator (10) based on the calibrated deflection data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] ABB Schweiz AG A 19384 WO

[0002] METHOD FOR DETERMINING A TORQUE OF A ROBOT MANIPULATOR AT A GEARBOX

[0003] TECHNICAL FIELD

[0004] The present invention relates to a method for determining a torque of a robot manipulator at a gearbox.

[0005] BACKGROUND

[0006] The torque at an output side of a gearbox in a robot manipulator is a critical quantity for various motion control functionalities. These functionalities include torque-based control strategies such as impedance control, force control, and force supervision, which rely on precise torque estimation for achieving accurate and smooth robotic movement. Accurate torque estimation is also important for detecting external forces acting on the manipulator, ensuring safe human-robot collaboration and efficient operation in industrial applications. Conventionally, dedicated joint torque sensors are employed to measure torque at the gearbox output. While effective, these sensors present several challenges such as, high costs, reliability issues, and a complex integration process.

[0007] An alternative to using dedicated torque sensors is model-based torque sensing (MTS), where torque is estimated indirectly. In such approaches, encoder measurements from the gearbox input and output are used to infer the torque through a stiffness-based model of the gearbox. However, such methods are subject to several technical challenges. One major issue is measurement errors in the encoder data, particularly on the output side, where disturbances can compromise the accuracy of torque estimation. Additionally, transmission errors caused by e.g., mechanical imperfections in the gearbox, such as backlash, hysteresis, or general transmission deviations, introduce further discrepancies between the input and output measurements. Further, accurate torque estimation presents significant challenges, especially when external disturbances affect the measurements. When working with a fully assembled manipulator, factors such as hysteresis or lost motion can introduce dynamic effects that distort the results, making it difficult to achieve reliable and accurate torque determination.P240673W001 - 2 - 15 January 2025

[0008] These challenges highlight the necessity for a robust and cost-effective method to accurately determine the gearbox torque of a robot manipulator.

[0009] SUMMARY

[0010] The above problem or need is at least partially solved or alleviated by the subject matters of the independent claims of the present disclosure, wherein further examples are incorporated in the dependent claims.

[0011] According to a first aspect of the present disclosure, there is provided a method for determining a torque of a robot manipulator at a gearbox the method comprising:

[0012] - obtaining first measurement data from a first encoder, the first measurement data being indicative of a position of a driving element at an input side of the gearbox;

[0013] - obtaining second measurement data from a second encoder, the second measurement data being indicative of a position of the robot manipulator at an output side of the gearbox;

[0014] - identifying and compensating ripples or a ripple pattern in the second measurement data to generate corrected second measurement data;

[0015] - determining deflection data based on the first measurement data and the corrected second measurement data, wherein the deflection data is indicative of a relative displacement between the first encoder and the second encoder; and - applying a first calibration model to the deflection data, wherein the first calibration model uses a linear stiffness model;

[0016] - determining the torque of the robot manipulator based on the calibrated deflection data.

[0017] The torque of a robot manipulator at a gearbox may refer to a mechanical force or rotational effect transmitted to the output side of the gearbox. This torque may arise due to the interaction between the input side of the gearbox (driven by the driving element e.g., motor) and the output side (e.g., connected to the robot manipulator). The method may be applicable to various joint axes or robot types, enabling accurate torque estimation across different robotic configurations, for example.P240673W001 - 3 - 15 January 2025

[0018] The first encoder may be a sensor that measures the position of the driving element (e.g., motor shaft) on the input side of the gearbox, for example. The first measurement data may represent the angular position or motion of the input-side element, which may serve as a reference for determining gearbox deflection.

[0019] The second encoder may be a sensor that measures the position of the robot manipulator at the output side of the gearbox, for example. The second measurement data may provide the angular position or motion of the output-side element, which may be important for calculating the relative displacement, e.g., deflection, between the input and output sides.

[0020] Ripples or a ripple pattern may refer to periodic disturbances or systematic errors in the measurement data of the second encoder. A ripple pattern, in this context, may refer to a structured, repetitive nature of these disturbances across a range of motion or during continuous operation, for example. These disturbances may arise due to encoder imperfections, mechanical inaccuracies, or repetitive motion effects, for example.

[0021] Identifying may involve analyzing the second encoder data to detect primary characteristics of the ripples or the ripple pattern, for example. Compensating may mean correcting the second encoder data using a pre-determined compensation model, for example.

[0022] The deflection data may represent a relative displacement or elastic deformation of the gearbox, e.g., under load, calculated as the difference between the input and output positions. It may be formulated as:

[0023] x > a > a

[0024] 0 — t'input “output

[0025] where ©input is the position measured by the first encoder and 0output is the corrected position measured by the second encoder. The deflection data may reflect an elastic deformation of the gearbox under load, for example. This may be important for torque estimation.

[0026] The first measurement data may be obtained from the first encoder, which may be arranged at the input side of the gearbox. The first encoder may measure the angular position or motion of a driving element, such as a motor shaft, or another rotating component coupled to the gearbox input, which transmits rotational power into theP240673W001 - 4 - 15 January 2025

[0027] gearbox. The first measurement data may serve as a reference for determining the input-side motion of the gearbox. This data may be represented e.g., as high-resolution angular position values, which may be acquired continuously during the operation of the robot manipulator, for example. The first encoder may be an absolute encoder or an incremental encoder, for example. The first encoder data may reflect the position and rotational motion of the driving element as it transmits torque into the gearbox. This measurement may provide the basis for determining the gearbox deflection, which, in turn, may be used to infer the torque on the gearbox output.

[0028] The second encoder may be located on the output side of the gearbox and therefore measures the position of the robot manipulator or the output element that is mechanically coupled to the gearbox. The second encoder may continuously measure the angular position of the gearbox output. These measurements may be sampled at the same frequency as the input-side measurements to ensure temporal alignment. During obtaining the measurement data, these measurements may be affected by systematic disturbances such as ripples or ripple patterns caused by encoder imperfections (e.g., uneven magnetic or optical markings, or mounting errors, or similar), or mechanical transmission errors such as backlash or hysteresis in the gearbox, for example. These disturbances, if not addressed, may compromise the accuracy of the calculated deflection data and, consequently, the estimated torque. By identifying and compensating for these ripples or ripple patterns or disturbances, corrected second measurement data may be obtained that more accurately reflect the actual position of the robot manipulator. This correction step may ensure that subsequent calculations, particularly those related to the determination of deflection, are based on reliable and undistorted position measurements. Therefore, the corrected second measurement data may represent the position of the output-side element, obtained from the second encoder after the ripples or the ripple pattern has been compensated. The deflection data may be determined as the difference between the positions at the input and output sides. To align the input-side position with the outputside scale, a gear ratio (ig) of the gearbox may be applied. The resulting deflection 5 may be an angular displacement that indicates how much the gearbox has elastically deformed under load, for example. Therefore, the deflection data may represent the relative deformation of the gearbox caused by torque transmission, for example.P240673W001 - 5 - 15 January 2025

[0029] A first calibration model may be applied to the deflection data, wherein the calibration model uses a linear stiffness model. This may establish a direct relationship between the deflection data and the torque acting on the gearbox output, based on the linear mechanical behavior of the gearbox under load. The linear stiffness model may assume that the torque T is proportional to the deflection 5, following Hooke’s Law-like behavior:

[0030]

[0031] where:

[0032] T: The estimated torque acting at the gearbox output.

[0033] k-r: The linear stiffness coefficient of the gearbox, which describes the gearbox’s resistance to deformation under load.

[0034] 5: The deflection data, determined as the relative displacement between the input-side and output-side positions.

[0035] The stiffness coefficient (k-r) may be determined during an offline calibration process under controlled conditions. This may mean under conditions where known torques are applied to the gearbox, and corresponding deflections are measured. This may mean known torques may be applied to the gearbox while simultaneously measuring the corresponding deflection values, for example. By plotting torque versus deflection, a linear fit may be applied to determine the stiffness coefficient k-r. Once calibrated, the stiffness coefficient may be used during runtime to calculate the torque based on the measured deflection data, for example. By applying the first calibration model to the deflection data, an initial estimation of the torque transmitted through the gearbox may be determined. The torque of the robot manipulator may be determined at the gearbox output by applying the calibrated deflection data to the linear stiffness model.

[0036] The method of the first aspect may in particular be an at least partially or fully computer implemented method. This means that at least one, multiple or all of the steps of the method may be carried out by a data processing system, which may comprise one or more data processing apparatuses, which may be in the form of computers or computing units, which may comprise one or more processors and data storages or memories. Different steps may be carried out by the same or by different data processing apparatuses of the data processing system.P240673W001 - 6 - 15 January 2025

[0037] In an example, the method may further comprise applying a second calibration model to the deflection data, wherein the second calibration model uses a non-linear stiffness model. It has been observed that gearboxes often do not exhibit perfectly linear stiffness behavior. Instead, their mechanical characteristics can become non-linear due to factors such as material deformation, gearbox play or backlash, or other torque transmission effects. As a result, the relationship between torque T and deflection 5 can no longer be described accurately by a simple linear equation. A non-linear stiffness model may therefore be applied to improve the precision of the torque estimation. The second calibration model may provide a more sophisticated relationship between the deflection data 5 and the torque T, moving beyond the linear assumption used in the first calibration model. While the specific form of the non-linear model may vary, it generally takes into account non-linear stiffness effects that cannot be represented by a proportional relationship alone, for example. The torque estimation may be expressed as:

[0038]

[0039] where:

[0040] T: The estimated torque acting on the gearbox output.

[0041] 5: The deflection data (relative displacement between input and output positions), f: A non-linear function describing the stiffness characteristics of the gearbox, knoniinear: Non-linear calibration parameters obtained during a calibration phase.

[0042] This calibration function f may be designed to more accurately represent the actual relationship between torque and deflection, especially in regions where linear models may fail to capture the gearbox behavior.

[0043] The non-linear calibration model may require a dedicated calibration process to identify the non-linear parameters knOniinear. This may be a series of known torques are applied to the gearbox while simultaneously measuring the corresponding deflection values. The measured torque-deflection relationship may be analyzed to determine the form and parameters of the non-linear function f. This calibration process may be performed offline and stored for use during runtime.

[0044] In an example, the non-linear stiffness model may use a cubic model for higher-order effects. The non-linear stiffness model may build upon the linear model byP240673W001 - 7 - 15 January 2025

[0045] incorporating a cubic term, which accounts for higher-order effects in the gearbox stiffness that are not captured by a purely linear relationship.

[0046] The torque Tgmay be calculated as:

[0047] """"

[0048]

[0049] where:

[0050] Tg: The estimated gearbox torque,

[0051] k-r: Linear stiffness coefficient,

[0052] k3: Non-linear cubic stiffness coefficient,

[0053] qm: Input-side position, measured by the first encoder,

[0054] qa: Corrected output-side position, measured by the second encoder after ripple compensation,

[0055] ig: Gear ratio,

[0056] Ao: Offset between the input and output positions.

[0057] This cubic model may improve the accuracy of torque estimation by accounting for non-linear gearbox behavior, which may occur due to material deformations, backlash, and other mechanical effects at higher torque levels. Such non-linearity may lead to deviations from the proportional relationship between torque and deflection, particularly under high load conditions, making the cubic term important for precise modeling.

[0058] The calibration of the non-linear stiffness model may involve a two-step process:

[0059] 1. Linear Calibration: In the first step, the linear stiffness coefficient kTand the offset Ao are identified.

[0060] 2. Non-Linear Calibration: In the second step, the cubic coefficient k3may be determined alongside kTand Ao to minimize the error between measured torques and model predictions.

[0061] The calibration process may be performed offline using known torque-deflection, for example. A numerical optimization method, such as least-squares minimization, may be used to fit the torque-deflection data to the model. To ensure numerical stability, the optimization variables may be appropriately scaled, as the linear coefficient kTand the cubic coefficient k3can differ by several orders of magnitude. The resulting model mayP240673W001 - 8 - 15 January 2025

[0062] capture the non-linear stiffness characteristics of the gearbox with high precision. It may be robust against minor environmental variations, such as temperature changes, and provides a reliable torque estimation across a wide range of operating conditions. Hysteresis effects, which could distort the calibration, may be mitigated by using symmetric excitation patterns during the calibration phase.

[0063] Alternative approaches for modeling the gearbox stiffness may include piecewise linear models and smooth transition stiffness curves. In a piecewise linear model, the stiffness may be approximated by dividing the torque-deflection relationship into multiple linear segments, where each segment represents a specific range of deflection. While this approach can approximate non-linear behavior, it may introduce discontinuities at the boundaries of the segments, which can complicate real-time torque estimation and reduce computational efficiency.

[0064] Smooth transition stiffness curves, on the other hand, may aim to represent the nonlinear relationship continuously by using mathematical functions that transition smoothly between linear regions. These models may offer improved continuity but often involve complex mathematical formulations that can increase computational load, making them less suitable for real-time applications.

[0065] Through experimental evaluation, it was demonstrated that the linear + cubic model may achieve a superior balance between accuracy and computational efficiency. By incorporating a cubic term into the torque-deflection relationship, the model may effectively capture higher-order non-linear stiffness effects while maintaining a relatively simple mathematical form. This simplicity may ensure that the model can be implemented efficiently in real-time systems without significant computational overhead.

[0066] In an example, identifying and compensating the ripples or the ripple pattern in the second measurement data may comprise analyzing the second measurement data over a defined range of motion to detect periodic disturbances; identifying dominant frequencies of the periodic disturbances in the second measurement data by using a frequency-domain analysis; and determining ripples or the ripple pattern parameters, including amplitude, frequency, and phase, based on the analyzed second measurement data. To detect the ripples or the ripple pattern, the method may involveP240673W001 - 9 - 15 January 2025

[0067] analyzing the position data of the second encoder while the robot manipulator moves over a defined range of motion. The range of motion may include e.g. continuous or oscillatory movements over one or multiple output revolutions, ensuring that any periodic disturbances in the measurement data are observed and recorded. This controlled motion may allow to capture the full behavior of the second encoder under predictable and repeatable conditions. The analysis may focus on identifying any systematic, repetitive deviations from the expected position measurements. Once the second measurement data are collected, a frequency-domain analysis may be employed to identify the dominant frequencies of the periodic disturbances. To analyze periodic disturbances in the measurement data, a transformation, such as the Fast Fourier Transform (FFT), may be applied. The analysis may focus on spatial frequencies (position versus spatial frequency) rather than temporal frequencies, for example. If the data is collected at a constant speed, the FFT may be used directly, as constant speed ensures a proportional relationship between time and spatial position. Alternatively, preprocessing steps may be required to convert the position data into a spatial-frequency domain representation when speed is variable.. In the frequency domain, the ripples or the ripple pattern may e.g., appear as peaks at specific frequencies corresponding to periodic errors in the encoder data. By analyzing these peaks, the method identifies the dominant frequencies that characterize the ripples or the ripple pattern. This may help to distinguish the periodic disturbances from other non-periodic measurement noise or variations, for example. Based on the frequencydomain analysis, the ripples or the ripple pattern may be described as parameters such as but not limited to amplitude, frequency, or phase. Wherein amplitude may be the magnitude of the periodic disturbance, representing the maximum deviation caused by the ripple; frequency the rate at which the disturbance repeats, often corresponding to encoder resolution or mechanical imperfections in the gearbox; phase the position of the ripple disturbance relative to the motion cycle of the output-side element. Once the ripples or the ripple pattern parameters (amplitude, frequency, and phase) are determined, the compensation model may be generated and applied to the raw second encoder data. Therefore, the compensation model may reconstruct the periodic disturbance using the identified parameters and subtracts it from the raw encoder measurements. By removing the ripples or the ripple pattern, the corrected second measurement data may provide a more accurate representation of the position at the gearbox output. Using the stored ripple parameters, a pre-determined compensation curve may be generated that mathematically represents the periodic disturbances inP240673W001 - 10 - 15 January 2025

[0068] the second encoder data. The compensation curve may be represented as a Fourier series or another mathematical function that reconstructs the ripples or the ripple pattern based on the stored amplitude, frequency, and phase parameters. The predetermined compensation curve, which mathematically represents the ripples or the ripple pattern, may be retrieved from memory. This compensation curve may then be applied to the raw encoder data by subtracting the periodic disturbances described by the curve, thereby generating corrected second measurement data. These corrected data may serve as an accurate representation of the actual position at the gearbox output and are subsequently used in further steps, such as determining the deflection and estimating the torque transmitted through the gearbox.

[0069] In an example, the method may further comprise, storing the parameters and applying a pre-determined compensation curve during runtime. The ripples or the ripple pattern may be represented as a mathematical model (e.g., using Fourier series or other analytical methods). This model may generate a curve that describes the behavior of the ripples or the ripple pattern over time or motion cycles, for example. The compensation curve may be used during runtime to adjust the measurement data of the second encoder, effectively removing the systematic disturbances caused by ripple, for example. During the robot's operation, the stored compensation curve may be applied in real-time to correct the second encoder data. Thus, the runtime application of the pre-determined compensation curve may eliminate the ripples or the ripple pattern, ensuring the corrected second encoder data accurately reflects the output-side motion. By pre-determining and storing the ripple parameters, the runtime system may avoid performing complex frequency-domain analysis during operation. The predetermined compensation curve may ensure that periodic disturbances are reliably corrected in real time.

[0070] In an example, the ripples or the ripple pattern may be identified and compensated in an offline calibration stage. Offline calibration may refer to a process where the identification and compensation of the ripples or the ripple pattern in the second encoder's measurement data are performed prior to runtime. The calibration may be carried out under controlled conditions, e.g., during a setup or maintenance phase when the robot manipulator is not actively performing its operational tasks. During the offline calibration stage, the robot manipulator may be moved through a well-defined range of motion. This motion may include continuous rotations, oscillations, or otherP240673W001 - 11 - 15 January 2025

[0071] repetitive movements that allow the ripples or the ripple pattern to emerge clearly in the output-side encoder data. Unlike existing methods that require a full output rotation for calibration (as in prior art using a look-up table to represent the ripples or the ripple pattern), this approach does not necessitate traversing the full range of motion.

[0072] Instead, the ripples or the ripple pattern for the entire range can be determined based on a limited, well-defined motion during calibration. This flexibility may significantly simplify the calibration process and reduces time requirements. At this stage, the robot may operate under controlled conditions, free of external disturbances or dynamic loads.

[0073] The position measurements of the second encoder may be recorded throughout this motion to capture the ripples or the ripple pattern comprehensively. Therefore, the ripples or the ripple pattern, particularly arising from encoder errors, may be characterized thoroughly under controlled conditions, free of external influences such as dynamic loads or environmental noise. During system operation (runtime), the predetermined compensation model may be applied to the raw position data from the second encoder. By subtracting the identified ripples or the ripple pattern, corrected second measurement data may be generated. This correction may ensure that the torsional deflection of the gearbox is more accurately represented.. However, accurately determining the torsional deflection may require both the input-side position (from the first encoder) and the output-side position (from the second encoder).

[0074] Performing the identification and compensation offline may ensure that the correction process during runtime remains computationally efficient and does not impose significant delays.

[0075] In an example, identifying and compensating the ripples or the ripple pattern further comprises identifying and compensating higher-order harmonic components in the second measurement data. To further enhance the accuracy of ripple compensation, the method may comprise the identification and correction of higher-order harmonic components in the second encoder data, for example. These components may arise as periodic disturbances at frequencies that are integer multiples of the fundamental ripple frequency, reflecting more complex error patterns caused by encoder imperfections or mechanical interactions. By extending the frequency-domain analysis to detect and characterize these harmonics, their corresponding amplitudes and phases may be incorporated into the compensation model. Correcting both the ripple and its higher-P240673W001 - 12 - 15 January 2025

[0076] order harmonics may ensure a more precise adjustment of the second encoder data, particularly in systems where periodic disturbances exhibit complex behavior.

[0077] In an example, the method may further comprise applying a transmission error compensation to the deflection data before applying the first calibration model.

[0078] Transmission errors arise from mechanical imperfections in the gearbox, such as backlash, hysteresis, gear tooth imperfections, or similar. These errors may introduce high-frequency vibration effects in the deflection data, which can distort the estimation of torque if not corrected. High-frequency components are typically superimposed on the deflection signal and need to be separated and removed to ensure clean and accurate data. Therefore, a transmission error compensation process may be applied to the deflection data before applying the first calibration model. The deflection data may be analyzed to detect and isolate high-frequency components associated with transmission errors. High-frequency vibrations may be mitigated using signal processing techniques such as, but not limited to, pre-determined correction models derived during calibration, which compensate for known mechanical imperfections, or selective filtering techniques. For example, the calibrated ripples or the ripple pattern related to the transmission error may be removed from the raw deflection signal, similar to the approach used for secondary encoder ripple correction. This targeted approach may minimize the need for extensive low-pass filtering, preserving the high-frequency components essential for downstream control performance. The resulting deflection data may be free of transmission error effects and may serve as the input for the first calibration model. To ensure the accuracy of the compensation models over the operational lifespan of the robot manipulator, the method includes a periodic recalibration routine. This routine may address long-term deviations caused e.g. by mechanical wear, for example. During the recalibration routine the ripples or the ripple pattern and transmission error compensations may be re-analyzed and updated under controlled conditions, for example. The compensation models may be adjusted to reflect the current state of the gearbox and encoders, ensuring that systematic errors are minimized. The combination of transmission error compensation and periodic recalibration may ensure that the deflection data may remain accurate and reliable throughout the robot manipulator's operational lifespan. For example, during runtime, high-frequency vibrations detected in the deflection data may be mitigated by removing the calibrated ripples or the ripple pattern related to transmission errors. In another example, using filters such as a low-pass filter may be conceivable for removing theP240673W001 - 13 - 15 January 2025

[0079] calibrated ripples or the ripple pattern. Periodically (e.g., during maintenance), the robot manipulator may undergo a recalibration routine. The ripples or the ripple pattern and transmission error parameters may be re-measured and stored in updated compensation models. During subsequent operation, the updated models may be applied to correct the raw encoder data and deflection data, ensuring accurate torque estimation.

[0080] In an example, the transmission error may be pre-calibrated in an offline stage. The transmission error compensation process may be performed offline under controlled conditions, typically during system initialization, setup, or maintenance. The robot manipulator may be operated through a defined range of motion or specific load cycles under controlled conditions. During this motion, the deflection data (relative encoder positions) may be analyzed to identify high-frequency components and systematic deviations caused by transmission errors, for example. The observed transmission errors may be analyzed using methods such as frequency-domain analysis (e.g., Fourier analysis) or signal filtering techniques. A correction model may be generated to characterize and represent the transmission errors accurately. This model may e.g., involve low-pass filtering to remove high-frequency vibrations, or pre-defined mathematical correction curves to compensate for mechanical imperfections. The precalibrated correction model may be stored in a system memory. During runtime, the stored model may be applied to the deflection data to remove transmission error effects before further processing, such as torque calculation. Pre-calibrating the transmission error may ensure that real-time compensation does not impose a significant computational burden during operation, for example. For example, during the offline calibration stage, the robot manipulator may move through a defined range of motion. The measured deflection data may exhibit high-frequency vibrations and deviations caused by transmission errors. A Fourier analysis may reveal high-frequency components, which can either be modeled for compensation or removed using a low-pass filter, for example. The resulting transmission error compensation model may be stored and applied during runtime, ensuring the deflection data are free from high-frequency disturbances before further processing.

[0081] In an example, the method may further comprise adjusting an offset between the first encoder and the second encoder, wherein the adjustment of the offset comprises: performing an initial adjustment during system initialization, and / orP240673W001 - 14 - 15 January 2025

[0082] dynamically updating the offset during runtime when the robot manipulator is at a standstill and no external load is applied. Performing an initial adjustment of the offset between the first encoder and the second encoder may be conducted during system initialization, or similar, for example. This offset may represent a systematic deviation between the two encoder positions, which may arise from mechanical misalignments, manufacturing tolerances, or installation errors, for example. Properly calibrating this offset may be important for ensuring that the deflection data used for torque estimation are accurate from the start of operation.

[0083] The initial adjustment may involve e.g., measuring the relative positions of the inputside and output-side encoders under known conditions, such as when the robot manipulator is stationary with no external load applied. By aligning the encoder measurements to match the expected deflection based on the stiffness model, the offset may be accurately determined. This may ensure that any fixed discrepancies between the encoder signals may be compensated before the system begins normal operation. The offset value determined during system initialization may serve as the baseline for subsequent deflection calculations and torque estimation, for example.

[0084] Further, dynamically updating the offset between the first encoder (input side) and the second encoder (output side) during runtime may be applied. The dynamic update may occur under specific conditions where the robot manipulator is stationary (standstill) and no external load is applied, for example. This dynamic update may e.g., compensate for long-term deviations caused e.g. by mechanical wear, or other factors, for example.

[0085] When the robot manipulator is at a standstill and no external load is applied, the torque acting on the gearbox may be estimated using the motor current, for example. The motor current may be directly related to the torque required to hold the robot in its stationary position, making it a reliable reference torque, for example. The reference torque, along with the previously calibrated stiffness models (linear or non-linear), may be used to calculate the expected deflection. The offset Ao may be updated based on the difference between the actual encoder measurements and the expected deflection corresponding to the reference torque. This may ensure that the updated offset reflects the current mechanical state of the system, for example. The dynamic adjustment may be performed seamlessly during system operation.P240673W001 - 15 - 15 January 2025

[0086] By limiting the update to standstill conditions with no external loads and a precisely known payload, the adaptation may avoid introducing errors or disrupting the torque estimation process during motion or active load scenarios. This approach may leverage the dynamic manipulator model to calculate gravity loads at standstill, ensuring accurate offset calibration without being affected by friction model imperfections, for example. The updated offset may then be applied to correct the deflection data, ensuring consistent torque estimation accuracy.

[0087] Alternatively, the offset adjustment may be performed during motion by utilizing motor current measurements. This may allow calibration even under external loads, as the motor torque inherently counteracts these loads. However, this approach may be subject to inaccuracies due to friction model imperfections, especially at standstill.

[0088] In both approaches, dynamically updating the offset may correct for drift and inaccuracies that accumulate during long-term operation. The offset adjustment may be performed without interrupting the torque estimation process, ensuring smooth and continuous system operation. Further, by leveraging motor currents or pre-calibrated stiffness models, the dynamic offset adaptation may remain computationally efficient and avoid imposing significant processing delays.

[0089] In an example, the method may further comprise using the calibrated deflection data to estimate an external wrench at one or more joints of the robot manipulator (10). An external wrench consists of both external forces and external torques / moments, which may arise from interactions with objects or the environment during an operation with the robot manipulator. The external force Fext applied to the robot manipulator may, for example, be derived from the estimated joint torques Text:

[0090] ext= J qT• ext

[0091] where:

[0092] Text: The vector of torques induced by external loads, estimated at all joints:

[0093] J (q)T: The inverse transpose of the Jacobian matrix with respect to the TCP at the joint configuration q:P240673W001 - 16 - 15 January 2025

[0094] It is important to note that Text may not directly measured or estimated. Instead, the total torque may be estimated at the gearbox output. To determine the torque induced by external loads (Text), the known gravity and dynamic loads, derived from the dynamic manipulator model, must be subtracted from the total torque.

[0095] Additionally, the external force Fext may also be derived based on simpler relationships in specific cases, such as when considering a single joint. For example:

[0096]

[0097] where larm is the effective lever arm length from the gearbox to the point where the external force is applied.

[0098] By considering the kinematic structure and geometry of the robot manipulator, an external force vector at the point of interaction may be determined. Thus, external forces may be estimated directly from encoder data and the stiffness model, reducing system cost and complexity and eliminating the need for additional force sensors, for example.

[0099] In an example, the method may further comprise validating the torque estimation during runtime by comparing the estimated torque to a motor torque reference or torque feed-forward data. The estimated torque may be calculated determined on the calibrated deflection data and stiffness models, representing the primary torque estimation derived from encoder measurements, for example. The motor torque reference may e.g., be determined directly from motor current and control signals, providing a baseline for comparison. Alternatively, in systems with advanced control algorithms, e.g., torque feed-forward data may serve as a predicted reference based on the manipulator’s motion and expected external forces.

[0100] The validation process may involve a real-time comparison between the estimated torque and the motor reference value, for example. Any significant discrepancies beyond a defined tolerance threshold may indicate issues such as uncorrected errors in the deflection data, unmodeled dynamics, or mechanical faults, for example. If such discrepancies occur, internal parameters, trigger diagnostic routines may be adjusted, for example, or e.g., recalibration may be initiated to address potential inaccuracies.P240673W001 - 17 - 15 January 2025

[0101] This runtime validation may enhance the accuracy and reliability of the torque estimation process, for example. This may ensure that the torque estimation process remains consistent even under dynamic operating conditions. Additionally, fault detection by identifying anomalies in the torque data, such as those caused by encoder drift, calibration errors, or external disturbances may be facilitated.

[0102] According to a second aspect of this disclosure, there are provided one or more computer program products comprising instructions which, when executed by one or more data processing apparatuses, cause the one or more data processing apparatuses to carry out the method of the first aspect of this disclosure.

[0103] The computer program product(s) may be a computer program or computer programs as such, meaning a computer program consisting of or comprising program code to be executed by the data processing apparatus, in particular computer.

[0104] Alternatively, the computer program product(s) may be a product or products such as a data storage(s), in particular computer-readable data storage medium(s), on which the computer program(s) may be temporarily or permanently stored.

[0105] According to a third aspect of this disclosure, there is provided a data processing system configured to carry out the method according to the first aspect of this disclosure.

[0106] According to a fourth aspect, there is provided a robot configured to carry out the method according to the first aspect of this disclosure. The term robot in the patent application is understood broadly and can include a variety of autonomous or semi-autonomous machines used in different environments, including robotic systems that involve manipulation capabilities. These robotic systems may be characterized by their ability to interact with objects, tools, or the environment, often through articulated joints and end effectors.

[0107] It is noted that the above aspects, examples, and features may be combined with each other irrespective of the aspect involved.P240673W001 - 18 - 15 January 2025

[0108] The above and other aspects of the present disclosure will become apparent from and elucidated with reference to the examples described hereinafter.

[0109] BRIEF DESCRIPTION OF THE DRAWINGS

[0110] Exemplary embodiments will be further described with reference to Figures, wherein:

[0111] Figure 1 shows a method for determining a torque of a robot manipulator at a gearbox; Figure 2 shows a data processing system;

[0112] Figure 3 shows an example for torque estimation; and

[0113] Figure 4 shows a robot with a processing system.

[0114] The Figures are schematic only and not true to scale. In principle, identical or like parts, elements and / or steps are provided with identical or like reference numerals in the Figures.

[0115] DETAILED DESCRIPTION OF THE INVENTION

[0116] Figure 1 shows a method for determining a torque of a robot manipulator at a gearbox.

[0117] In a first step 102, first measurement data from a first encoder is obtained. This first encoder may be located at the input side of the gearbox. This first encoder may measure the angular position of the driving element, such as the motor shaft, which represents the input to the gearbox.

[0118] In a next step 103, second measurement data is collected from a second encoder, which may be positioned at the output side of the gearbox. This second measurement data may reflect the angular position of the manipulator arm or the driven element, for example.

[0119] In a next step 104, a ripple or the ripple pattern in the measurement data of the second encoder is identified and compensated. Ripples or ripple patterns often arise due to encoder imperfections, mechanical misalignments, or irregularities in the gearbox, and they manifest as periodic disturbances in the output-side encoder signal. To address this, the second encoder data may be analyzed over a range of motion to detect and model these disturbances. Using pre-calibrated ripple parameters, such as amplitude,P240673W001 - 19 - 15 January 2025

[0120] frequency, and phase, the ripples or the ripple patterns may be compensated, resulting in corrected second measurement data. This correction may be beneficial for ensuring the integrity of the subsequent calculations, as uncorrected ripple could distort the deflection data.

[0121] In a next step 105, a deflection between the first and second encoders is determined. The deflection may be determined using the equation:

[0122]

[0123] where qmrepresents the input-side encoder position, qais the ripple-compensated output-side encoder position, Ao is the relative encoder offset (calibrated during an offline stage), and igis the gearbox reduction ratio. This deflection may reflect the elastic deformation within the gearbox due to the applied torque, for example.

[0124] With the deflection data determined, a first calibration model is applied in a next step 106 to relate deflection to torque. In the primary stage, a linear stiffness model is used, represented by:

[0125] TS~ kT• 8

[0126] Here, kTis the linear stiffness coefficient, which may be previously calibrated during an offline calibration phase. This linear model may serve as a baseline for estimating torque and may capture the relationship between deflection and torque.

[0127] Optionally, a second calibration where a non-linear stiffness model is applied, may be performed. This model introduces higher-order effects, such as cubic terms, to account for non-linear stiffness characteristics of the gearbox.

[0128] In a last step 107, using the calibrated deflection data and stiffness models, the torque acting on the robot manipulator is determined. The estimated torque may then be used for various purposes, including motion control, force feedback, or safety monitoring in robotic applications, for example.

[0129] Additionally, optional steps may be included. For instance, transmission error compensation may be applied to correct for mechanical disturbances such as backlash or hysteresis. This may ensure smoother deflection data before applying the stiffnessP240673W001 - 20 - 15 January 2025

[0130] model. Another optional step involves dynamically updating the relative encoder offset during runtime when the robot is at a standstill and no external load is applied. This real-time adjustment may account for drift or wear that may occur during prolonged operation, maintaining accuracy overtime.

[0131] Figure 2 schematically shows a data processing system 50, which may comprise one or more data processing apparatuses 30, e.g., on board computers. The data processing system 50, in particular the data processing apparatuses 30, in particular their processor 32, may be used to carry out the method 100 for determining a torque of a robot manipulator at a gearbox as schematically illustrated in Fig. 1. The data processing apparatus 30 comprises at least one processing unit or processor 32, e.g., a CPU, and at least one computer program product 34, e.g., in the form of a computer-readable storage medium. Computer program 40 is stored on the computer program product 34. In this example the processing component 42 of the computer program 40 is provided within the data processing system 50, which may form parts of the computer program 40, e.g., different program code or algorithms for different functions or steps of the method 100. Specifically, a computer program 40 of one of the data processing apparatuses 30 may be comprising one processing component 42, which may be in the form of software codes or instructions for the processors 32, such as but not limited to filtering algorithms, estimation algorithms, optimization algorithms, clustering algorithms, for example. The data processing system 50 may be a distributed computing environment with different processing apparatuses 30, or executed by the same data processing apparatus 30, which may be part of the robot, for example.

[0132] Figure 3 shows an example for torque estimation, divided into offline calibration and online runtime phases.

[0133] In a first step 202, transmission error and secondary encoder calibration is performed. During the offline calibration phase, transmission errors (e.g., backlash or high-frequency vibrations) and ripples or the ripple patterns in the secondary encoder measurement data are identified. These ripples or the ripple patterns may be analyzed to extract key parameters, including amplitude, frequency, and phase. Additionally, the relative encoder offset (Ao) is determined to account for systematic misalignmentsP240673W001 - 21 - 15 January 2025

[0134] between the encoders. This calibration data may provide the basis required for subsequent ripple compensation and stiffness model refinement.

[0135] In a second step 203, the secondary encoder measurement data is compensated. Using the ripple parameters obtained in the first step, the raw secondary encoder measurement data are corrected to remove periodic distortions or ripples or the ripple patterns. This compensation process produces compensated or ripple free secondary encoder data, which may be free from periodic disturbances. The second encoder compensation may be important for improving the accuracy of the subsequent stiffness model calibration.

[0136] In a next step 204, the compensated secondary encoder measurement data and inputside encoder data are used to calibrate the linear and non-linear stiffness models of the gearbox. This involves fitting a linear stiffness coefficient to represent basic deflection-to-torque relationships and a non-linear stiffness coefficient to account for higher-order effects, for example. Additionally, the relative encoder offset (Ao) may be further refined to enhance calibration accuracy. The output of this step includes the calibrated stiffness model parameters which are stored for use during runtime, for example.

[0137] In the next step 205, the pre-calibrated ripple parameters are applied to the raw secondary encoder data during run time. This real-time second encoder compensation generates ripple-free encoder data, which may be beneficial for accurate deflection and torque calculations. This step may ensure that periodic disturbances in the encoder signal do not affect the real-time torque estimation process.

[0138] In a last step 206, the torque acting on the gearbox is determined in real time. Using the ripple-compensated secondary encoder data, input-side encoder data, and calibrated stiffness parameters, the torque is estimated based on the deflection across the gearbox. The output may be a reliable real-time torque estimation that accounts for ripple effects, transmission errors, and non-linear stiffness characteristics.

[0139] Figure 4 exemplary shows a robot 1 with a processing system 50. The robot 1 comprises a manipulator 10, which includes a driving element 11, or a motor, a gearbox 12, a first encoder 21 and a second encoder 22. The motor 11 acts as the driving element of the system, generating rotational motion and input torque to powerP240673W001 - 22 - 15 January 2025

[0140] the manipulator. This rotational motion is transferred to the gearbox 12. The first encoder 21 is provided at the motor 11 and measures the angular position of the input side qm. This first measurement data may reflect the motion of the motor and may serve as a reference for determining deflection. The second encoder 22 is provided at the output side of the gearbox 12, near the load 13, and measures the angular position of the manipulator 10 qa. This output-side data may be used for determining the relative deflection between the input and output sides, which then may be used to estimate the torque acting on the manipulator 10.

[0141] The robot 1 also comprises the processing system 50, which functions as the central computational unit. It receives measurement data from the first and second encoder and may apply e.g., algorithms to estimate the torque acting on the manipulator 10. The processing system 50 may perform ripple compensation, adjusts the relative encoder offset Ao dynamically during runtime, and applies calibrated stiffness models to calculate torque accurately.

Claims

P240673W001 - 23 - 15 January 2025Claims:

1. Method (100) for determining a torque of a robot manipulator (10) at a gearbox (12), the method (100) comprising:- (S102) obtaining first measurement data from a first encoder (21), the first measurement data being indicative of a position of a driving element at an input side of the gearbox (12);- (S103) obtaining second measurement data from a second encoder (22), the second measurement data being indicative of a position of the robot manipulator (10) at an output side of the gearbox (12);- (S104) identifying and compensating ripples or a ripple pattern in the second measurement data to generate corrected second measurement data;- (S105) determining deflection data based on the first measurement data and the corrected second measurement data, wherein the deflection data is indicative of a relative displacement between the first encoder (21) and the second encoder (22);- (S106) applying a first calibration model to the deflection data, wherein the first calibration model uses a linear stiffness model; and- (S107) determining the torque of the robot manipulator (10) based on the calibrated deflection data.

2. Method (100) according to claim 1, wherein the method (100) further comprises:applying a second calibration model to the deflection data, wherein the second calibration model uses a non-linear stiffness model.

3. Method (100) according to claim 2, wherein the non-linear stiffness model uses a cubic term for higher-order effects.

4. The method (100) of any of the preceding claims, wherein identifying and compensating the ripples or the ripple pattern in the second measurement data comprises:- analyzing the second measurement data over a defined range of motion to detect periodic disturbances;- identifying dominant frequencies of the periodic disturbances in the second measurement data by using a frequency-domain analysis; andP240673W001 - 24 - 15 January 2025- determining ripple or ripple pattern parameters, including amplitude, frequency, and phase, based on the analyzed second measurement data.

5. The method (100) of claim 4, wherein the method (100) further comprises:storing the parameters and applying a pre-determined compensation curve during runtime.

6. The method (100) of claim 4, wherein the ripples or the ripple pattern are identified and compensated in an offline calibration stage.

7. The method (100) of claim 4, wherein identifying and compensating the ripples or the ripple pattern further comprises identifying and compensating higher-order harmonic components in the second measurement data.

8. The method (100) of any of the preceding claims, further comprising applying a transmission error compensation to the deflection data before applying the first calibration model.

9. The method (100) of claim 8, wherein the transmission error is pre-calibrated in an offline stage.

10. The method (100) of any of the preceding claims, further comprising adjusting an offset between the first encoder (21) and the second encoder (22), wherein the adjustment of the offset comprises:- performing an initial adjustment of the offset during system initialization, and / or - dynamically updating the offset during runtime when the robot manipulator (10) is at a standstill and no external load is applied.

11. The method (100) of any of the preceding claims, further comprising using the calibrated deflection data to estimate an external wrench at one or more joints of the robot manipulator (10).

12. The method (100) of any of the preceding claims, further comprising validating the torque estimation during runtime by comparing the estimated torque to a motor torque reference or torque feed-forward data.P240673W001 - 25 - 15 January 202513. One or more computer program products (34, 40) comprising instructions which, when executed by one or more data processing apparatuses (30), cause the one or more data processing apparatuses (30) to carry out the method (100) of any one of the previous claims.

14. A data processing system (50) configured to carry out the method (100) of any one of claims 1 to 13.

15. A robot (1) configured to carry out the method (100) of any one of claims 1 to 13.