ACRL commited on
Commit
28ed627
·
verified ·
1 Parent(s): 248625c

Add pretrained locomotion policies for EmbodiChain

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. CONTRIBUTING.md +17 -0
  2. README.md +28 -0
  3. index.json +209 -0
  4. policies/anymal-c-flat-ppo-default/checkpoint.pt +3 -0
  5. policies/anymal-c-flat-ppo-default/configs/env.yaml +152 -0
  6. policies/anymal-c-flat-ppo-default/configs/train.yaml +58 -0
  7. policies/anymal-c-flat-ppo-default/evaluation.json +63 -0
  8. policies/anymal-c-flat-ppo-default/run-manifest.json +11 -0
  9. policies/anymal-c-flat-ppo-newton/checkpoint.pt +3 -0
  10. policies/anymal-c-flat-ppo-newton/configs/env.yaml +163 -0
  11. policies/anymal-c-flat-ppo-newton/configs/train.yaml +58 -0
  12. policies/anymal-c-flat-ppo-newton/evaluation.json +63 -0
  13. policies/anymal-c-flat-ppo-newton/run-manifest.json +11 -0
  14. policies/g1-flat-ppo-default/checkpoint.pt +3 -0
  15. policies/g1-flat-ppo-default/configs/env.yaml +166 -0
  16. policies/g1-flat-ppo-default/configs/train.yaml +60 -0
  17. policies/g1-flat-ppo-default/evaluation.json +63 -0
  18. policies/g1-flat-ppo-default/run-manifest.json +11 -0
  19. policies/g1-flat-ppo-newton/checkpoint.pt +3 -0
  20. policies/g1-flat-ppo-newton/configs/env.yaml +176 -0
  21. policies/g1-flat-ppo-newton/configs/train.yaml +60 -0
  22. policies/g1-flat-ppo-newton/evaluation.json +63 -0
  23. policies/g1-flat-ppo-newton/run-manifest.json +11 -0
  24. policies/go1-flat-ppo-default/checkpoint.pt +3 -0
  25. policies/go1-flat-ppo-default/configs/env.yaml +132 -0
  26. policies/go1-flat-ppo-default/configs/train.yaml +60 -0
  27. policies/go1-flat-ppo-default/evaluation.json +64 -0
  28. policies/go1-flat-ppo-default/run-manifest.json +11 -0
  29. policies/go1-flat-ppo-newton/checkpoint.pt +3 -0
  30. policies/go1-flat-ppo-newton/configs/env.yaml +142 -0
  31. policies/go1-flat-ppo-newton/configs/train.yaml +60 -0
  32. policies/go1-flat-ppo-newton/evaluation.json +64 -0
  33. policies/go1-flat-ppo-newton/run-manifest.json +11 -0
  34. policies/go2-flat-ppo-default/checkpoint.pt +3 -0
  35. policies/go2-flat-ppo-default/configs/env.yaml +132 -0
  36. policies/go2-flat-ppo-default/configs/train.yaml +60 -0
  37. policies/go2-flat-ppo-default/evaluation.json +64 -0
  38. policies/go2-flat-ppo-default/run-manifest.json +11 -0
  39. policies/go2-flat-ppo-newton/checkpoint.pt +3 -0
  40. policies/go2-flat-ppo-newton/configs/env.yaml +142 -0
  41. policies/go2-flat-ppo-newton/configs/train.yaml +60 -0
  42. policies/go2-flat-ppo-newton/evaluation.json +64 -0
  43. policies/go2-flat-ppo-newton/run-manifest.json +11 -0
  44. policies/h1-2-flat-ppo-default/checkpoint.pt +3 -0
  45. policies/h1-2-flat-ppo-default/configs/env.yaml +162 -0
  46. policies/h1-2-flat-ppo-default/configs/train.yaml +60 -0
  47. policies/h1-2-flat-ppo-default/evaluation.json +63 -0
  48. policies/h1-2-flat-ppo-default/run-manifest.json +11 -0
  49. policies/h1-2-flat-ppo-newton/checkpoint.pt +3 -0
  50. policies/h1-2-flat-ppo-newton/configs/env.yaml +172 -0
CONTRIBUTING.md ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Adding a policy
2
+
3
+ 1. Use a unique lowercase, hyphenated model ID under `policies/`.
4
+ 2. Include one selected checkpoint, a supported RunManifest, portable relative
5
+ configuration snapshots. State any applicable weight license explicitly.
6
+ 3. Record the training source, checkpoint selection basis, tested software
7
+ versions, limitations and checkpoint metadata in evaluation.json. Keep MP4 files, robot
8
+ assets, local paths, credentials and training logs outside this repository.
9
+ 4. Check checkpoint/configuration consistency and evaluate with the declared
10
+ runtime and an empty asset cache before publication.
11
+ 5. Update index.json and the model files in the same reviewed repository
12
+ revision. Keep the revision history referenced by released EmbodiChain
13
+ versions. New environment implementations or model formats need matching
14
+ EmbodiChain/task-package support before they can be evaluated.
15
+
16
+ Keep shared usage instructions in EmbodiChain documentation and link them from
17
+ the repository README. Individual model README files are not required.
README.md ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags:
3
+ - embodichain
4
+ - reinforcement-learning
5
+ - locomotion
6
+ ---
7
+
8
+ # EmbodiChain models
9
+
10
+ Pretrained model bundles for [EmbodiChain](https://github.com/DexForce/EmbodiChain).
11
+ This repository contains 12 PPO policies: ANYmal-C, G1 flat locomotion, Go1, Go2,
12
+ H1_2 and MicroDuck, each with `default` and `newton` physics configurations.
13
+
14
+ - [Model index](index.json): model IDs, tasks and tested runtime information.
15
+ - `policies/<model-id>/`: weights, RunManifest, configuration snapshots and evaluation evidence.
16
+ - [Policy evaluation documentation](https://github.com/DexForce/EmbodiChain/blob/main/docs/source/guides/cli.md#policy-evaluation): installation prerequisites, commands and options are maintained in EmbodiChain.
17
+ - Robot assets are distributed separately in `DexForceAI/embodichain_data`.
18
+
19
+ HF revisions version the index and bundles together. No videos are included.
20
+
21
+ ## Evaluation and licensing
22
+
23
+ No weight license is currently declared. EmbodiChain's code license does not
24
+ establish the redistribution terms of these weights.
25
+
26
+ Evaluation summaries record prior 1,000-step checks using a development DexSim
27
+ build and cached robot assets. Public-runtime and clean-cache validation remain
28
+ pending. Checkpoint training counters are recorded in each evaluation.json.
index.json ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "models": {
4
+ "anymal-c-flat-ppo-default": {
5
+ "format": "embodichain-rl-run-v1",
6
+ "task": "locomotion/velocity/anymal_c_flat",
7
+ "task_package": "embodichain_tasks",
8
+ "tags": [
9
+ "locomotion",
10
+ "velocity",
11
+ "anymal-c",
12
+ "ppo",
13
+ "default"
14
+ ],
15
+ "tested_with": {
16
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
17
+ "dexsim": "development build",
18
+ "public_wheel_validated": false
19
+ }
20
+ },
21
+ "anymal-c-flat-ppo-newton": {
22
+ "format": "embodichain-rl-run-v1",
23
+ "task": "locomotion/velocity/anymal_c_flat",
24
+ "task_package": "embodichain_tasks",
25
+ "tags": [
26
+ "locomotion",
27
+ "velocity",
28
+ "anymal-c",
29
+ "ppo",
30
+ "newton"
31
+ ],
32
+ "tested_with": {
33
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
34
+ "dexsim": "development build",
35
+ "public_wheel_validated": false
36
+ }
37
+ },
38
+ "g1-flat-ppo-default": {
39
+ "format": "embodichain-rl-run-v1",
40
+ "task": "locomotion/velocity/g1_flat",
41
+ "task_package": "embodichain_tasks",
42
+ "tags": [
43
+ "locomotion",
44
+ "velocity",
45
+ "g1",
46
+ "ppo",
47
+ "default"
48
+ ],
49
+ "tested_with": {
50
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
51
+ "dexsim": "development build",
52
+ "public_wheel_validated": false
53
+ }
54
+ },
55
+ "g1-flat-ppo-newton": {
56
+ "format": "embodichain-rl-run-v1",
57
+ "task": "locomotion/velocity/g1_flat",
58
+ "task_package": "embodichain_tasks",
59
+ "tags": [
60
+ "locomotion",
61
+ "velocity",
62
+ "g1",
63
+ "ppo",
64
+ "newton"
65
+ ],
66
+ "tested_with": {
67
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
68
+ "dexsim": "development build",
69
+ "public_wheel_validated": false
70
+ }
71
+ },
72
+ "go1-flat-ppo-default": {
73
+ "format": "embodichain-rl-run-v1",
74
+ "task": "locomotion/velocity/go1_flat",
75
+ "task_package": "embodichain_tasks",
76
+ "tags": [
77
+ "locomotion",
78
+ "velocity",
79
+ "go1",
80
+ "ppo",
81
+ "default"
82
+ ],
83
+ "tested_with": {
84
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
85
+ "dexsim": "development build",
86
+ "public_wheel_validated": false
87
+ }
88
+ },
89
+ "go1-flat-ppo-newton": {
90
+ "format": "embodichain-rl-run-v1",
91
+ "task": "locomotion/velocity/go1_flat",
92
+ "task_package": "embodichain_tasks",
93
+ "tags": [
94
+ "locomotion",
95
+ "velocity",
96
+ "go1",
97
+ "ppo",
98
+ "newton"
99
+ ],
100
+ "tested_with": {
101
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
102
+ "dexsim": "development build",
103
+ "public_wheel_validated": false
104
+ }
105
+ },
106
+ "go2-flat-ppo-default": {
107
+ "format": "embodichain-rl-run-v1",
108
+ "task": "locomotion/velocity/go2_flat",
109
+ "task_package": "embodichain_tasks",
110
+ "tags": [
111
+ "locomotion",
112
+ "velocity",
113
+ "go2",
114
+ "ppo",
115
+ "default"
116
+ ],
117
+ "tested_with": {
118
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
119
+ "dexsim": "development build",
120
+ "public_wheel_validated": false
121
+ }
122
+ },
123
+ "go2-flat-ppo-newton": {
124
+ "format": "embodichain-rl-run-v1",
125
+ "task": "locomotion/velocity/go2_flat",
126
+ "task_package": "embodichain_tasks",
127
+ "tags": [
128
+ "locomotion",
129
+ "velocity",
130
+ "go2",
131
+ "ppo",
132
+ "newton"
133
+ ],
134
+ "tested_with": {
135
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
136
+ "dexsim": "development build",
137
+ "public_wheel_validated": false
138
+ }
139
+ },
140
+ "h1-2-flat-ppo-default": {
141
+ "format": "embodichain-rl-run-v1",
142
+ "task": "locomotion/velocity/h1_2_flat",
143
+ "task_package": "embodichain_tasks",
144
+ "tags": [
145
+ "locomotion",
146
+ "velocity",
147
+ "h1-2",
148
+ "ppo",
149
+ "default"
150
+ ],
151
+ "tested_with": {
152
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
153
+ "dexsim": "development build",
154
+ "public_wheel_validated": false
155
+ }
156
+ },
157
+ "h1-2-flat-ppo-newton": {
158
+ "format": "embodichain-rl-run-v1",
159
+ "task": "locomotion/velocity/h1_2_flat",
160
+ "task_package": "embodichain_tasks",
161
+ "tags": [
162
+ "locomotion",
163
+ "velocity",
164
+ "h1-2",
165
+ "ppo",
166
+ "newton"
167
+ ],
168
+ "tested_with": {
169
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
170
+ "dexsim": "development build",
171
+ "public_wheel_validated": false
172
+ }
173
+ },
174
+ "microduck-flat-ppo-default": {
175
+ "format": "embodichain-rl-run-v1",
176
+ "task": "locomotion/velocity/microduck_flat",
177
+ "task_package": "embodichain_tasks",
178
+ "tags": [
179
+ "locomotion",
180
+ "velocity",
181
+ "microduck",
182
+ "ppo",
183
+ "default"
184
+ ],
185
+ "tested_with": {
186
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
187
+ "dexsim": "development build",
188
+ "public_wheel_validated": false
189
+ }
190
+ },
191
+ "microduck-flat-ppo-newton": {
192
+ "format": "embodichain-rl-run-v1",
193
+ "task": "locomotion/velocity/microduck_flat",
194
+ "task_package": "embodichain_tasks",
195
+ "tags": [
196
+ "locomotion",
197
+ "velocity",
198
+ "microduck",
199
+ "ppo",
200
+ "newton"
201
+ ],
202
+ "tested_with": {
203
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
204
+ "dexsim": "development build",
205
+ "public_wheel_validated": false
206
+ }
207
+ }
208
+ }
209
+ }
policies/anymal-c-flat-ppo-default/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9ff61e36c84d00361e84c0207ffe548038a7ae721180e382cb739ecadfdb08ec
3
+ size 986435
policies/anymal-c-flat-ppo-default/configs/env.yaml ADDED
@@ -0,0 +1,152 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id: ANYmalCFlatRL-v1
2
+ max_episode_steps: 1000
3
+ num_envs: 8
4
+ headless: true
5
+ device: cuda:0
6
+ arena_space: 4.0
7
+ render_cfg:
8
+ renderer: fast-rt
9
+ physics_config:
10
+ gravity:
11
+ - 0.0
12
+ - 0.0
13
+ - -9.81
14
+ physics_dt: 0.005
15
+ env:
16
+ sim_steps_per_control: 4
17
+ control_parts:
18
+ - locomotion
19
+ events: {}
20
+ observations:
21
+ policy:
22
+ func: velocity_locomotion_observation
23
+ mode: add
24
+ name: policy
25
+ params:
26
+ privileged: false
27
+ enable_corruption: false
28
+ critic:
29
+ func: velocity_locomotion_observation
30
+ mode: add
31
+ name: critic
32
+ params:
33
+ privileged: true
34
+ enable_corruption: false
35
+ rewards:
36
+ total:
37
+ func: velocity_locomotion_total_reward
38
+ mode: add
39
+ weight: 1.0
40
+ params: {}
41
+ actions:
42
+ joint_position:
43
+ func: DefaultJointPositionTerm
44
+ params: {}
45
+ extensions: {}
46
+ robot:
47
+ uid: robot
48
+ fpath: ANYmalCLocomotion/usd/anymal_c.usda
49
+ build_pk_chain: false
50
+ init_pos:
51
+ - 0.0
52
+ - 0.0
53
+ - 0.6
54
+ init_qpos:
55
+ - 0.0
56
+ - 0.0
57
+ - 0.0
58
+ - 0.0
59
+ - 0.4
60
+ - -0.4
61
+ - 0.4
62
+ - -0.4
63
+ - -0.8
64
+ - 0.8
65
+ - -0.8
66
+ - 0.8
67
+ qpos_limits:
68
+ LF_HAA:
69
+ - -0.72
70
+ - 0.49
71
+ LF_HFE:
72
+ - -6.283185307179586
73
+ - 6.283185307179586
74
+ LF_KFE:
75
+ - -6.283185307179586
76
+ - 6.283185307179586
77
+ LH_HAA:
78
+ - -0.72
79
+ - 0.49
80
+ LH_HFE:
81
+ - -6.283185307179586
82
+ - 6.283185307179586
83
+ LH_KFE:
84
+ - -6.283185307179586
85
+ - 6.283185307179586
86
+ RF_HAA:
87
+ - -0.49
88
+ - 0.72
89
+ RF_HFE:
90
+ - -6.283185307179586
91
+ - 6.283185307179586
92
+ RF_KFE:
93
+ - -6.283185307179586
94
+ - 6.283185307179586
95
+ RH_HAA:
96
+ - -0.49
97
+ - 0.72
98
+ RH_HFE:
99
+ - -6.283185307179586
100
+ - 6.283185307179586
101
+ RH_KFE:
102
+ - -6.283185307179586
103
+ - 6.283185307179586
104
+ control_parts:
105
+ locomotion:
106
+ - LF_HAA
107
+ - LF_HFE
108
+ - LF_KFE
109
+ - LH_HAA
110
+ - LH_HFE
111
+ - LH_KFE
112
+ - RF_HAA
113
+ - RF_HFE
114
+ - RF_KFE
115
+ - RH_HAA
116
+ - RH_HFE
117
+ - RH_KFE
118
+ root_props:
119
+ fixed_base: false
120
+ min_position_iters: 4
121
+ min_velocity_iters: 0
122
+ self_collision_enabled: true
123
+ joint_drive_props:
124
+ drive_type: force
125
+ stiffness: 40.0
126
+ damping: 5.0
127
+ max_effort: 80.0
128
+ max_velocity: 7.5
129
+ asset_physics_mode: overlay
130
+ sensor:
131
+ - uid: locomotion_contacts
132
+ sensor_type: ContactSensor
133
+ articulation_cfg_list:
134
+ - articulation_uid: robot
135
+ link_name_list:
136
+ - LF_FOOT
137
+ - LH_FOOT
138
+ - RF_FOOT
139
+ - RH_FOOT
140
+ - base
141
+ - LF_THIGH
142
+ - LH_THIGH
143
+ - RF_THIGH
144
+ - RH_THIGH
145
+ filter_need_both_actor: false
146
+ max_contacts_per_env: 96
147
+ light: {}
148
+ background: []
149
+ rigid_object: []
150
+ rigid_object_group: []
151
+ articulation: []
152
+ physics: default
policies/anymal-c-flat-ppo-default/configs/train.yaml ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ trainer:
2
+ exp_name: anymal_c_flat_ppo
3
+ gym_config: env.yaml
4
+ seed: 42
5
+ device: cuda:0
6
+ headless: true
7
+ renderer: fast-rt
8
+ num_envs: 4
9
+ iterations: 500
10
+ buffer_size: 24
11
+ enable_eval: false
12
+ save_frequency_updates: 50
13
+ use_wandb: false
14
+ wandb_project_name: embodichain-locomotion
15
+ policy:
16
+ name: actor_critic
17
+ obs_groups:
18
+ actor:
19
+ - policy
20
+ critic:
21
+ - critic
22
+ actor:
23
+ type: mlp
24
+ network_cfg:
25
+ hidden_sizes:
26
+ - 128
27
+ - 128
28
+ - 128
29
+ activation: elu
30
+ critic:
31
+ type: mlp
32
+ network_cfg:
33
+ hidden_sizes:
34
+ - 128
35
+ - 128
36
+ - 128
37
+ activation: elu
38
+ initial_action_std: 1.0
39
+ algorithm:
40
+ name: ppo
41
+ cfg:
42
+ optimizer:
43
+ name: adam
44
+ learning_rate: 0.001
45
+ schedule: adaptive
46
+ desired_kl: 0.01
47
+ minimum_learning_rate: 1.0e-05
48
+ maximum_learning_rate: 0.01
49
+ n_epochs: 5
50
+ num_mini_batches: 4
51
+ batch_size: 24576
52
+ gamma: 0.99
53
+ gae_lambda: 0.95
54
+ clip_coef: 0.2
55
+ ent_coef: 0.005
56
+ vf_coef: 1.0
57
+ use_clipped_value_loss: true
58
+ max_grad_norm: 1.0
policies/anymal-c-flat-ppo-default/evaluation.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "anymal-c-flat-ppo-default",
4
+ "evidence_kind": "prior_source_policy_evaluation",
5
+ "created_at": "2026-09-23T02:19:47.929880+00:00",
6
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
7
+ "runtime": {
8
+ "dexsim": "development build",
9
+ "public_wheel_validated": false,
10
+ "torch": "2.10.0+cu128",
11
+ "newton": null
12
+ },
13
+ "conditions": {
14
+ "seed": 10042,
15
+ "renderer": "fast-rt",
16
+ "task_id": "ANYmalCFlatRL-v1",
17
+ "physics": "default",
18
+ "command": [
19
+ 0.3,
20
+ 0.0,
21
+ 0.0
22
+ ],
23
+ "mode": "viewer"
24
+ },
25
+ "exit_code": 0,
26
+ "result": {
27
+ "control_steps": 1000,
28
+ "effective_duration": 20.0,
29
+ "episodes": [
30
+ {
31
+ "index": 0,
32
+ "length": 1000,
33
+ "reason": "time limit",
34
+ "reward": 26.797237139660865,
35
+ "success": false
36
+ }
37
+ ],
38
+ "metrics": {
39
+ "eval/avg_length": 1000.0,
40
+ "eval/avg_reward": 26.797237139660865,
41
+ "eval/success_rate": 0.0,
42
+ "linear_velocity_error": 0.06984560936689377,
43
+ "reward": 0.02671574056148529,
44
+ "root_height": 0.2942751348018646,
45
+ "yaw_rate_error": 0.04916974529623985
46
+ },
47
+ "reason": "control steps reached",
48
+ "requested_duration": 20.0,
49
+ "simulation_steps": 4000,
50
+ "simulation_time": 20.0
51
+ },
52
+ "limits": [
53
+ "This summarizes the earlier source-policy evaluation, not a new evaluation of this staged bundle.",
54
+ "A cached robot asset and a development simulation runtime were used.",
55
+ "A clean-cache evaluation using publicly installable dependencies is pending.",
56
+ "Velocity tasks have no terminal success goal; time-limit episodes are not failures."
57
+ ],
58
+ "checkpoint_metadata": {
59
+ "global_step": 93818880,
60
+ "num_updates": 954,
61
+ "best_eval_value": null
62
+ }
63
+ }
policies/anymal-c-flat-ppo-default/run-manifest.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "configs": {
4
+ "train": "configs/train.yaml",
5
+ "gym": "configs/env.yaml"
6
+ },
7
+ "checkpoints": {
8
+ "latest": "checkpoint.pt",
9
+ "best": null
10
+ }
11
+ }
policies/anymal-c-flat-ppo-newton/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6bfb791d8c9b01c9d326af0fb672fc4079bae579712269c9977d60a2a51977b7
3
+ size 986509
policies/anymal-c-flat-ppo-newton/configs/env.yaml ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id: ANYmalCFlatRL-v1
2
+ max_episode_steps: 1000
3
+ num_envs: 8
4
+ headless: true
5
+ device: cuda:0
6
+ arena_space: 4.0
7
+ render_cfg:
8
+ renderer: fast-rt
9
+ physics_config:
10
+ sync_to_renderer: false
11
+ gravity:
12
+ - 0.0
13
+ - 0.0
14
+ - -9.81
15
+ num_substeps: 1
16
+ solver_cfg:
17
+ solver_type: mujoco_warp
18
+ njmax: 1024
19
+ nconmax: 256
20
+ iterations: 10
21
+ ls_iterations: 50
22
+ integrator: implicitfast
23
+ separate_worlds: true
24
+ tolerance: 1.0e-08
25
+ physics_dt: 0.005
26
+ env:
27
+ sim_steps_per_control: 4
28
+ control_parts:
29
+ - locomotion
30
+ events: {}
31
+ observations:
32
+ policy:
33
+ func: velocity_locomotion_observation
34
+ mode: add
35
+ name: policy
36
+ params:
37
+ privileged: false
38
+ enable_corruption: false
39
+ critic:
40
+ func: velocity_locomotion_observation
41
+ mode: add
42
+ name: critic
43
+ params:
44
+ privileged: true
45
+ enable_corruption: false
46
+ rewards:
47
+ total:
48
+ func: velocity_locomotion_total_reward
49
+ mode: add
50
+ weight: 1.0
51
+ params: {}
52
+ actions:
53
+ joint_position:
54
+ func: DefaultJointPositionTerm
55
+ params: {}
56
+ extensions: {}
57
+ robot:
58
+ uid: robot
59
+ fpath: ANYmalCLocomotion/usd/anymal_c.usda
60
+ build_pk_chain: false
61
+ init_pos:
62
+ - 0.0
63
+ - 0.0
64
+ - 0.6
65
+ init_qpos:
66
+ - 0.0
67
+ - 0.0
68
+ - 0.0
69
+ - 0.0
70
+ - 0.4
71
+ - -0.4
72
+ - 0.4
73
+ - -0.4
74
+ - -0.8
75
+ - 0.8
76
+ - -0.8
77
+ - 0.8
78
+ qpos_limits:
79
+ LF_HAA:
80
+ - -0.72
81
+ - 0.49
82
+ LF_HFE:
83
+ - -6.283185307179586
84
+ - 6.283185307179586
85
+ LF_KFE:
86
+ - -6.283185307179586
87
+ - 6.283185307179586
88
+ LH_HAA:
89
+ - -0.72
90
+ - 0.49
91
+ LH_HFE:
92
+ - -6.283185307179586
93
+ - 6.283185307179586
94
+ LH_KFE:
95
+ - -6.283185307179586
96
+ - 6.283185307179586
97
+ RF_HAA:
98
+ - -0.49
99
+ - 0.72
100
+ RF_HFE:
101
+ - -6.283185307179586
102
+ - 6.283185307179586
103
+ RF_KFE:
104
+ - -6.283185307179586
105
+ - 6.283185307179586
106
+ RH_HAA:
107
+ - -0.49
108
+ - 0.72
109
+ RH_HFE:
110
+ - -6.283185307179586
111
+ - 6.283185307179586
112
+ RH_KFE:
113
+ - -6.283185307179586
114
+ - 6.283185307179586
115
+ control_parts:
116
+ locomotion:
117
+ - LF_HAA
118
+ - LF_HFE
119
+ - LF_KFE
120
+ - LH_HAA
121
+ - LH_HFE
122
+ - LH_KFE
123
+ - RF_HAA
124
+ - RF_HFE
125
+ - RF_KFE
126
+ - RH_HAA
127
+ - RH_HFE
128
+ - RH_KFE
129
+ root_props:
130
+ fixed_base: false
131
+ min_position_iters: 4
132
+ min_velocity_iters: 0
133
+ self_collision_enabled: true
134
+ joint_drive_props:
135
+ drive_type: force
136
+ stiffness: 40.0
137
+ damping: 5.0
138
+ max_effort: 80.0
139
+ max_velocity: 7.5
140
+ asset_physics_mode: overlay
141
+ sensor:
142
+ - uid: locomotion_contacts
143
+ sensor_type: ContactSensor
144
+ articulation_cfg_list:
145
+ - articulation_uid: robot
146
+ link_name_list:
147
+ - LF_FOOT
148
+ - LH_FOOT
149
+ - RF_FOOT
150
+ - RH_FOOT
151
+ - base
152
+ - LF_THIGH
153
+ - LH_THIGH
154
+ - RF_THIGH
155
+ - RH_THIGH
156
+ filter_need_both_actor: false
157
+ max_contacts_per_env: 96
158
+ light: {}
159
+ background: []
160
+ rigid_object: []
161
+ rigid_object_group: []
162
+ articulation: []
163
+ physics: newton
policies/anymal-c-flat-ppo-newton/configs/train.yaml ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ trainer:
2
+ exp_name: anymal_c_flat_ppo_newton
3
+ gym_config: env.yaml
4
+ seed: 42
5
+ device: cuda:0
6
+ headless: true
7
+ renderer: fast-rt
8
+ num_envs: 4
9
+ iterations: 500
10
+ buffer_size: 24
11
+ enable_eval: false
12
+ save_frequency_updates: 50
13
+ use_wandb: false
14
+ wandb_project_name: embodichain-locomotion
15
+ policy:
16
+ name: actor_critic
17
+ obs_groups:
18
+ actor:
19
+ - policy
20
+ critic:
21
+ - critic
22
+ actor:
23
+ type: mlp
24
+ network_cfg:
25
+ hidden_sizes:
26
+ - 128
27
+ - 128
28
+ - 128
29
+ activation: elu
30
+ critic:
31
+ type: mlp
32
+ network_cfg:
33
+ hidden_sizes:
34
+ - 128
35
+ - 128
36
+ - 128
37
+ activation: elu
38
+ initial_action_std: 1.0
39
+ algorithm:
40
+ name: ppo
41
+ cfg:
42
+ optimizer:
43
+ name: adam
44
+ learning_rate: 0.001
45
+ schedule: adaptive
46
+ desired_kl: 0.01
47
+ minimum_learning_rate: 1.0e-05
48
+ maximum_learning_rate: 0.01
49
+ n_epochs: 5
50
+ num_mini_batches: 4
51
+ batch_size: 24576
52
+ gamma: 0.99
53
+ gae_lambda: 0.95
54
+ clip_coef: 0.2
55
+ ent_coef: 0.005
56
+ vf_coef: 1.0
57
+ use_clipped_value_loss: true
58
+ max_grad_norm: 1.0
policies/anymal-c-flat-ppo-newton/evaluation.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "anymal-c-flat-ppo-newton",
4
+ "evidence_kind": "prior_source_policy_evaluation",
5
+ "created_at": "2026-09-23T02:15:08.583317+00:00",
6
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
7
+ "runtime": {
8
+ "dexsim": "development build",
9
+ "public_wheel_validated": false,
10
+ "torch": "2.10.0+cu128",
11
+ "newton": "1.6.0"
12
+ },
13
+ "conditions": {
14
+ "seed": 10042,
15
+ "renderer": "fast-rt",
16
+ "task_id": "ANYmalCFlatRL-v1",
17
+ "physics": "newton",
18
+ "command": [
19
+ 0.3,
20
+ 0.0,
21
+ 0.0
22
+ ],
23
+ "mode": "viewer"
24
+ },
25
+ "exit_code": 0,
26
+ "result": {
27
+ "control_steps": 1000,
28
+ "effective_duration": 20.0,
29
+ "episodes": [
30
+ {
31
+ "index": 0,
32
+ "length": 1000,
33
+ "reason": "time limit",
34
+ "reward": 27.580372218042612,
35
+ "success": false
36
+ }
37
+ ],
38
+ "metrics": {
39
+ "eval/avg_length": 1000.0,
40
+ "eval/avg_reward": 27.580372218042612,
41
+ "eval/success_rate": 0.0,
42
+ "linear_velocity_error": 0.026869812980294228,
43
+ "reward": 0.02956734225153923,
44
+ "root_height": 0.5411861538887024,
45
+ "yaw_rate_error": 0.045531656593084335
46
+ },
47
+ "reason": "control steps reached",
48
+ "requested_duration": 20.0,
49
+ "simulation_steps": 4000,
50
+ "simulation_time": 20.0
51
+ },
52
+ "limits": [
53
+ "This summarizes the earlier source-policy evaluation, not a new evaluation of this staged bundle.",
54
+ "A cached robot asset and a development simulation runtime were used.",
55
+ "A clean-cache evaluation using publicly installable dependencies is pending.",
56
+ "Velocity tasks have no terminal success goal; time-limit episodes are not failures."
57
+ ],
58
+ "checkpoint_metadata": {
59
+ "global_step": 49152000,
60
+ "num_updates": 500,
61
+ "best_eval_value": null
62
+ }
63
+ }
policies/anymal-c-flat-ppo-newton/run-manifest.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "configs": {
4
+ "train": "configs/train.yaml",
5
+ "gym": "configs/env.yaml"
6
+ },
7
+ "checkpoints": {
8
+ "latest": "checkpoint.pt",
9
+ "best": null
10
+ }
11
+ }
policies/g1-flat-ppo-default/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f720c775e9d026b007a854b4231af077a608f0ca5f392d523795257edd1165a3
3
+ size 5325649
policies/g1-flat-ppo-default/configs/env.yaml ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ physics: default
2
+ id: UnitreeG1FlatRL-v1
3
+ max_episode_steps: 1000
4
+ num_envs: 8
5
+ scene_node_capacity: 262144
6
+ headless: true
7
+ device: cuda:0
8
+ arena_space: 2.5
9
+ render_cfg:
10
+ renderer: fast-rt
11
+ physics_config:
12
+ cache_material: true
13
+ gravity:
14
+ - 0.0
15
+ - 0.0
16
+ - -9.81
17
+ physics_dt: 0.005
18
+ env:
19
+ sim_steps_per_control: 4
20
+ control_parts:
21
+ - locomotion
22
+ events:
23
+ push_robot:
24
+ func: push_articulation_by_setting_velocity
25
+ mode: interval
26
+ interval_step: 1
27
+ is_global: false
28
+ params:
29
+ entity_cfg:
30
+ uid: robot
31
+ interval_range_s:
32
+ - 5.0
33
+ - 6.0
34
+ velocity_range:
35
+ x:
36
+ - -0.5
37
+ - 0.5
38
+ y:
39
+ - -0.5
40
+ - 0.5
41
+ z:
42
+ - -0.4
43
+ - 0.4
44
+ roll:
45
+ - -0.52
46
+ - 0.52
47
+ pitch:
48
+ - -0.52
49
+ - 0.52
50
+ yaw:
51
+ - -0.78
52
+ - 0.78
53
+ observations:
54
+ policy:
55
+ func: velocity_locomotion_observation
56
+ mode: add
57
+ name: policy
58
+ params:
59
+ privileged: false
60
+ enable_corruption: true
61
+ critic:
62
+ func: velocity_locomotion_observation
63
+ mode: add
64
+ name: critic
65
+ params:
66
+ privileged: true
67
+ enable_corruption: false
68
+ rewards:
69
+ total:
70
+ func: velocity_locomotion_total_reward
71
+ mode: add
72
+ weight: 1.0
73
+ params: {}
74
+ actions:
75
+ joint_position:
76
+ func: DefaultJointPositionTerm
77
+ params: {}
78
+ extensions: {}
79
+ robot:
80
+ uid: robot
81
+ fpath: UnitreeG1Locomotion/g1.usda
82
+ build_pk_chain: false
83
+ init_pos:
84
+ - 0.0
85
+ - 0.0
86
+ - 0.8
87
+ init_qpos:
88
+ - -0.1
89
+ - -0.1
90
+ - 0.0
91
+ - 0.0
92
+ - 0.0
93
+ - 0.0
94
+ - 0.0
95
+ - 0.0
96
+ - 0.0
97
+ - 0.3
98
+ - 0.3
99
+ - 0.35
100
+ - 0.35
101
+ - -0.2
102
+ - -0.2
103
+ - 0.18
104
+ - -0.18
105
+ - 0.0
106
+ - 0.0
107
+ - 0.0
108
+ - 0.0
109
+ - 0.87
110
+ - 0.87
111
+ - 0.0
112
+ - 0.0
113
+ - 0.0
114
+ - 0.0
115
+ - 0.0
116
+ - 0.0
117
+ control_parts:
118
+ locomotion:
119
+ - left_hip_pitch_joint
120
+ - left_hip_roll_joint
121
+ - left_hip_yaw_joint
122
+ - left_knee_joint
123
+ - left_ankle_pitch_joint
124
+ - left_ankle_roll_joint
125
+ - right_hip_pitch_joint
126
+ - right_hip_roll_joint
127
+ - right_hip_yaw_joint
128
+ - right_knee_joint
129
+ - right_ankle_pitch_joint
130
+ - right_ankle_roll_joint
131
+ - waist_yaw_joint
132
+ - waist_roll_joint
133
+ - waist_pitch_joint
134
+ - left_shoulder_pitch_joint
135
+ - left_shoulder_roll_joint
136
+ - left_shoulder_yaw_joint
137
+ - left_elbow_joint
138
+ - left_wrist_roll_joint
139
+ - left_wrist_pitch_joint
140
+ - left_wrist_yaw_joint
141
+ - right_shoulder_pitch_joint
142
+ - right_shoulder_roll_joint
143
+ - right_shoulder_yaw_joint
144
+ - right_elbow_joint
145
+ - right_wrist_roll_joint
146
+ - right_wrist_pitch_joint
147
+ - right_wrist_yaw_joint
148
+ asset_physics_mode: overlay
149
+ root_props:
150
+ fixed_base: false
151
+ self_collision_enabled: true
152
+ min_position_iters: 8
153
+ min_velocity_iters: 4
154
+ sensor:
155
+ - uid: locomotion_contacts
156
+ sensor_type: ContactSensor
157
+ articulation_cfg_list:
158
+ - articulation_uid: robot
159
+ link_name_list: []
160
+ filter_need_both_actor: false
161
+ max_contacts_per_env: 192
162
+ light: {}
163
+ background: []
164
+ rigid_object: []
165
+ rigid_object_group: []
166
+ articulation: []
policies/g1-flat-ppo-default/configs/train.yaml ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ trainer:
2
+ exp_name: unitree_g1_flat_ppo
3
+ gym_config: env.yaml
4
+ seed: 42
5
+ device: cuda:0
6
+ headless: true
7
+ renderer: fast-rt
8
+ num_envs: 4
9
+ iterations: 10001
10
+ buffer_size: 24
11
+ enable_eval: false
12
+ save_frequency_updates: 100
13
+ use_wandb: false
14
+ wandb_project_name: embodichain-locomotion
15
+ policy:
16
+ name: actor_critic
17
+ actor_obs_normalization: true
18
+ critic_obs_normalization: true
19
+ obs_groups:
20
+ actor:
21
+ - policy
22
+ critic:
23
+ - critic
24
+ actor:
25
+ type: mlp
26
+ network_cfg:
27
+ hidden_sizes:
28
+ - 512
29
+ - 256
30
+ - 128
31
+ activation: elu
32
+ critic:
33
+ type: mlp
34
+ network_cfg:
35
+ hidden_sizes:
36
+ - 512
37
+ - 256
38
+ - 128
39
+ activation: elu
40
+ initial_action_std: 1.0
41
+ algorithm:
42
+ name: ppo
43
+ cfg:
44
+ optimizer:
45
+ name: adam
46
+ learning_rate: 0.001
47
+ schedule: adaptive
48
+ desired_kl: 0.01
49
+ minimum_learning_rate: 1.0e-05
50
+ maximum_learning_rate: 0.01
51
+ n_epochs: 5
52
+ num_mini_batches: 4
53
+ batch_size: 24576
54
+ gamma: 0.99
55
+ gae_lambda: 0.95
56
+ clip_coef: 0.2
57
+ ent_coef: 0.01
58
+ vf_coef: 1.0
59
+ use_clipped_value_loss: true
60
+ max_grad_norm: 1.0
policies/g1-flat-ppo-default/evaluation.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "g1-flat-ppo-default",
4
+ "evidence_kind": "prior_source_policy_evaluation",
5
+ "created_at": "2026-09-23T02:20:38.667324+00:00",
6
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
7
+ "runtime": {
8
+ "dexsim": "development build",
9
+ "public_wheel_validated": false,
10
+ "torch": "2.10.0+cu128",
11
+ "newton": null
12
+ },
13
+ "conditions": {
14
+ "seed": 10042,
15
+ "renderer": "fast-rt",
16
+ "task_id": "UnitreeG1FlatRL-v1",
17
+ "physics": "default",
18
+ "command": [
19
+ 0.3,
20
+ 0.0,
21
+ 0.0
22
+ ],
23
+ "mode": "viewer"
24
+ },
25
+ "exit_code": 0,
26
+ "result": {
27
+ "control_steps": 1000,
28
+ "effective_duration": 20.0,
29
+ "episodes": [
30
+ {
31
+ "index": 0,
32
+ "length": 1000,
33
+ "reason": "time limit",
34
+ "reward": 62.56870224373415,
35
+ "success": false
36
+ }
37
+ ],
38
+ "metrics": {
39
+ "eval/avg_length": 1000.0,
40
+ "eval/avg_reward": 62.56870224373415,
41
+ "eval/success_rate": 0.0,
42
+ "linear_velocity_error": 0.03544675558805466,
43
+ "reward": 0.06573096662759781,
44
+ "root_height": 0.786207914352417,
45
+ "yaw_rate_error": 0.07288753241300583
46
+ },
47
+ "reason": "control steps reached",
48
+ "requested_duration": 20.0,
49
+ "simulation_steps": 4000,
50
+ "simulation_time": 20.0
51
+ },
52
+ "limits": [
53
+ "This summarizes the earlier source-policy evaluation, not a new evaluation of this staged bundle.",
54
+ "A cached robot asset and a development simulation runtime were used.",
55
+ "A clean-cache evaluation using publicly installable dependencies is pending.",
56
+ "Velocity tasks have no terminal success goal; time-limit episodes are not failures."
57
+ ],
58
+ "checkpoint_metadata": {
59
+ "global_step": 196608000,
60
+ "num_updates": 2000,
61
+ "best_eval_value": null
62
+ }
63
+ }
policies/g1-flat-ppo-default/run-manifest.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "configs": {
4
+ "train": "configs/train.yaml",
5
+ "gym": "configs/env.yaml"
6
+ },
7
+ "checkpoints": {
8
+ "latest": "checkpoint.pt",
9
+ "best": null
10
+ }
11
+ }
policies/g1-flat-ppo-newton/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9d1ec15e9905939f40eaa84763874c05b070d70afaeb7c84b09bd3b712d48f05
3
+ size 5325731
policies/g1-flat-ppo-newton/configs/env.yaml ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ physics: newton
2
+ id: UnitreeG1FlatRL-v1
3
+ max_episode_steps: 1000
4
+ num_envs: 8
5
+ scene_node_capacity: 262144
6
+ headless: true
7
+ device: cuda:0
8
+ arena_space: 2.5
9
+ render_cfg:
10
+ renderer: fast-rt
11
+ physics_config:
12
+ sync_to_renderer: false
13
+ gravity:
14
+ - 0.0
15
+ - 0.0
16
+ - -9.81
17
+ num_substeps: 1
18
+ solver_cfg:
19
+ solver_type: mujoco_warp
20
+ njmax: 1024
21
+ nconmax: 256
22
+ iterations: 10
23
+ ls_iterations: 50
24
+ integrator: implicitfast
25
+ separate_worlds: true
26
+ tolerance: 1.0e-08
27
+ physics_dt: 0.005
28
+ env:
29
+ sim_steps_per_control: 4
30
+ control_parts:
31
+ - locomotion
32
+ events:
33
+ push_robot:
34
+ func: push_articulation_by_setting_velocity
35
+ mode: interval
36
+ interval_step: 1
37
+ is_global: false
38
+ params:
39
+ entity_cfg:
40
+ uid: robot
41
+ interval_range_s:
42
+ - 5.0
43
+ - 6.0
44
+ velocity_range:
45
+ x:
46
+ - -0.5
47
+ - 0.5
48
+ y:
49
+ - -0.5
50
+ - 0.5
51
+ z:
52
+ - -0.4
53
+ - 0.4
54
+ roll:
55
+ - -0.52
56
+ - 0.52
57
+ pitch:
58
+ - -0.52
59
+ - 0.52
60
+ yaw:
61
+ - -0.78
62
+ - 0.78
63
+ observations:
64
+ policy:
65
+ func: velocity_locomotion_observation
66
+ mode: add
67
+ name: policy
68
+ params:
69
+ privileged: false
70
+ enable_corruption: true
71
+ critic:
72
+ func: velocity_locomotion_observation
73
+ mode: add
74
+ name: critic
75
+ params:
76
+ privileged: true
77
+ enable_corruption: false
78
+ rewards:
79
+ total:
80
+ func: velocity_locomotion_total_reward
81
+ mode: add
82
+ weight: 1.0
83
+ params: {}
84
+ actions:
85
+ joint_position:
86
+ func: DefaultJointPositionTerm
87
+ params: {}
88
+ extensions: {}
89
+ robot:
90
+ uid: robot
91
+ fpath: UnitreeG1Locomotion/g1.usda
92
+ build_pk_chain: false
93
+ init_pos:
94
+ - 0.0
95
+ - 0.0
96
+ - 0.8
97
+ init_qpos:
98
+ - -0.1
99
+ - -0.1
100
+ - 0.0
101
+ - 0.0
102
+ - 0.0
103
+ - 0.0
104
+ - 0.0
105
+ - 0.0
106
+ - 0.0
107
+ - 0.3
108
+ - 0.3
109
+ - 0.35
110
+ - 0.35
111
+ - -0.2
112
+ - -0.2
113
+ - 0.18
114
+ - -0.18
115
+ - 0.0
116
+ - 0.0
117
+ - 0.0
118
+ - 0.0
119
+ - 0.87
120
+ - 0.87
121
+ - 0.0
122
+ - 0.0
123
+ - 0.0
124
+ - 0.0
125
+ - 0.0
126
+ - 0.0
127
+ control_parts:
128
+ locomotion:
129
+ - left_hip_pitch_joint
130
+ - left_hip_roll_joint
131
+ - left_hip_yaw_joint
132
+ - left_knee_joint
133
+ - left_ankle_pitch_joint
134
+ - left_ankle_roll_joint
135
+ - right_hip_pitch_joint
136
+ - right_hip_roll_joint
137
+ - right_hip_yaw_joint
138
+ - right_knee_joint
139
+ - right_ankle_pitch_joint
140
+ - right_ankle_roll_joint
141
+ - waist_yaw_joint
142
+ - waist_roll_joint
143
+ - waist_pitch_joint
144
+ - left_shoulder_pitch_joint
145
+ - left_shoulder_roll_joint
146
+ - left_shoulder_yaw_joint
147
+ - left_elbow_joint
148
+ - left_wrist_roll_joint
149
+ - left_wrist_pitch_joint
150
+ - left_wrist_yaw_joint
151
+ - right_shoulder_pitch_joint
152
+ - right_shoulder_roll_joint
153
+ - right_shoulder_yaw_joint
154
+ - right_elbow_joint
155
+ - right_wrist_roll_joint
156
+ - right_wrist_pitch_joint
157
+ - right_wrist_yaw_joint
158
+ asset_physics_mode: overlay
159
+ root_props:
160
+ fixed_base: false
161
+ self_collision_enabled: true
162
+ min_position_iters: 8
163
+ min_velocity_iters: 4
164
+ sensor:
165
+ - uid: locomotion_contacts
166
+ sensor_type: ContactSensor
167
+ articulation_cfg_list:
168
+ - articulation_uid: robot
169
+ link_name_list: []
170
+ filter_need_both_actor: false
171
+ max_contacts_per_env: 192
172
+ light: {}
173
+ background: []
174
+ rigid_object: []
175
+ rigid_object_group: []
176
+ articulation: []
policies/g1-flat-ppo-newton/configs/train.yaml ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ trainer:
2
+ exp_name: unitree_g1_flat_ppo_newton
3
+ gym_config: env.yaml
4
+ seed: 42
5
+ device: cuda:0
6
+ headless: true
7
+ renderer: fast-rt
8
+ num_envs: 4
9
+ iterations: 10001
10
+ buffer_size: 24
11
+ enable_eval: false
12
+ save_frequency_updates: 100
13
+ use_wandb: false
14
+ wandb_project_name: embodichain-locomotion
15
+ policy:
16
+ name: actor_critic
17
+ actor_obs_normalization: true
18
+ critic_obs_normalization: true
19
+ obs_groups:
20
+ actor:
21
+ - policy
22
+ critic:
23
+ - critic
24
+ actor:
25
+ type: mlp
26
+ network_cfg:
27
+ hidden_sizes:
28
+ - 512
29
+ - 256
30
+ - 128
31
+ activation: elu
32
+ critic:
33
+ type: mlp
34
+ network_cfg:
35
+ hidden_sizes:
36
+ - 512
37
+ - 256
38
+ - 128
39
+ activation: elu
40
+ initial_action_std: 1.0
41
+ algorithm:
42
+ name: ppo
43
+ cfg:
44
+ optimizer:
45
+ name: adam
46
+ learning_rate: 0.001
47
+ schedule: adaptive
48
+ desired_kl: 0.01
49
+ minimum_learning_rate: 1.0e-05
50
+ maximum_learning_rate: 0.01
51
+ n_epochs: 5
52
+ num_mini_batches: 4
53
+ batch_size: 24576
54
+ gamma: 0.99
55
+ gae_lambda: 0.95
56
+ clip_coef: 0.2
57
+ ent_coef: 0.01
58
+ vf_coef: 1.0
59
+ use_clipped_value_loss: true
60
+ max_grad_norm: 1.0
policies/g1-flat-ppo-newton/evaluation.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "g1-flat-ppo-newton",
4
+ "evidence_kind": "prior_source_policy_evaluation",
5
+ "created_at": "2026-09-23T02:16:07.647394+00:00",
6
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
7
+ "runtime": {
8
+ "dexsim": "development build",
9
+ "public_wheel_validated": false,
10
+ "torch": "2.10.0+cu128",
11
+ "newton": "1.6.0"
12
+ },
13
+ "conditions": {
14
+ "seed": 10042,
15
+ "renderer": "fast-rt",
16
+ "task_id": "UnitreeG1FlatRL-v1",
17
+ "physics": "newton",
18
+ "command": [
19
+ 0.3,
20
+ 0.0,
21
+ 0.0
22
+ ],
23
+ "mode": "viewer"
24
+ },
25
+ "exit_code": 0,
26
+ "result": {
27
+ "control_steps": 1000,
28
+ "effective_duration": 20.0,
29
+ "episodes": [
30
+ {
31
+ "index": 0,
32
+ "length": 1000,
33
+ "reason": "time limit",
34
+ "reward": 61.99140815157443,
35
+ "success": false
36
+ }
37
+ ],
38
+ "metrics": {
39
+ "eval/avg_length": 1000.0,
40
+ "eval/avg_reward": 61.99140815157443,
41
+ "eval/success_rate": 0.0,
42
+ "linear_velocity_error": 0.06406232714653015,
43
+ "reward": 0.06581515818834305,
44
+ "root_height": 0.7908007502555847,
45
+ "yaw_rate_error": 0.03285869583487511
46
+ },
47
+ "reason": "control steps reached",
48
+ "requested_duration": 20.0,
49
+ "simulation_steps": 4000,
50
+ "simulation_time": 20.0
51
+ },
52
+ "limits": [
53
+ "This summarizes the earlier source-policy evaluation, not a new evaluation of this staged bundle.",
54
+ "A cached robot asset and a development simulation runtime were used.",
55
+ "A clean-cache evaluation using publicly installable dependencies is pending.",
56
+ "Velocity tasks have no terminal success goal; time-limit episodes are not failures."
57
+ ],
58
+ "checkpoint_metadata": {
59
+ "global_step": 206438400,
60
+ "num_updates": 2100,
61
+ "best_eval_value": null
62
+ }
63
+ }
policies/g1-flat-ppo-newton/run-manifest.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "configs": {
4
+ "train": "configs/train.yaml",
5
+ "gym": "configs/env.yaml"
6
+ },
7
+ "checkpoints": {
8
+ "latest": "checkpoint.pt",
9
+ "best": null
10
+ }
11
+ }
policies/go1-flat-ppo-default/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d934d0e2de75eb6dba23e86a5cb0dcc58f8cfde69fc02af732638d5bfd3cd95c
3
+ size 4739089
policies/go1-flat-ppo-default/configs/env.yaml ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ physics: default
2
+ id: UnitreeGo1FlatRL-v1
3
+ max_episode_steps: 1000
4
+ num_envs: 8
5
+ scene_node_capacity: 262144
6
+ headless: true
7
+ device: cuda:0
8
+ arena_space: 2.0
9
+ render_cfg:
10
+ renderer: fast-rt
11
+ physics_config:
12
+ cache_material: true
13
+ gravity:
14
+ - 0.0
15
+ - 0.0
16
+ - -9.81
17
+ physics_dt: 0.005
18
+ env:
19
+ sim_steps_per_control: 4
20
+ control_parts:
21
+ - locomotion
22
+ events:
23
+ push_robot:
24
+ func: push_articulation_by_setting_velocity
25
+ mode: interval
26
+ interval_step: 1
27
+ is_global: false
28
+ params:
29
+ entity_cfg:
30
+ uid: robot
31
+ interval_range_s:
32
+ - 1.0
33
+ - 3.0
34
+ velocity_range:
35
+ x:
36
+ - -0.5
37
+ - 0.5
38
+ y:
39
+ - -0.5
40
+ - 0.5
41
+ z:
42
+ - -0.4
43
+ - 0.4
44
+ roll:
45
+ - -0.52
46
+ - 0.52
47
+ pitch:
48
+ - -0.52
49
+ - 0.52
50
+ yaw:
51
+ - -0.78
52
+ - 0.78
53
+ observations:
54
+ policy:
55
+ func: velocity_locomotion_observation
56
+ mode: add
57
+ name: policy
58
+ params:
59
+ privileged: false
60
+ enable_corruption: true
61
+ critic:
62
+ func: velocity_locomotion_observation
63
+ mode: add
64
+ name: critic
65
+ params:
66
+ privileged: true
67
+ enable_corruption: false
68
+ rewards:
69
+ total:
70
+ func: velocity_locomotion_total_reward
71
+ mode: add
72
+ weight: 1.0
73
+ params: {}
74
+ actions:
75
+ joint_position:
76
+ func: DefaultJointPositionTerm
77
+ params: {}
78
+ extensions: {}
79
+ robot:
80
+ uid: robot
81
+ fpath: UnitreeGo1Locomotion/go1.usda
82
+ build_pk_chain: false
83
+ init_pos:
84
+ - 0.0
85
+ - 0.0
86
+ - 0.278
87
+ init_qpos:
88
+ - -0.1
89
+ - 0.1
90
+ - -0.1
91
+ - 0.1
92
+ - 0.9
93
+ - 0.9
94
+ - 0.9
95
+ - 0.9
96
+ - -1.8
97
+ - -1.8
98
+ - -1.8
99
+ - -1.8
100
+ control_parts:
101
+ locomotion:
102
+ - FR_hip_joint
103
+ - FR_thigh_joint
104
+ - FR_calf_joint
105
+ - FL_hip_joint
106
+ - FL_thigh_joint
107
+ - FL_calf_joint
108
+ - RR_hip_joint
109
+ - RR_thigh_joint
110
+ - RR_calf_joint
111
+ - RL_hip_joint
112
+ - RL_thigh_joint
113
+ - RL_calf_joint
114
+ asset_physics_mode: overlay
115
+ root_props:
116
+ fixed_base: false
117
+ self_collision_enabled: false
118
+ min_position_iters: 4
119
+ min_velocity_iters: 0
120
+ sensor:
121
+ - uid: locomotion_contacts
122
+ sensor_type: ContactSensor
123
+ articulation_cfg_list:
124
+ - articulation_uid: robot
125
+ link_name_list: []
126
+ filter_need_both_actor: false
127
+ max_contacts_per_env: 96
128
+ light: {}
129
+ background: []
130
+ rigid_object: []
131
+ rigid_object_group: []
132
+ articulation: []
policies/go1-flat-ppo-default/configs/train.yaml ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ trainer:
2
+ exp_name: unitree_go1_flat_ppo
3
+ gym_config: env.yaml
4
+ seed: 42
5
+ device: cuda:0
6
+ headless: true
7
+ renderer: fast-rt
8
+ num_envs: 4
9
+ iterations: 10000
10
+ buffer_size: 24
11
+ enable_eval: false
12
+ save_frequency_updates: 50
13
+ use_wandb: false
14
+ wandb_project_name: embodichain-locomotion
15
+ policy:
16
+ name: actor_critic
17
+ actor_obs_normalization: true
18
+ critic_obs_normalization: true
19
+ obs_groups:
20
+ actor:
21
+ - policy
22
+ critic:
23
+ - critic
24
+ actor:
25
+ type: mlp
26
+ network_cfg:
27
+ hidden_sizes:
28
+ - 512
29
+ - 256
30
+ - 128
31
+ activation: elu
32
+ critic:
33
+ type: mlp
34
+ network_cfg:
35
+ hidden_sizes:
36
+ - 512
37
+ - 256
38
+ - 128
39
+ activation: elu
40
+ initial_action_std: 1.0
41
+ algorithm:
42
+ name: ppo
43
+ cfg:
44
+ optimizer:
45
+ name: adam
46
+ learning_rate: 0.001
47
+ schedule: adaptive
48
+ desired_kl: 0.01
49
+ minimum_learning_rate: 1.0e-05
50
+ maximum_learning_rate: 0.01
51
+ n_epochs: 5
52
+ num_mini_batches: 4
53
+ batch_size: 24576
54
+ gamma: 0.99
55
+ gae_lambda: 0.95
56
+ clip_coef: 0.2
57
+ ent_coef: 0.01
58
+ vf_coef: 1.0
59
+ use_clipped_value_loss: true
60
+ max_grad_norm: 1.0
policies/go1-flat-ppo-default/evaluation.json ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "go1-flat-ppo-default",
4
+ "evidence_kind": "prior_source_policy_evaluation",
5
+ "created_at": "2026-09-23T02:21:27.110398+00:00",
6
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
7
+ "runtime": {
8
+ "dexsim": "development build",
9
+ "public_wheel_validated": false,
10
+ "torch": "2.10.0+cu128",
11
+ "newton": null
12
+ },
13
+ "conditions": {
14
+ "seed": 10042,
15
+ "renderer": "fast-rt",
16
+ "task_id": "UnitreeGo1FlatRL-v1",
17
+ "physics": "default",
18
+ "command": [
19
+ 0.3,
20
+ 0.0,
21
+ 0.0
22
+ ],
23
+ "mode": "viewer"
24
+ },
25
+ "exit_code": 0,
26
+ "result": {
27
+ "control_steps": 1000,
28
+ "effective_duration": 20.0,
29
+ "episodes": [
30
+ {
31
+ "index": 0,
32
+ "length": 1000,
33
+ "reason": "time limit",
34
+ "reward": 110.90168414264917,
35
+ "success": false
36
+ }
37
+ ],
38
+ "metrics": {
39
+ "eval/avg_length": 1000.0,
40
+ "eval/avg_reward": 110.90168414264917,
41
+ "eval/success_rate": 0.0,
42
+ "linear_velocity_error": 0.14509788155555725,
43
+ "maximum_illegal_contact_force": 0.0,
44
+ "reward": 0.09589947015047073,
45
+ "root_height": 0.29751354455947876,
46
+ "yaw_rate_error": 0.20959775149822235
47
+ },
48
+ "reason": "control steps reached",
49
+ "requested_duration": 20.0,
50
+ "simulation_steps": 4000,
51
+ "simulation_time": 20.0
52
+ },
53
+ "limits": [
54
+ "This summarizes the earlier source-policy evaluation, not a new evaluation of this staged bundle.",
55
+ "A cached robot asset and a development simulation runtime were used.",
56
+ "A clean-cache evaluation using publicly installable dependencies is pending.",
57
+ "Velocity tasks have no terminal success goal; time-limit episodes are not failures."
58
+ ],
59
+ "checkpoint_metadata": {
60
+ "global_step": 68812800,
61
+ "num_updates": 700,
62
+ "best_eval_value": null
63
+ }
64
+ }
policies/go1-flat-ppo-default/run-manifest.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "configs": {
4
+ "train": "configs/train.yaml",
5
+ "gym": "configs/env.yaml"
6
+ },
7
+ "checkpoints": {
8
+ "latest": "checkpoint.pt",
9
+ "best": null
10
+ }
11
+ }
policies/go1-flat-ppo-newton/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fb2d62d05b56892cbfa8d2e69f4e45a9f2eb5ce23b3f50495f49cdcebc9e618c
3
+ size 4739171
policies/go1-flat-ppo-newton/configs/env.yaml ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ physics: newton
2
+ id: UnitreeGo1FlatRL-v1
3
+ max_episode_steps: 1000
4
+ num_envs: 8
5
+ scene_node_capacity: 262144
6
+ headless: true
7
+ device: cuda:0
8
+ arena_space: 2.0
9
+ render_cfg:
10
+ renderer: fast-rt
11
+ physics_config:
12
+ sync_to_renderer: false
13
+ gravity:
14
+ - 0.0
15
+ - 0.0
16
+ - -9.81
17
+ num_substeps: 1
18
+ solver_cfg:
19
+ solver_type: mujoco_warp
20
+ njmax: 1024
21
+ nconmax: 256
22
+ iterations: 10
23
+ ls_iterations: 50
24
+ integrator: implicitfast
25
+ separate_worlds: true
26
+ tolerance: 1.0e-08
27
+ physics_dt: 0.005
28
+ env:
29
+ sim_steps_per_control: 4
30
+ control_parts:
31
+ - locomotion
32
+ events:
33
+ push_robot:
34
+ func: push_articulation_by_setting_velocity
35
+ mode: interval
36
+ interval_step: 1
37
+ is_global: false
38
+ params:
39
+ entity_cfg:
40
+ uid: robot
41
+ interval_range_s:
42
+ - 1.0
43
+ - 3.0
44
+ velocity_range:
45
+ x:
46
+ - -0.5
47
+ - 0.5
48
+ y:
49
+ - -0.5
50
+ - 0.5
51
+ z:
52
+ - -0.4
53
+ - 0.4
54
+ roll:
55
+ - -0.52
56
+ - 0.52
57
+ pitch:
58
+ - -0.52
59
+ - 0.52
60
+ yaw:
61
+ - -0.78
62
+ - 0.78
63
+ observations:
64
+ policy:
65
+ func: velocity_locomotion_observation
66
+ mode: add
67
+ name: policy
68
+ params:
69
+ privileged: false
70
+ enable_corruption: true
71
+ critic:
72
+ func: velocity_locomotion_observation
73
+ mode: add
74
+ name: critic
75
+ params:
76
+ privileged: true
77
+ enable_corruption: false
78
+ rewards:
79
+ total:
80
+ func: velocity_locomotion_total_reward
81
+ mode: add
82
+ weight: 1.0
83
+ params: {}
84
+ actions:
85
+ joint_position:
86
+ func: DefaultJointPositionTerm
87
+ params: {}
88
+ extensions: {}
89
+ robot:
90
+ uid: robot
91
+ fpath: UnitreeGo1Locomotion/go1.usda
92
+ build_pk_chain: false
93
+ init_pos:
94
+ - 0.0
95
+ - 0.0
96
+ - 0.278
97
+ init_qpos:
98
+ - -0.1
99
+ - 0.1
100
+ - -0.1
101
+ - 0.1
102
+ - 0.9
103
+ - 0.9
104
+ - 0.9
105
+ - 0.9
106
+ - -1.8
107
+ - -1.8
108
+ - -1.8
109
+ - -1.8
110
+ control_parts:
111
+ locomotion:
112
+ - FR_hip_joint
113
+ - FR_thigh_joint
114
+ - FR_calf_joint
115
+ - FL_hip_joint
116
+ - FL_thigh_joint
117
+ - FL_calf_joint
118
+ - RR_hip_joint
119
+ - RR_thigh_joint
120
+ - RR_calf_joint
121
+ - RL_hip_joint
122
+ - RL_thigh_joint
123
+ - RL_calf_joint
124
+ asset_physics_mode: overlay
125
+ root_props:
126
+ fixed_base: false
127
+ self_collision_enabled: false
128
+ min_position_iters: 4
129
+ min_velocity_iters: 0
130
+ sensor:
131
+ - uid: locomotion_contacts
132
+ sensor_type: ContactSensor
133
+ articulation_cfg_list:
134
+ - articulation_uid: robot
135
+ link_name_list: []
136
+ filter_need_both_actor: false
137
+ max_contacts_per_env: 96
138
+ light: {}
139
+ background: []
140
+ rigid_object: []
141
+ rigid_object_group: []
142
+ articulation: []
policies/go1-flat-ppo-newton/configs/train.yaml ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ trainer:
2
+ exp_name: unitree_go1_flat_ppo_newton
3
+ gym_config: env.yaml
4
+ seed: 42
5
+ device: cuda:0
6
+ headless: true
7
+ renderer: fast-rt
8
+ num_envs: 4
9
+ iterations: 10000
10
+ buffer_size: 24
11
+ enable_eval: false
12
+ save_frequency_updates: 50
13
+ use_wandb: false
14
+ wandb_project_name: embodichain-locomotion
15
+ policy:
16
+ name: actor_critic
17
+ actor_obs_normalization: true
18
+ critic_obs_normalization: true
19
+ obs_groups:
20
+ actor:
21
+ - policy
22
+ critic:
23
+ - critic
24
+ actor:
25
+ type: mlp
26
+ network_cfg:
27
+ hidden_sizes:
28
+ - 512
29
+ - 256
30
+ - 128
31
+ activation: elu
32
+ critic:
33
+ type: mlp
34
+ network_cfg:
35
+ hidden_sizes:
36
+ - 512
37
+ - 256
38
+ - 128
39
+ activation: elu
40
+ initial_action_std: 1.0
41
+ algorithm:
42
+ name: ppo
43
+ cfg:
44
+ optimizer:
45
+ name: adam
46
+ learning_rate: 0.001
47
+ schedule: adaptive
48
+ desired_kl: 0.01
49
+ minimum_learning_rate: 1.0e-05
50
+ maximum_learning_rate: 0.01
51
+ n_epochs: 5
52
+ num_mini_batches: 4
53
+ batch_size: 24576
54
+ gamma: 0.99
55
+ gae_lambda: 0.95
56
+ clip_coef: 0.2
57
+ ent_coef: 0.01
58
+ vf_coef: 1.0
59
+ use_clipped_value_loss: true
60
+ max_grad_norm: 1.0
policies/go1-flat-ppo-newton/evaluation.json ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "go1-flat-ppo-newton",
4
+ "evidence_kind": "prior_source_policy_evaluation",
5
+ "created_at": "2026-09-23T02:17:09.194399+00:00",
6
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
7
+ "runtime": {
8
+ "dexsim": "development build",
9
+ "public_wheel_validated": false,
10
+ "torch": "2.10.0+cu128",
11
+ "newton": "1.6.0"
12
+ },
13
+ "conditions": {
14
+ "seed": 10042,
15
+ "renderer": "fast-rt",
16
+ "task_id": "UnitreeGo1FlatRL-v1",
17
+ "physics": "newton",
18
+ "command": [
19
+ 0.3,
20
+ 0.0,
21
+ 0.0
22
+ ],
23
+ "mode": "viewer"
24
+ },
25
+ "exit_code": 0,
26
+ "result": {
27
+ "control_steps": 1000,
28
+ "effective_duration": 20.0,
29
+ "episodes": [
30
+ {
31
+ "index": 0,
32
+ "length": 1000,
33
+ "reason": "time limit",
34
+ "reward": 109.75560356676579,
35
+ "success": false
36
+ }
37
+ ],
38
+ "metrics": {
39
+ "eval/avg_length": 1000.0,
40
+ "eval/avg_reward": 109.75560356676579,
41
+ "eval/success_rate": 0.0,
42
+ "linear_velocity_error": 0.1238803118467331,
43
+ "maximum_illegal_contact_force": 0.0,
44
+ "reward": 0.11315512657165527,
45
+ "root_height": 0.295845627784729,
46
+ "yaw_rate_error": 0.029608920216560364
47
+ },
48
+ "reason": "control steps reached",
49
+ "requested_duration": 20.0,
50
+ "simulation_steps": 4000,
51
+ "simulation_time": 20.0
52
+ },
53
+ "limits": [
54
+ "This summarizes the earlier source-policy evaluation, not a new evaluation of this staged bundle.",
55
+ "A cached robot asset and a development simulation runtime were used.",
56
+ "A clean-cache evaluation using publicly installable dependencies is pending.",
57
+ "Velocity tasks have no terminal success goal; time-limit episodes are not failures."
58
+ ],
59
+ "checkpoint_metadata": {
60
+ "global_step": 39321600,
61
+ "num_updates": 400,
62
+ "best_eval_value": null
63
+ }
64
+ }
policies/go1-flat-ppo-newton/run-manifest.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "configs": {
4
+ "train": "configs/train.yaml",
5
+ "gym": "configs/env.yaml"
6
+ },
7
+ "checkpoints": {
8
+ "latest": "checkpoint.pt",
9
+ "best": null
10
+ }
11
+ }
policies/go2-flat-ppo-default/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ce2a67c411ff63c0464e5ea98e1f5281f661d5e3817d0bcb6dd24b225749d6b1
3
+ size 4745233
policies/go2-flat-ppo-default/configs/env.yaml ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ physics: default
2
+ id: UnitreeGo2FlatRL-v1
3
+ max_episode_steps: 1000
4
+ num_envs: 8
5
+ scene_node_capacity: 262144
6
+ headless: true
7
+ device: cuda:0
8
+ arena_space: 2.0
9
+ render_cfg:
10
+ renderer: fast-rt
11
+ physics_config:
12
+ cache_material: true
13
+ gravity:
14
+ - 0.0
15
+ - 0.0
16
+ - -9.81
17
+ physics_dt: 0.005
18
+ env:
19
+ sim_steps_per_control: 4
20
+ control_parts:
21
+ - locomotion
22
+ events:
23
+ push_robot:
24
+ func: push_articulation_by_setting_velocity
25
+ mode: interval
26
+ interval_step: 1
27
+ is_global: false
28
+ params:
29
+ entity_cfg:
30
+ uid: robot
31
+ interval_range_s:
32
+ - 5.0
33
+ - 6.0
34
+ velocity_range:
35
+ x:
36
+ - -0.5
37
+ - 0.5
38
+ y:
39
+ - -0.5
40
+ - 0.5
41
+ z:
42
+ - -0.4
43
+ - 0.4
44
+ roll:
45
+ - -0.52
46
+ - 0.52
47
+ pitch:
48
+ - -0.52
49
+ - 0.52
50
+ yaw:
51
+ - -0.78
52
+ - 0.78
53
+ observations:
54
+ policy:
55
+ func: velocity_locomotion_observation
56
+ mode: add
57
+ name: policy
58
+ params:
59
+ privileged: false
60
+ enable_corruption: true
61
+ critic:
62
+ func: velocity_locomotion_observation
63
+ mode: add
64
+ name: critic
65
+ params:
66
+ privileged: true
67
+ enable_corruption: false
68
+ rewards:
69
+ total:
70
+ func: velocity_locomotion_total_reward
71
+ mode: add
72
+ weight: 1.0
73
+ params: {}
74
+ actions:
75
+ joint_position:
76
+ func: DefaultJointPositionTerm
77
+ params: {}
78
+ extensions: {}
79
+ robot:
80
+ uid: robot
81
+ fpath: UnitreeGo2Locomotion/go2.usda
82
+ build_pk_chain: false
83
+ init_pos:
84
+ - 0.0
85
+ - 0.0
86
+ - 0.32
87
+ init_qpos:
88
+ - -0.1
89
+ - 0.1
90
+ - -0.1
91
+ - 0.1
92
+ - 0.9
93
+ - 0.9
94
+ - 0.9
95
+ - 0.9
96
+ - -1.8
97
+ - -1.8
98
+ - -1.8
99
+ - -1.8
100
+ control_parts:
101
+ locomotion:
102
+ - FL_hip_joint
103
+ - FL_thigh_joint
104
+ - FL_calf_joint
105
+ - FR_hip_joint
106
+ - FR_thigh_joint
107
+ - FR_calf_joint
108
+ - RL_hip_joint
109
+ - RL_thigh_joint
110
+ - RL_calf_joint
111
+ - RR_hip_joint
112
+ - RR_thigh_joint
113
+ - RR_calf_joint
114
+ asset_physics_mode: overlay
115
+ root_props:
116
+ fixed_base: false
117
+ self_collision_enabled: false
118
+ min_position_iters: 4
119
+ min_velocity_iters: 0
120
+ sensor:
121
+ - uid: locomotion_contacts
122
+ sensor_type: ContactSensor
123
+ articulation_cfg_list:
124
+ - articulation_uid: robot
125
+ link_name_list: []
126
+ filter_need_both_actor: false
127
+ max_contacts_per_env: 96
128
+ light: {}
129
+ background: []
130
+ rigid_object: []
131
+ rigid_object_group: []
132
+ articulation: []
policies/go2-flat-ppo-default/configs/train.yaml ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ trainer:
2
+ exp_name: unitree_go2_flat_ppo
3
+ gym_config: env.yaml
4
+ seed: 42
5
+ device: cuda:0
6
+ headless: true
7
+ renderer: fast-rt
8
+ num_envs: 4
9
+ iterations: 10001
10
+ buffer_size: 24
11
+ enable_eval: false
12
+ save_frequency_updates: 100
13
+ use_wandb: false
14
+ wandb_project_name: embodichain-locomotion
15
+ policy:
16
+ name: actor_critic
17
+ actor_obs_normalization: true
18
+ critic_obs_normalization: true
19
+ obs_groups:
20
+ actor:
21
+ - policy
22
+ critic:
23
+ - critic
24
+ actor:
25
+ type: mlp
26
+ network_cfg:
27
+ hidden_sizes:
28
+ - 512
29
+ - 256
30
+ - 128
31
+ activation: elu
32
+ critic:
33
+ type: mlp
34
+ network_cfg:
35
+ hidden_sizes:
36
+ - 512
37
+ - 256
38
+ - 128
39
+ activation: elu
40
+ initial_action_std: 1.0
41
+ algorithm:
42
+ name: ppo
43
+ cfg:
44
+ optimizer:
45
+ name: adam
46
+ learning_rate: 0.001
47
+ schedule: adaptive
48
+ desired_kl: 0.01
49
+ minimum_learning_rate: 1.0e-05
50
+ maximum_learning_rate: 0.01
51
+ n_epochs: 5
52
+ num_mini_batches: 4
53
+ batch_size: 24576
54
+ gamma: 0.99
55
+ gae_lambda: 0.95
56
+ clip_coef: 0.2
57
+ ent_coef: 0.01
58
+ vf_coef: 1.0
59
+ use_clipped_value_loss: true
60
+ max_grad_norm: 1.0
policies/go2-flat-ppo-default/evaluation.json ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "go2-flat-ppo-default",
4
+ "evidence_kind": "prior_source_policy_evaluation",
5
+ "created_at": "2026-09-23T02:22:07.574341+00:00",
6
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
7
+ "runtime": {
8
+ "dexsim": "development build",
9
+ "public_wheel_validated": false,
10
+ "torch": "2.10.0+cu128",
11
+ "newton": null
12
+ },
13
+ "conditions": {
14
+ "seed": 10042,
15
+ "renderer": "fast-rt",
16
+ "task_id": "UnitreeGo2FlatRL-v1",
17
+ "physics": "default",
18
+ "command": [
19
+ 0.3,
20
+ 0.0,
21
+ 0.0
22
+ ],
23
+ "mode": "viewer"
24
+ },
25
+ "exit_code": 0,
26
+ "result": {
27
+ "control_steps": 1000,
28
+ "effective_duration": 20.0,
29
+ "episodes": [
30
+ {
31
+ "index": 0,
32
+ "length": 1000,
33
+ "reason": "time limit",
34
+ "reward": 65.62835970893502,
35
+ "success": false
36
+ }
37
+ ],
38
+ "metrics": {
39
+ "eval/avg_length": 1000.0,
40
+ "eval/avg_reward": 65.62835970893502,
41
+ "eval/success_rate": 0.0,
42
+ "linear_velocity_error": 0.06811629980802536,
43
+ "maximum_illegal_contact_force": 0.0,
44
+ "reward": 0.06804674863815308,
45
+ "root_height": 0.30811384320259094,
46
+ "yaw_rate_error": 0.03535405173897743
47
+ },
48
+ "reason": "control steps reached",
49
+ "requested_duration": 20.0,
50
+ "simulation_steps": 4000,
51
+ "simulation_time": 20.0
52
+ },
53
+ "limits": [
54
+ "This summarizes the earlier source-policy evaluation, not a new evaluation of this staged bundle.",
55
+ "A cached robot asset and a development simulation runtime were used.",
56
+ "A clean-cache evaluation using publicly installable dependencies is pending.",
57
+ "Velocity tasks have no terminal success goal; time-limit episodes are not failures."
58
+ ],
59
+ "checkpoint_metadata": {
60
+ "global_step": 88473600,
61
+ "num_updates": 900,
62
+ "best_eval_value": null
63
+ }
64
+ }
policies/go2-flat-ppo-default/run-manifest.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "configs": {
4
+ "train": "configs/train.yaml",
5
+ "gym": "configs/env.yaml"
6
+ },
7
+ "checkpoints": {
8
+ "latest": "checkpoint.pt",
9
+ "best": null
10
+ }
11
+ }
policies/go2-flat-ppo-newton/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:242c5900d9ac4e74b050ec291552386094e85454fcc786d2f0173df187817a26
3
+ size 4745315
policies/go2-flat-ppo-newton/configs/env.yaml ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ physics: newton
2
+ id: UnitreeGo2FlatRL-v1
3
+ max_episode_steps: 1000
4
+ num_envs: 8
5
+ scene_node_capacity: 262144
6
+ headless: true
7
+ device: cuda:0
8
+ arena_space: 2.0
9
+ render_cfg:
10
+ renderer: fast-rt
11
+ physics_config:
12
+ sync_to_renderer: false
13
+ gravity:
14
+ - 0.0
15
+ - 0.0
16
+ - -9.81
17
+ num_substeps: 1
18
+ solver_cfg:
19
+ solver_type: mujoco_warp
20
+ njmax: 1024
21
+ nconmax: 256
22
+ iterations: 10
23
+ ls_iterations: 50
24
+ integrator: implicitfast
25
+ separate_worlds: true
26
+ tolerance: 1.0e-08
27
+ physics_dt: 0.005
28
+ env:
29
+ sim_steps_per_control: 4
30
+ control_parts:
31
+ - locomotion
32
+ events:
33
+ push_robot:
34
+ func: push_articulation_by_setting_velocity
35
+ mode: interval
36
+ interval_step: 1
37
+ is_global: false
38
+ params:
39
+ entity_cfg:
40
+ uid: robot
41
+ interval_range_s:
42
+ - 5.0
43
+ - 6.0
44
+ velocity_range:
45
+ x:
46
+ - -0.5
47
+ - 0.5
48
+ y:
49
+ - -0.5
50
+ - 0.5
51
+ z:
52
+ - -0.4
53
+ - 0.4
54
+ roll:
55
+ - -0.52
56
+ - 0.52
57
+ pitch:
58
+ - -0.52
59
+ - 0.52
60
+ yaw:
61
+ - -0.78
62
+ - 0.78
63
+ observations:
64
+ policy:
65
+ func: velocity_locomotion_observation
66
+ mode: add
67
+ name: policy
68
+ params:
69
+ privileged: false
70
+ enable_corruption: true
71
+ critic:
72
+ func: velocity_locomotion_observation
73
+ mode: add
74
+ name: critic
75
+ params:
76
+ privileged: true
77
+ enable_corruption: false
78
+ rewards:
79
+ total:
80
+ func: velocity_locomotion_total_reward
81
+ mode: add
82
+ weight: 1.0
83
+ params: {}
84
+ actions:
85
+ joint_position:
86
+ func: DefaultJointPositionTerm
87
+ params: {}
88
+ extensions: {}
89
+ robot:
90
+ uid: robot
91
+ fpath: UnitreeGo2Locomotion/go2.usda
92
+ build_pk_chain: false
93
+ init_pos:
94
+ - 0.0
95
+ - 0.0
96
+ - 0.32
97
+ init_qpos:
98
+ - -0.1
99
+ - 0.1
100
+ - -0.1
101
+ - 0.1
102
+ - 0.9
103
+ - 0.9
104
+ - 0.9
105
+ - 0.9
106
+ - -1.8
107
+ - -1.8
108
+ - -1.8
109
+ - -1.8
110
+ control_parts:
111
+ locomotion:
112
+ - FL_hip_joint
113
+ - FL_thigh_joint
114
+ - FL_calf_joint
115
+ - FR_hip_joint
116
+ - FR_thigh_joint
117
+ - FR_calf_joint
118
+ - RL_hip_joint
119
+ - RL_thigh_joint
120
+ - RL_calf_joint
121
+ - RR_hip_joint
122
+ - RR_thigh_joint
123
+ - RR_calf_joint
124
+ asset_physics_mode: overlay
125
+ root_props:
126
+ fixed_base: false
127
+ self_collision_enabled: false
128
+ min_position_iters: 4
129
+ min_velocity_iters: 0
130
+ sensor:
131
+ - uid: locomotion_contacts
132
+ sensor_type: ContactSensor
133
+ articulation_cfg_list:
134
+ - articulation_uid: robot
135
+ link_name_list: []
136
+ filter_need_both_actor: false
137
+ max_contacts_per_env: 96
138
+ light: {}
139
+ background: []
140
+ rigid_object: []
141
+ rigid_object_group: []
142
+ articulation: []
policies/go2-flat-ppo-newton/configs/train.yaml ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ trainer:
2
+ exp_name: unitree_go2_flat_ppo_newton
3
+ gym_config: env.yaml
4
+ seed: 42
5
+ device: cuda:0
6
+ headless: true
7
+ renderer: fast-rt
8
+ num_envs: 4
9
+ iterations: 10001
10
+ buffer_size: 24
11
+ enable_eval: false
12
+ save_frequency_updates: 100
13
+ use_wandb: false
14
+ wandb_project_name: embodichain-locomotion
15
+ policy:
16
+ name: actor_critic
17
+ actor_obs_normalization: true
18
+ critic_obs_normalization: true
19
+ obs_groups:
20
+ actor:
21
+ - policy
22
+ critic:
23
+ - critic
24
+ actor:
25
+ type: mlp
26
+ network_cfg:
27
+ hidden_sizes:
28
+ - 512
29
+ - 256
30
+ - 128
31
+ activation: elu
32
+ critic:
33
+ type: mlp
34
+ network_cfg:
35
+ hidden_sizes:
36
+ - 512
37
+ - 256
38
+ - 128
39
+ activation: elu
40
+ initial_action_std: 1.0
41
+ algorithm:
42
+ name: ppo
43
+ cfg:
44
+ optimizer:
45
+ name: adam
46
+ learning_rate: 0.001
47
+ schedule: adaptive
48
+ desired_kl: 0.01
49
+ minimum_learning_rate: 1.0e-05
50
+ maximum_learning_rate: 0.01
51
+ n_epochs: 5
52
+ num_mini_batches: 4
53
+ batch_size: 24576
54
+ gamma: 0.99
55
+ gae_lambda: 0.95
56
+ clip_coef: 0.2
57
+ ent_coef: 0.01
58
+ vf_coef: 1.0
59
+ use_clipped_value_loss: true
60
+ max_grad_norm: 1.0
policies/go2-flat-ppo-newton/evaluation.json ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "go2-flat-ppo-newton",
4
+ "evidence_kind": "prior_source_policy_evaluation",
5
+ "created_at": "2026-09-23T02:17:55.903488+00:00",
6
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
7
+ "runtime": {
8
+ "dexsim": "development build",
9
+ "public_wheel_validated": false,
10
+ "torch": "2.10.0+cu128",
11
+ "newton": "1.6.0"
12
+ },
13
+ "conditions": {
14
+ "seed": 10042,
15
+ "renderer": "fast-rt",
16
+ "task_id": "UnitreeGo2FlatRL-v1",
17
+ "physics": "newton",
18
+ "command": [
19
+ 0.3,
20
+ 0.0,
21
+ 0.0
22
+ ],
23
+ "mode": "viewer"
24
+ },
25
+ "exit_code": 0,
26
+ "result": {
27
+ "control_steps": 1000,
28
+ "effective_duration": 20.0,
29
+ "episodes": [
30
+ {
31
+ "index": 0,
32
+ "length": 1000,
33
+ "reason": "time limit",
34
+ "reward": 65.37921412661672,
35
+ "success": false
36
+ }
37
+ ],
38
+ "metrics": {
39
+ "eval/avg_length": 1000.0,
40
+ "eval/avg_reward": 65.37921412661672,
41
+ "eval/success_rate": 0.0,
42
+ "linear_velocity_error": 0.061211440712213516,
43
+ "maximum_illegal_contact_force": 0.0,
44
+ "reward": 0.06784547120332718,
45
+ "root_height": 0.30683282017707825,
46
+ "yaw_rate_error": 0.006454401649534702
47
+ },
48
+ "reason": "control steps reached",
49
+ "requested_duration": 20.0,
50
+ "simulation_steps": 4000,
51
+ "simulation_time": 20.0
52
+ },
53
+ "limits": [
54
+ "This summarizes the earlier source-policy evaluation, not a new evaluation of this staged bundle.",
55
+ "A cached robot asset and a development simulation runtime were used.",
56
+ "A clean-cache evaluation using publicly installable dependencies is pending.",
57
+ "Velocity tasks have no terminal success goal; time-limit episodes are not failures."
58
+ ],
59
+ "checkpoint_metadata": {
60
+ "global_step": 68812800,
61
+ "num_updates": 700,
62
+ "best_eval_value": null
63
+ }
64
+ }
policies/go2-flat-ppo-newton/run-manifest.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "configs": {
4
+ "train": "configs/train.yaml",
5
+ "gym": "configs/env.yaml"
6
+ },
7
+ "checkpoints": {
8
+ "latest": "checkpoint.pt",
9
+ "best": null
10
+ }
11
+ }
policies/h1-2-flat-ppo-default/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0c109105da54e9159f97cae16282c29c9b0689a534395b5d1a1d2908b176d271
3
+ size 5249013
policies/h1-2-flat-ppo-default/configs/env.yaml ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ physics: default
2
+ id: UnitreeH1_2FlatRL-v1
3
+ max_episode_steps: 1000
4
+ num_envs: 8
5
+ scene_node_capacity: 262144
6
+ headless: true
7
+ device: cuda:0
8
+ arena_space: 2.5
9
+ render_cfg:
10
+ renderer: fast-rt
11
+ physics_config:
12
+ cache_material: true
13
+ gravity:
14
+ - 0.0
15
+ - 0.0
16
+ - -9.81
17
+ physics_dt: 0.005
18
+ env:
19
+ sim_steps_per_control: 4
20
+ control_parts:
21
+ - locomotion
22
+ events:
23
+ push_robot:
24
+ func: push_articulation_by_setting_velocity
25
+ mode: interval
26
+ interval_step: 1
27
+ is_global: false
28
+ params:
29
+ entity_cfg:
30
+ uid: robot
31
+ interval_range_s:
32
+ - 5.0
33
+ - 6.0
34
+ velocity_range:
35
+ x:
36
+ - -0.5
37
+ - 0.5
38
+ y:
39
+ - -0.5
40
+ - 0.5
41
+ z:
42
+ - -0.4
43
+ - 0.4
44
+ roll:
45
+ - -0.52
46
+ - 0.52
47
+ pitch:
48
+ - -0.52
49
+ - 0.52
50
+ yaw:
51
+ - -0.78
52
+ - 0.78
53
+ observations:
54
+ policy:
55
+ func: velocity_locomotion_observation
56
+ mode: add
57
+ name: policy
58
+ params:
59
+ privileged: false
60
+ enable_corruption: true
61
+ critic:
62
+ func: velocity_locomotion_observation
63
+ mode: add
64
+ name: critic
65
+ params:
66
+ privileged: true
67
+ enable_corruption: false
68
+ rewards:
69
+ total:
70
+ func: velocity_locomotion_total_reward
71
+ mode: add
72
+ weight: 1.0
73
+ params: {}
74
+ actions:
75
+ joint_position:
76
+ func: DefaultJointPositionTerm
77
+ params: {}
78
+ extensions: {}
79
+ robot:
80
+ uid: robot
81
+ fpath: UnitreeH1_2Locomotion/h1_2.usda
82
+ build_pk_chain: false
83
+ init_pos:
84
+ - 0.0
85
+ - 0.0
86
+ - 1.02
87
+ init_qpos:
88
+ - 0.0
89
+ - 0.0
90
+ - 0.0
91
+ - -0.2
92
+ - -0.2
93
+ - 0.28
94
+ - 0.28
95
+ - 0.0
96
+ - 0.0
97
+ - 0.0
98
+ - 0.0
99
+ - 0.5
100
+ - 0.5
101
+ - 0.0
102
+ - 0.0
103
+ - -0.3
104
+ - -0.3
105
+ - 0.52
106
+ - 0.52
107
+ - 0.0
108
+ - 0.0
109
+ - 0.0
110
+ - 0.0
111
+ - 0.0
112
+ - 0.0
113
+ - 0.0
114
+ - 0.0
115
+ control_parts:
116
+ locomotion:
117
+ - left_hip_yaw_joint
118
+ - left_hip_pitch_joint
119
+ - left_hip_roll_joint
120
+ - left_knee_joint
121
+ - left_ankle_pitch_joint
122
+ - left_ankle_roll_joint
123
+ - right_hip_yaw_joint
124
+ - right_hip_pitch_joint
125
+ - right_hip_roll_joint
126
+ - right_knee_joint
127
+ - right_ankle_pitch_joint
128
+ - right_ankle_roll_joint
129
+ - torso_joint
130
+ - left_shoulder_pitch_joint
131
+ - left_shoulder_roll_joint
132
+ - left_shoulder_yaw_joint
133
+ - left_elbow_joint
134
+ - left_wrist_roll_joint
135
+ - left_wrist_pitch_joint
136
+ - left_wrist_yaw_joint
137
+ - right_shoulder_pitch_joint
138
+ - right_shoulder_roll_joint
139
+ - right_shoulder_yaw_joint
140
+ - right_elbow_joint
141
+ - right_wrist_roll_joint
142
+ - right_wrist_pitch_joint
143
+ - right_wrist_yaw_joint
144
+ asset_physics_mode: overlay
145
+ root_props:
146
+ fixed_base: false
147
+ self_collision_enabled: true
148
+ min_position_iters: 4
149
+ min_velocity_iters: 4
150
+ sensor:
151
+ - uid: locomotion_contacts
152
+ sensor_type: ContactSensor
153
+ articulation_cfg_list:
154
+ - articulation_uid: robot
155
+ link_name_list: []
156
+ filter_need_both_actor: false
157
+ max_contacts_per_env: 192
158
+ light: {}
159
+ background: []
160
+ rigid_object: []
161
+ rigid_object_group: []
162
+ articulation: []
policies/h1-2-flat-ppo-default/configs/train.yaml ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ trainer:
2
+ exp_name: unitree_h1_2_flat_ppo
3
+ gym_config: env.yaml
4
+ seed: 42
5
+ device: cuda:0
6
+ headless: true
7
+ renderer: fast-rt
8
+ num_envs: 4
9
+ iterations: 10001
10
+ buffer_size: 24
11
+ enable_eval: false
12
+ save_frequency_updates: 100
13
+ use_wandb: false
14
+ wandb_project_name: embodichain-locomotion
15
+ policy:
16
+ name: actor_critic
17
+ actor_obs_normalization: true
18
+ critic_obs_normalization: true
19
+ obs_groups:
20
+ actor:
21
+ - policy
22
+ critic:
23
+ - critic
24
+ actor:
25
+ type: mlp
26
+ network_cfg:
27
+ hidden_sizes:
28
+ - 512
29
+ - 256
30
+ - 128
31
+ activation: elu
32
+ critic:
33
+ type: mlp
34
+ network_cfg:
35
+ hidden_sizes:
36
+ - 512
37
+ - 256
38
+ - 128
39
+ activation: elu
40
+ initial_action_std: 1.0
41
+ algorithm:
42
+ name: ppo
43
+ cfg:
44
+ optimizer:
45
+ name: adam
46
+ learning_rate: 0.001
47
+ schedule: adaptive
48
+ desired_kl: 0.01
49
+ minimum_learning_rate: 1.0e-05
50
+ maximum_learning_rate: 0.01
51
+ n_epochs: 5
52
+ num_mini_batches: 4
53
+ batch_size: 24576
54
+ gamma: 0.99
55
+ gae_lambda: 0.95
56
+ clip_coef: 0.2
57
+ ent_coef: 0.01
58
+ vf_coef: 1.0
59
+ use_clipped_value_loss: true
60
+ max_grad_norm: 1.0
policies/h1-2-flat-ppo-default/evaluation.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "h1-2-flat-ppo-default",
4
+ "evidence_kind": "prior_source_policy_evaluation",
5
+ "created_at": "2026-09-23T02:22:49.776090+00:00",
6
+ "embodichain_revision": "6f20b0603f784599201a7ee9b0d82a057d7c8bbf",
7
+ "runtime": {
8
+ "dexsim": "development build",
9
+ "public_wheel_validated": false,
10
+ "torch": "2.10.0+cu128",
11
+ "newton": null
12
+ },
13
+ "conditions": {
14
+ "seed": 10042,
15
+ "renderer": "fast-rt",
16
+ "task_id": "UnitreeH1_2FlatRL-v1",
17
+ "physics": "default",
18
+ "command": [
19
+ 0.3,
20
+ 0.0,
21
+ 0.0
22
+ ],
23
+ "mode": "viewer"
24
+ },
25
+ "exit_code": 0,
26
+ "result": {
27
+ "control_steps": 1000,
28
+ "effective_duration": 20.0,
29
+ "episodes": [
30
+ {
31
+ "index": 0,
32
+ "length": 1000,
33
+ "reason": "time limit",
34
+ "reward": 58.88337729498744,
35
+ "success": false
36
+ }
37
+ ],
38
+ "metrics": {
39
+ "eval/avg_length": 1000.0,
40
+ "eval/avg_reward": 58.88337729498744,
41
+ "eval/success_rate": 0.0,
42
+ "linear_velocity_error": 0.11185938119888306,
43
+ "reward": 0.0634588673710823,
44
+ "root_height": 0.9720747470855713,
45
+ "yaw_rate_error": 0.04812958464026451
46
+ },
47
+ "reason": "control steps reached",
48
+ "requested_duration": 20.0,
49
+ "simulation_steps": 4000,
50
+ "simulation_time": 20.0
51
+ },
52
+ "limits": [
53
+ "This summarizes the earlier source-policy evaluation, not a new evaluation of this staged bundle.",
54
+ "A cached robot asset and a development simulation runtime were used.",
55
+ "A clean-cache evaluation using publicly installable dependencies is pending.",
56
+ "Velocity tasks have no terminal success goal; time-limit episodes are not failures."
57
+ ],
58
+ "checkpoint_metadata": {
59
+ "global_step": 108134400,
60
+ "num_updates": 1100,
61
+ "best_eval_value": null
62
+ }
63
+ }
policies/h1-2-flat-ppo-default/run-manifest.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "configs": {
4
+ "train": "configs/train.yaml",
5
+ "gym": "configs/env.yaml"
6
+ },
7
+ "checkpoints": {
8
+ "latest": "checkpoint.pt",
9
+ "best": null
10
+ }
11
+ }
policies/h1-2-flat-ppo-newton/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a1222cc14b2a75699ba9b93f0513cba631b00865998cbfa34c4e52f0c002232a
3
+ size 5249095
policies/h1-2-flat-ppo-newton/configs/env.yaml ADDED
@@ -0,0 +1,172 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ physics: newton
2
+ id: UnitreeH1_2FlatRL-v1
3
+ max_episode_steps: 1000
4
+ num_envs: 8
5
+ scene_node_capacity: 262144
6
+ headless: true
7
+ device: cuda:0
8
+ arena_space: 2.5
9
+ render_cfg:
10
+ renderer: fast-rt
11
+ physics_config:
12
+ sync_to_renderer: false
13
+ gravity:
14
+ - 0.0
15
+ - 0.0
16
+ - -9.81
17
+ num_substeps: 1
18
+ solver_cfg:
19
+ solver_type: mujoco_warp
20
+ njmax: 1024
21
+ nconmax: 256
22
+ iterations: 10
23
+ ls_iterations: 50
24
+ integrator: implicitfast
25
+ separate_worlds: true
26
+ tolerance: 1.0e-08
27
+ physics_dt: 0.005
28
+ env:
29
+ sim_steps_per_control: 4
30
+ control_parts:
31
+ - locomotion
32
+ events:
33
+ push_robot:
34
+ func: push_articulation_by_setting_velocity
35
+ mode: interval
36
+ interval_step: 1
37
+ is_global: false
38
+ params:
39
+ entity_cfg:
40
+ uid: robot
41
+ interval_range_s:
42
+ - 5.0
43
+ - 6.0
44
+ velocity_range:
45
+ x:
46
+ - -0.5
47
+ - 0.5
48
+ y:
49
+ - -0.5
50
+ - 0.5
51
+ z:
52
+ - -0.4
53
+ - 0.4
54
+ roll:
55
+ - -0.52
56
+ - 0.52
57
+ pitch:
58
+ - -0.52
59
+ - 0.52
60
+ yaw:
61
+ - -0.78
62
+ - 0.78
63
+ observations:
64
+ policy:
65
+ func: velocity_locomotion_observation
66
+ mode: add
67
+ name: policy
68
+ params:
69
+ privileged: false
70
+ enable_corruption: true
71
+ critic:
72
+ func: velocity_locomotion_observation
73
+ mode: add
74
+ name: critic
75
+ params:
76
+ privileged: true
77
+ enable_corruption: false
78
+ rewards:
79
+ total:
80
+ func: velocity_locomotion_total_reward
81
+ mode: add
82
+ weight: 1.0
83
+ params: {}
84
+ actions:
85
+ joint_position:
86
+ func: DefaultJointPositionTerm
87
+ params: {}
88
+ extensions: {}
89
+ robot:
90
+ uid: robot
91
+ fpath: UnitreeH1_2Locomotion/h1_2.usda
92
+ build_pk_chain: false
93
+ init_pos:
94
+ - 0.0
95
+ - 0.0
96
+ - 1.02
97
+ init_qpos:
98
+ - 0.0
99
+ - 0.0
100
+ - 0.0
101
+ - -0.2
102
+ - -0.2
103
+ - 0.28
104
+ - 0.28
105
+ - 0.0
106
+ - 0.0
107
+ - 0.0
108
+ - 0.0
109
+ - 0.5
110
+ - 0.5
111
+ - 0.0
112
+ - 0.0
113
+ - -0.3
114
+ - -0.3
115
+ - 0.52
116
+ - 0.52
117
+ - 0.0
118
+ - 0.0
119
+ - 0.0
120
+ - 0.0
121
+ - 0.0
122
+ - 0.0
123
+ - 0.0
124
+ - 0.0
125
+ control_parts:
126
+ locomotion:
127
+ - left_hip_yaw_joint
128
+ - left_hip_pitch_joint
129
+ - left_hip_roll_joint
130
+ - left_knee_joint
131
+ - left_ankle_pitch_joint
132
+ - left_ankle_roll_joint
133
+ - right_hip_yaw_joint
134
+ - right_hip_pitch_joint
135
+ - right_hip_roll_joint
136
+ - right_knee_joint
137
+ - right_ankle_pitch_joint
138
+ - right_ankle_roll_joint
139
+ - torso_joint
140
+ - left_shoulder_pitch_joint
141
+ - left_shoulder_roll_joint
142
+ - left_shoulder_yaw_joint
143
+ - left_elbow_joint
144
+ - left_wrist_roll_joint
145
+ - left_wrist_pitch_joint
146
+ - left_wrist_yaw_joint
147
+ - right_shoulder_pitch_joint
148
+ - right_shoulder_roll_joint
149
+ - right_shoulder_yaw_joint
150
+ - right_elbow_joint
151
+ - right_wrist_roll_joint
152
+ - right_wrist_pitch_joint
153
+ - right_wrist_yaw_joint
154
+ asset_physics_mode: overlay
155
+ root_props:
156
+ fixed_base: false
157
+ self_collision_enabled: true
158
+ min_position_iters: 4
159
+ min_velocity_iters: 4
160
+ sensor:
161
+ - uid: locomotion_contacts
162
+ sensor_type: ContactSensor
163
+ articulation_cfg_list:
164
+ - articulation_uid: robot
165
+ link_name_list: []
166
+ filter_need_both_actor: false
167
+ max_contacts_per_env: 192
168
+ light: {}
169
+ background: []
170
+ rigid_object: []
171
+ rigid_object_group: []
172
+ articulation: []