Waddle Custom Locomotion
Independent community-developed walking gait featuring a pronounced rhythmic waddling sway tuned for biped compliance.
About this behavior
Developed by Nick Koenig (nickoenig37) as an exploration of duck-like biomimetic locomotion. Modifies reward terms on lateral torso oscillation and foot contact cadence to produce a distinctive waddle gait while preserving the standard 61-dim observation and 14-actuator contract.
Runtime contract
61-dimension input · 14 joint targets · 50 Hz
Show details
Runtime contract
61-dimension input · 14 joint targets · 50 Hz
Positions, velocities, previous actions, gravity, and gyro.
Forward, lateral, and yaw velocity intent.
Neck and head orientation targets.
Six-axis torso offset command.
hip yaw · hip roll · hip pitch · knee · ankle
neck pitch · head pitch · yaw · roll
hip yaw · hip roll · hip pitch · knee · ankle
Verification
- Status
- Simulation tested
- Evidence
- Simulated and validated in mjlab across 4096 parallel environments on multi-GPU cluster with video recording.
- Target hardware
- MicroDuck v1 / Waddle Custom Biped Platform
- Simulation
- mjlab (MuJoCo Warp) at 50 Hz
- Note
- Community policy. Exhibits higher lateral roll oscillation than the official Alpha walk.
Compatibility
- Robot model
- custom-duck
- MJCF model
- robot_walk.xml
- Terrain
- flat
- Required accessories
- None — standard duck setup
Run it on your duck
Use the canonical model and this policy slot to try the behavior locally.
Deployment stepsShow instructions
curl -L "https://raw.githubusercontent.com/nickoenig37/mjlab_microduck_waddle/main/docs/waddle_walking.onnx" -o "/opt/robot/policies/waddle_walking.onnx"[policy]
walk = "/opt/robot/policies/waddle_walking.onnx"sudo systemctl restart robotd
robotctl healthuv run play Mjlab-Velocity-Flat-Waddle