HannesVonEssen's picture
Restore pre-incident release content
c27998b verified
Raw
History Blame Contribute Delete
4.34 kB
{
"schema_version": 4,
"model_api": 1,
"name": "microduck-running",
"kind": "perpetual",
"obs_len": 61,
"action_len": 14,
"action_scale": 1.0,
"entry_pose": "standing",
"duration_s": null,
"status": "sim-only",
"description": "Forward-running policy for the stock MicroDuck on flat ground. This is checkpoint 8749 used in the run-into-mat video, not the later faster continuation.",
"command": {
"layout": "twist(3), head_pose(4), body_pose(6)",
"twist": [
"forward velocity command in m/s; trained through 1.65, recommended simulation evaluation point 1.80; not a hard speed limit",
"lateral velocity; use 0 (training range was only -0.02 to 0.02 m/s)",
"yaw rate; use 0 (training range was only -0.05 to 0.05 rad/s)"
],
"head": "unused; zeros",
"body": "unused; zeros",
"idle": [
0,
0,
0
],
"exact_zero_training_fraction": 0.03
},
"robot": {
"model": "microduck",
"hw_rev": 1,
"servos": "14x Dynamixel XL330",
"control_hz": 50,
"hardware_modifications_required": false
},
"training": {
"task_id": "Mjlab-Running-Flat-MicroDuck",
"algorithm": "PPO (rsl_rl)",
"repo": "Vottivott/microduck-playground",
"commit": "c5fcc50219fef01ac9931d0079c583ccbb29b689",
"upstream_base": "pollen-robotics/microduck_rl@d424a0c899f6b33cbd3daeb279913134349c0b63",
"run": "sweep-speed-r1",
"checkpoint_iteration": 8749,
"resumed_from": "highspeed-r6 iteration 6750",
"continuation_iterations": 2000,
"environment": {
"MICRODUCK_RUNNING_TARGET_MAX_SPEED": 1.65,
"MICRODUCK_RUNNING_SPEED_CAP": 1.8,
"MICRODUCK_RUNNING_ACTION_RATE_WEIGHT": -0.1,
"MICRODUCK_RUNNING_ENABLE_SYMMETRY": false,
"MICRODUCK_RUNNING_ENABLE_HEADING_FEEDBACK": false
},
"export": "scripts/export.py; observation normalizer baked into policy.onnx",
"source_commit": "c5fcc50219fef01ac9931d0079c583ccbb29b689",
"continuation_checkpoint": {
"path": "checkpoint.pt",
"sha256": "ce7707c985d84affda1befec172a8c0a72fafaa4d3476a26bec11dde9199907f",
"actor_exact_to_released_onnx": true,
"original_full_ppo_state": true
}
},
"eval": {
"sim_proxy": "mjlab / MuJoCo Warp with BAM XL330 M6 actuator model",
"command_speed_m_s": 1.8,
"num_envs": 256,
"duration_s": 8.0,
"survival_fraction": 0.9921875,
"mean_body_forward_speed_m_s": 1.6072514057159424,
"mean_initial_heading_displacement_speed_m_s": 1.3276939392089844,
"mean_absolute_heading_error_deg": 25.215665057096395,
"mean_absolute_lateral_displacement_m": 3.8727223873138428,
"flight_fraction": 0.6572428941726685,
"known_limits": "Heading drift is substantial. At a 2.00 m/s extrapolated command, mean body-forward speed was 1.6452 m/s and survival fell to 0.9336. Never tested on hardware."
},
"sim2real": {
"retained": [
"BAM XL330 M6 voltage control, back-EMF, current limiting, battery 6.5-8.2 V, and load-dependent sag",
"3-6 physics-step actuator delay, 0-1-step IMU delay, and one-control-step joint-velocity lag",
"foot friction 0.7-1.3",
"trunk mass/inertia +/-5%, trunk/head CoM +/-3 mm, armature +/-10%, BAM joint friction +/-10%",
"encoder bias +/-0.015 rad, IMU misalignment up to 6 degrees, and actor observation noise"
],
"relaxed": [
"flat terrain only",
"random push disturbances removed",
"non-backlash robot model",
"CoM/head-CoM and head/body pose-command widening curricula removed",
"weaker posture, angular-motion, foot-slip, and action-rate regularization; head/body pose tracking disabled",
"motor-gain randomization and randomized initial base tilt disabled in inherited base recipe"
],
"hardware_validated": false
},
"media": {
"preview": "media/preview.mp4",
"run_into_mat": "media/run-into-mat.mp4",
"run_into_mat_note": "Same policy checkpoint; obstacle, collision augmentation, camera treatment, motor cutoff, and sparks are scripted demo elements. The policy has no obstacle perception.",
"audio": false
},
"source_artifact_sha256": "b4e285fb3671f52c28f671bd4733a4e11fa17c21f40d25f52eaf2614f9e2e02a",
"artifacts": {
"policy_onnx_sha256": "b4e285fb3671f52c28f671bd4733a4e11fa17c21f40d25f52eaf2614f9e2e02a"
}
}