Kick (left foot)
An official Microduck move: Pollen Robotics' kick (left foot),
retrained from scratch by Microduck Academy with the upstream recipe
as-is (task Mjlab-BallKick-Flat-MicroDuck of pollen-robotics/microduck_rl at 2b25a48,
3999 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
ball_kick_left.onnx.
Pollen Robotics' kick: a 0.5 s left-foot kick at a ball placed in front of the foot, then back to the walk.
Fidelity check (this move vs Pollen's policy, same scene, same command, take kick)
| number | this move | Pollen's ball_kick_left.onnx |
|---|---|---|
| final_upright | True | True |
| max_tilt | 0.264 | 0.262 |
| base_z_mean | 0.1173 | 0.1141 |
| base_z_min | 0.107 | 0.1098 |
| ball_travel_m | 1.199 | 0.261 |
| ball_travel_x_m | 1.197 | 0.26 |
| ball_travel_y_m | 0.073 | 0.016 |
| ball_peak_speed_m_s | 1.131 | 0.395 |
| upright_at_0_5s | True | True |
| tilt_at_0_5s | 0.065 | 0.028 |
Recorded with space/payload/render/rollout.py on the upstream robot MJCF (spikes/base_moves/fidelity.py).
Run it on a robot
sudo robotctl policy add kick-left-foot tfrere/microduck-move-base-kick-left
robotctl robot do kick-left-foot
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, 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.
