Replies: 1 comment
-
Thank you for starting this discussion. Here is a summary that is still under review, but that you may find helpful. In legged locomotion, domain randomization and observation noise are critical for bridging the sim-to-real gap, but their application requires careful strategy to avoid destabilizing training. Best Practices for Applying Domain Randomization and Noise 1. Progressive Curriculum:
2. Gradual Increase of Randomization:
3. Hyperparameter Tuning:
4. Parameter Range Selection:
5. Implementation in Isaac Lab:
@configclass
class EventCfg:
robot_physics_material = EventTerm(
func=mdp.randomize_rigid_body_material,
mode="reset",
params={
"asset_cfg": SceneEntityCfg("robot", body_names=".*"),
"static_friction_range": (0.7, 1.3),
"dynamic_friction_range": (1.0, 1.0),
"restitution_range": (1.0, 1.0),
"num_buckets": 250,
},
)
robot_joint_stiffness_and_damping = EventTerm(
func=mdp.randomize_actuator_gains,
mode="reset",
params={
"asset_cfg": SceneEntityCfg("robot", joint_names=".*"),
"stiffness_distribution_params": (0.75, 1.5),
"damping_distribution_params": (0.3, 3.0),
"operation": "scale",
"distribution": "log_uniform",
},
)
6. Types of Randomization:
Summary Table: Curriculum vs. Direct Randomization
Key Recommendations:
Footnotes
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi. I’m currently working on legged locomotion, and have sim-to-real issues. Training works fine and fast with my algorithm and settings for reward gains, hyperparameters, and etc. However, if I apply noise in observation and domain randomization, training doesn’t work well. I wonder how other people in robotics field deal with domain randomization.
Do you apply noise and domain randomization from the beginning right away or first train without them, then load the pre-trained model and start training again with noise and domain randomization?
Should I try to reduce the noise and randomization range or try to tune the hyperparameters? I honestly doubt if reducing the noise and randomization range is fine since then the trained model will be less robust to sim-to-real gaps.
Beta Was this translation helpful? Give feedback.
All reactions