HannesVonEssen commited on
Commit
c27998b
·
verified ·
1 Parent(s): 313641d

Restore pre-incident release content

Browse files

Restore file content from af0e6b50b5840b892a09b0937a330cb7946b3e0c after unintended stale-instruction replay. Preserve repository visibility and history.

.gitattributes CHANGED
@@ -4,4 +4,3 @@
4
  checkpoint.pt filter=lfs diff=lfs merge=lfs -text
5
  legacy/iteration-8749/checkpoint.pt filter=lfs diff=lfs merge=lfs -text
6
  lineage/iteration-11748/checkpoint.pt filter=lfs diff=lfs merge=lfs -text
7
- media/run-into-mat-preview.gif filter=lfs diff=lfs merge=lfs -text
 
4
  checkpoint.pt filter=lfs diff=lfs merge=lfs -text
5
  legacy/iteration-8749/checkpoint.pt filter=lfs diff=lfs merge=lfs -text
6
  lineage/iteration-11748/checkpoint.pt filter=lfs diff=lfs merge=lfs -text
 
README.md CHANGED
@@ -22,30 +22,17 @@ lateral drift remain substantial.
22
 
23
  [Open the full silent MP4](media/preview.mp4).
24
 
25
- ## Policy graph
26
 
27
- <a href="https://hfviewer.com/HannesVonEssen/microduck-running?utm_source=huggingface&amp;utm_medium=embedded_model_card&amp;utm_campaign=HannesVonEssen__microduck-running_card&amp;utm_content=embedded_card_open_viewer&amp;from=embedded-model-card" target="_blank" rel="noopener">
28
- <img
29
- src="https://hfviewer.com/api/card.svg?source=HannesVonEssen%2Fmicroduck-running&amp;granularity=auto&amp;v=20260911-visible-card"
30
- alt="Architecture graph for HannesVonEssen/microduck-running. Open in hfviewer"
31
- width="100%"
32
- />
33
- </a>
34
-
35
- ## Run-into-mat demonstration — iteration 8,749
36
-
37
- <video src="https://huggingface.co/HannesVonEssen/microduck-running/resolve/main/media/run-into-mat.mp4" width="720" controls autoplay loop muted playsinline preload="metadata"></video>
38
 
39
- [Play or download the full silent MP4](media/run-into-mat.mp4).
40
-
41
- This is a scripted simulation demonstration using the earlier iteration-8,749
42
- controller. The policy has no obstacle perception and did not learn to react to
43
- the mat. The mat, collision setup, camera, and post-impact motor cutoff are
44
- scripted; the video has no added impact effects. Matching training and task
45
- source is in
46
- [`Vottivott/microduck-playground`](https://github.com/Vottivott/microduck-playground).
47
- The default downloadable policy remains iteration 12,195.
48
 
 
 
 
 
 
49
 
50
  ## Versions
51
 
@@ -53,6 +40,7 @@ The default downloadable policy remains iteration 12,195.
53
  |---|---:|---|---|
54
  | Default robust candidate | 12,195 | [`policy.onnx`](policy.onnx), [`checkpoint.pt`](checkpoint.pt) | Recommended starting point for further simulation and cautious hardware research |
55
  | Speed-focused parent | 11,748 | [`lineage/iteration-11748/`](lineage/iteration-11748/) | 1.687 m/s frontier used to start robustification |
 
56
 
57
  ## Command
58
 
@@ -74,12 +62,12 @@ limiter.
74
  ## Try it in simulation
75
 
76
  The matching source is
77
- [`Vottivott/microduck-playground@6a55808`](https://github.com/Vottivott/microduck-playground/commit/6a558088016232c29455983f888ce5667c1a435e):
78
 
79
  ```bash
80
  git clone https://github.com/Vottivott/microduck-playground.git
81
  cd microduck-playground
82
- git checkout 6a558088016232c29455983f888ce5667c1a435e
83
  uv sync
84
 
85
  hf download HannesVonEssen/microduck-running policy.onnx config.json --local-dir policies/running
@@ -186,7 +174,7 @@ systematic forward pitching.
186
 
187
  Training task `Mjlab-Running-Flat-MicroDuck`; PPO with `rsl_rl`; checkpoint
188
  iteration 12,195. Source:
189
- [`Vottivott/microduck-playground@6a55808`](https://github.com/Vottivott/microduck-playground/commit/6a558088016232c29455983f888ce5667c1a435e),
190
  based on
191
  [`pollen-robotics/microduck_rl@d424a0c`](https://github.com/pollen-robotics/microduck_rl/commit/d424a0c899f6b33cbd3daeb279913134349c0b63).
192
  Exported with `scripts/export.py`, which bakes the observation normalizer into
@@ -197,9 +185,18 @@ the ONNX graph.
197
  - `manifest.json` — machine-readable contract, evaluation, and provenance
198
  - `eval/` — raw evaluation records and checkpoint/ONNX parity record
199
  - `media/preview.mp4` — robust policy's 10-second close rollout
200
- - `media/run-into-mat.mp4` — scripted mat demonstration with the earlier iteration-8,749 controller
201
  - `lineage/iteration-11748/` — speed-parent model, checkpoint, video, and evals
 
202
  - `SHA256SUMS` — artifact integrity hashes
203
 
204
  Format inspired by
205
  [`RemiFabre/microduck-flamingo-cycle`](https://huggingface.co/RemiFabre/microduck-flamingo-cycle).
 
 
 
 
 
 
 
 
 
22
 
23
  [Open the full silent MP4](media/preview.mp4).
24
 
25
+ ## Run-into-mat edit — legacy iteration 8,749
26
 
27
+ <video src="https://huggingface.co/HannesVonEssen/microduck-running/resolve/main/media/run-into-mat.mp4" controls loop muted playsinline></video>
 
 
 
 
 
 
 
 
 
 
28
 
29
+ [Open the full silent run-into-mat MP4](media/run-into-mat.mp4).
 
 
 
 
 
 
 
 
30
 
31
+ The mat video uses the preserved iteration-8,749 controller, not the new root
32
+ policy. Its obstacle, collision augmentation, camera treatment, post-impact
33
+ motor cutoff, and sparks are scripted demonstration elements. The policy has
34
+ no obstacle perception and did not learn to react to a mat. Both videos are
35
+ silent.
36
 
37
  ## Versions
38
 
 
40
  |---|---:|---|---|
41
  | Default robust candidate | 12,195 | [`policy.onnx`](policy.onnx), [`checkpoint.pt`](checkpoint.pt) | Recommended starting point for further simulation and cautious hardware research |
42
  | Speed-focused parent | 11,748 | [`lineage/iteration-11748/`](lineage/iteration-11748/) | 1.687 m/s frontier used to start robustification |
43
+ | Legacy mat-video policy | 8,749 | [`legacy/iteration-8749/`](legacy/iteration-8749/) | Exact controller used in the run-into-mat edit |
44
 
45
  ## Command
46
 
 
62
  ## Try it in simulation
63
 
64
  The matching source is
65
+ [`Vottivott/microduck-playground@828d950`](https://github.com/Vottivott/microduck-playground/commit/828d950134e29a8d04cbb51720a22c8729047fb7):
66
 
67
  ```bash
68
  git clone https://github.com/Vottivott/microduck-playground.git
69
  cd microduck-playground
70
+ git checkout 828d950134e29a8d04cbb51720a22c8729047fb7
71
  uv sync
72
 
73
  hf download HannesVonEssen/microduck-running policy.onnx config.json --local-dir policies/running
 
174
 
175
  Training task `Mjlab-Running-Flat-MicroDuck`; PPO with `rsl_rl`; checkpoint
176
  iteration 12,195. Source:
177
+ [`Vottivott/microduck-playground@828d950`](https://github.com/Vottivott/microduck-playground/commit/828d950134e29a8d04cbb51720a22c8729047fb7),
178
  based on
179
  [`pollen-robotics/microduck_rl@d424a0c`](https://github.com/pollen-robotics/microduck_rl/commit/d424a0c899f6b33cbd3daeb279913134349c0b63).
180
  Exported with `scripts/export.py`, which bakes the observation normalizer into
 
185
  - `manifest.json` — machine-readable contract, evaluation, and provenance
186
  - `eval/` — raw evaluation records and checkpoint/ONNX parity record
187
  - `media/preview.mp4` — robust policy's 10-second close rollout
188
+ - `media/run-into-mat.mp4` — scripted legacy iteration-8,749 demonstration
189
  - `lineage/iteration-11748/` — speed-parent model, checkpoint, video, and evals
190
+ - `legacy/iteration-8749/` — exact mat-video policy, checkpoint, and clean video
191
  - `SHA256SUMS` — artifact integrity hashes
192
 
193
  Format inspired by
194
  [`RemiFabre/microduck-flamingo-cycle`](https://huggingface.co/RemiFabre/microduck-flamingo-cycle).
195
+
196
+ <a href="https://hfviewer.com/HannesVonEssen/microduck-running?utm_source=huggingface&amp;utm_medium=embedded_model_card&amp;utm_campaign=HannesVonEssen__microduck-running_card&amp;utm_content=embedded_card_open_viewer&amp;from=embedded-model-card" target="_blank" rel="noopener">
197
+ <img
198
+ src="https://hfviewer.com/api/card.svg?source=HannesVonEssen%2Fmicroduck-running&amp;granularity=auto&amp;v=20260903-robust12195"
199
+ alt="Architecture graph for HannesVonEssen/microduck-running. Open in hfviewer"
200
+ width="100%"
201
+ />
202
+ </a>
SHA256SUMS CHANGED
@@ -1,6 +1,6 @@
1
- e84fc55538617f540c6d796cf06f20ff1f1da8298ccc8604d8a719c5af755fdc README.md
2
  052f6df6683fdae83deb369b7f2c7d13e45f87ed2907adee6e23b1ebf9dfe973 checkpoint.pt
3
- 2060c22910e85b5943b61048547ea4eab7cbd8e4ce8794b4d58a87d1cfcaaefc config.json
4
  d7a92e6ed3b48e72a07973ada6b74f3611bba38aaa8af9747ba0dabaa6ef12e0 eval/checkpoint-onnx-parity.json
5
  f65329ffd1cfe990c244390ae076532537daee530832cf993f84d95b53e30c78 eval/high-grip-plain.json
6
  eafe79f0f32f0430efb13bc95bb5896d8aaf1bff575a5dc973ba30aaa2f9d162 eval/nominal-backlash.json
@@ -8,12 +8,16 @@ ef08a1b9c1d4ac51e50d119197d2406d3352b31d7e986190449f7be058ac7236 eval/nominal-p
8
  16918366d4208f433eabd3c24a1e57ae8923ab9fb064e70328347e64b5fd65b7 eval/released_12195.json
9
  a9934320b9f4bf29ff4304ec48be01c519540188cfb679b945a13721de83cb24 eval/stress-backlash.json
10
  abdb838ea7c4795451e97ddb27870404189f53fb1032084fa517a24e674df098 eval/stress-plain.json
 
 
 
 
11
  1e79df200d8bb19b139ee1e74e6910c62434d57e792f632b66b10a73266894eb lineage/iteration-11748/checkpoint.pt
12
  a81a468c789b890f935e14f478f992c632b01eeb25179da7d3ba252d663625be lineage/iteration-11748/evaluations.tar.gz
13
  04eccc1fe13a8d00c813cac78e7ada8df65ab3b317757a0b2d0a4ac35574ca8f lineage/iteration-11748/manifest.json
14
  ccd6757b53b591081fdf75dd3effe9a5743f5fac0c2a513fa48dfd5a32231b65 lineage/iteration-11748/policy.onnx
15
  256ad675984d544204076986a7e09ea3a66c6070ec15ffb52921212e685e898c lineage/iteration-11748/preview.mp4
16
- 28d55880f29c28709ad9e0bef13889287010f7eac6ef2ff942e6690a1a6a8496 manifest.json
17
- ae4ba81814c0e4273ce0bf5aa24169b1d9e9f132ea9a0cbd1aeec772ff83c2a9 media/preview.mp4
18
- 874a9b7a7b5631fe5ad8941fa6a6680cff383053b0035988ccd7ab5ae15efe7d media/run-into-mat.mp4
19
  007707dd7779b2756ded67c58b2e9f94fe5071794a48c2b5a20d5f8d841efbeb policy.onnx
 
1
+ 69c602a90098db9642a213367371153a8451e0b66e21eb48d682853f411e5d97 README.md
2
  052f6df6683fdae83deb369b7f2c7d13e45f87ed2907adee6e23b1ebf9dfe973 checkpoint.pt
3
+ a9a1e9058642980c5f33b6c9d1ad54f513292429dc3dc57dcea8d3f6f2dc5950 config.json
4
  d7a92e6ed3b48e72a07973ada6b74f3611bba38aaa8af9747ba0dabaa6ef12e0 eval/checkpoint-onnx-parity.json
5
  f65329ffd1cfe990c244390ae076532537daee530832cf993f84d95b53e30c78 eval/high-grip-plain.json
6
  eafe79f0f32f0430efb13bc95bb5896d8aaf1bff575a5dc973ba30aaa2f9d162 eval/nominal-backlash.json
 
8
  16918366d4208f433eabd3c24a1e57ae8923ab9fb064e70328347e64b5fd65b7 eval/released_12195.json
9
  a9934320b9f4bf29ff4304ec48be01c519540188cfb679b945a13721de83cb24 eval/stress-backlash.json
10
  abdb838ea7c4795451e97ddb27870404189f53fb1032084fa517a24e674df098 eval/stress-plain.json
11
+ ce7707c985d84affda1befec172a8c0a72fafaa4d3476a26bec11dde9199907f legacy/iteration-8749/checkpoint.pt
12
+ 1907518687eaccf35ef242da3326873b4c7849e31dd0dc0a677f747fc5b6a8f3 legacy/iteration-8749/manifest.json
13
+ 69ce8b5f8855ac76d2413d90b176e770d22d22a72766dcc2dacf34ccbded58d6 legacy/iteration-8749/media/preview.mp4
14
+ b4e285fb3671f52c28f671bd4733a4e11fa17c21f40d25f52eaf2614f9e2e02a legacy/iteration-8749/policy.onnx
15
  1e79df200d8bb19b139ee1e74e6910c62434d57e792f632b66b10a73266894eb lineage/iteration-11748/checkpoint.pt
16
  a81a468c789b890f935e14f478f992c632b01eeb25179da7d3ba252d663625be lineage/iteration-11748/evaluations.tar.gz
17
  04eccc1fe13a8d00c813cac78e7ada8df65ab3b317757a0b2d0a4ac35574ca8f lineage/iteration-11748/manifest.json
18
  ccd6757b53b591081fdf75dd3effe9a5743f5fac0c2a513fa48dfd5a32231b65 lineage/iteration-11748/policy.onnx
19
  256ad675984d544204076986a7e09ea3a66c6070ec15ffb52921212e685e898c lineage/iteration-11748/preview.mp4
20
+ 0ef9f79b9105ed28c8b4d718dd669541de6dc906493732c5357e87a8cc92a0a3 manifest.json
21
+ 942f0802cc0c6795769bd99a9991f866fee682890ea9ea6d71077f7d4eb5492b media/preview.mp4
22
+ 13f3eaf36601928125a001c1e5f444285a7294b70dc53a186da195d8cb50bc9a media/run-into-mat.mp4
23
  007707dd7779b2756ded67c58b2e9f94fe5071794a48c2b5a20d5f8d841efbeb policy.onnx
config.json CHANGED
@@ -10,5 +10,5 @@
10
  "control_frequency_hz": 50,
11
  "checkpoint_iteration": 12195,
12
  "source_repository": "Vottivott/microduck-playground",
13
- "source_revision": "6a558088016232c29455983f888ce5667c1a435e"
14
  }
 
10
  "control_frequency_hz": 50,
11
  "checkpoint_iteration": 12195,
12
  "source_repository": "Vottivott/microduck-playground",
13
+ "source_revision": "828d950134e29a8d04cbb51720a22c8729047fb7"
14
  }
legacy/iteration-8749/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ce7707c985d84affda1befec172a8c0a72fafaa4d3476a26bec11dde9199907f
3
+ size 4843445
legacy/iteration-8749/manifest.json ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 4,
3
+ "model_api": 1,
4
+ "name": "microduck-running",
5
+ "kind": "perpetual",
6
+ "obs_len": 61,
7
+ "action_len": 14,
8
+ "action_scale": 1.0,
9
+ "entry_pose": "standing",
10
+ "duration_s": null,
11
+ "status": "sim-only",
12
+ "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.",
13
+ "command": {
14
+ "layout": "twist(3), head_pose(4), body_pose(6)",
15
+ "twist": [
16
+ "forward velocity command in m/s; trained through 1.65, recommended simulation evaluation point 1.80; not a hard speed limit",
17
+ "lateral velocity; use 0 (training range was only -0.02 to 0.02 m/s)",
18
+ "yaw rate; use 0 (training range was only -0.05 to 0.05 rad/s)"
19
+ ],
20
+ "head": "unused; zeros",
21
+ "body": "unused; zeros",
22
+ "idle": [
23
+ 0,
24
+ 0,
25
+ 0
26
+ ],
27
+ "exact_zero_training_fraction": 0.03
28
+ },
29
+ "robot": {
30
+ "model": "microduck",
31
+ "hw_rev": 1,
32
+ "servos": "14x Dynamixel XL330",
33
+ "control_hz": 50,
34
+ "hardware_modifications_required": false
35
+ },
36
+ "training": {
37
+ "task_id": "Mjlab-Running-Flat-MicroDuck",
38
+ "algorithm": "PPO (rsl_rl)",
39
+ "repo": "Vottivott/microduck-playground",
40
+ "commit": "c5fcc50219fef01ac9931d0079c583ccbb29b689",
41
+ "upstream_base": "pollen-robotics/microduck_rl@d424a0c899f6b33cbd3daeb279913134349c0b63",
42
+ "run": "sweep-speed-r1",
43
+ "checkpoint_iteration": 8749,
44
+ "resumed_from": "highspeed-r6 iteration 6750",
45
+ "continuation_iterations": 2000,
46
+ "environment": {
47
+ "MICRODUCK_RUNNING_TARGET_MAX_SPEED": 1.65,
48
+ "MICRODUCK_RUNNING_SPEED_CAP": 1.8,
49
+ "MICRODUCK_RUNNING_ACTION_RATE_WEIGHT": -0.1,
50
+ "MICRODUCK_RUNNING_ENABLE_SYMMETRY": false,
51
+ "MICRODUCK_RUNNING_ENABLE_HEADING_FEEDBACK": false
52
+ },
53
+ "export": "scripts/export.py; observation normalizer baked into policy.onnx",
54
+ "source_commit": "c5fcc50219fef01ac9931d0079c583ccbb29b689",
55
+ "continuation_checkpoint": {
56
+ "path": "checkpoint.pt",
57
+ "sha256": "ce7707c985d84affda1befec172a8c0a72fafaa4d3476a26bec11dde9199907f",
58
+ "actor_exact_to_released_onnx": true,
59
+ "original_full_ppo_state": true
60
+ }
61
+ },
62
+ "eval": {
63
+ "sim_proxy": "mjlab / MuJoCo Warp with BAM XL330 M6 actuator model",
64
+ "command_speed_m_s": 1.8,
65
+ "num_envs": 256,
66
+ "duration_s": 8.0,
67
+ "survival_fraction": 0.9921875,
68
+ "mean_body_forward_speed_m_s": 1.6072514057159424,
69
+ "mean_initial_heading_displacement_speed_m_s": 1.3276939392089844,
70
+ "mean_absolute_heading_error_deg": 25.215665057096395,
71
+ "mean_absolute_lateral_displacement_m": 3.8727223873138428,
72
+ "flight_fraction": 0.6572428941726685,
73
+ "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."
74
+ },
75
+ "sim2real": {
76
+ "retained": [
77
+ "BAM XL330 M6 voltage control, back-EMF, current limiting, battery 6.5-8.2 V, and load-dependent sag",
78
+ "3-6 physics-step actuator delay, 0-1-step IMU delay, and one-control-step joint-velocity lag",
79
+ "foot friction 0.7-1.3",
80
+ "trunk mass/inertia +/-5%, trunk/head CoM +/-3 mm, armature +/-10%, BAM joint friction +/-10%",
81
+ "encoder bias +/-0.015 rad, IMU misalignment up to 6 degrees, and actor observation noise"
82
+ ],
83
+ "relaxed": [
84
+ "flat terrain only",
85
+ "random push disturbances removed",
86
+ "non-backlash robot model",
87
+ "CoM/head-CoM and head/body pose-command widening curricula removed",
88
+ "weaker posture, angular-motion, foot-slip, and action-rate regularization; head/body pose tracking disabled",
89
+ "motor-gain randomization and randomized initial base tilt disabled in inherited base recipe"
90
+ ],
91
+ "hardware_validated": false
92
+ },
93
+ "media": {
94
+ "preview": "media/preview.mp4",
95
+ "run_into_mat": "media/run-into-mat.mp4",
96
+ "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.",
97
+ "audio": false
98
+ },
99
+ "source_artifact_sha256": "b4e285fb3671f52c28f671bd4733a4e11fa17c21f40d25f52eaf2614f9e2e02a",
100
+ "artifacts": {
101
+ "policy_onnx_sha256": "b4e285fb3671f52c28f671bd4733a4e11fa17c21f40d25f52eaf2614f9e2e02a"
102
+ }
103
+ }
legacy/iteration-8749/media/preview.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:69ce8b5f8855ac76d2413d90b176e770d22d22a72766dcc2dacf34ccbded58d6
3
+ size 3133555
legacy/iteration-8749/policy.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b4e285fb3671f52c28f671bd4733a4e11fa17c21f40d25f52eaf2614f9e2e02a
3
+ size 793819
manifest.json CHANGED
@@ -19,11 +19,7 @@
19
  ],
20
  "head": "unused; zeros",
21
  "body": "unused; zeros",
22
- "idle": [
23
- 0,
24
- 0,
25
- 0
26
- ],
27
  "exact_zero_training_fraction": 0.03
28
  },
29
  "robot": {
@@ -37,7 +33,7 @@
37
  "task_id": "Mjlab-Running-Flat-MicroDuck",
38
  "algorithm": "PPO (rsl_rl)",
39
  "repo": "Vottivott/microduck-playground",
40
- "commit": "6a558088016232c29455983f888ce5667c1a435e",
41
  "upstream_base": "pollen-robotics/microduck_rl@d424a0c899f6b33cbd3daeb279913134349c0b63",
42
  "checkpoint_iteration": 12195,
43
  "resumed_from": "iteration 11748",
@@ -51,37 +47,13 @@
51
  "MICRODUCK_RUNNING_FORWARD_PROGRESS_WEIGHT": 5.0,
52
  "MICRODUCK_RUNNING_ENABLE_SYMMETRY": false,
53
  "MICRODUCK_RUNNING_ENABLE_HEADING_FEEDBACK": false,
54
- "foot_friction_range": [
55
- 0.7,
56
- 1.3
57
- ],
58
- "push_interval_s": [
59
- 3.0,
60
- 6.0
61
- ]
62
  },
63
  "robustification_stages": [
64
- {
65
- "updates": 100,
66
- "push_m_s": 0.03,
67
- "trunk_com_m": 0.003,
68
- "head_com_m": 0.003,
69
- "initial_tilt_deg": 1.0
70
- },
71
- {
72
- "updates": 150,
73
- "push_m_s": 0.06,
74
- "trunk_com_m": 0.005,
75
- "head_com_m": 0.005,
76
- "initial_tilt_deg": 1.5
77
- },
78
- {
79
- "updates": 200,
80
- "push_m_s": 0.1,
81
- "trunk_com_m": 0.008,
82
- "head_com_m": 0.006,
83
- "initial_tilt_deg": 2.0
84
- }
85
  ],
86
  "export": "scripts/export.py; observation normalizer baked into policy.onnx",
87
  "continuation_checkpoint": {
@@ -97,45 +69,20 @@
97
  "duration_s": 10.0,
98
  "warmup_s": 1.0,
99
  "results": {
100
- "nominal_plain": {
101
- "num_envs": 512,
102
- "speed_m_s": 1.6510932445526123,
103
- "survival": 0.9921875
104
- },
105
- "stress_plain": {
106
- "num_envs": 512,
107
- "speed_m_s": 1.6349653005599976,
108
- "survival": 0.98828125
109
- },
110
- "nominal_backlash": {
111
- "num_envs": 256,
112
- "speed_m_s": 1.6362495422363281,
113
- "survival": 0.98828125
114
- },
115
- "stress_backlash": {
116
- "num_envs": 256,
117
- "speed_m_s": 1.6121970415115356,
118
- "survival": 0.984375
119
- },
120
- "high_grip_stress": {
121
- "num_envs": 512,
122
- "speed_m_s": 1.6424154043197632,
123
- "survival": 0.966796875
124
- }
125
- },
126
- "stress": {
127
- "push_m_s": 0.1,
128
- "trunk_com_m": 0.01,
129
- "head_com_m": 0.006,
130
- "initial_tilt_deg": 2.0
131
  },
 
132
  "known_limits": "Heading and lateral drift remain substantial. Never tested on hardware."
133
  },
134
  "onnx_contract": {
135
  "observation_normalizer_embedded": true,
136
  "training_action_clipping": false,
137
  "onnx_output_clip": false,
138
- "checkpoint_parity_max_abs_error": 7.62939453125e-06
139
  },
140
  "sim2real": {
141
  "retained": [
@@ -156,19 +103,15 @@
156
  "hardware_validated": false
157
  },
158
  "versions": {
159
- "default": {
160
- "iteration": 12195,
161
- "policy": "policy.onnx",
162
- "checkpoint": "checkpoint.pt",
163
- "preview": "media/preview.mp4"
164
- },
165
- "speed_parent": {
166
- "iteration": 11748,
167
- "directory": "lineage/iteration-11748"
168
- }
169
  },
170
  "media": {
171
  "preview": "media/preview.mp4",
 
 
 
172
  "audio": false
173
  },
174
  "source_artifact_sha256": "007707dd7779b2756ded67c58b2e9f94fe5071794a48c2b5a20d5f8d841efbeb",
 
19
  ],
20
  "head": "unused; zeros",
21
  "body": "unused; zeros",
22
+ "idle": [0, 0, 0],
 
 
 
 
23
  "exact_zero_training_fraction": 0.03
24
  },
25
  "robot": {
 
33
  "task_id": "Mjlab-Running-Flat-MicroDuck",
34
  "algorithm": "PPO (rsl_rl)",
35
  "repo": "Vottivott/microduck-playground",
36
+ "commit": "828d950134e29a8d04cbb51720a22c8729047fb7",
37
  "upstream_base": "pollen-robotics/microduck_rl@d424a0c899f6b33cbd3daeb279913134349c0b63",
38
  "checkpoint_iteration": 12195,
39
  "resumed_from": "iteration 11748",
 
47
  "MICRODUCK_RUNNING_FORWARD_PROGRESS_WEIGHT": 5.0,
48
  "MICRODUCK_RUNNING_ENABLE_SYMMETRY": false,
49
  "MICRODUCK_RUNNING_ENABLE_HEADING_FEEDBACK": false,
50
+ "foot_friction_range": [0.7, 1.3],
51
+ "push_interval_s": [3.0, 6.0]
 
 
 
 
 
 
52
  },
53
  "robustification_stages": [
54
+ {"updates": 100, "push_m_s": 0.03, "trunk_com_m": 0.003, "head_com_m": 0.003, "initial_tilt_deg": 1.0},
55
+ {"updates": 150, "push_m_s": 0.06, "trunk_com_m": 0.005, "head_com_m": 0.005, "initial_tilt_deg": 1.5},
56
+ {"updates": 200, "push_m_s": 0.1, "trunk_com_m": 0.008, "head_com_m": 0.006, "initial_tilt_deg": 2.0}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  ],
58
  "export": "scripts/export.py; observation normalizer baked into policy.onnx",
59
  "continuation_checkpoint": {
 
69
  "duration_s": 10.0,
70
  "warmup_s": 1.0,
71
  "results": {
72
+ "nominal_plain": {"num_envs": 512, "speed_m_s": 1.6510932445526123, "survival": 0.9921875},
73
+ "stress_plain": {"num_envs": 512, "speed_m_s": 1.6349653005599976, "survival": 0.98828125},
74
+ "nominal_backlash": {"num_envs": 256, "speed_m_s": 1.6362495422363281, "survival": 0.98828125},
75
+ "stress_backlash": {"num_envs": 256, "speed_m_s": 1.6121970415115356, "survival": 0.984375},
76
+ "high_grip_stress": {"num_envs": 512, "speed_m_s": 1.6424154043197632, "survival": 0.966796875}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  },
78
+ "stress": {"push_m_s": 0.1, "trunk_com_m": 0.01, "head_com_m": 0.006, "initial_tilt_deg": 2.0},
79
  "known_limits": "Heading and lateral drift remain substantial. Never tested on hardware."
80
  },
81
  "onnx_contract": {
82
  "observation_normalizer_embedded": true,
83
  "training_action_clipping": false,
84
  "onnx_output_clip": false,
85
+ "checkpoint_parity_max_abs_error": 0.00000762939453125
86
  },
87
  "sim2real": {
88
  "retained": [
 
103
  "hardware_validated": false
104
  },
105
  "versions": {
106
+ "default": {"iteration": 12195, "policy": "policy.onnx", "checkpoint": "checkpoint.pt", "preview": "media/preview.mp4"},
107
+ "speed_parent": {"iteration": 11748, "directory": "lineage/iteration-11748"},
108
+ "legacy_mat_policy": {"iteration": 8749, "directory": "legacy/iteration-8749"}
 
 
 
 
 
 
 
109
  },
110
  "media": {
111
  "preview": "media/preview.mp4",
112
+ "run_into_mat": "media/run-into-mat.mp4",
113
+ "run_into_mat_policy_iteration": 8749,
114
+ "run_into_mat_note": "The mat, collision augmentation, camera treatment, motor cutoff, and sparks are scripted demo elements. The policy has no obstacle perception.",
115
  "audio": false
116
  },
117
  "source_artifact_sha256": "007707dd7779b2756ded67c58b2e9f94fe5071794a48c2b5a20d5f8d841efbeb",
media/preview.mp4 CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:ae4ba81814c0e4273ce0bf5aa24169b1d9e9f132ea9a0cbd1aeec772ff83c2a9
3
  size 3487586
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:942f0802cc0c6795769bd99a9991f866fee682890ea9ea6d71077f7d4eb5492b
3
  size 3487586
media/run-into-mat.mp4 CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:874a9b7a7b5631fe5ad8941fa6a6680cff383053b0035988ccd7ab5ae15efe7d
3
- size 4538816
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:13f3eaf36601928125a001c1e5f444285a7294b70dc53a186da195d8cb50bc9a
3
+ size 4599499