Classic Swizzle Skating
Symmetric rhythmic swizzle gait on passive roller wheels, generating forward propulsion without lifting feet off the ground.
About this behavior
Emulates human inline skating swizzles (hourglass foot patterns). Uses continuous lateral leg splaying and converging arcs to convert leg extension forces into forward rolling momentum without foot lift-off. Trained in mjlab using full roller wheel contacts.
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 MuJoCo Warp / mjlab simulation over 4096 parallel environments with BAM actuator friction physics.
- Target hardware
- MicroDuck v1 + Roller Skate Accessories
- Simulation
- mjlab (MuJoCo Warp) at 50 Hz
- Note
- Targeted for smooth surfaces like wood or polished concrete where passive wheel friction is minimal.
Compatibility
- Robot model
- microduck-rollers
- MJCF model
- robot_allcollisions_rollers.xml
- Terrain
- flat
- 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/swizzle_rollers.onnx" -o "/opt/robot/policies/swizzle_rollers.onnx"[policy]
roller_swizzle = "/opt/robot/policies/swizzle_rollers.onnx"sudo systemctl restart robotd
robotctl healthuv run play Mjlab-Velocity-Swizzle-MicroDuck