Skip to content

refactor(motrix): 接入 fused body-state 接口并删除临时 kernel #1308

Description

@TATP-233

Parent roadmap: #1304(child 3/3)
Blocked by: #1305
Predecessor: #1307

一句话问题

#1307 在 MotrixSim 尚未提供 selected-body fused world-state API 时,只能保留一个明确待删除的 Motrix 临时 adapter/kernel。该临时实现不能成为第二套长期维护路径;上游接口发布后必须收敛到统一的 SimBackend.copy_body_state_w() contract。

最小交付结果

升级到包含 #1305 接口的 motrixsim-core 版本,让 Motrix adapter 通过正式 selected-body fused API 实现 SimBackend.copy_body_state_w(),并完整删除 #1307 引入的临时 Motrix kernel、分支和 TODO。

In scope

  • feat(motrix): 提供 selected-body fused world-state 读取接口 #1305 发布的 API 与版本为前置条件;未发布时本 issue 保持 blocked。
  • 更新 motrixsim-core 依赖 pin 与 uv lock。
  • Motrix backend 在冷路径绑定 numeric link/body IDs;热路径一次读取选定 bodies 的 position、wxyz quaternion、linear velocity 和 angular velocity。
  • 通过既有 SimBackend.copy_body_state_w() 写入 caller-owned outputs;不向 Entity、task 或 env 暴露 Motrix 私有能力。
  • 删除 perf(body-state): 接通统一 copy contract 并同步优化 MuJoCo/MJWarp #1307 的临时 Motrix adapter/kernel、条件分支、TODO 及仅为临时路径存在的测试。
  • 保留或补充正式接口的 body order、dtype、quaternion order、output reuse 与数值 parity 测试。
  • 给出 8192 envs、14 selected bodies 的旧临时路径与正式接口 microbenchmark,以及 Motrix update_state/reset_done/env/s 对比。

Non-goals

  • 不修改 MuJoCo/MJWarp 实现或共享 host-copy kernel。
  • 不修改四个 reward、anchor termination、Hydra 配置、manager/runner lifecycle。
  • 不新增 Motrix-only 公共 contract、runtime capability 探测或 NumPy fallback。
  • 不在 UniLab 仓库实现或维护 MotrixSim native API。

Owner 与预计改动

  • Owner:UniLab Motrix backend adapter 与依赖 pin/lock。
  • 预计 4–7 个文件、≤400 行净手写改动、1 个 PR。
  • Branch:refactor/issue-1308-motrix-body-state-convergence,base 为最新 dev/issue-1304-motion-numba-body-state。
  • 永久维护结果只有统一 SimBackend.copy_body_state_w() adapter;Motrix 临时 kernel 数量归零。

Acceptance criteria

Stop conditions

  • feat(motrix): 提供 selected-body fused world-state 读取接口 #1305 未发布,或正式接口仍会物化四组 full-link Python 数组。
  • 接入需要 task/env 访问 backend 私有能力、热路径名称/XML 查询或 getattr/hasattr 探测。
  • 无法删除临时 Motrix kernel,形成两套 production path。
  • 超过 15 文件或 800 行净手写改动。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:motrixMotrixSim related workenhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions