Motphys/UniLab
UniLab: A Heterogeneous Architecture for Robot RL Beyond GPU-Dominant Paradigms
UniLab – 面向机器人学习的契约驱动基础设施
它是什么
- 一个开源 Python 框架,允许您使用 Hydra YAML 配置描述一次机器人强化学习任务,然后在任何支持的物理模拟器或硬件后端上运行,而无需更改代码。
- 提供
SimBackend契约,使相同的任务定义可以在 MuJoCo、Isaac Gym、Motrix、Newton、Genesis 等模拟器以及 CPU、GPU、AMD ROCm、Apple Silicon、Intel XPU 或外部工作器模拟上执行。
为什么重要
- 消除了在更换模拟器或硬件时重写环境类的需求。
- 保持学习算法(例如 SAC、Flash-SAC)独立于模拟层,支持异构训练流水线。
- 通过将数据收集与学习器更新重叠,声称离策略重放训练可提速 3–10 倍。
主要特性
| 特性 | 描述 |
|---|---|
| 配置优先 | 任务、动作、观测、奖励、课程和指标由 Hydra YAML 文件中的可重用 管理器项 组装而成——通常无需编写 Python 代码。 |
| 后端无关 | 任何注册的模拟器都实现公共 SimBackend 接口;使用 --sim 标志切换。 |
| 设备无关的学习器 | 学习器可在 CUDA、ROCm、MPS 或 Intel XPU 上运行,而模拟可以保持在 CPU 或远程工作器上。 |
| 重放加速的离策略训练 | 内置的 SAC/Flash-SAC 流水线将模拟与梯度更新重叠,带来显著的端到端速度提升。 |
| 跨平台支持 | 针对 Windows、macOS(Apple Silicon)、Linux(CUDA、ROCm、XPU)提供了文档化的安装路径。 |
| 支持矩阵 | 一个精选表格显示了哪些任务-后端-设备组合已经过验证。 |
| 生态系统钩子 | 下游机器人特定仓库(MicroDuck RL、EngineAI RL、Unitree RL 等)可以重用相同的任务定义和契约。 |
| 可扩展的 RL 栈 | 算法、异步运行时和日志记录位于 src/unilab/rl/ 下。 |
典型用例
- 研究:一次原型化新的运动或操作任务,然后在 MuJoCo、Isaac Gym 和其他模拟器上进行基准测试。
- Sim-to-sim 迁移:在快速、低保真度的模拟器中训练,并在高保真度模拟器中评估,无需重写代码。
- 异构集群:运行多个仅 CPU 的模拟工作器,为 GPU 加速的学习器提供数据。
- 机器人实验室:在多个机器人平台(例如 Unitree、MicroDuck)之间共享通用任务库,同时每个团队使用其偏好的物理引擎。
安装(快速)
# 安装轻量级 UV 包管理器
curl -LsSf https://astral.sh/uv/install.sh | sh
# 克隆仓库并设置环境
git clone https://github.com/unilabsim/UniLab.git
cd UniLab
make setup # 通过 uv 安装依赖
首次运行将自动从 Hugging Face 下载模型检查点和资源。
快速入门命令
# 运行演示(舞蹈)以验证安装
uv run demo dance
# 使用 MuJoCo 和 SAC 训练平地行走任务
uv run train --algo sac --task g1_walk_flat --sim mujoco
# 评估训练好的策略并使用 Viser 渲染
uv run eval --algo sac --task g1_walk_flat --sim mujoco --render-mode viser
# 无需更改任务定义即可切换模拟器
uv run --extra motrix eval --algo sac --task g1_walk_flat --sim motrix --render-mode interactive --load-run -1
uv run --extra isaacgym eval --algo sac --task g1_walk_flat --sim isaacgym --load-run -1
所有标志(--algo、--task、--sim)都是显式的,使实验可复现。
文档与学习资源
- 为什么选择 UniLab? – 设计原理及与替代方案的比较:https://unilabsim.github.io/UniLab-doc/en/why_unilab.html
- 安装与首次演示:https://unilabsim.github.io/UniLab-doc/en/1-getting_started/0-index.html
- 训练与评估指南:https://unilabsim.github.io/UniLab-doc/en/2-user_guide/1-training/0-index.html
- 后端支持矩阵:https://unilabsim.github.io/UniLab-doc/en/5-reference/5-support_matrix.html
- Sim-to-sim 部署:https://unilabsim.github.io/UniLab-doc/en/3-deployment/2-sim_to_sim/1-backend_swap.html
- 开发者指南(贡献、扩展契约):https://unilabsim.github.io/UniLab-doc/en/4-developer_guide/0-index.html
社区
- 微信助手(仓库中的二维码)用于实时帮助和公告。
- 活跃的 GitHub issues 和 PR;参见贡献指南了解如何添加新的后端或任务。
- README 中列出的下游项目展示了实际应用。
许可证与引用
- 许可证:Apache-2.0(见
LICENSE)。 - 引用:
@article{jia2026unilab,
title = {UniLab: A Heterogeneous Architecture for Robot RL Beyond GPU-Dominant Paradigms},
author = {Jia, Yufei and Cao, Zhanxiang and Yu, Mingrui and ...},
journal = {arXiv preprint arXiv:2605.30313},
year = {2026},
url = {https://arxiv.org/abs/2605.30313}
}
底线:UniLab 是一个真正的、研究级的工具包,它将机器人强化学习任务从底层物理引擎和计算硬件中抽象出来,支持可复现的实验和快速的后端切换。它文档完善、积极维护,并已在 CoRL 2026 论文中被引用。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト