Instructions to use jrubiosainz/microduck-game-roller-remix3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Microduck
How to use jrubiosainz/microduck-game-roller-remix3 with Microduck:
# Replace SLOT with the slot specified in the model card (walk, stand, sitstand, ground_pick, kick_left, kick_right, roulade). sudo robotctl policy load SLOT jrubiosainz/microduck-game-roller-remix3
- Notebooks
- Google Colab
- Kaggle
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: sha2561106d337d41bca3db17450012bdb140b7444b38d10964053ed96b66306951038, 831,318 bytes; inputobs[1, 61], outputactions[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
- Muhammadsafi for Muhammadsafi/microduck-roller-cpu-remix, the entry remixed here (its step-counter wrapper and tables), and everyone its card credits.
- DenRakEiw for DenRakEiw/microduck-senate_duck_0928, the entry Muhammadsafi's card names as its base model.
- suraj-phanindra for suraj-phanindra/microduck-roller-hc5-aifund, whose network this is, bit for bit.
- namenu (namenu/microduck-arena): the source's ONNX metadata (
run_path) points at namenu's strata training runs. - Pollen Robotics: the MicroDuck, the Microduck Arena and its runner, the
microduck_rltraining code and the publishing tools that wrotemanifest.jsonand this card's header.
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
Model tree for jrubiosainz/microduck-game-roller-remix3
Base model
namenu/microduck-arena