microduck-backflip / manifest.json
nocrab's picture
publish backflip: manifest.json
d80c763 verified
Raw History Blame Contribute Delete
1.76 kB
{
"schema_version": 2,
"model_api": 1,
"name": "backflip",
"kind": "episodic",
"obs_len": 61,
"action_len": 14,
"action_scale": 1.0,
"entry_pose": "standing",
"duration_s": 0.3,
"description": "Backflip from a stand (head-spring style) and land on its feet; starts when twist[0] goes to 1. SIM ONLY.",
"command": {
"encoding": "constant",
"idle": [
0,
0,
0
],
"twist": [
"start switch: 1 for ~0.2-0.5 s starts the flip, then 0 while it flies and lands (install with --command 1,0,0)",
"unused (0)",
"unused (0)"
],
"head": "unused (zeros)",
"body": "unused (zeros)"
},
"robot": {
"model": "microduck",
"hw_rev": 1,
"servos": "xl330",
"control_hz": 50
},
"training": {
"task_id": "Mjlab-Backflip-Flat-MicroDuck",
"repo": "pollen-robotics/microduck_rl",
"commit": "4757d6ae",
"branch": "flamingo",
"dirty": true,
"run": "local 2026-10-26_15-47-20_run2, model_2999 (3000 it, 4096 envs, RTX 5080, 1h34m)",
"checkpoint": 2999
},
"eval": {
"sim_proxy": "mjlab training env with full domain randomization (64 standing starts per row), plus duck-sim (real robotd vs MuJoCo body)",
"training_env": "switch at 1.0 s for 0.3 s: 100% full flip and land; at 0.3 s / 2.5 s: 100%; window 0.2 / 0.5 s: 100% / 98%; switch at the first step: 88%; switch never on: 0 flips, 100% standing",
"duck_sim": "robot do backflip x30 with --command 1,0,0 --hold 0.3 --unwind 2.5: 29/30 full flips, 30/30 ended standing, no fall/limp verdicts, 1.00x real time",
"peak_impact_m_s2": 26,
"known_limits": "head-spring: the head pushes off the floor for ~0.1-0.3 s every flip; ~2.6 g landing peaks; never tested on hardware"
}
}