game-roller-remix3

Muhammadsafi/microduck-roller-cpu-remix (0.928 s), Muhammadsafi's step-counter entry, with its network and wrapper unchanged and small corrections added, from the first race step on, to the two per-step tables it carries (joint-target offsets and an offset on the forward speed the network reads), searched by an elitist hill climb on the Arena's official seeds: 0.928 s on those seeds, the same board as its source. Simulation only.

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

What it is

A remix of Muhammadsafi/microduck-roller-cpu-remix by Muhammadsafi: revision ae6742f1, policy.onnx sha256 a95d1e906f25…, 0.928 s on the Arena board (run 01M54MMCM57VTF20J9B14M). Its manifest describes it as: 2 m Roller Sprint: CPU CMA-ES remix of DenRakEiw/microduck-senate_duck_0928, with additional time-dependent joint and forward-command offsets. Local score 0.928 s, all five official seeds finish; ties the source. Credit to DenRakEiw, suraj-phanindra, juicenv, namenu, jrubiosainz, dadudu and Pollen Robotics. Simulation only.. Its network is suraj-phanindra/microduck-roller-hc5-aifund's (suraj-phanindra, 0.940 s on the board), bit for bit; its card names DenRakEiw/microduck-senate_duck_0928 as its base model.

How it was changed

Muhammadsafi's entry wraps suraj-phanindra/microduck-roller-hc5-aifund (suraj-phanindra's network, 0.940 s on its own) in a step counter: the graph counts control steps in its head_roll action and, at counter step k, adds row k of one table to the network's joint targets and row k of another to the command values the network reads (the Arena's command: 0.7 m/s forward, zero sideways and yaw). Its tables act from counter step 0 (inside the runner's untimed 0.5 s settle, steps 0 to 24) to 127: forward-speed offsets from -0.405 to +0.500 m/s and joint offsets up to 0.76 rad.

This remix keeps all of that: the network's 197,774 weights and biases bit for bit, the input normaliser, the counter, every operator, and every table row before counter step 25 (the first race step). From there on it adds small corrections:

  • forward speed: -0.001 to +0.001 m/s on top of the entry's offset;
  • joint targets: up to 0.002 rad on left_hip_yaw, left_hip_roll, left_hip_pitch, left_knee, left_ankle, right_hip_yaw, right_hip_roll, right_hip_pitch, right_knee, right_ankle, mirror-symmetric and anti-symmetric on the legs, on top of the entry's offsets.

The corrections are piecewise linear in k between knots every 3 steps from 25 to 73 (about 0.96 s into the race), held after the last. Their 221 knot values (17 knots × 13 channels) were searched by an elitist hill climb (24 Gaussian perturbations of the current best per generation, each with a step size drawn log-uniformly from 0.0003 to 0.01 and applied to all of the values or, at random, about 25% or 5% of them; it moves only to a strictly lower objective) inside the Arena's runner (MuJoCo 3.10.0, x86-64 CPU), with the network frozen. Its objective was the board on the event's five official seeds, counting a seed that finishes less than 0.5 ms before a 0.02 s step boundary as taking the next step, plus 0.1 × (how far past its last boundary the seed nearest to dropping a step finishes + 0.2 × the mean of that over the five seeds); this is generation 0 of run dive_r17hc_msafi_a. A candidate was kept only if that board beat the entry's (0.932 s counted the same way) and, re-run 8 times with noise of σ = 10⁻⁷ on every observation but the step counter's, it finished every seed each time with a mean board (0.9325 s; boards 0.936, 0.928, 0.932, 0.932, 0.932, 0.932, 0.936, 0.932 s) below the bar then in force (0.9330 s; it starts at the entry's own mean under that noise and drops to each kept candidate's). The file rebuilt from suraj-phanindra's normaliser, the entry's network and the corrected tables is identical to this one. Raced on its roller skates at the entry's speed, 0.7 m/s forward.

Results

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

seed microduck-roller-cpu-remix this remix
1 0.94 0.94
2 0.92 0.92
3 0.92 0.92
4 0.94 0.94
5 0.92 0.92
board (mean) 0.928 0.928

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.

Before the runner rounds them up to whole control steps, the search's own runs (0.1 ms resolution) finish at 0.9284, 0.9186, 0.9178, 0.9266, 0.9193 s for this remix and 0.9284, 0.9182, 0.9174, 0.9262, 0.9196 s for its source: its closest finish is 0.7 ms before the step boundary that ends it, against 0.4 ms for the source.

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 1106d337d41bca3db17450012bdb140b7444b38d10964053ed96b66306951038, 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 Muhammadsafi/microduck-roller-cpu-remix (Muhammadsafi) para el sprint de 2 m sobre patines de la Microduck Arena, solo para simulación: la misma red (de suraj-phanindra) y el mismo envoltorio con contador de pasos, con pequeñas correcciones lineales a trozos en sus dos tablas por paso desde la salida, buscadas con una búsqueda local elitista. 0.928 s en las cinco semillas oficiales, frente a 0.928 s de la original. Créditos: Muhammadsafi, DenRakEiw, suraj-phanindra, namenu y Pollen Robotics.

Downloads last month
27
Video Preview
loading

Model tree for jrubiosainz/microduck-game-roller-remix3