## Work type fix ## Area Go1 ## Problem `src/unilab/envs/locomotion/go2/joystick.py` 的 Go1WalkTask 完全重写了 `reset()` 方法 (line 301),绕过了 Domain Randomization 系统: ```python # go2/joystick.py:301 def reset(self, ...): # 完全自定义的 reset 逻辑 # ... 缺少 DR 应用步骤 return obs, info ``` 正常流程: ``` reset() -> apply DR -> return obs ``` Go1Walk 实际流程: ``` reset() -> [缺少 DR] -> return obs ``` 影响: - Go1Walk 任务无法受益于 Domain Randomization 的泛化能力提升 - 训练/推理分布不一致 - 与其他 locomotion 环境行为不一致 ## Deliverable 1. 分析 Go1Walk 自定义 reset() 的必要性 2. 在自定义 reset 逻辑中正确集成 DR 应用步骤 3. 或者移除自定义 reset,使用基类标准流程 + 必要的定制钩子 ## Definition of done - [ ] Go1Walk reset() 流程分析完成 - [ ] DR 系统正确集成到 Go1Walk 的 reset 流程 - [ ] Go1Walk 与其他 locomotion 环境的 DR 行为一致 - [ ] 无功能回归 (训练可正常进行) - [ ] CI green ## Dependencies and blockers 建议 Issue #133 (LocomotionBaseEnv) 完成后进行,统一基类可简化 DR 集成 ## Validation plan - `uv run python scripts/train_rsl_rl.py task=go1_walk sim_backend=mujoco algo.max_iterations=5` 正常 - DR 相关日志输出与其他 locomotion 任务一致 - `make test` 通过
Activity
TATP-233 commentedon Apr 9, 2026
#187