Skip to content

Feat: 迁移 NumPy UniformVelocityCommand #1056

Description

@TATP-233

一句话问题

Manager core 已有社区 CommandManager,但 UniLab 尚无可用于 production locomotion 的社区 velocity command term,Go2 仍把 command 放在私有 info 与 reset provider 中。

为什么现在做

#1054 已交付 joint-position action;Go2 pilot 的 observation/reward 都依赖一个 manager-owned velocity command。现有 SimBackend 已正式提供 root body-frame 速度和 quaternion 所需状态,不需要新增 backend method。

最小交付结果

迁移 pinned mjlab v1.6.0 的 UniformVelocityCommandCfg / UniformVelocityCommand 到 NumPy,保留 resampling、heading、standing、world-frame、forward-only、metrics 与局部 reset 语义;entity facade 只补 term 必需的 root body-frame 速度和 heading 只读视图。

In scope

  • source-aligned NumPy command term与公开 exports。
  • 使用 env-owned NumPy RNG 与预分配 command/metric buffers。
  • entity root lin_vel_bang_vel_bheading_w 视图,只调用既有正式 SimBackend
  • config range/ratio/shape/finite 与 partial reset focused tests。
  • init_velocity_prob > 0 在构造期明确报 capability error;viewer request 继续由 CommandManager 明确拒绝。

Non-goals

  • 不接 Go2 task、observation/reward/termination、Hydra、Event/DR、runner 或 IPC。
  • 不新增 root velocity write、backend public method或 viewer glue。
  • 不迁移其他 command catalog。

Owner 与预计改动

Command/entity adapter;4–7 个文件、≤700 行 source-derived/机械/UniLab glue,1 个 PR;base 为 dev/issue-1042-manager-based-api。关联 ADR-0006。

Acceptance criteria

  • 公共 cfg/build/command buffer 与 pinned scheduling 语义有 NumPy tests。
  • 相同 seed、局部 reset与定时 resample可复现,standing/heading/world/forward 分支有 focused evidence。
  • root view 的 shape/finite/capability 在最近边界 fail-closed;热路径无 asset/XML/name解析。
  • package 无 Torch、IPC、runner、learner或 backend-private import。
  • make test-all 通过。

Stop conditions

若实现需要新的 backend method、root state write、viewer runtime,或 command 规则必须进入 runner/IPC,则停止并拆 owner child。

Umbrella: #1042
Depends on: #1054

Activity

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