Skip to content

The oracle ladder ​

"Beats factory gains" is easy. The harder question is how close the tuner lands to the best controller there is, and where the rest is lost: to a wrong description, to the closed form itself, or to the search. The oracle study answers it per joint, in simulation, where the true plant is known.

Five rungs, one workload ​

Every rung plays the same workload: the joint's held-out tapes (seed 2), eased by the true model, with every other joint holding home under its factory gains, two repeats each. One scorer prices all of them: the tuner's cost, relative to factory = 1, lower is better.

  1. factory: the as-found gains.
  2. analytic, description: the analytic start from what the description says.
  3. analytic, perfect model: the same formula fed the true joint: true inertia, friction and gravity, true delay and sensor noise.
  4. tuned: what the pipeline delivers (for an arm joint, after the arm check).
  5. oracle-tuned: the best admissible controller a brute-force search finds on the true plant, scored on this very workload. It starts from a coarse grid of 14 log-spaced ωn from 0.3× to 3× the perfect-model start's, × ζ in {0.6, 0.8, 1.0, 1.3}, under each feed-forward option. Then a local refine: ωn ×0.8–1.25, ζ ±0.1, Coulomb ×0.5–1.25. Rungs 1–4 and every controller from the imperfect-model sweep below join its pool, and everything passes the tuner's own gates inside the servo's guard.

The oracle is the one deliberate exception to "choose on one set of tapes, report on another": it is chosen on the workload it is scored on, so it is a ceiling by construction. On the one-axis joints (conveyor, gantry sliders, lever) the inertia does not change with pose, so that ceiling is exact. On the coupled arms one fixed gain set has to serve an inertia that swings with the configuration, so the oracle is the best fixed controller, not a perfect one.

Metrics ​

  • gap closed by rung x: (c_factory − c_x) / (c_factory − c_oracle). 1 means all the way to the oracle.
  • regret: c_tuned / c_oracle − 1. K6 requires regret ≤ 0.15 on every joint, with the tuned controller admissible on this workload.
  • model loss: c_analytic,description / c_analytic,perfect − 1, what the description's errors cost the start.
  • formula loss: c_analytic,perfect / c_oracle − 1, how far the closed form is from optimal even with nothing wrong in its inputs.

The definitions were fixed before the first run.

Results ​

Cost relative to factory, median over each robot's joints:

robotjointsanalytic, descriptionanalytic, perfecttunedoraclemedian regretwithin 15 %
conveyor10.01860.008490.004390.002031.160 of 1
gantry30.004960.02220.002640.002550.0762 of 3
lever10.0199 ✗0.09130.06480.02142.030 of 1
UR5e60.006680.03910.003080.002770.1093 of 6
five-bar20.01020.08820.004270.004070.0642 of 2
hand, 2 motors20.004330.004080.004330.002820.5370 of 2
hand, 3 motors30.004330.004080.004330.002820.5370 of 3
hand, 6 motors60.006380.004970.004270.002800.5390 of 6
hand, 9 motors90.004960.004690.004100.002950.3293 of 9
test-joint twins2–0.1260.1080.1050.0252 of 2

✗: fails a gate on this workload (it saturates). The twins are two simulated joints built from measured real-joint twins. They have no description, so no description rung.

Reading it:

  • 12 of 35 joints reach the oracle. The median regret is 0.33 and the worst is 2.03, so K6 is not met.
  • Everything closes almost all of the factory gap. Median gap closed: 99.8 % for the description's start, 99.7 % for the perfect-model start, 99.9 % for tuned. Factory gains here are very soft, so the last 0.1–1 % is where the rungs differ.
  • The closed form is the bigger loss than the description. Even with a perfect model, the start is a median 89 % above the oracle's cost. A perfect model does not always help either: it beats the description's start on 18 of 33 joints and loses on 15. The true model carries the true sensor noise, and the noise budget then caps kd (it binds on 24 of the 35 perfect-model starts), where the description states no noise.
  • The two worst joints: on the lever, the tuner kept the factory gains plus feed-forward (ωn 11.4 rad/s) because its analytic start saturates past the gate. The oracle sits right at the saturation edge at ωn 38.6. On the conveyor the tuned ωn is 52.7 rad/s against the oracle's 81.4.

How much does feedback buy once the model is perfect? ​

With a perfect model, inverse-dynamics feed-forward alone tracks almost perfectly in a deterministic simulation. So every gain source above was also played three ways: no feed-forward, the description's feed-forward, and the true model's. The oracle search was run separately for each, giving the best gains given that feed-forward. One more row: the true feed-forward with the least feedback the guard admits.

median over jointsone-axis jointscoupled arms and hands
true feed-forward with minimal feedback, vs the best gains with it407× the cost12× the cost
best gains with no feed-forward, vs the best with the true feed-forward1.09×1.31×
best gains with the description's feed-forward, vs with the true one1.03×0.99×

Feedback is not optional here: friction, delay, noise and the hidden payload are what the feed-forward cannot know. Once the gains are right, a feed-forward buys 10–30 %, and the description's feed-forward is as good as the true one.

When the model is wrong ​

On five joints, the description's inertia was scaled 0.5×, 0.7×, 1×, 1.4× and 2×, and its friction 0×, 1× and 2×. At each of the 15 points: the analytic start from that wrong model, and tune seeded with it, on the same workload, priced against the oracle (1 = the oracle).

jointanalytic start from the wrong modeltuned from ittuned within 15 % and admissible
UR5e shoulder lift (no friction in its description)2.8–3.0×1.01×15 of 15
five-bar crank (no friction in its description)2.7–2.9×1.00–1.13×15 of 15
conveyor4.5–25×2.1–2.2×0 of 15
3-motor hand, first finger1.3–5.8×1.2–2.8×0 of 15
lever0.76–1.7×0.76–3.0×0 of 15

On the arm joints, tuning makes the result insensitive to a wrong description: from a start 3× off it lands on the oracle at every point. On the conveyor, the fingers and the lever it narrows the gap but does not close it. The lever's values below 1× fail a gate; only 1 of its 15 analytic starts is admissible at all. On the five-bar crank, one tune from a lighter description beat the oracle's grid by 11 %, so it became the oracle there, and that joint's numbers are measured against it.

Source: coming soon.