Skip to main content
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.