Roller Slope Descent
Downhill slope gliding policy on roller skates with dynamic pitch stabilization and proactive speed moderation.
About this behavior
Trained specifically for inclined surfaces (5° to 15° slopes). Adjusts the duck's center of mass backward and applies staggered foot drags to prevent runaway speed down ramps while stabilizing roll and pitch angles against gravitational pull.
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
- Verified in mjlab simulation descending varying slope angles up to 15 degrees without destabilization.
- Target hardware
- MicroDuck v1 + Roller Skate Blades
- Simulation
- mjlab (MuJoCo Warp) at 50 Hz
- Note
- Experimental ramp policy; ensure run-out area is clear of obstacles during initial hardware trials.
Compatibility
- Robot model
- microduck-rollers
- MJCF model
- robot_allcollisions_rollers.xml
- Terrain
- slope
- Required accessories
- roller skates
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/pollen-robotics/microduck_rl/develop/docs/models/roller_slope.onnx" -o "/opt/robot/policies/roller_slope.onnx"[policy]
roller_slope = "/opt/robot/policies/roller_slope.onnx"sudo systemctl restart robotd
robotctl healthuv run play Mjlab-RollerSlope-Flat-MicroDuck