Teethyfish's picture
Add safe ONNX viewer example video
0394248 verified
Raw
History Blame Contribute Delete
3.51 kB
{
"schema_version": 2,
"model_api": 1,
"name": "collision-flamingo-ii",
"kind": "perpetual",
"obs_len": 61,
"action_len": 14,
"action_scale": 1.0,
"entry_pose": "standing",
"duration_s": null,
"description": "Asymmetric one-foot balance policy trained with the Microduck full exterior-shell collision model; keeps the right foot lifted while the left foot supports the robot.",
"command": {
"twist": ["unused (0)", "unused (0)", "unused (0)"],
"head": "unused (zeros)",
"body": "unused (zeros)",
"idle": [0, 0, 0]
},
"robot": {
"model": "microduck full_shell",
"hw_rev": 1,
"servos": "xl330",
"control_hz": 50
},
"training": {
"algorithm": "PPO (rsl-rl-lib 5.0.1)",
"task_id": "Mjlab-OneLegStandNoBall-Flat-MicroDuck",
"repo": "pollen-robotics/microduck_rl",
"git_base": "d424a0c899f6b33cbd3daeb279913134349c0b63",
"source_state": "The full-shell collision and generated task were uncommitted. The exact required worktree overlay is bundled under reproduction/source-overlay.",
"run": "logs/rsl_rl/one_leg_stand_no_ball/2026-09-01_17-49-38_HoppingTraining_V2",
"checkpoint": "model_11500.pt",
"resume_parent": "2026-09-01_13-43-17_HoppingTraining/model_8750.pt",
"seed": 42,
"num_envs": 2048,
"sim_timestep_s": 0.005,
"decimation": 4,
"nconmax": 200,
"contact_sensor_maxmatch": 128,
"dependencies": {
"python": "3.12",
"torch": "2.9.1",
"mjlab": "1.3.0",
"mujoco": "3.10.0",
"mujoco-warp": "3.8.1",
"warp-lang": "1.12.0",
"onnxruntime": "1.24.4",
"better-actuator-models": "1.0.1"
}
},
"policy_contract": {
"input": "obs[1,61] float32",
"output": "actions[1,14] float32",
"observation_order": [
"base_ang_vel[3]",
"projected_gravity[3]",
"joint_pos_relative[14]",
"joint_vel[14]",
"previous_actions[14]",
"twist[3]",
"head_pose[4]",
"body_pose[6]"
],
"normalizer_baked_into_onnx": true,
"action_joint_order": [
"left_hip_yaw", "left_hip_roll", "left_hip_pitch", "left_knee", "left_ankle",
"neck_pitch", "head_pitch", "head_yaw", "head_roll",
"right_hip_yaw", "right_hip_roll", "right_hip_pitch", "right_knee", "right_ankle"
]
},
"validation": {
"supported_path": "scripts/infer_policy.py with --standing, --new-cmd-obs, --collision-model full_shell, and randomization disabled",
"observed_result": "Nominal one-foot standing worked in the safe ONNX deployment-rehearsal viewer.",
"example_video": "media/onnx_viewer_example.mp4",
"unsupported_paths": [
"mjlab uv run play with the native viewer",
"mjlab uv run play with the Viser viewer",
"scripts/infer_policy.py with --training-randomization"
],
"known_limits": "The same behavior did not reproduce in the native/Viser checkpoint viewers. It has not been validated under training-style randomization or on hardware. The example video shows the nominal safe ONNX-viewer result; no quantitative evaluation battery is available."
},
"files": {
"policy": "policy.onnx",
"example_video": "media/onnx_viewer_example.mp4",
"training_checkpoint": "checkpoints/model_11500.pt",
"resume_parent_checkpoint": "checkpoints/resume_parent_model_8750.pt",
"environment_config": "config/env.yaml",
"agent_config": "config/agent.yaml",
"source_overlay": "reproduction/source-overlay",
"checksums": "checksums.sha256"
}
}