Skip to main content
Improving Robot Position Tracking Accuracy: Acceleration Feedforward Optimization Journey
Control

Improving Robot Position Tracking Accuracy: Acceleration Feedforward Optimization Journey

We share the process of optimizing acceleration feedforward control for a 6-axis robot arm. By using planner acceleration + LPF instead of numerical differentiation, we achieved 21.2% improvement in position RMSE and torque stability simultaneously.

WRWIM Robotics Team
·
roboticscontrol-systemsfeedforwardreal-timeros2

Improving Robot Position Tracking Accuracy: Acceleration Feedforward Optimization Journey

The existing numerical differentiation approach to acceleration feedforward (FF) achieved only about 5% improvement. This was far below theoretical expectations.

The key question: "How much better would it be if we used the motion planner's acceleration directly?"

To answer this question, we systematically compared 6 acceleration acquisition methods.

Conclusion First

MethodPosition RMSEImprovementTorque RMSE
A0 (None)0.001389 radBaseline2.77 Nm
A1 (NumDiff)0.001141 rad+17.8%4.29 Nm (+55%)
A4 (LPF)0.001095 rad+21.2%2.68 Nm (-3%)

Optimal Method: Planner acceleration + Low-Pass Filter (alpha=0.3)

  • Position accuracy 21.2% improvement
  • Torque variation 3% reduction (compared to baseline)

System Architecture

Key Finding: ROS2 JointTrajectoryController was already computing acceleration through Quintic Spline interpolation. No separate numerical differentiation is needed.

New Problem: Quintic Spline guarantees continuity of position/velocity/acceleration, but Jerk (derivative of acceleration) is discontinuous. High-frequency components occur at waypoint boundaries, potentially causing mechanical vibration.

Robot Dynamics Equation

τ=M(q)q¨+C(q,q˙)q˙+g(q)+τfriction\tau = M(q)\ddot{q} + C(q, \dot{q})\dot{q} + g(q) + \tau_{friction}
TermDescriptionRelationship to FF
M(q)q¨M(q)\ddot{q}Inertia torqueAcceleration FF target
C(q,q˙)q˙C(q, \dot{q})\dot{q}Coriolis/centrifugal torque-
g(q)g(q)Gravity compensation torque-
τfriction\tau_{friction}Friction compensation torque-

Comparison of 6 Acceleration Acquisition Methods

CodeMethodDescription
A0NoneNo acceleration FF (baseline)
A1NumDiffNumerical differentiation of velocity command (existing method)
A2ABGAlpha-Beta-Gamma filter
A3PlannerDirect use of JTC acceleration (no filter)
A4LPFJTC acceleration + Low-Pass Filter
A5JerkLimitJTC acceleration + Jerk limiting

Problems with Numerical Differentiation (A1)

acceleration[k] = (velocity[k] - velocity[k-1]) / dt;
ProblemCauseResult
Phase delayDiscrete differentiation uses only current and past samplesOutput delayed from actual acceleration
Noise amplificationDifferentiation amplifies high-frequency components55% increase in torque variation

Low-Pass Filter (A4)

Using planner acceleration directly (A3) causes Jerk discontinuity at waypoint boundaries. LPF removes these high-frequency components to create a smooth acceleration signal.

y[k] = alpha * x[k] + (1 - alpha) * y[k-1];

In other words, new output = (alpha x new input) + ((1-alpha) x previous output).

VariableMeaning
x[k]New incoming acceleration value
y[k-1]Previous filter output
alphaNew value reflection ratio (0-1)

With alpha=0.3, the output is 30% new value + 70% previous value, smoothing sudden changes.

Relationship Between alpha and Cutoff Frequency (fsf_s = sampling frequency 1kHz, fcf_c = cutoff frequency):

fcαfs2πf_c \approx \frac{\alpha \cdot f_s}{2\pi}

Frequencies below fcf_c pass through, while those above are attenuated.

AlphaCutoff FrequencyCharacteristics
0.1~16 HzExcessive filtering, response delay
0.2~32 HzStable, slight response delay
0.3~48 HzOptimal balance point
0.5~80 HzFast response, torque increase starts
0.7~112 HzWeak filtering, 11% torque increase

Experimental Results

Experiment 1: Comparison of 6 Methods

6 methods comparison

Position RMSE (left) and Torque RMSE (right) comparison. A4 (LPF) is the optimal balance point

Position RMSE Ranking:

RankMethodRMSE (rad)Improvement
1A4 (LPF)0.001190+16.0%
2A2 (ABG)0.001212+14.4%
3A5 (Jerk)0.001231+13.1%
4A1 (NumDiff)0.001297+8.4%
5A3 (Planner)0.001302+8.1%
6A0 (None)0.001416Baseline

Torque RMSE:

MethodTorque RMSEEvaluation
A5 (Jerk)2.61 NmStable
A4 (LPF)2.63 NmStable
A3 (Planner)2.64 NmStable
A0 (None)2.76 NmBaseline
A1 (NumDiff)4.15 Nm+50% (Warning)
A2 (ABG)5.19 Nm+88% (Eliminated)

Reason A2 (ABG) was eliminated: Good position but torque variation too high.

Experiment 2: LPF Parameter Tuning

LPF tradeoff

Position RMSE vs Torque RMSE tradeoff by alpha value. alpha=0.3 selected

AlphaCutoff FrequencyPosition RMSEvs alpha=0.2Torque RMSE
0.1~16 Hz0.001227 rad+1.0%2.85 Nm
0.2~32 Hz0.001240 radBaseline2.69 Nm
0.3~48 Hz0.001118 rad-9.8%2.76 Nm
0.5~80 Hz0.001150 rad-7.3%2.97 Nm
0.7~112 Hz0.001071 rad-13.6%2.99 Nm

Reasons for Selecting alpha=0.3:

  • Position improvement: 9.8% improvement compared to alpha=0.2
  • Torque stability: 2.76 Nm, nearly identical to baseline (2.77 Nm)
  • Safety margin: alpha=0.7 has 11.2% torque increase

Experiment 3: Final Benchmark

Final benchmark

Final comparison of A0 (baseline), A1 (numerical differentiation), A4 (LPF)

Position Tracking Performance:

MethodPosition RMSEStd DevImprovement
A4 (LPF)0.001095 rad0.000087+21.2%
A1 (NumDiff)0.001141 rad0.000064+17.8%
A0 (None)0.001389 rad0.000071Baseline

Torque Stability:

MethodTorque RMSEStd DevEvaluation
A4 (LPF)2.68 Nm0.37Stable (-3%)
A0 (None)2.77 Nm0.52Baseline
A1 (NumDiff)4.29 Nm1.04Unstable (+55%)

Why Planner Acceleration Alone (A3) Is Insufficient

Using planner acceleration directly without filtering achieves only 8.1% improvement (half of A4).

Cause: Jerk discontinuity at waypoint boundaries generates high-frequency components that burden the controller.

Why LPF (A4) Is Better Than Jerk Limiting (A5)

AspectLPFJerk Limiting
Response characteristicExponential decayLinear ramp
Convergence speedFast initial response, gradual convergenceConstant rate approach, slow convergence
Example: delta_acc=20 rad/s^2, MAX_JERK=50 rad/s^3Fast400ms required

Warm-up Effect

We discovered a warm-up effect during experiments:

ConditionBefore Warm-upAfter Warm-upDifference
A3 (Planner)0.001532 rad0.001302 rad15% improvement

Implication: Performance can degrade by 15% on cold start. This should be considered in actual robot operation.

Experimental Conditions

ParameterValueReason
Test jointJ1 (shoulder)Maximum friction (Fc=35Nm) maximizes FF effect
Velocity scale0.3, 0.4, 0.5Differences clearer at high speeds
Acceleration scale0.5High acceleration condition
Repetitions4 per speedDirection balance (2 forward + 2 reverse)
Trajectory+/-30 deg toggleStandard test motion

Key Takeaways

  1. Limitations of existing numerical differentiation (A1): Phase delay and noise amplification from discrete differentiation increases torque variation by 55%.

  2. ROS2 JTC already computes acceleration. Planner acceleration can be directly utilized without separate numerical differentiation.

  3. Jerk discontinuity problem: Using planner acceleration without filtering degrades performance due to high-frequency components at waypoint boundaries.

  4. Optimal method: LPF (alpha=0.3)

    • Position RMSE: 21.2% improvement
    • Torque RMSE: 3% reduction
    • Simultaneously improves position accuracy and torque stability
  5. Warm-up effect: 15% performance degradation may occur on cold start.

A simple first-order Low-Pass Filter was the optimal solution that improves both position accuracy and torque stability simultaneously.