fix: noise scales *obs_scale (match upstream), noise_joint_angle 0.03→0.01
This commit is contained in:
@@ -110,6 +110,7 @@ class DreamWaQCfg(Go1WalkNpEnvCfg):
|
||||
self.control_config.stiffness = 28.0
|
||||
self.control_config.damping = 0.7
|
||||
self.control_config.action_scale = 0.25 # 上游原值(基类默认 0.05)
|
||||
self.noise_config.scale_joint_angle = 0.01 # 上游原值(基类默认 0.03)
|
||||
self._apply_dreamwaq()
|
||||
|
||||
def _apply_dreamwaq(self):
|
||||
@@ -224,11 +225,13 @@ class DreamWaQTask(Go1WalkTask):
|
||||
# 观测噪声
|
||||
nc = self.cfg.noise_config
|
||||
noise_scale_vec = np.zeros(45, dtype=np.float32)
|
||||
noise_scale_vec[0:3] = nc.scale_gyro
|
||||
# 上游: noise_vec = noise_scale * obs_scale(noise_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[6:9] = 0.0
|
||||
noise_scale_vec[9:21] = nc.scale_joint_angle
|
||||
noise_scale_vec[21:33] = nc.scale_joint_vel
|
||||
noise_scale_vec[9:21] = nc.scale_joint_angle * n.dof_pos
|
||||
noise_scale_vec[21:33] = nc.scale_joint_vel * n.dof_vel
|
||||
noise_scale_vec[33:45] = 0.0
|
||||
noise = (2.0 * np.random.rand(*obs.shape).astype(np.float32) - 1.0) * nc.level
|
||||
obs = obs + noise * noise_scale_vec[np.newaxis, :]
|
||||
|
||||
Reference in New Issue
Block a user