--- tags: - microduck-academy-policy - microduck-policy - academy - official - family:groundpick - kind:episodic - tier:1 - microduck - robotics - reinforcement-learning - onnx license: apache-2.0 library_name: onnx --- # Ground pick ![Ground pick (poster)](poster.jpg) An **official** Microduck move: [Pollen Robotics](https://huggingface.co/pollen-robotics)' **ground pick**, retrained from scratch by [Microduck Academy](https://huggingface.co/spaces/tfrere/microduck) with the upstream recipe as-is (task `Mjlab-GroundPick-Flat-MicroDuck` of [pollen-robotics/microduck_rl](https://github.com/pollen-robotics/microduck_rl) at `2b25a48`, 5999 iterations, 4096 envs, no reward edit), so that it carries the `base/model.pt` checkpoint the Academy needs to **remix** it. The policy Pollen ships is [`alpha_ground_pick.onnx`](https://huggingface.co/pollen-robotics/microduck-policies/blob/main/alpha_ground_pick.onnx). Pollen Robotics' ground pick: the beak goes down to the floor and comes back up, driven by a phase command over 2.8 s. ## Fidelity check (this move vs Pollen's policy, same scene, same command, take `phase`) | number | this move | Pollen's `alpha_ground_pick.onnx` | |---|---|---| | final_upright | True | True | | max_tilt | 0.502 | 0.638 | | base_z_mean | 0.0914 | 0.0979 | | base_z_min | 0.0805 | 0.0839 | | mouth_z_min | 0.0212 | 0.0204 | | t_mouth_min_s | 0.26 | 1.08 | | mouth_z_start | 0.188 | 0.1883 | | mouth_z_end | 0.2162 | 0.2166 | | base_z_end | 0.1166 | 0.1164 | Recorded with `space/payload/render/rollout.py` on the upstream robot MJCF (`spikes/base_moves/fidelity.py`). ## Run it on a robot ```sh robotctl policy load ground_pick tfrere/microduck-move-base-ground-pick ``` This move takes a **phase** command (`command.encoding: phase`, period 4.0 s, stops at phase 0.7; the take lasts 2.8 s). `robotctl policy add` refuses phase commands: `policy load` puts it in the `ground_pick` slot, the runtime drives the phase itself. ## Files `policy.onnx` (play it, normalizer baked in), `base/model.pt` + `base/agent.yaml` + `base/env.yaml` (the rsl_rl checkpoint and configs: **remix** = fine-tune from it), `rollouts/0.traj` (trajectory.v1 showcase take, with the commands), `video.mp4` + `poster.jpg` (the card clip), `manifest.json` (schema 2 + `academy` block: origin, source task and policy, training facts, fidelity numbers), `fidelity.json`, `train.json`. ## Credits and license The task, the reward design, the robot model and the training recipe are Pollen Robotics' work ([pollen-robotics/microduck_rl](https://github.com/pollen-robotics/microduck_rl), Apache-2.0). This repo republishes a retrained policy of that recipe under the same Apache-2.0 license, with the checkpoint, so the Academy's users can start from it.