MICRODUCK GAME sprinter remix

suraj-phanindra/microduck-sprint-hc4-aifund (0.872 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.868 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-hc4-aifund by suraj-phanindra: revision 5d507d86, policy.onnx sha256 e446aa228261…, 0.872 s on the Arena board (run 01M525Z5G1M15ZYVG37YGE). Its manifest describes it as: juicenv/microduck-sprint-es11 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.2 m/s forward, zero sideways and yaw): a forward-speed offset between -0.197 and +0.118 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.26 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.02) 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 231 of run dive_sprint_hc4. 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.868 s each time). The file rebuilt from the source and the search's tables is identical to this one. Raced at the source's speed, 1.2 m/s forward.

Results

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

seed microduck-sprint-hc4-aifund this remix
1 0.86 0.86
2 0.86 0.86
3 0.88 0.86
4 0.88 0.88
5 0.88 0.88
board (mean) 0.872 0.868

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 17420d7a7147b0e5ff1cdef6c976c370f0b2d9911f9d533905d5c4f95ddb9f2f, 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-hc4-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.868 s en las cinco semillas oficiales, frente a 0.872 s de la original. Créditos: suraj-phanindra, namenu y Pollen Robotics.

Downloads last month
41
Video Preview
loading

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