MICRODUCK GAME sprinter remix 2

suraj-phanindra/microduck-sprint-hc5-aifund (0.864 s), suraj-phanindra's entry, with its network unchanged and wrapped in a step counter that adds per-step offsets to its joint targets and to the forward speed it reads, searched by CMA-ES on the Arena's official seeds: 0.860 s on those seeds, 0.004 s faster than its source there. Simulation only.

An entry for the 2 m Sprint of the Microduck Arena. Simulation only — see below.

What it is

A remix of suraj-phanindra/microduck-sprint-hc5-aifund by suraj-phanindra: revision c0c28978, policy.onnx sha256 1b037a68e3b1…, 0.864 s on the Arena board (run 01M53854ZS61Q40S0MNYRZ). Its manifest describes it as: juicenv/microduck-sprint-auto10161753 fine-tuned by elitist hill climb on the Arena score; it names pollen-robotics/microduck_rl at 6ff40704a (branch main) as the training code.

How it was changed

The network is the source's, frozen: its 197,774 weights and biases are bit-identical, and its input normalizer's values are folded into the wrapper's constants (the graph computes obs · (1/std) + (c_k − mean)/std where the source computes (obs − mean)/std). Around it the graph adds a step counter and two small tables, all with standard ONNX operators:

  • step counter: the graph rounds its head_roll target to 1/256 rad and adds the number of control steps run, in units of 1/65536 rad. The Arena feeds every policy its previous action back, so the next step reads the counter k exactly (k = 25 + race step, saturating at 127). The head_roll target moves by at most ~0.004 rad.
  • command offset c_k, added to the command values the network reads (the Arena's command: 1.15 m/s forward, zero sideways and yaw): a forward-speed offset between -0.413 and +0.222 m/s from counter step 26 (the first race step) on, zero before; the other command values are untouched.
  • joint offset o_k, added to the network's joint targets from counter step 26 on: mirror-symmetric and anti-symmetric offsets on both legs' hip pitch, knee and ankle, and offsets on the neck and head pitch, at most 0.49 rad; zero on head_roll, head_yaw, left_hip_roll, left_hip_yaw, right_hip_roll, right_hip_yaw.

Both tables are piecewise linear in k between knots every 2 steps from 26 to 72 (about 0.94 s into the race), held after the last. Their 216 knot values (24 knots × 9 channels) were searched by CMA-ES (population 24, initial step 0.004) on the race time over the event's five official seeds, inside the Arena's runner (MuJoCo 3.10.0, x86-64 CPU), with the network frozen; this is generation 805 of run dive_sprint_hc5d. A candidate was kept only if it beat the source's board and, re-run 8 times with noise of σ = 10⁻⁷ on every observation but the step counter's, finished every seed each time with a mean board below the source's (0.860, 0.864, 0.860, 0.860, 0.860, 0.860, 0.860, 0.860 s). The file rebuilt from the source and the search's tables is identical to this one. Raced at the source's speed, 1.15 m/s forward.

Results

Race times (s) on the event's official seeds, at 1.15 m/s commanded forward speed, the speed both entries race at:

seed microduck-sprint-hc5-aifund this remix
1 0.86 0.86
2 0.86 0.86
3 0.86 0.86
4 0.86 0.86
5 0.88 0.86
board (mean) 0.864 0.860

These are in-sample numbers: the search scored its candidates on these same seeds, as the elitist searches that produced its source did. Times are whole control steps (0.02 s), so a board moves in steps of 0.004 s; nearby seeds or a different CPU can give other times.

Not for a real robot

Trained and judged only in the Arena's simulator, on its five official seeds; nothing here was tried on hardware. The step counter rides on the head_roll target, which a real robot would not feed back bit for bit. Do not load it on a physical MicroDuck.

Files

  • policy.onnx: sha256 5b2341d46805505b241e8031f7bc910af882d9351cd18f7966db4d2b0d8e1d8a, 831,318 bytes; input obs [1, 61], output actions [1, 14].
  • manifest.json: Pollen's policy manifest (schema 2): a perpetual gait with a constant command, plus how it was made.
  • README.md: this card.

Credits

The source repository declares no licence; this one declares none either and names the source as its base model.

Resumen (español)

Remezcla de suraj-phanindra/microduck-sprint-hc5-aifund (suraj-phanindra) para el sprint de 2 m de la Microduck Arena, solo para simulación: la misma red, congelada, envuelta en un contador de pasos que suma desfases por paso a sus objetivos articulares y a la velocidad que lee, buscados con CMA-ES. 0.860 s en las cinco semillas oficiales, frente a 0.864 s de la original. Créditos: suraj-phanindra, namenu y Pollen Robotics.

Downloads last month
52
Video Preview
loading

Model tree for jrubiosainz/microduck-game-sprinter-remix2