diff --git a/motrix_envs/src/motrix_envs/locomotion/go1/dreamwaq.py b/motrix_envs/src/motrix_envs/locomotion/go1/dreamwaq.py index 4c4a6b2..7bca6e3 100644 --- a/motrix_envs/src/motrix_envs/locomotion/go1/dreamwaq.py +++ b/motrix_envs/src/motrix_envs/locomotion/go1/dreamwaq.py @@ -124,8 +124,8 @@ class DreamWaQCfg(Go1WalkNpEnvCfg): "ang_vel_xy": -0.10, # 抑制晃动 "orientation": -0.5, # 强制平稳姿态 "dof_acc": -2.5e-7, - "base_height": -10.0, # 强惩罚身高偏差,避免蹲伏或踮脚 - "feet_air_time": 0.1, + "base_height": -5.0, + "feet_air_time": 0.03, "action_rate": -0.01, "joint_power": -2e-5, "smoothness": -0.02, @@ -768,7 +768,7 @@ class DreamWaQTask(Go1WalkTask): air_time = info.get("air_time_at_contact") if first_contact is None or air_time is None: return np.zeros(self._num_envs, dtype=np.float32) - rew = np.sum((air_time - 0.5) * first_contact, axis=1) + rew = np.sum(np.maximum(air_time - 0.25, 0.0) * first_contact, axis=1) rew *= np.linalg.norm(commands[:, :2], axis=1) > 0.1 return rew