veldrop

VelStand fine-tuned to land drops of 20-60 cm: servo-housing impacts -80% stepping off 60 cm (simulation). Not yet tested on a real robot.

A perpetual policy for the microduck (61-D observation, 14 actions, 50 Hz). Runs until told otherwise โ€” a gait for the walk slot.

Run it on a robot

sudo robotctl policy load walk IgaPro/microduck-veldrop

The observation normalizer is baked into policy.onnx; feed raw observations. manifest.json follows schema 2 of the microduck policy manifest (docs/policy-manifest.md in the daemon repo).

A remix of pollen-robotics/microduck-policies.

Training

  • task_id: Mjlab-VelDrop-Flat-MicroDuck
  • repo: pollen-robotics/microduck_rl
  • branch: backroll
  • commit: b02fdea49
  • checkpoint: 6300
  • exported from a checkout with uncommitted changes

Install, and how to go back

sudo robotctl policy load walk IgaPro/microduck-veldrop   # replaces the walking gait
sudo robotctl policy reset walk                           # back to the stock VelStand

Read this before trying it

  • Simulation only. Trained and evaluated in MuJoCo (mjlab), checked on a second physics path only partially. It has not been run on a real Microduck yet. Start with the robot on its stand, then try low drops (~20 cm) onto a carpet.
  • Keep limp_fall ON (the default). It takes over when the robot tips past ~26ยฐ, i.e. on step-offs and tumbles. VelDrop matters most where limp_fall never triggers: drops that stay upright (put down from a height, feet first) โ€” and on step-offs it is at least as gentle as going limp in simulation (table below).
  • The pickup detector may pause the policy while the feet are off the floor during a drop; that is runtime behaviour, not something this policy can change.

What changed vs. the stock VelStand (simulation)

Warm-started from Pollen's VelStand and fine-tuned with drops from 20โ€“60 cm (feet-down, stepping off an edge, tumbling), linoleum/carpet floor, and impact costs on servo housings, head and trunk raised ร—10 during drops only. Walking, turning and getting up are trained as before.

Mean of 128 drops per row, 2 s after the spawn (higher-is-better only for "on feet"):

Drop Policy Servo-housing impact Head impact Joint jerk (rad/sยฒ) Landed on feet
40 cm, stepping off VelStand 11 N 52 N 660 38 %
VelDrop 2 N 54 N 478 52 %
60 cm, stepping off VelStand 15 N 75 N 665 21 %
VelDrop 4 N 65 N 502 30 %
limp (limp_fall) 13 N 80 N 329 23 %
60 cm, feet first VelStand 4 N 10 N 451 59 %
VelDrop 4 N 8 N 443 59 %
60 cm, tumbling VelStand 11 N 66 N 457 22 %
VelDrop 11 N 65 N 444 21 %

The video's split screen is the clearest of 128 identical 60 cm step-offs (same pose and physics on both sides, randomisation off); its end card shows the average over all 128. Servo-housing contact is what strips gears โ€” that is where the gain is. Tumbling drops are unchanged, and going limp still has lower joint jerk.

Training code: task Mjlab-VelDrop-Flat-MicroDuck (a VelStand extension), evaluation with scripts/drop_eval.py, video with scripts/drop_video.py.

Downloads last month
23
Video Preview
loading

Model tree for IgaPro/microduck-veldrop

Finetuned
(5)
this model