fix: dual-shuffle bug in terrain_origins — robots now spawn on correct terrain columns
This commit is contained in:
@@ -410,11 +410,16 @@ class DreamWaQTask(Go1WalkTask):
|
||||
|
||||
# 游戏启发式地形课程(per-env,与上游一致)
|
||||
if not hasattr(self, '_terrain_origins'):
|
||||
all_levels = np.repeat(np.arange(self._num_rows), self._num_cols)
|
||||
all_indices = np.tile(np.arange(self._num_cols), self._num_rows)
|
||||
all_origins = self._make_origins(all_levels, all_indices)
|
||||
self._terrain_origins = all_origins.reshape(self._num_rows, self._num_cols, 2)
|
||||
self._max_init_level = 0 # 从平地起步,靠课程升级
|
||||
all_origins = np.zeros((self._num_rows, self._num_cols, 2), dtype=np.float32)
|
||||
half_x = self._border + self._num_cols * self._cell_size / 2.0
|
||||
half_y = self._border + self._num_rows * self._cell_size / 2.0
|
||||
for row in range(self._num_rows):
|
||||
for col in range(self._num_cols):
|
||||
cx = -half_x + self._border + col * self._cell_size + self._cell_size / 2
|
||||
cy = half_y - self._border - row * self._cell_size - self._cell_size / 2
|
||||
all_origins[row, col] = [cx, cy]
|
||||
self._terrain_origins = all_origins
|
||||
self._max_init_level = 5 # 上游原值,随机 0-5 起步
|
||||
|
||||
if num_reset > 0 and self._init_done and state is not None and hasattr(state, 'info'):
|
||||
old_info = state.info
|
||||
|
||||
Reference in New Issue
Block a user