Manipulator Joint Kinematic Correction for Harmonic Gear Error

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing robot manipulators suffer from kinematic errors due to inaccuracies in motor and gear manufacturing, such as eccentricity, leading to fluctuations in joint rotation speed and position deviations, which are not effectively addressed by current methods.

Innovation Solution

A method and system for reducing kinematic errors by identifying and compensating for imperfections in harmonic drive gears using a kinematic correction generator, which involves high-pass filtering, spectral analysis, and sinusoidal correction based on measurable quantities like motor torque, to adjust motor commands and reduce fluctuations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If harmonic drive gears are used as reduction gears, then play-free transmission is achieved, but kinematic error due to manufacturing inaccuracies such as eccentricity still causes rotation speed fluctuations

Engineering Contradiction:
Improvetransmission play-free operationVSAvoidgearwheel eccentricity and spline inaccuracy
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The system measures the actual rotation speed of the joint using a speed sensor and compares it with the commanded speed. The difference (kinematic error) is fed back to the controller, which adjusts the motor command in real-time to compensate for the error, thereby maintaining accurate position and speed control despite manufacturing inaccuracies in the harmonic drive gear

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts the motor speed command parameter based on measured kinematic error. By changing the motor speed parameter in real-time according to the detected error, the system compensates for the fixed manufacturing inaccuracies of the gear components

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If standard speed control is used, then simple control is maintained, but resonance at critical speeds causes large vibrations

Engineering Contradiction:
Improvestandard speed control simplicityVSAvoidvibration at resonance frequency
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The system continuously monitors vibration levels and detects when the manipulator approaches a critical speed where resonance occurs. Upon detecting resonance conditions, the controller automatically adjusts the speed profile to avoid the harmful resonance frequency, then resumes the standard speed control mode when safe, maintaining both simplicity and vibration avoidance

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The speed control system transitions from a static standard speed command to a dynamic speed profile that adapts in real-time. The controller dynamically modifies the speed command based on detected resonance conditions, creating a flexible control strategy that maintains simplicity under normal conditions while avoiding harmful vibrations when necessary

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP4526089B1Reducing kinematic error
Publication Date: 2025.12.31 ABB (SCHWEIZ) AG
  • EP4526089B1 patent drawingFigure 1~2
  • EP4526089B1 patent drawingFigure 3~5
  • EP4526089B1 patent drawingFigure 6A~6C

AI summary

A method is proposed for reducing kinematic error in a joint (5j) between a distal portion and a proximal portion of a manipulator (1), the joint (5j) having associated to it a motor (9j) mounted in one of said portions and coupled to the other one of said portions for driving rotation of the distal portion relative to the proximal portion by a reduction gear (10j). The method comprising the steps of: a. providing a kinematic correction generator (13j) which is programmable using a parameter vector (0, p'p") and outputting, based on said parameter vector and a position (q mot,j ) input, a kinematic correction (8qke, 8qke) which is a sum of at least one sinusoid having a frequency (k i) which is a frequency of rotation of the motor (9j) or of a periodic event in the reduction gear (10j) occurring at a higher frequency than the rotation of the distal portion, or an integer multiple thereof, and an amplitude and a phase defined by said parameter vector (0, p', p"), b. outputting to the motor a first drive control signal specifying a motor speed which is a sum of a standard speed (qmot,j) and a first kinematic correction (Eqke) output by the kinematic correction generator (13j) based on a first parameter vector (0); c. extracting, from an evaluation signal (T) received from the joint (5j) in response to the first drive control signal, at least one frequency component having the frequency of the at least one sinusoid, and determining a first feedback vector (p) defining a first feedback amplitude (Ai,j) and a first feedback phase (i9ii7) of said frequency component, d. outputting to the motor (9j) a second drive control signal specifying a motor speed (qmot,j + Eqke) which is a sum of the standard speed (qmot,j) and a second kinematic correction (Eqfke) output by the kinematic correction generator (13j) based on a second parameter vector (p'); e. extracting, from an evaluation signal (T) received from the joint (5j) in response to the second drive control signal, a frequency component having the frequency of the at least one sinusoid, and determining a second feedback vector (p) defining a second feedback amplitude (Ai,j) and a second feedback phase (Oi,j) of said frequency component, f. subtracting said first feedback vector (p) from said second feedback vector (p) to obtain a feedback difference vector (p); g. finding a transformation which transforms said feedback difference vector (p) into a difference (p'- 0) between second and first parameter vectors, h. applying the transformation to the second feedback vector (p) to obtain a third parameter vector (p"), programming the kinematic correction generator (13j) using the third parameter vector (p").