Sit and stand
An official Microduck move: Pollen Robotics' sit and stand,
retrained from scratch by Microduck Academy with the upstream recipe
as-is (task Mjlab-SitStand-Flat-MicroDuck of 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_sitstand.onnx.
Pollen Robotics' sit and stand: one policy, a posture flag in the twist slot (1 = sit, 0 = stand), gentle both ways.
Fidelity check (this move vs Pollen's policy, same scene, same command, take flag)
| number | this move | Pollen's alpha_sitstand.onnx |
|---|---|---|
| final_upright | True | True |
| max_tilt | 0.265 | 0.536 |
| base_z_mean | 0.0938 | 0.0911 |
| base_z_min | 0.0593 | 0.056 |
| z_stand | 0.1155 | 0.1107 |
| z_sit | 0.0597 | 0.0595 |
| z_stand_after | 0.1156 | 0.1159 |
| t_to_sit_s | 0.58 | 0.28 |
| t_to_rise_s | 0.24 | 0.26 |
Recorded with space/payload/render/rollout.py on the upstream robot MJCF (spikes/base_moves/fidelity.py).
Run it on a robot
robotctl policy load sitstand tfrere/microduck-move-base-sitstand
This move takes a posture flag (command.encoding: posture_flag on twist.vx: 1.0 = sit, 0.0 = stand). robotctl policy add refuses it: policy load puts it in the sitstand slot, the daemon's sit / stand button drives the flag.
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.
