fix: noise scales *obs_scale (match upstream), noise_joint_angle 0.03→0.01

This commit is contained in:
8x54zj-m
2026-06-30 17:30:24 +08:00
parent 964b409aa1
commit 7affccc695

View File

@@ -110,6 +110,7 @@ class DreamWaQCfg(Go1WalkNpEnvCfg):
self.control_config.stiffness = 28.0 self.control_config.stiffness = 28.0
self.control_config.damping = 0.7 self.control_config.damping = 0.7
self.control_config.action_scale = 0.25 # 上游原值(基类默认 0.05 self.control_config.action_scale = 0.25 # 上游原值(基类默认 0.05
self.noise_config.scale_joint_angle = 0.01 # 上游原值(基类默认 0.03
self._apply_dreamwaq() self._apply_dreamwaq()
def _apply_dreamwaq(self): def _apply_dreamwaq(self):
@@ -224,11 +225,13 @@ class DreamWaQTask(Go1WalkTask):
# 观测噪声 # 观测噪声
nc = self.cfg.noise_config nc = self.cfg.noise_config
noise_scale_vec = np.zeros(45, dtype=np.float32) noise_scale_vec = np.zeros(45, dtype=np.float32)
noise_scale_vec[0:3] = nc.scale_gyro # 上游: noise_vec = noise_scale * obs_scalenoise_level 单独乘在 noise 张量上)
n = self.cfg.normalization
noise_scale_vec[0:3] = nc.scale_gyro * n.ang_vel
noise_scale_vec[3:6] = nc.scale_gravity noise_scale_vec[3:6] = nc.scale_gravity
noise_scale_vec[6:9] = 0.0 noise_scale_vec[6:9] = 0.0
noise_scale_vec[9:21] = nc.scale_joint_angle noise_scale_vec[9:21] = nc.scale_joint_angle * n.dof_pos
noise_scale_vec[21:33] = nc.scale_joint_vel noise_scale_vec[21:33] = nc.scale_joint_vel * n.dof_vel
noise_scale_vec[33:45] = 0.0 noise_scale_vec[33:45] = 0.0
noise = (2.0 * np.random.rand(*obs.shape).astype(np.float32) - 1.0) * nc.level noise = (2.0 * np.random.rand(*obs.shape).astype(np.float32) - 1.0) * nc.level
obs = obs + noise * noise_scale_vec[np.newaxis, :] obs = obs + noise * noise_scale_vec[np.newaxis, :]