Motphys/UniLab
UniLab: A Heterogeneous Architecture for Robot RL Beyond GPU-Dominant Paradigms
What it solves
UniLab addresses the difficulty of developing robot reinforcement learning (RL) tasks that are locked into specific physics simulators or hardware. It provides a unified architecture that decouples task definitions (rewards, observations, and actions) from the underlying simulation backend and the RL learner, allowing researchers to switch between different simulators and hardware accelerators without rewriting their environment code.
How it works
UniLab uses a "task-facing contract" that separates the task's semantics from its execution.
- Declarative Configuration: Tasks are defined using Hydra and YAML files. Instead of writing Python classes for every environment, users assemble "manager terms" (pre-defined functions for rewards, observations, etc.) to build a task.
- Backend Adapters: It employs a
SimBackendcontract that allows it to interface with various physics engines (such as MuJoCo, Motrix, Genesis, and IsaacGym) through a standardized API. - Unified CLI: A single command-line interface handles training and evaluation, where the simulator is specified as a flag (e.g.,
--sim mujoco), keeping the workflow identical regardless of the backend. - Hardware Agnostic: The system supports a wide range of hardware, including CPU-parallel simulation, CUDA, ROCm (AMD), and MPS (macOS).
Who it’s for
Robot RL researchers and developers who need to test their agents across multiple simulators, deploy to different hardware platforms, or rapidly prototype robot tasks without writing extensive boilerplate code.
Highlights
- Backend Flexibility: Supports a wide array of simulators including MuJoCo, Motrix, MJWarp, Drake, Genesis, IsaacGym, and IsaacSim.
- Config-Driven Design: Allows creating task variants by editing YAML files rather than writing new Python environment classes.
- Broad Hardware Support: Compatible with NVIDIA GPUs (CUDA), AMD GPUs (ROCm), Intel GPUs (XPU), and Apple Silicon (MPS).
- Integrated Ecosystem: Works with
unisim-corefor physics adapters andunilab-rlfor RL algorithms and runners.
Related
- Project
- Project
- Project
- Project