Motphys/UniLab

UniLab: A Heterogeneous Architecture for Robot RL Beyond GPU-Dominant Paradigms

解决的问题

UniLab 解决了机器人强化学习(RL)任务被锁定在特定物理模拟器或硬件上的难题。它提供了一个统一的架构,将任务定义(奖励、观测、动作)与底层模拟后端和RL学习器解耦,使研究人员能够在不重写环境代码的情况下,无缝切换不同的模拟器和硬件加速器。

工作原理

UniLab 使用“面向任务的契约”来分离任务的语义与执行。

  • 声明式配置:任务通过 Hydra 和 YAML 文件定义。用户无需为每个环境编写 Python 类,而是通过组装“管理器项”(预定义的奖励、观测等函数)来构建任务。
  • 后端适配器:采用 SimBackend 契约,通过标准化 API 与多种物理引擎(如 MuJoCo、Motrix、Genesis 和 IsaacGym)交互。
  • 统一 CLI:单一命令行接口处理训练和评估,模拟器通过标志指定(例如 --sim mujoco),无论后端如何,工作流程保持一致。
  • 硬件无关性:系统支持广泛的硬件,包括 CPU 并行模拟、CUDA、ROCm(AMD)和 MPS(macOS)。

适用人群

需要在多个模拟器上测试其智能体、在不同硬件平台上部署或快速原型化机器人任务而无需编写大量样板代码的机器人 RL 研究人员和开发者。

主要亮点

  • 后端灵活性:支持多种模拟器,包括 MuJoCo、Motrix、MJWarp、Drake、Genesis、IsaacGym 和 IsaacSim。
  • 配置驱动设计:通过编辑 YAML 文件而非编写新的 Python 环境类,即可创建任务变体。
  • 广泛硬件支持:兼容 NVIDIA GPU(CUDA)、AMD GPU(ROCm)、Intel GPU(XPU)和 Apple Silicon(MPS)。
  • 集成生态系统:与 unisim-core(用于物理适配器)和 unilab-rl(用于 RL 算法和运行器)协同工作。

相关

  • 项目
  • 项目
  • 项目
  • 项目