SjohnU commited on
Commit
c59333c
·
verified ·
1 Parent(s): 4391d20

Add cycle p200 deploy bundle (test)

Browse files
ETHRC-humanoidv1-suspended-cycle-v0_urdf4_cycle_p200_v1/HARDWARE_GAINS_TODO.md ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ⚠ HARDWARE GAIN CHANGE REQUIRED before sim2real
2
+
3
+ This policy was trained at **chosen sim gains** (legs/knee **200/10**, shoulder 100/2). These train cleanly
4
+ (knee_cycle ≈ 0.998, no wobble, stable) and the legs gain is **close to the current hardware** (240/15), so
5
+ the hardware change is small. A position-target policy only transfers if the real drives' PD == the sim PD
6
+ that trained it — so **set the device-config gains to match** `deploy.yaml` (`kps`/`kds`) using the
7
+ documented `÷1000` convention (device JVPT = sim gain × 1000):
8
+
9
+ | Group (motors) | sim kp/kd (deploy.yaml) | set device `JVPT_P / JVPT_D` | current device | actuated? |
10
+ |---|---|---|---|---|
11
+ | HEJ90 legs/waist incl. **knee** (`maxonHEJ90*`) | 200 / 10 | **200000 / 10000** | 240000 / 15000 | **yes (knee)** |
12
+ | HEJ70 **shoulders** (`maxonHEJ70A*`) | 100 / 2 | **100000 / 2000** | 15000 / 1000 | **yes (shoulder_flexion)** |
13
+ | HEJ50 arms/neck (`maxonHEJ50*`) | 50 / 1 | 50000 / 1000 | 8500 / 3000 | held at 0 |
14
+ | robstride ankles | 40 / 1 (foot joint) | via inverse ankle-linkage Jacobian | MIT 12 / 0.8 | held at 0 |
15
+
16
+ **Edit:** `ETHRC-Humanoid-Controls/ros2_ws/src/ethercat_device_configurator/ethercat_device_configurator/example_config/device_configurations/*.yaml`
17
+ (`JVPT_P_gain` / `JVPT_D_gain` per device, referenced by `setup.yaml`).
18
+
19
+ **Most critical:** HEJ90 (knee) and HEJ70 (shoulder) — the actuated joints. Held joints (HEJ50, ankles) keep
20
+ the non-action joints at 0; match them too for full fidelity but they're lower priority.
21
+
22
+ **Why not the real hardware gains directly?** kp≈240 (HEJ90) made the cyclic knee unstable to train
23
+ (from-scratch wrong-direction local optimum; warm-start peaked then PPO-collapsed). kp=200 is below that
24
+ threshold — clean and stable — so we train at 200/10 and nudge the hardware down from 240→200.
25
+
26
+ **Then validate**: the `÷1000` mapping is a documented heuristic — confirm by comparing real joint tracking
27
+ against the sim2sim baseline (Part B/C). If they diverge, recalibrate the conversion.
28
+
29
+ — generated for `urdf4_cycle_p200` (legs 200/10 cyclic bring-up policy).
ETHRC-humanoidv1-suspended-cycle-v0_urdf4_cycle_p200_v1/deploy.yaml ADDED
@@ -0,0 +1,263 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ experiment_name: ETHRC-humanoidv1-suspended-cycle-v0_urdf4_cycle_p200_v1
2
+ task: ETHRC-humanoidv1-suspended-cycle-v0
3
+ interface: lo
4
+ sim2sim: true
5
+ msg_type: go
6
+ imu_type: base_link
7
+ lowcmd_topic: rt/lowcmd
8
+ lowstate_topic: rt/lowstate
9
+ policy_path: policy.pt
10
+ num_actions: 4
11
+ action_scale: 0.25
12
+ use_default_offset: true
13
+ control_dt: 0.02
14
+ policy_rate_hz: 50.0
15
+ decimation: 4
16
+ sim_dt: 0.005
17
+ joint_names:
18
+ - shoulder_flexion_l
19
+ - shoulder_flexion_r
20
+ - knee_l
21
+ - knee_r
22
+ joint2motor_idx:
23
+ - 0
24
+ - 1
25
+ - 2
26
+ - 3
27
+ default_angles:
28
+ - 0.0
29
+ - 0.0
30
+ - 0.0
31
+ - 0.0
32
+ kps:
33
+ - 100.0
34
+ - 100.0
35
+ - 200.0
36
+ - 200.0
37
+ kds:
38
+ - 2.0
39
+ - 2.0
40
+ - 10.0
41
+ - 10.0
42
+ effort_limits:
43
+ - 80.0
44
+ - 80.0
45
+ - 128.0
46
+ - 128.0
47
+ articulation_joint_names:
48
+ - waist_upperbody_yaw
49
+ - hip_central_rotation
50
+ - neck_yaw
51
+ - shoulder_flexion_l
52
+ - shoulder_flexion_r
53
+ - leg_flexion_l
54
+ - leg_flexion_r
55
+ - neck_pitch
56
+ - shoulder_abduction_l
57
+ - shoulder_abduction_r
58
+ - leg_abduction_l
59
+ - leg_abduction_r
60
+ - shoulder_rotation_l
61
+ - shoulder_rotation_r
62
+ - hip_yaw_l
63
+ - hip_yaw_r
64
+ - elbow_flexion_l
65
+ - elbow_flexion_r
66
+ - knee_l
67
+ - knee_r
68
+ - wrist_rotation_l
69
+ - wrist_rotation_r
70
+ - foot_pitch_l
71
+ - foot_pitch_r
72
+ - foot_roll_l
73
+ - foot_roll_r
74
+ articulation_default_angles:
75
+ - 0.0
76
+ - 0.0
77
+ - 0.0
78
+ - 0.0
79
+ - 0.0
80
+ - 0.0
81
+ - 0.0
82
+ - 0.0
83
+ - 0.0
84
+ - 0.0
85
+ - 0.0
86
+ - 0.0
87
+ - 0.0
88
+ - 0.0
89
+ - 0.0
90
+ - 0.0
91
+ - 0.0
92
+ - 0.0
93
+ - 0.0
94
+ - 0.0
95
+ - 0.0
96
+ - 0.0
97
+ - 0.0
98
+ - 0.0
99
+ - 0.0
100
+ - 0.0
101
+ pd_per_joint:
102
+ waist_upperbody_yaw:
103
+ kp: 200.0
104
+ kd: 10.0
105
+ effort_limit: 128.0
106
+ velocity_limit: 14.65999984741211
107
+ hip_central_rotation:
108
+ kp: 200.0
109
+ kd: 10.0
110
+ effort_limit: 128.0
111
+ velocity_limit: 14.65999984741211
112
+ leg_flexion_l:
113
+ kp: 200.0
114
+ kd: 10.0
115
+ effort_limit: 128.0
116
+ velocity_limit: 14.65999984741211
117
+ leg_flexion_r:
118
+ kp: 200.0
119
+ kd: 10.0
120
+ effort_limit: 128.0
121
+ velocity_limit: 14.65999984741211
122
+ leg_abduction_l:
123
+ kp: 200.0
124
+ kd: 10.0
125
+ effort_limit: 128.0
126
+ velocity_limit: 14.65999984741211
127
+ leg_abduction_r:
128
+ kp: 200.0
129
+ kd: 10.0
130
+ effort_limit: 128.0
131
+ velocity_limit: 14.65999984741211
132
+ hip_yaw_l:
133
+ kp: 200.0
134
+ kd: 10.0
135
+ effort_limit: 128.0
136
+ velocity_limit: 14.65999984741211
137
+ hip_yaw_r:
138
+ kp: 200.0
139
+ kd: 10.0
140
+ effort_limit: 128.0
141
+ velocity_limit: 14.65999984741211
142
+ knee_l:
143
+ kp: 200.0
144
+ kd: 10.0
145
+ effort_limit: 128.0
146
+ velocity_limit: 14.65999984741211
147
+ knee_r:
148
+ kp: 200.0
149
+ kd: 10.0
150
+ effort_limit: 128.0
151
+ velocity_limit: 14.65999984741211
152
+ shoulder_flexion_l:
153
+ kp: 100.0
154
+ kd: 2.0
155
+ effort_limit: 80.0
156
+ velocity_limit: 18.0
157
+ shoulder_flexion_r:
158
+ kp: 100.0
159
+ kd: 2.0
160
+ effort_limit: 80.0
161
+ velocity_limit: 18.0
162
+ shoulder_abduction_l:
163
+ kp: 100.0
164
+ kd: 2.0
165
+ effort_limit: 80.0
166
+ velocity_limit: 18.0
167
+ shoulder_abduction_r:
168
+ kp: 100.0
169
+ kd: 2.0
170
+ effort_limit: 80.0
171
+ velocity_limit: 18.0
172
+ neck_yaw:
173
+ kp: 50.0
174
+ kd: 1.0
175
+ effort_limit: 40.0
176
+ velocity_limit: 20.0
177
+ neck_pitch:
178
+ kp: 50.0
179
+ kd: 1.0
180
+ effort_limit: 40.0
181
+ velocity_limit: 20.0
182
+ shoulder_rotation_l:
183
+ kp: 50.0
184
+ kd: 1.0
185
+ effort_limit: 40.0
186
+ velocity_limit: 20.0
187
+ shoulder_rotation_r:
188
+ kp: 50.0
189
+ kd: 1.0
190
+ effort_limit: 40.0
191
+ velocity_limit: 20.0
192
+ elbow_flexion_l:
193
+ kp: 50.0
194
+ kd: 1.0
195
+ effort_limit: 40.0
196
+ velocity_limit: 20.0
197
+ elbow_flexion_r:
198
+ kp: 50.0
199
+ kd: 1.0
200
+ effort_limit: 40.0
201
+ velocity_limit: 20.0
202
+ wrist_rotation_l:
203
+ kp: 50.0
204
+ kd: 1.0
205
+ effort_limit: 40.0
206
+ velocity_limit: 20.0
207
+ wrist_rotation_r:
208
+ kp: 50.0
209
+ kd: 1.0
210
+ effort_limit: 40.0
211
+ velocity_limit: 20.0
212
+ foot_pitch_l:
213
+ kp: 40.0
214
+ kd: 1.0
215
+ effort_limit: 40.0
216
+ velocity_limit: 15.0
217
+ foot_pitch_r:
218
+ kp: 40.0
219
+ kd: 1.0
220
+ effort_limit: 40.0
221
+ velocity_limit: 15.0
222
+ foot_roll_l:
223
+ kp: 40.0
224
+ kd: 1.0
225
+ effort_limit: 40.0
226
+ velocity_limit: 15.0
227
+ foot_roll_r:
228
+ kp: 40.0
229
+ kd: 1.0
230
+ effort_limit: 40.0
231
+ velocity_limit: 15.0
232
+ obs_history_length: 5
233
+ obs_single_frame_dim: 58
234
+ obs_total_dim: 290
235
+ obs_layout:
236
+ - name: gait_phase
237
+ start: 0
238
+ end: 10
239
+ base_dim: 2
240
+ block_dim: 10
241
+ scale: 1.0
242
+ params:
243
+ period: 2.0
244
+ - name: joint_pos_rel
245
+ start: 10
246
+ end: 140
247
+ base_dim: 26
248
+ block_dim: 130
249
+ scale: 1.0
250
+ - name: joint_vel_rel
251
+ start: 140
252
+ end: 270
253
+ base_dim: 26
254
+ block_dim: 130
255
+ scale: 0.05
256
+ - name: last_action
257
+ start: 270
258
+ end: 290
259
+ base_dim: 4
260
+ block_dim: 20
261
+ scale: 1.0
262
+ command_ranges: null
263
+ checkpoint: /home/sjohn/Documents/project/rc_humanoid_rl_lab/logs/rsl_rl/humanoid_v1_locomotion/ETHRC-humanoidv1-suspended-cycle-v0_urdf4_cycle_p200_v1/model_998.pt
ETHRC-humanoidv1-suspended-cycle-v0_urdf4_cycle_p200_v1/policy.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:95b281c85a48b12863ee046c964e3a9d2d4f09f9d49c8ddb17512d1c03c17a42
3
+ size 1256075
ETHRC-humanoidv1-suspended-cycle-v0_urdf4_cycle_p200_v1/policy.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:247aa6e49335d1df54b49a550d7a3210e8b37f4e7b5af74f5fad1f436f1178ff
3
+ size 1268118