diff --git a/README.md b/README.md index ac17bbf..91baff4 100644 --- a/README.md +++ b/README.md @@ -180,17 +180,15 @@ xml_path: "{ROOT_DIR}/resources/go2/your-custom-scene.xml" ## Differences from `go2_rl_gym` -- Different tracking reward formulation (fixed sigma vs. dynamic sigma) -- Different rewards: +- Motor: + - use official unitree motor model instead of simple PD controller +- Rewards: + - different tracking reward form (fixed sigma vs. dynamic sigma) - lower joint_acc_l2 weight in Lab due to physics-step level implementation and sensitivity to outliers - extra joint_pos_penalty_l1 reward in Lab due to better performance -- Lack domain_rand: randomize_motor_strength - ---- - -## TODO - -- Try replacing ActionManager-level delay with `DelayedPDActuatorCfg` or `UnitreeActuatorCfg_Go2HV`, and make sure the randomization of motor parameters works correctly. +- Domain randomization: + - no randomized action delay, use motor-level delay instead + - no motor strength randomization due to implementation constraints in Lab. --- diff --git a/source/robot_lab/robot_lab/tasks/go2/__init__.py b/source/robot_lab/robot_lab/tasks/go2/__init__.py index 99335d7..be93c5e 100644 --- a/source/robot_lab/robot_lab/tasks/go2/__init__.py +++ b/source/robot_lab/robot_lab/tasks/go2/__init__.py @@ -19,8 +19,8 @@ from isaaclab_tasks.utils import import_packages ## gym.register( id="RobotLab-Go2-v0", - # entry_point="robot_lab.tasks.go2.env.go2_env:Go2Env", - entry_point="robot_lab.tasks.go2.env.go2_env:ActionDelayGo2Env", + entry_point="robot_lab.tasks.go2.env.go2_env:Go2Env", + # entry_point="robot_lab.tasks.go2.env.go2_env:ActionDelayGo2Env", # using motor-level delay, so disabled env-level delay disable_env_checker=True, kwargs={ "env_cfg_entry_point": f"{__name__}.env_cfg:Go2EnvCfg", diff --git a/source/robot_lab/robot_lab/tasks/go2/env_cfg.py b/source/robot_lab/robot_lab/tasks/go2/env_cfg.py index 225d9ba..0651bd1 100644 --- a/source/robot_lab/robot_lab/tasks/go2/env_cfg.py +++ b/source/robot_lab/robot_lab/tasks/go2/env_cfg.py @@ -60,7 +60,7 @@ class Go2SceneCfg(InteractiveSceneCfg): debug_vis=False ) - robot: ArticulationCfg = GO2_CFG_ROBOTLAB.replace(prim_path="{ENV_REGEX_NS}/Robot") + robot: ArticulationCfg = GO2_CFG_UNITREE.replace(prim_path="{ENV_REGEX_NS}/Robot") height_scanner = RayCasterCfg( prim_path="{ENV_REGEX_NS}/Robot/base",