Zhengyiluo commited on
Commit
9e09a2f
·
verified ·
1 Parent(s): 0af0cb7

Add SONIC release training config

Browse files
Files changed (1) hide show
  1. sonic_release/config.yaml +912 -0
sonic_release/config.yaml ADDED
@@ -0,0 +1,912 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ num_gpus: 1
2
+ max_retries: 1
3
+ seed: 0
4
+ codebase_version: 1.0
5
+ headless: true
6
+ num_envs: 4096
7
+ auto_load_latest: false
8
+ checkpoint: logs_rl/TRL_G1_Track/manager/universal_token/all_modes/base3_noz_g1_wrist_5pt_consistency-20260118_163933/last.pt
9
+ project_name: TRL_G1_Track
10
+ experiment_name: ${exp_base}_${exp_var}
11
+ base_dir: logs_rl
12
+ timestamp: ${now:%Y%m%d_%H%M%S}
13
+ experiment_dir: logs_rl/TRL_G1_Track/manager/universal_token/all_modes/sonic_sm_3pt_resume-20260204_110722
14
+ save_dir: ${experiment_dir}/.hydra
15
+ force_flat_terrain: false
16
+ use_wandb: true
17
+ log_task_name: TEST
18
+ multi_gpu: true
19
+ global_rank: 0
20
+ sim_type: isaacsim
21
+ env_spacing: 20
22
+ output_dir: ${experiment_dir}/output
23
+ eval_overrides:
24
+ headless: false
25
+ num_envs: 1
26
+ auto_load_latest: false
27
+ use_wandb: false
28
+ algo:
29
+ trl:
30
+ dataset_name: dummy
31
+ output_dir: logs_rl/TRL_G1_Track/manager/universal_token/all_modes/sonic_sm_3pt_resume-20260204_110722
32
+ learning_rate: ${algo.config.actor_learning_rate}
33
+ num_total_batches: ${algo.config.num_learning_iterations}
34
+ total_episodes: null
35
+ num_ppo_epochs: ${algo.config.num_learning_epochs}
36
+ num_mini_batches: ${algo.config.num_mini_batches}
37
+ per_device_train_batch_size: null
38
+ gradient_accumulation_steps: 1
39
+ report_to: none
40
+ gamma: ${algo.config.gamma}
41
+ lam: ${algo.config.lam}
42
+ vf_coef: ${algo.config.value_loss_coef}
43
+ max_grad_norm: ${algo.config.max_grad_norm}
44
+ lr_scheduler_type: constant
45
+ save_strategy: 'no'
46
+ disable_tqdm: true
47
+ config:
48
+ critic:
49
+ _target_: groot.rl.trl.modules.actor_critic_modules.Critic
50
+ running_mean_std: true
51
+ backbone:
52
+ _target_: groot.rl.agents.modules.modules.BaseModule
53
+ process_output_dim: true
54
+ module_config_dict:
55
+ type: MLP
56
+ input_dim:
57
+ - critic_obs
58
+ output_dim:
59
+ - 1
60
+ layer_config:
61
+ type: MLP
62
+ hidden_dims:
63
+ - 2048
64
+ - 2048
65
+ - 1024
66
+ - 1024
67
+ - 512
68
+ - 512
69
+ activation: SiLU
70
+ actor:
71
+ backbone:
72
+ quantizer:
73
+ _target_: vector_quantize_pytorch.FSQ
74
+ encoders:
75
+ g1:
76
+ inputs:
77
+ - command_multi_future_nonflat
78
+ - motion_anchor_ori_b_mf_nonflat
79
+ params:
80
+ _target_: groot.rl.agents.modules.modules.BaseModule
81
+ input_dim: null
82
+ output_dim: null
83
+ num_input_temporal_dims: ${manager_env.commands.motion.num_future_frames}
84
+ num_output_temporal_dims: ${algo.config.actor.backbone.max_num_tokens}
85
+ module_config_dict:
86
+ layer_config:
87
+ type: MLP
88
+ hidden_dims:
89
+ - 2048
90
+ - 1024
91
+ - 512
92
+ - 512
93
+ activation: SiLU
94
+ teleop:
95
+ inputs:
96
+ - command_multi_future_lower_body
97
+ - vr_3point_local_target
98
+ - vr_3point_local_orn_target
99
+ - motion_anchor_ori_b
100
+ params:
101
+ _target_: groot.rl.agents.modules.modules.BaseModule
102
+ input_dim: null
103
+ output_dim: null
104
+ num_input_temporal_dims: null
105
+ num_output_temporal_dims: ${algo.config.actor.backbone.max_num_tokens}
106
+ module_config_dict:
107
+ layer_config:
108
+ type: MLP
109
+ hidden_dims:
110
+ - 2048
111
+ - 1024
112
+ - 512
113
+ - 512
114
+ activation: SiLU
115
+ smpl:
116
+ inputs:
117
+ - smpl_joints_multi_future_local_nonflat
118
+ - smpl_root_ori_b_multi_future
119
+ - joint_pos_multi_future_wrist_for_smpl
120
+ params:
121
+ _target_: groot.rl.agents.modules.modules.BaseModule
122
+ input_dim: null
123
+ output_dim: null
124
+ num_input_temporal_dims: ${manager_env.commands.motion.smpl_num_future_frames}
125
+ num_output_temporal_dims: ${algo.config.actor.backbone.max_num_tokens}
126
+ module_config_dict:
127
+ layer_config:
128
+ type: MLP
129
+ hidden_dims:
130
+ - 2048
131
+ - 1024
132
+ - 512
133
+ - 512
134
+ activation: SiLU
135
+ decoders:
136
+ g1_dyn:
137
+ inputs:
138
+ - token_flattened
139
+ - proprioception
140
+ outputs:
141
+ - action
142
+ has_temporal_dim: false
143
+ params:
144
+ _target_: groot.rl.agents.modules.modules.BaseModule
145
+ input_dim: null
146
+ output_dim: null
147
+ num_input_temporal_dims: null
148
+ num_output_temporal_dims: null
149
+ module_config_dict:
150
+ layer_config:
151
+ type: MLP
152
+ hidden_dims:
153
+ - 2048
154
+ - 2048
155
+ - 1024
156
+ - 1024
157
+ - 512
158
+ - 512
159
+ activation: SiLU
160
+ g1_kin:
161
+ inputs:
162
+ - token
163
+ outputs:
164
+ - command_multi_future_nonflat
165
+ - motion_anchor_ori_b_mf_nonflat
166
+ has_temporal_dim: true
167
+ params:
168
+ _target_: groot.rl.agents.modules.modules.BaseModule
169
+ input_dim: null
170
+ output_dim: null
171
+ num_input_temporal_dims: ${algo.config.actor.backbone.max_num_tokens}
172
+ num_output_temporal_dims: ${manager_env.commands.motion.num_future_frames}
173
+ module_config_dict:
174
+ layer_config:
175
+ type: MLP
176
+ hidden_dims:
177
+ - 2048
178
+ - 1024
179
+ - 512
180
+ - 512
181
+ activation: SiLU
182
+ _target_: groot.rl.trl.modules.universal_token_modules.UniversalTokenModule
183
+ num_future_frames: ${manager_env.commands.motion.num_future_frames}
184
+ proprioception_features:
185
+ - actor_obs
186
+ encoder_sample_probs: ${manager_env.commands.motion.encoder_sample_probs}
187
+ num_fsq_levels: 32
188
+ fsq_level_list: 32
189
+ max_num_tokens: 2
190
+ aux_loss_func:
191
+ g1_recon:
192
+ _target_: groot.rl.trl.losses.token_losses.G1ReconLoss
193
+ loss_type: mse
194
+ g1_smpl_latent:
195
+ _target_: groot.rl.trl.losses.token_losses.G1SmplLatentLoss
196
+ loss_type: mse
197
+ g1_teleop_latent:
198
+ _target_: groot.rl.trl.losses.token_losses.G1TeleopLatentLoss
199
+ loss_type: mse
200
+ teleop_smpl_latent:
201
+ _target_: groot.rl.trl.losses.token_losses.TeleopSmplLatentLoss
202
+ loss_type: mse
203
+ detach_teleop_target: true
204
+ reencoded_smpl_g1_latent:
205
+ _target_: groot.rl.trl.losses.token_losses.ReencodedSmplG1LatentLoss
206
+ loss_type: mse
207
+ aux_loss_coef:
208
+ g1_recon: 0.01
209
+ g1_smpl_latent: 1.0
210
+ g1_teleop_latent: 1.0
211
+ teleop_smpl_latent: 1.0
212
+ reencoded_smpl_g1_latent: 1.0
213
+ reencode_smpl_g1_recon: true
214
+ _target_: groot.rl.trl.modules.actor_critic_modules.Actor
215
+ running_mean_std: false
216
+ input_obs_dict: true
217
+ has_aux_loss: true
218
+ num_learning_epochs: 5
219
+ num_mini_batches: 4
220
+ clip_param: 0.2
221
+ gamma: 0.99
222
+ lam: 0.95
223
+ value_loss_coef: 1.0
224
+ entropy_coef: 0.01
225
+ actor_learning_rate: 2.0e-05
226
+ critic_learning_rate: 0.001
227
+ max_grad_norm: 0.1
228
+ use_clipped_value_loss: true
229
+ schedule: adaptive
230
+ desired_kl: 0.01
231
+ adaptive_lr_min: 1.0e-05
232
+ adaptive_lr_max: 0.0002
233
+ use_new_actor_critic: true
234
+ use_padding_mask: false
235
+ ppo_shuffle_every_epoch: true
236
+ sync_advantage_normalization: true
237
+ empty_cache_every_n_ppo_epoch: -1
238
+ num_steps_per_env: 24
239
+ save_interval: 500
240
+ eval_frequency: 500
241
+ load_optimizer: true
242
+ init_noise_std: 0.05
243
+ num_learning_iterations: 100000
244
+ init_at_random_ep_len: true
245
+ eval_callbacks:
246
+ analysis_plot_cb:
247
+ _target_: groot.rl.agents.callbacks.analysis_plot_motion_tracking.AnalysisPlotMotionTracking
248
+ config:
249
+ sim_dt: 0.02
250
+ log_single_robot: false
251
+ plot_update_interval: 100
252
+ compute_metrics: true
253
+ use_weblogger: false
254
+ global_rank: 0
255
+ world_size: 128
256
+ use_clampped_std: true
257
+ std_clamp_min: 0.001
258
+ std_clamp_max: 0.5
259
+ _target_: groot.rl.agents.ppo.ppo_im.PPOIM
260
+ _recursive_: false
261
+ env: ???
262
+ terrain: ???
263
+ callbacks:
264
+ model_save:
265
+ _target_: groot.rl.trl.callbacks.model_save_callback.ModelSaveCallback
266
+ save_dir: ${experiment_dir}
267
+ save_frequency: 2000
268
+ max_disk_usage: 14.8
269
+ wandb:
270
+ _target_: groot.rl.trl.callbacks.wandb_callback.WandbCallback
271
+ read_eval:
272
+ _target_: groot.rl.trl.callbacks.read_eval_callback.ReadEvalCallback
273
+ eval_dir: ${experiment_dir}/eval
274
+ check_interval: 1
275
+ im_resample:
276
+ _target_: groot.rl.trl.callbacks.im_resample_callback.ImResampleCallback
277
+ motion_resample_frequency: 250
278
+ trainer:
279
+ _target_: groot.rl.trl.trainer.ppo_trainer_aux_loss.TRLAuxLossPPOTrainer
280
+ wandb:
281
+ wandb_project: null
282
+ wandb_tags: online
283
+ wandb_group: zen_0122
284
+ wandb_id: null
285
+ wandb_entity: null
286
+ wandb_dir: /tmp
287
+ manager_env:
288
+ commands:
289
+ motion:
290
+ encoder_sample_probs:
291
+ g1: 1.0
292
+ teleop: 1.0
293
+ smpl: 1.0
294
+ _target_: groot.rl.envs.manager_env.mdp.commands.TrackingCommandCfg
295
+ asset_name: robot
296
+ motion_lib_cfg:
297
+ motion_file: data/motion_lib_bones_seed/robot_filtered/
298
+ smpl_motion_file: data/motion_lib_bones_seed/1215_bones_seed_filtered/
299
+ asset:
300
+ assetRoot: groot/rl/data/assets/bm/unitree_description/mjcf/
301
+ assetFileName: g1_29dof_rev_1_0.xml
302
+ urdfFileName: ''
303
+ extend_config: []
304
+ target_fps: 50
305
+ multi_thread: true
306
+ filter_motion_keys: null
307
+ adaptive_sampling:
308
+ enable: true
309
+ bin_size: 50
310
+ sequence_length_agnostic: true
311
+ init_num_failures: 1
312
+ uniform_sampling_rate: 0.1
313
+ pre_failure_sample_window: 200
314
+ use_failure_rate_decay: false
315
+ decay_gamma: 0.8
316
+ adp_samp_failure_rate_max_over_mean: 200
317
+ upper_body_augment_prefixes:
318
+ - '2025'
319
+ - sonic_mixed_walking_running
320
+ - sonic_squating_different_height_switching
321
+ - sonic_running
322
+ - sonic_walking
323
+ - sonic_squating_different_height_hold
324
+ - sonic_walking_other_style
325
+ - balance
326
+ smpl_y_up: true
327
+ resampling_time_range:
328
+ - 1000000000.0
329
+ - 1000000000.0
330
+ debug_vis: true
331
+ dt_future_ref_frames: 0.1
332
+ num_future_frames: 10
333
+ pose_range:
334
+ x:
335
+ - -0.05
336
+ - 0.05
337
+ 'y':
338
+ - -0.05
339
+ - 0.05
340
+ z:
341
+ - -0.01
342
+ - 0.01
343
+ roll:
344
+ - -0.1
345
+ - 0.1
346
+ pitch:
347
+ - -0.1
348
+ - 0.1
349
+ yaw:
350
+ - -0.2
351
+ - 0.2
352
+ velocity_range:
353
+ x:
354
+ - -0.5
355
+ - 0.5
356
+ 'y':
357
+ - -0.5
358
+ - 0.5
359
+ z:
360
+ - -0.2
361
+ - 0.2
362
+ roll:
363
+ - -0.52
364
+ - 0.52
365
+ pitch:
366
+ - -0.52
367
+ - 0.52
368
+ yaw:
369
+ - -0.78
370
+ - 0.78
371
+ joint_position_range:
372
+ - -0.1
373
+ - 0.1
374
+ joint_velocity_range:
375
+ - 0
376
+ - 0
377
+ anchor_body: pelvis
378
+ vr_3point_body:
379
+ - left_wrist_yaw_link
380
+ - right_wrist_yaw_link
381
+ - torso_link
382
+ vr_3point_body_offset:
383
+ - - 0.18
384
+ - -0.025
385
+ - 0.0
386
+ - - 0.18
387
+ - 0.025
388
+ - 0.0
389
+ - - 0.0
390
+ - 0.0
391
+ - 0.35
392
+ reward_point_body:
393
+ - torso_link
394
+ - left_wrist_yaw_link
395
+ - right_wrist_yaw_link
396
+ reward_point_body_offset:
397
+ - - 0.0
398
+ - 0.0
399
+ - 0.5
400
+ - - 0.0
401
+ - -0.0
402
+ - 0.0
403
+ - - 0.0
404
+ - -0.0
405
+ - 0.0
406
+ body_names:
407
+ - pelvis
408
+ - left_hip_roll_link
409
+ - left_knee_link
410
+ - left_ankle_roll_link
411
+ - right_hip_roll_link
412
+ - right_knee_link
413
+ - right_ankle_roll_link
414
+ - torso_link
415
+ - left_shoulder_roll_link
416
+ - left_elbow_link
417
+ - left_wrist_yaw_link
418
+ - right_shoulder_roll_link
419
+ - right_elbow_link
420
+ - right_wrist_yaw_link
421
+ smpl_num_future_frames: 10
422
+ smpl_dt_future_ref_frames: 0.02
423
+ cat_upper_body_poses: true
424
+ cat_upper_body_poses_prob: 0.5
425
+ freeze_frame_aug: true
426
+ teleop_sample_prob_when_smpl: 0.5
427
+ _target_: groot.rl.envs.manager_env.mdp.commands.CommandsCfg
428
+ actions:
429
+ joint_pos:
430
+ _target_: isaaclab.envs.mdp.actions.JointPositionActionCfg
431
+ asset_name: robot
432
+ joint_names:
433
+ - .*
434
+ use_default_offset: true
435
+ _target_: groot.rl.envs.manager_env.mdp.actions.ActionsCfg
436
+ observations:
437
+ policy:
438
+ gravity_dir:
439
+ _target_: isaaclab.managers.ObservationTermCfg
440
+ func: groot.rl.envs.manager_env.mdp:gravity_dir
441
+ params:
442
+ command_name: motion
443
+ history_length: ${actor_prop_history_length}
444
+ noise:
445
+ _target_: isaaclab.utils.noise.AdditiveUniformNoiseCfg
446
+ n_min: -0.05
447
+ n_max: 0.05
448
+ base_ang_vel:
449
+ _target_: isaaclab.managers.ObservationTermCfg
450
+ func: groot.rl.envs.manager_env.mdp:base_ang_vel
451
+ history_length: ${actor_prop_history_length}
452
+ noise:
453
+ _target_: isaaclab.utils.noise.AdditiveUniformNoiseCfg
454
+ n_min: -0.2
455
+ n_max: 0.2
456
+ joint_pos:
457
+ _target_: isaaclab.managers.ObservationTermCfg
458
+ func: groot.rl.envs.manager_env.mdp:joint_pos_rel
459
+ history_length: ${actor_prop_history_length}
460
+ noise:
461
+ _target_: isaaclab.utils.noise.AdditiveUniformNoiseCfg
462
+ n_min: -0.01
463
+ n_max: 0.01
464
+ joint_vel:
465
+ _target_: isaaclab.managers.ObservationTermCfg
466
+ func: groot.rl.envs.manager_env.mdp:joint_vel_rel
467
+ history_length: ${actor_prop_history_length}
468
+ noise:
469
+ _target_: isaaclab.utils.noise.AdditiveUniformNoiseCfg
470
+ n_min: -0.5
471
+ n_max: 0.5
472
+ actions:
473
+ _target_: isaaclab.managers.ObservationTermCfg
474
+ func: groot.rl.envs.manager_env.mdp:last_action
475
+ history_length: ${actor_actions_history_length}
476
+ _target_: groot.rl.envs.manager_env.mdp.observations.PolicyCfg
477
+ enable_corruption: true
478
+ concatenate_terms: true
479
+ critic:
480
+ command_multi_future:
481
+ _target_: isaaclab.managers.ObservationTermCfg
482
+ func: groot.rl.envs.manager_env.mdp:command_multi_future
483
+ params:
484
+ command_name: motion
485
+ motion_anchor_pos_b:
486
+ _target_: isaaclab.managers.ObservationTermCfg
487
+ func: groot.rl.envs.manager_env.mdp:motion_anchor_pos_b
488
+ params:
489
+ command_name: motion
490
+ motion_anchor_ori_b:
491
+ _target_: isaaclab.managers.ObservationTermCfg
492
+ func: groot.rl.envs.manager_env.mdp:motion_anchor_ori_b
493
+ params:
494
+ command_name: motion
495
+ body_pos:
496
+ _target_: isaaclab.managers.ObservationTermCfg
497
+ func: groot.rl.envs.manager_env.mdp:robot_body_pos_b
498
+ params:
499
+ command_name: motion
500
+ body_ori:
501
+ _target_: isaaclab.managers.ObservationTermCfg
502
+ func: groot.rl.envs.manager_env.mdp:robot_body_ori_b
503
+ params:
504
+ command_name: motion
505
+ base_lin_vel:
506
+ _target_: isaaclab.managers.ObservationTermCfg
507
+ func: groot.rl.envs.manager_env.mdp:base_lin_vel
508
+ history_length: ${critic_prop_history_length}
509
+ base_ang_vel:
510
+ _target_: isaaclab.managers.ObservationTermCfg
511
+ func: groot.rl.envs.manager_env.mdp:base_ang_vel
512
+ history_length: ${critic_prop_history_length}
513
+ joint_pos:
514
+ _target_: isaaclab.managers.ObservationTermCfg
515
+ func: groot.rl.envs.manager_env.mdp:joint_pos_rel
516
+ history_length: ${critic_prop_history_length}
517
+ joint_vel:
518
+ _target_: isaaclab.managers.ObservationTermCfg
519
+ func: groot.rl.envs.manager_env.mdp:joint_vel_rel
520
+ history_length: ${critic_prop_history_length}
521
+ actions:
522
+ _target_: isaaclab.managers.ObservationTermCfg
523
+ func: groot.rl.envs.manager_env.mdp:last_action
524
+ history_length: ${critic_actions_history_length}
525
+ _target_: groot.rl.envs.manager_env.mdp.observations.PrivilegedCfg
526
+ tokenizer:
527
+ encoder_index:
528
+ _target_: isaaclab.managers.ObservationTermCfg
529
+ func: groot.rl.envs.manager_env.mdp:get_command_obs
530
+ params:
531
+ command_name: motion
532
+ obs_name: episode_encoder_index
533
+ command_multi_future_nonflat:
534
+ _target_: isaaclab.managers.ObservationTermCfg
535
+ func: groot.rl.envs.manager_env.mdp:command_multi_future
536
+ params:
537
+ command_name: motion
538
+ non_flatten: true
539
+ command_z_multi_future_nonflat:
540
+ _target_: isaaclab.managers.ObservationTermCfg
541
+ func: groot.rl.envs.manager_env.mdp:command_z_multi_future
542
+ params:
543
+ command_name: motion
544
+ non_flatten: true
545
+ motion_anchor_ori_b_mf_nonflat:
546
+ _target_: isaaclab.managers.ObservationTermCfg
547
+ func: groot.rl.envs.manager_env.mdp:motion_anchor_ori_b_mf
548
+ params:
549
+ command_name: motion
550
+ non_flatten: true
551
+ noise:
552
+ _target_: isaaclab.utils.noise.AdditiveUniformNoiseCfg
553
+ n_min: -0.05
554
+ n_max: 0.05
555
+ command_multi_future_lower_body:
556
+ _target_: isaaclab.managers.ObservationTermCfg
557
+ func: groot.rl.envs.manager_env.mdp:command_multi_future_lower_body
558
+ params:
559
+ command_name: motion
560
+ vr_3point_local_target:
561
+ _target_: isaaclab.managers.ObservationTermCfg
562
+ func: groot.rl.envs.manager_env.mdp:vr_3point_local_target
563
+ params:
564
+ command_name: motion
565
+ vr_3point_local_orn_target:
566
+ _target_: isaaclab.managers.ObservationTermCfg
567
+ func: groot.rl.envs.manager_env.mdp:vr_3point_local_orn_target
568
+ params:
569
+ command_name: motion
570
+ motion_anchor_ori_b:
571
+ _target_: isaaclab.managers.ObservationTermCfg
572
+ func: groot.rl.envs.manager_env.mdp:motion_anchor_ori_b
573
+ params:
574
+ command_name: motion
575
+ noise:
576
+ _target_: isaaclab.utils.noise.AdditiveUniformNoiseCfg
577
+ n_min: -0.05
578
+ n_max: 0.05
579
+ command_z:
580
+ _target_: isaaclab.managers.ObservationTermCfg
581
+ func: groot.rl.envs.manager_env.mdp:command_z
582
+ params:
583
+ command_name: motion
584
+ smpl_joints_multi_future_local_nonflat:
585
+ _target_: isaaclab.managers.ObservationTermCfg
586
+ func: groot.rl.envs.manager_env.mdp:smpl_joints_multi_future_local
587
+ params:
588
+ command_name: motion
589
+ non_flatten: true
590
+ noise:
591
+ _target_: isaaclab.utils.noise.AdditiveUniformNoiseCfg
592
+ n_min: -0.05
593
+ n_max: 0.05
594
+ smpl_root_ori_b_multi_future:
595
+ _target_: isaaclab.managers.ObservationTermCfg
596
+ func: groot.rl.envs.manager_env.mdp:smpl_root_ori_b_mf
597
+ params:
598
+ command_name: motion
599
+ non_flatten: true
600
+ noise:
601
+ _target_: isaaclab.utils.noise.AdditiveUniformNoiseCfg
602
+ n_min: -0.05
603
+ n_max: 0.05
604
+ joint_pos_multi_future_wrist_for_smpl:
605
+ _target_: isaaclab.managers.ObservationTermCfg
606
+ func: groot.rl.envs.manager_env.mdp:joint_pos_multi_future_select_joints_for_smpl
607
+ params:
608
+ command_name: motion
609
+ joints_idx:
610
+ - 23
611
+ - 24
612
+ - 25
613
+ - 26
614
+ - 27
615
+ - 28
616
+ _target_: groot.rl.envs.manager_env.mdp.observations.TokenizerCfg
617
+ enable_corruption: true
618
+ concatenate_terms: false
619
+ _target_: groot.rl.envs.manager_env.mdp.observations.ObservationsCfg
620
+ rewards:
621
+ tracking_anchor_pos:
622
+ _target_: isaaclab.managers.RewardTermCfg
623
+ func: groot.rl.envs.manager_env.mdp:tracking_anchor_pos_error
624
+ weight: 0.5
625
+ params:
626
+ command_name: motion
627
+ std: 0.3
628
+ tracking_anchor_ori:
629
+ _target_: isaaclab.managers.RewardTermCfg
630
+ func: groot.rl.envs.manager_env.mdp:tracking_anchor_ori_error
631
+ weight: 0.5
632
+ params:
633
+ command_name: motion
634
+ std: 0.4
635
+ tracking_relative_body_pos:
636
+ _target_: isaaclab.managers.RewardTermCfg
637
+ func: groot.rl.envs.manager_env.mdp:tracking_relative_body_pos_error
638
+ weight: 1.0
639
+ params:
640
+ command_name: motion
641
+ std: 0.3
642
+ tracking_relative_body_ori:
643
+ _target_: isaaclab.managers.RewardTermCfg
644
+ func: groot.rl.envs.manager_env.mdp:tracking_relative_body_ori_error
645
+ weight: 1.0
646
+ params:
647
+ command_name: motion
648
+ std: 0.4
649
+ tracking_body_linvel:
650
+ _target_: isaaclab.managers.RewardTermCfg
651
+ func: groot.rl.envs.manager_env.mdp:tracking_body_linvel_error
652
+ weight: 1.0
653
+ params:
654
+ command_name: motion
655
+ std: 1.0
656
+ tracking_body_angvel:
657
+ _target_: isaaclab.managers.RewardTermCfg
658
+ func: groot.rl.envs.manager_env.mdp:tracking_body_angvel_error
659
+ weight: 1.0
660
+ params:
661
+ command_name: motion
662
+ std: 3.14
663
+ action_rate_l2:
664
+ _target_: isaaclab.managers.RewardTermCfg
665
+ func: groot.rl.envs.manager_env.mdp:action_rate_l2
666
+ weight: -0.1
667
+ joint_limit:
668
+ _target_: isaaclab.managers.RewardTermCfg
669
+ func: groot.rl.envs.manager_env.mdp:joint_pos_limits
670
+ weight: -10.0
671
+ params:
672
+ asset_cfg:
673
+ _target_: isaaclab.managers.SceneEntityCfg
674
+ name: robot
675
+ joint_names:
676
+ - .*
677
+ undesired_contacts:
678
+ _target_: isaaclab.managers.RewardTermCfg
679
+ func: groot.rl.envs.manager_env.mdp:undesired_contacts
680
+ weight: -0.1
681
+ params:
682
+ sensor_cfg:
683
+ _target_: isaaclab.managers.SceneEntityCfg
684
+ name: contact_forces
685
+ body_names:
686
+ - ^(?!left_ankle_roll_link$)(?!right_ankle_roll_link$)(?!left_wrist_yaw_link$)(?!right_wrist_yaw_link$)(?!left_elbow_link$)(?!right_elbow_link$).+$
687
+ threshold: 1.0
688
+ anti_shake_ang_vel:
689
+ _target_: isaaclab.managers.RewardTermCfg
690
+ func: groot.rl.envs.manager_env.mdp:anti_shake_ang_vel_l2
691
+ weight: -0.005
692
+ params:
693
+ command_name: motion
694
+ threshold: 1.5
695
+ body_names:
696
+ - left_wrist_yaw_link
697
+ - right_wrist_yaw_link
698
+ - head_link
699
+ tracking_vr_5point_local:
700
+ _target_: isaaclab.managers.RewardTermCfg
701
+ func: groot.rl.envs.manager_env.mdp:tracking_local_vr_5point_error
702
+ weight: 2.0
703
+ params:
704
+ command_name: motion
705
+ std: 0.1
706
+ feet_acc:
707
+ _target_: isaaclab.managers.RewardTermCfg
708
+ func: groot.rl.envs.manager_env.mdp:joint_acc_l2
709
+ weight: -2.5e-06
710
+ params:
711
+ asset_cfg:
712
+ _target_: isaaclab.managers.SceneEntityCfg
713
+ name: robot
714
+ joint_names:
715
+ - .*ankle.*
716
+ _target_: groot.rl.envs.manager_env.mdp.rewards.RewardsCfg
717
+ terminations:
718
+ anchor_pos:
719
+ _target_: isaaclab.managers.TerminationTermCfg
720
+ func: groot.rl.envs.manager_env.mdp:exceeded_anchor_height
721
+ params:
722
+ command_name: motion
723
+ threshold: 0.15
724
+ threshold_adaptive: true
725
+ down_threshold: 0.75
726
+ root_height_threshold: 0.5
727
+ anchor_ori_full:
728
+ _target_: isaaclab.managers.TerminationTermCfg
729
+ func: groot.rl.envs.manager_env.mdp:exceeded_anchor_ori
730
+ params:
731
+ asset_cfg:
732
+ _target_: isaaclab.managers.SceneEntityCfg
733
+ name: robot
734
+ command_name: motion
735
+ threshold: 0.2
736
+ ee_body_pos:
737
+ _target_: isaaclab.managers.TerminationTermCfg
738
+ func: groot.rl.envs.manager_env.mdp:exceeded_body_height
739
+ params:
740
+ command_name: motion
741
+ threshold: 0.15
742
+ threshold_adaptive: true
743
+ down_threshold: 0.75
744
+ root_height_threshold: 0.5
745
+ body_names:
746
+ - left_ankle_roll_link
747
+ - right_ankle_roll_link
748
+ - left_wrist_yaw_link
749
+ - right_wrist_yaw_link
750
+ time_out:
751
+ _target_: isaaclab.managers.TerminationTermCfg
752
+ func: groot.rl.envs.manager_env.mdp:tracking_time_out
753
+ time_out: true
754
+ params:
755
+ command_name: motion
756
+ foot_pos_xyz:
757
+ _target_: isaaclab.managers.TerminationTermCfg
758
+ func: groot.rl.envs.manager_env.mdp:exceeded_body_pos
759
+ params:
760
+ command_name: motion
761
+ threshold: 0.2
762
+ body_names:
763
+ - left_ankle_roll_link
764
+ - right_ankle_roll_link
765
+ _target_: groot.rl.envs.manager_env.mdp.terminations.TerminationsCfg
766
+ events:
767
+ physics_material:
768
+ _target_: isaaclab.managers.EventTermCfg
769
+ func: groot.rl.envs.manager_env.mdp:randomize_rigid_body_material
770
+ mode: startup
771
+ params:
772
+ asset_cfg:
773
+ _target_: isaaclab.managers.SceneEntityCfg
774
+ name: robot
775
+ body_names: .*
776
+ static_friction_range:
777
+ - 0.3
778
+ - 1.6
779
+ dynamic_friction_range:
780
+ - 0.3
781
+ - 1.2
782
+ restitution_range:
783
+ - 0.0
784
+ - 0.5
785
+ num_buckets: 64
786
+ add_joint_default_pos:
787
+ _target_: isaaclab.managers.EventTermCfg
788
+ func: groot.rl.envs.manager_env.mdp:randomize_joint_default_pos
789
+ mode: startup
790
+ params:
791
+ asset_cfg:
792
+ _target_: isaaclab.managers.SceneEntityCfg
793
+ name: robot
794
+ joint_names:
795
+ - .*
796
+ pos_distribution_params:
797
+ - -0.01
798
+ - 0.01
799
+ operation: add
800
+ base_com:
801
+ _target_: isaaclab.managers.EventTermCfg
802
+ func: groot.rl.envs.manager_env.mdp:randomize_rigid_body_com
803
+ mode: startup
804
+ params:
805
+ asset_cfg:
806
+ _target_: isaaclab.managers.SceneEntityCfg
807
+ name: robot
808
+ body_names: torso_link
809
+ com_range:
810
+ x:
811
+ - -0.025
812
+ - 0.025
813
+ 'y':
814
+ - -0.05
815
+ - 0.05
816
+ z:
817
+ - -0.05
818
+ - 0.05
819
+ push_robot:
820
+ _target_: isaaclab.managers.EventTermCfg
821
+ func: groot.rl.envs.manager_env.mdp:push_by_setting_velocity
822
+ mode: interval
823
+ interval_range_s:
824
+ - 4.0
825
+ - 6.0
826
+ params:
827
+ velocity_range:
828
+ x:
829
+ - -0.5
830
+ - 0.5
831
+ 'y':
832
+ - -0.5
833
+ - 0.5
834
+ z:
835
+ - -0.2
836
+ - 0.2
837
+ roll:
838
+ - -0.52
839
+ - 0.52
840
+ pitch:
841
+ - -0.52
842
+ - 0.52
843
+ yaw:
844
+ - -0.78
845
+ - 0.78
846
+ randomize_rigid_body_mass:
847
+ _target_: isaaclab.managers.EventTermCfg
848
+ func: groot.rl.envs.manager_env.mdp:randomize_rigid_body_mass
849
+ mode: startup
850
+ params:
851
+ asset_cfg:
852
+ _target_: isaaclab.managers.SceneEntityCfg
853
+ name: robot
854
+ body_names: .*wrist_yaw.*|torso_link
855
+ mass_distribution_params:
856
+ - 0.8
857
+ - 1.5
858
+ operation: scale
859
+ _target_: groot.rl.envs.manager_env.mdp.events.EventCfg
860
+ curriculum:
861
+ _target_: groot.rl.envs.manager_env.mdp.curriculum.CurriculumCfg
862
+ recorders:
863
+ _target_: groot.rl.envs.manager_env.mdp.recorders.RecordersCfg
864
+ _target_: groot.rl.envs.manager_env.modular_tracking_env_cfg.ModularTrackingEnvCfg
865
+ config:
866
+ num_envs: ${num_envs}
867
+ env_spacing: 2.0
868
+ decimation: 4
869
+ episode_length_s: 10.0
870
+ sim_dt: 0.005
871
+ viewer_eye:
872
+ - 4.5
873
+ - 0.0
874
+ - 6.0
875
+ viewer_lookat:
876
+ - 0.0
877
+ - 0.0
878
+ - 2.0
879
+ render_results: false
880
+ save_rendering_dir: ${experiment_dir}/renderings_training
881
+ experiment_dir: ${experiment_dir}
882
+ terrain_type: trimesh
883
+ object_mass: null
884
+ table_offset: null
885
+ eval_camera_offset:
886
+ - 2
887
+ - 2
888
+ - 1
889
+ action_transform_module_cfg: null
890
+ action_transform_module_checkpoint: null
891
+ meta_action_dim: null
892
+ obs:
893
+ obs_dict: {}
894
+ obs_dims: {}
895
+ group_obs_dims: {}
896
+ group_obs_names: {}
897
+ action_clip_value: 20.0
898
+ robot:
899
+ type: g1_model_12_dex
900
+ algo_obs_dim_dict: {}
901
+ rewards:
902
+ num_critics: 1
903
+ train_only_events:
904
+ - push_robot
905
+ - compliance_force_push
906
+ use_manager_env: true
907
+ exp_base: ${hydra:runtime.choices.exp}
908
+ exp_var: resume
909
+ actor_prop_history_length: 10
910
+ actor_actions_history_length: 10
911
+ critic_prop_history_length: 10
912
+ critic_actions_history_length: 10