rough-walk-g

Velocity-commanded walking trained from scratch on a rough-terrain ladder (3300 iterations): the sturdiest of the family on small stairs and slopes, at +17% motor power over alpha_walking.

Command — twist slots of the 13-D command block (head / body slots: 4 head-joint deltas from HOME, rad — tracked, unused (zeros)); idle = [0, 0, 0]

slot meaning
twist[0] vx: forward velocity command, m/s, trained range -0.4 .. 0.4
twist[1] vy: lateral velocity command, m/s, trained range -0.3 .. 0.3
twist[2] wz: yaw rate command, rad/s, trained range -1.0 .. 1.0 (achieved ~0.29 at 1.0 — weak turner)

What it does — velocity-commanded walking (twist = [vx, vy, wz], head commands tracked) trained from scratch on a rough-terrain ladder. The sturdiest of the family on discrete obstacles: in the synchronized comparison it was the only policy to survive both the 2 cm stairs and the 9° slope. 12/110 falls on the rough-ground battery (alpha_walking: 32/110).

Limits (sim only, never run on hardware) — +17 % motor power vs alpha_walking (1.21 W vs 1.03 W on flat: warmer servos, watch temperature under sustained use); weak turn response (0.29 rad/s achieved for 1.0 commanded); stalls on rubble ≥ ~1.5 cm; being a from-scratch gait, its sim-to-real transfer is less proven than a fine-tune of the shipped policy.

Try it in simulation (laptop, no robot)

git clone -b hostile-terrain https://github.com/pollen-robotics/microduck_rl.git && cd microduck_rl && uv sync   # once
hf download RemiFabre/microduck-rough-walk-g policy.onnx --local-dir policies/rough-walk-g
uv run scripts/infer_policy.py --walking policies/rough-walk-g/policy.onnx        # Linux; macOS: see the mjpython note in the E card

Try it on the robot — walking policy: point the walk role at it, nothing else changes.

scp policy.onnx radxa@<robot>:/home/radxa/policies/rough-walk-g/
# on the robot, /etc/robot/robotd.toml:   [policy]  walk = "/home/radxa/policies/rough-walk-g/policy.onnx"
sudo systemctl restart robotd

Test order suggestion: flat first and watch servo temperature (this one runs hotter than alpha), then obstacles. Keep alpha_walking's path noted for a one-line rollback.

Contract obs[1,61] f32 → actions[1,14] f32, normalizer baked in, 50 Hz, targets around HOME × 1.0. Kind perpetual, entry pose standing. Provenance Mjlab-Hostile-FinetuneFeetProgress-MicroDuck (continuation of Mjlab-Hostile-ScratchFeetProgress-MicroDuck) — pollen-robotics/microduck_rl @ 6cd45fc on branch hostile-terrain (https://github.com/pollen-robotics/microduck_rl/commit/6cd45fc), run pollen-robotics/hostile-g-continue-c-20260830-0630 (from scratch: 2500 it as hostile-c-scratch-feet-progress-20260830-0209, +800 it continued; wandb lyr06dji -> 4x3786f3); exported with scripts/export.py. Files policy.onnx · manifest.json (all of the above, machine-readable) · media/preview.mp4 (sim rollout) Format: Microduck policy sharing.

Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading