UR5 force-mode trajectory profiling

Bare flange · 15 October 2026 · real robot · servoJ assessment

Same reference, different controller parameters

Each run uses the same absolute XYZ target: 4 s initial hold, then a 10 mm smooth out-and-back move on X, Y and Z, then a 4 s final hold. Each axis takes 8 s. Peak target speed is 7.5 mm/s. Rotation is compliant with zero commanded torque.

One trial per setting. These results compare tracking and smoothness; they do not measure contact compliance or establish a universally best controller. The settings are run sequentially, with free rotation and no automatic posture reset.

Tracking and smoothness

Tracking metrics: 4–28 s. Final error: mean over the last second. Jerk: derivative of recorded velocity using a 21-sample (168 ms), cubic Savitzky–Golay window. High-frequency motion: velocity RMS above 5 Hz, not accelerometer vibration. PSD peak is the strongest velocity component in the 2–30 Hz band.

Delay is only reported when identifiable

The analysis fits actual(t) ≈ gain × reference(t − delay) + bias independently for each axis. A nearly stationary, inverted or poorly correlated response does not get a delay number. This is apparent response timing, not pure network latency.

Inspect a run

Position plots use the common reference origin. Rotations are relative to each run's initial orientation and expressed in base coordinates. There is no target orientation. Force plots show the explicit outer-loop command, not measured hand force.

Inspect motion quality

Check the raw velocity trace and spectrum alongside filtered jerk. A large error can coexist with smooth motion; a small error can coexist with vibration. Free-rotation drift is another separate outcome.

CB3 force readings are model-derived and showed substantial residual bias during these experiments. They are plotted for diagnosis and are not calibrated external-load measurements. No effective mechanical stiffness, contact compliance or human push force is inferred from them.

Control loop

F = K (xref − x) + D (vref − v),   ‖F‖ ≤ 3 N
τcommand = 0
  1. The robot generates the smooth reference and reads actual flange pose/velocity once per nominal 8 ms cycle.
  2. The outer loop computes force from position and velocity errors.
  3. UR force mode receives the force command with all six axes compliant. Its internal damping is the third sweep parameter.
  4. All targets, forces and the feedback used in that calculation are written to output registers and recorded via RTDE.

The outer damping here uses velocity error. The earlier stationary hold used −D·v; these are identical for a stationary reference.

CB3 has no exposed force-mode gain-scaling parameter. K is our outer-loop stiffness. K = 0, D = 0 would ignore the moving target; 50 N/m is a chosen low starting stiffness, not a hardware minimum.

What remains limited

  • Custom software displacement, orientation, joint-travel, speed and wrench abort thresholds are disabled for these runs.
  • UR safety remains active. The commanded force vector is capped at 3 N; commanded torque is zero.
  • UR force-mode limits are 10 mm/s on each translational axis and 0.05 rad/s on each rotational axis. These are not vector-norm limits and measured transient speeds may exceed them.
  • The robot-side program ends after 4,000 cycles (nominally 32 s), with a host feedback watchdog and completion monitoring.
  • Payload is 0 kg and TCP is at the flange. No gripper or camera is attached.

Comparison limitations and validation

  • The absolute target path is identical across runs. Actual initial position and orientation can differ because there is no automatic reset. Initial error and rotation drift are reported.
  • All calculations use controller-side target/feedback records. Each record represents the sampled feedback used in the outer loop, not an independently observed physical flange position.
  • The report checks the recorded reference, force equation and saturation against an independent reconstruction. Robot time and tick count are checked separately; nominal 125 Hz may have occasional extended cycles.
  • Delay fits search −1 to +2 s with 8 ms spacing. Results require R² ≥ 0.7, positive gain > 0.1, measured range > 0.5 mm, and a solution away from search boundaries. Broad pulse responses may still give uncertain delays.
  • Velocity spectra use Welch estimation at nominal 125 Hz. Jerk and high-frequency velocity are proxies, not external vibration measurements. There are no repeated trials or confidence intervals yet.