Autonomous Ground Pick
One-shot crouching behavior that reaches beak to the floor to pick up objects with its articulated mouth gripper, then smoothly returns to stand.
About this behavior
Triggered via gamepad 'A' button or RPC call. Driven by a phase parameter [cos(2pi*t), sin(2pi*t), 0] fed into the velocity command channels over a 3.5-second gesture window. Coordinates beak opening, deep leg squat, and pitch compensation so the soft beak contacts the ground reliably without tipping.
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
- Hardware verified
- Evidence
- Verified on physical MicroDuck hardware picking up objects from carpet and hard flooring with the beak gripper.
- Target hardware
- MicroDuck v1 (Rockchip RK3566, 14 Dynamixel XL330-M077 + Beak Gripper)
- Simulation
- mjlab (MuJoCo Warp) at 50 Hz
- Note
- Executes on 3.5s phase clock (phase advances 1/5.0 per sec, ends at 0.7 phase).
Compatibility
- Robot model
- microduck-standard
- MJCF model
- robot_allcollisions.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://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/policies/alpha_ground_pick.onnx" -o "/opt/robot/policies/alpha_ground_pick.onnx"[policy]
groundpick = "/opt/robot/policies/alpha_ground_pick.onnx"sudo systemctl restart robotd
robotctl healthuv run scripts/infer_policy.py --groundpick alpha_ground_pick.onnx --new-cmd-obs