MotrixLab

September 10, 2026 · View on GitHub

Language: English | 简体中文

MotrixLab

GitHub License Python Version Release Docs

Train robot policies in simulation, then deploy them to real hardware.

Microduck robots walking in MotrixRender after training with MotrixLab

Microduck locomotion policies trained with MotrixLab, rendered in MotrixRender — watch the HD video.

📖 Documentation: 简体中文 | English

Contents

What is MotrixLab?

MotrixLab is an open-source reinforcement learning framework for robot training, built on the high-performance MotrixSim physics engine. Define an environment once, train it with thousands of parallel environment instances using SKRL, RSL-RL, or the built-in FastSAC, and deploy the resulting policy to MuJoCo or Unitree hardware — all through a single command-line interface.

MotrixLab architecture: define an environment once, train it with SKRL, RSL-RL or FastSAC on thousands of parallel MotrixSim environments running on NVIDIA CUDA or AMD ROCm GPUs, then deploy the same policy artifact to MuJoCo or Unitree hardware

Key Features

  • Unified Interface: Provides a concise and unified reinforcement learning training and evaluation interface
  • Multi-framework Support: Supports SKRL (JAX/PyTorch), RSLRL (PyTorch), and the built-in FastSAC implementation
  • Rich Environments: Includes various robot simulation environments such as basic control, locomotion, and manipulation tasks
  • Sim-to-Real Deployment: The same policy code deploys via the deploy CLI — Sim2Sim to MuJoCo, Sim2Real to real hardware
  • High-precision, High-performance Simulation: Built on MotrixSim, a high-precision, high-performance physics engine
  • Visual Training: Supports real-time rendering and training process visualization

🚀 Quick Start

Prerequisites

RequirementNotes
Python 3.10.xThe workspace pins ==3.10.*
uvPython project and dependency manager — installation guide
Git LFSRobot meshes, motion data, and videos are tracked by LFS
OSLinux x86_64 or Windows x86_64; the JAX training backend is Linux-only
GPUNVIDIA (CUDA) or AMD (ROCm) — the matching wheels are selected automatically by sh install.sh

1. Clone the repository

git clone https://github.com/Motphys/MotrixLab
cd MotrixLab
git lfs pull

2. Install dependencies

Linux:

sh install.sh

Windows (PowerShell):

.\install.ps1
# if blocked by the execution policy:
powershell -ExecutionPolicy Bypass -File install.ps1

This auto-detects your GPU vendor (NVIDIA → CUDA, AMD → ROCm) and installs all workspace packages with the matching PyTorch wheels. Use --gpu cuda|rocm to override detection and --skrl-jax / --rslrl to add training backends — see sh install.sh --help.

3. Train your first policy

Activate the installed environment (Windows PowerShell: .venv\Scripts\Activate.ps1):

source .venv/bin/activate
python scripts/train.py task=microduck-walk-flat/motrix.fastsac play=true

While training, the built-in dashboard shows live run progress, episode statistics, throughput, rewards, and system health:

MotrixLab training dashboard for the microduck-walk-flat fastsac task

Training runs thousands of parallel environment instances; when it finishes, the trained policy is loaded and played in the viewer automatically. Checkpoints and TensorBoard logs are saved under runs/microduck-walk-flat/; watch the curves with:

tensorboard --logdir runs/microduck-walk-flat

Training finishes in minutes: mean return and episode length typically converge after about 4,000 iterations:

TensorBoard curves of a microduck-walk-flat training run: mean return and episode length converge after about 4,000 iterations

4. Replay the trained policy

Replay the latest trained policy without retraining (for example, after stopping training early with Ctrl+C):

python scripts/play.py env=microduck-walk-flat

A trained microduck policy replayed in the viewer:

https://github.com/user-attachments/assets/4bcf3122-f135-44cb-a966-d2d8e84479da

🌍 Task Environments

MotrixLab ships 50+ built-in simulation environments spanning basic control, quadruped and humanoid locomotion, whole-body motion tracking, and manipulation. The main categories:

PreviewCategoryExample environments
go2-walk-roughQuadruped velocity trackinggo2-walk-flat · go2-walk-rough · go1-walk-rough · anymalc-walk-flat
g1-walk-flatHumanoid velocity trackingg1-walk-flat · k1-walk-rough · dex-evt-walk-flat · microduck-walk-flat
g1-wbt-danceWhole-body tracking (WBT)g1-wbt-dance · k1-wbt-freekick · g1-29dof-wbt-largebox
python scripts/view.py env=go2-walk-rough

See the full environment gallery for all registered environments and their supported training algorithms.

🤖 Built-in Robot Models

Seven reusable robot models are registered out of the box and can be combined into any scene or task:

ScreenshotRegistry nameTypeDoF
anymal_canymal_cQuadruped12
dex-evtdex-evtHumanoid23
g1-29dofg1-29dofHumanoid29
go1go1Quadruped12
go2go2Quadruped12
k1k1Humanoid22
microduckmicroduckHumanoid14
python scripts/view.py robot=go2

See Supported Robots for configuration details and how to add your own model.

🏗️ What's Inside

MotrixLab is a uv workspace of nine packages:

PackagePyPI nameDescription
motrix_deploymotrix-deployFramework-independent artifact, backend, policy, control-loop, registry, and CLI
motrix_deploy_mujocomotrix-deploy-mujocoMuJoCo deployment backend plugin
motrix_deploy_unitreemotrix-deploy-unitreeUnitree SDK2 DDS hardware backend plugin
motrix_deploy_tasksmotrix-deploy-tasksConcrete versioned deployment tasks and executable bootstrap
motrix_env_coremotrix-env-coreEnvironment base classes, configuration, registry, scene construction, NumPy runtime, and rendering. It contains no built-in tasks or robot assets
motrix_env_motrixsimmotrix-env-motrixsimLive MotrixSim backend, renderer, and torch frontend
motrix_env_mujocomotrix-env-mujocoCompile-only MuJoCo scene backend
motrix_envsmotrix-envsBuilt-in environments, models, data, and environment-to-deployment-profile compilers
motrix_rlmotrix-rlRL-framework integration built against motrix-env-core, with SKRL, RSLRL, and FastSAC support

🤝 Contributing

Contributions are welcome! See CONTRIBUTING.md for the development environment setup, branch and commit conventions, and the configured checks (prek, ruff, dprint, mypy).

📬 Contact

Have questions or suggestions? Feel free to contact us through:

Project policies