manifest.json
2.6 KB · 38 lines · json Raw
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