manifest.json
| 1 | { |
| 2 | "schema_version": 2, |
| 3 | "model_api": 1, |
| 4 | "obs_len": 61, |
| 5 | "action_len": 14, |
| 6 | "robot": { |
| 7 | "model": "microduck", |
| 8 | "hw_rev": 1, |
| 9 | "servos": "xl330", |
| 10 | "control_hz": 50 |
| 11 | }, |
| 12 | "description": "The policy set a microduck ships with: walking, standing, and the one-shots its buttons run.", |
| 13 | "policies": [ |
| 14 | { "file": "alpha_walking.onnx", "kind": "perpetual" }, |
| 15 | { "file": "velstand.onnx", "kind": "perpetual", "slot": "walk", "entry_pose": "standing", |
| 16 | "description": "Walking gait that also stands still at zero command; the default walk policy since v5, with no separate standing network. From v7 the body is steerable while standing: the body_pose roll/pitch command tilts the trunk (about +-10 deg), as alpha_stand did.", |
| 17 | "training": { "task_id": "Mjlab-VelStand-Rough-Backlash-MicroDuck", "repo": "pollen-robotics/microduck_rl", "commit": "53fb7d1", "branch": "improve_velstand2", "dirty": false, "run": "pollen-robotics/mjlab_microduck/j4i6yoq2", "checkpoint": 1250, "exported": "2026-10-05T00:00:00Z" } }, |
| 18 | { "file": "alpha_stand.onnx", "kind": "perpetual" }, |
| 19 | { "file": "roller.onnx", "kind": "perpetual", "mode": "roller", "action_scale": 0.8 }, |
| 20 | |
| 21 | { "file": "alpha_sitstand.onnx", "name": "sitstand", "kind": "scripted", |
| 22 | "command": { "encoding": "posture_flag", "slot": "twist.vx", "sit": 1.0, "stand": 0.0, "idle": [0.0, 0.0, 0.0] }, |
| 23 | "ramp_s": 2.0, "unwind_s": 1.0, |
| 24 | "description": "Gentle sit and stand, head steerable while seated. From v6 it no longer tips over backward when the head moves abruptly while seated.", |
| 25 | "training": { "task_id": "Mjlab-SitStand-Flat-MicroDuck", "repo": "pollen-robotics/microduck_rl", "commit": "77ffadf", "branch": "sitstand_no_fall_back", "dirty": false, "run": "pollen-robotics/mjlab_microduck/vfhxgrum", "checkpoint": 2250, "exported": "2026-10-01T00:00:00Z" } }, |
| 26 | |
| 27 | { "file": "alpha_ground_pick.onnx", "name": "ground_pick", "kind": "episodic", "duration_s": 2.8, |
| 28 | "command": { "encoding": "phase", "slots": "twist.vx,twist.vy", "period_s": 4.0, "end_phase": 0.7 } }, |
| 29 | |
| 30 | { "file": "roller_crouch.onnx", "name": "crouch", "kind": "episodic", "duration_s": 3.5, "mode": "roller", "action_scale": 0.8, |
| 31 | "command": { "encoding": "phase", "slots": "twist.vx,twist.vy", "period_s": 5.0, "end_phase": 0.7 } }, |
| 32 | |
| 33 | { "file": "roulade.onnx", "kind": "episodic", "duration_s": 1.0, "chain": true }, |
| 34 | { "file": "ball_kick_left.onnx", "name": "kick_left", "kind": "episodic", "duration_s": 0.5 }, |
| 35 | { "file": "ball_kick_right.onnx", "name": "kick_right", "kind": "episodic", "duration_s": 0.5 } |
| 36 | ] |
| 37 | } |
| 38 | |