Skip to content

Work: 修复 Go1Walk 绕过 Domain Randomization 的问题 #173

Description

@TATP-233

Work type

fix

Area

Go1

Problem

src/unilab/envs/locomotion/go2/joystick.py 的 Go1WalkTask 完全重写了 reset() 方法 (line 301),绕过了 Domain Randomization 系统:

# 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

  1. TATP-233 commented on Apr 9, 2026

    @TATP-233
    CollaboratorAuthor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions