update better default training settings; update new policy and results; update readme.

This commit is contained in:
wertyuilife2
2026-06-29 03:08:09 +08:00
parent f08058fcb8
commit 28b4516d22
9 changed files with 15 additions and 14 deletions

View File

@@ -73,12 +73,12 @@ It is an official [MoE-CTS](https://robogauge.github.io/static/files/arxiv.pdf)
<img src="resources/results/robogauge_compare.png" width="100%"/> <img src="resources/results/robogauge_compare.png" width="100%"/>
</p> </p>
### Algorithm Results (Best of 150k training steps) ### Algorithm Results (Best Checkpoint Results)
| Model | Score | Tracking | Safety | Quality | Level | | Model | Score | Tracking | Safety | Quality | Level |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| go2_moe_cts (go2_rl_robotlab) | **0.6828** | **0.6785** | 0.7552 | **0.7645** | **8.17** | | go2_moe_cts (go2_rl_robotlab) | **0.6984** | **0.7055** | **0.8159** | **0.7693** | **8.30** |
| go2_moe_cts (go2_rl_gym) | **0.6713** | 0.6669 | **0.7857** | 0.7392 | 7.85 | | go2_moe_cts (go2_rl_gym) | 0.6713 | 0.6669 | 0.7857 | 0.7392 | 7.85 |
| [CTS](https://arxiv.org/pdf/2405.10830) vanilla | 0.5786 | 0.5755 | 0.7066 | 0.6624 | 6.83 | | [CTS](https://arxiv.org/pdf/2405.10830) vanilla | 0.5786 | 0.5755 | 0.7066 | 0.6624 | 6.83 |
| [HIM](https://github.com/InternRobotics/HIMLoco) | 0.5379 | 0.5453 | 0.6476 | 0.6050 | 6.19 | | [HIM](https://github.com/InternRobotics/HIMLoco) | 0.5379 | 0.5453 | 0.6476 | 0.6050 | 6.19 |
| [DreamWaQ](https://arxiv.org/abs/2301.10602) | 0.5054 | 0.5105 | 0.6149 | 0.5730 | 5.74 | | [DreamWaQ](https://arxiv.org/abs/2301.10602) | 0.5054 | 0.5105 | 0.6149 | 0.5730 | 5.74 |
@@ -251,16 +251,17 @@ xml_path: "{ROOT_DIR}/resources/go2/your-custom-scene.xml"
## Differences from `go2_rl_gym` ## Differences from `go2_rl_gym`
- Motor: - Motor:
- use official unitree motor model instead of simple PD controller - use official unitree motor model instead of simple PD controller.
- Rewards: - Rewards:
- different tracking reward form (fixed sigma vs. dynamic sigma) - 2x tracking reward weights due to better performance.
- lower joint_acc_l2 weight in Lab due to physics-step level implementation and sensitivity to outliers - different tracking reward form (fixed sigma vs. dynamic sigma).
- extra joint_pos_penalty_l1 reward in Lab due to better performance - 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.
- Domain randomization: - Domain randomization:
- no randomized action delay, use motor-level delay instead - no randomized action delay, use motor-level delay instead.
- no motor strength randomization due to implementation constraints in Lab. - no motor strength randomization due to implementation constraints in Lab.
- History length: 10 in Lab vs. 5 in Gym, due to better performance with longer history in Lab. - History length: 10 in Lab vs. 5 in Gym, due to better performance with longer history in Lab.
- Terrain Difficulty: use lab's continuous difficulty levels.
--- ---
## Acknowledgements ## Acknowledgements

View File

@@ -1,4 +1,4 @@
policy_path: "{ROOT_DIR}/deploy/pre_train/go2/go2_moe_cts_185k_0.6828.pt" # policy.pt exported by running scripts/rsl_rl/play.py policy_path: "{ROOT_DIR}/deploy/pre_train/go2/go2_moe_cts_176k_0.6984.pt" # policy.pt exported by running scripts/rsl_rl/play.py
xml_path: "{ROOT_DIR}/resources/go2/stairs_and_slope.xml" xml_path: "{ROOT_DIR}/resources/go2/stairs_and_slope.xml"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 896 KiB

After

Width:  |  Height:  |  Size: 304 KiB

View File

@@ -350,12 +350,12 @@ class RewardsCfg:
track_lin_vel_xy_exp = RewTerm( track_lin_vel_xy_exp = RewTerm(
func=mdp.track_lin_vel_xy_exp, func=mdp.track_lin_vel_xy_exp,
weight=1.0, weight=2.0,
params={"command_name": "base_velocity", "std": 0.5} params={"command_name": "base_velocity", "std": 0.5}
) )
track_ang_vel_z_exp = RewTerm( track_ang_vel_z_exp = RewTerm(
func=mdp.track_ang_vel_z_exp, func=mdp.track_ang_vel_z_exp,
weight=0.5, weight=1.0,
params={"command_name": "base_velocity", "std": 0.5} params={"command_name": "base_velocity", "std": 0.5}
) )
lin_vel_z_l2 = RewTerm(func=mdp.lin_vel_z_l2, weight=-2.0) lin_vel_z_l2 = RewTerm(func=mdp.lin_vel_z_l2, weight=-2.0)
@@ -466,7 +466,7 @@ class Go2EnvCfg(ManagerBasedRLEnvCfg):
"""Merged configuration for the Go2 robot on rough terrain.""" """Merged configuration for the Go2 robot on rough terrain."""
# Scene settings # Scene settings
scene: Go2SceneCfg = Go2SceneCfg(num_envs=8192, env_spacing=0.5) scene: Go2SceneCfg = Go2SceneCfg(num_envs=16384, env_spacing=0.5)
# Basic settings # Basic settings
observations: ObservationsCfg = ObservationsCfg() observations: ObservationsCfg = ObservationsCfg()
actions: ActionsCfg = ActionsCfg() actions: ActionsCfg = ActionsCfg()

View File

@@ -178,7 +178,7 @@ TERRAIN_CFG = Go2TerrainGeneratorCfg(
# slope correction = 0.75 ~ 36.9 degrees by default, # slope correction = 0.75 ~ 36.9 degrees by default,
# but recommended to set for each terrain type separately using with_slope_threshold # but recommended to set for each terrain type separately using with_slope_threshold
slope_threshold=0.75, slope_threshold=0.75,
use_gym_difficulty=True, use_gym_difficulty=False,
use_cache=False, use_cache=False,
sub_terrains={ sub_terrains={
"wave": with_slope_threshold( "wave": with_slope_threshold(