MuJoCo 后端¶
MuJoCo 是已提交 owner 配置中的默认后端路径。其 Python 依赖为官方
mujoco 包(~=3.11.0,默认版本由已提交的 uv.lock 精确钉住)加
mjbatch 原生 batch 引擎(当前在 pyproject.toml 中钉住
集成 fork),适配层位于
unisim.backend.mujoco 下。
何时使用¶
你想要 PPO、APPO、off-policy SAC 或 FlashSAC 的默认训练路线。
task owner 仅以
src/unilab/conf/.../<task>/mujoco.yaml形式存在。你需要 MuJoCo 专有工具,例如
scripts/play_viser.py,或从 MuJoCo XML/MJB 模型导出场景。
命令¶
uv run train --algo ppo --task go2_joystick_flat --sim mujoco
uv run train --algo appo --task go2_joystick_flat --sim mujoco training.no_play=true
uv run train --algo sac --task g1_walk_flat --sim mujoco
回放模式由 unisim.backend.base 中的 backend contract 解析。
MuJoCo 在 unisim.backend.mujoco.backend 中声明对物理状态回放的支持;
auto 回放会录制视频,而不是打开 Motrix 原生交互式渲染器。
切换 MuJoCo 版本¶
pyproject 约束 mujoco~=3.11.0;默认版本由已提交的 uv.lock 精确钉住,
uv 的 prefer-locked 语义保证普通 relock 不会漂移。mjbatch 引擎针对
mujoco==3.11.0 构建,并记录编译时的 mujoco 版本,拒绝在其它版本下导入
(fail-closed,不会静默出错行为)。因此切换版本需要对应版本的 mjbatch
构建:
在
pyproject.toml(并同步镜像pyproject.rocm.toml)中提升mujoco边界和mjbatch源码钉版;重新锁定(
uv lock,ROCm lockfile 通过make sync-rocm)并重新同步 (uv sync --extra mujoco)。
fork 的构建在编译期钉住 mujoco==3.11.0,因此隔离构建总是针对匹配的 mujoco
编译。引擎当前从钉住的集成 fork 消费;其最终分发身份(PyPI package 还是
git 钉版、是否提供预编译 wheel)是 roadmap 上的待定事项——在此之前,版本提升
需要与 fork 维护者协调。