Skip to main content

IsaacLab-style manager API, powered by MuJoCo-Warp, for RL and robotics research.

Project description

mjlab

tests

⚠️ EXPERIMENTAL PREVIEW

This project is in very early experimental stages. APIs, features, and documentation are subject to significant changes. Use at your own risk and expect frequent breaking changes.

Isaac Lab API with MJWarp backend.

uv run demo

Development Guide

Clone mjlab:

git clone git@github.com:mujocolab/mjlab.git && cd mjlab

Using uv

Install uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Once installed, you can verify it works by running:

uv run scripts/list_envs.py

Reinforcement Learning

Velocity training

Train a Unitree G1 to follow velocity commands (headless, large batch):

MUJOCO_GL=egl uv run train \
  Mjlab-Velocity-Flat-Unitree-G1 \
  --env.scene.num-envs 4096

Play the trained policy:

uv run play --task Mjlab-Velocity-Flat-Unitree-G1-Play

Motion mimicking

Run a pre-trained motion-mimic policy on the G1:

uv run play \
  --task Mjlab-Tracking-Flat-Unitree-G1-Play \
  --wandb-run-path gcbc_researchers/mjlab_alpha/rfdej55h

Train the same motion-mimic policy (headless, large batch):

MUJOCO_GL=egl uv run train \
  Mjlab-Tracking-Flat-Unitree-G1 \
  --registry-name gcbc_researchers/csv_to_npz/lafan_cartwheel \
  --env.scene.num-envs 4096

Add a new motion to the WandB registry from a CSV:

MUJOCO_GL=egl uv run src/mjlab/scripts/csv_to_npz.py \
  --input-file /path/to/motion.csv \
  --output-name side_kick \
  --input-fps 30 \
  --output-fps 50 \
  --render

Running tests

make test

Code formatting and linting

You can install a pre-commit hook:

uvx pre-commit install

or manually format with:

make format

Troubleshooting

CUDA Compatibility: Not all CUDA versions are supported. Check mujoco_warp#101 for your CUDA version compatibility.

License

This project, mjlab, is licensed under the Apache License, Version 2.0.

Third-Party Code

The third_party/ directory contains selected files from external projects.
Each such subdirectory includes its own original LICENSE file from the upstream source.
These files are used under the terms of their respective licenses.

Currently, third_party/ contains:

When distributing or modifying this project, you must comply with both:

  1. The Apache-2.0 license of mjlab (applies to all original code in this repository).
  2. The licenses of any code in third_party/ (applies only to the files from those projects).

See the individual LICENSE files for the complete terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mjlab-0.0.2.tar.gz (19.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mjlab-0.0.2-py3-none-any.whl (19.3 MB view details)

Uploaded Python 3

File details

Details for the file mjlab-0.0.2.tar.gz.

File metadata

  • Download URL: mjlab-0.0.2.tar.gz
  • Upload date:
  • Size: 19.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for mjlab-0.0.2.tar.gz
Algorithm Hash digest
SHA256 8e8b0c6ab57c7baad575aeb1d4523b6f4f00970e0f358efeb329521930cb583e
MD5 eadf9e5407c76bc9fb8ab9e21d1a937f
BLAKE2b-256 d25204964e3023294532635b84d4a5a5b54ddb9e33eedbbc9aa86d73b6bc43a6

See more details on using hashes here.

File details

Details for the file mjlab-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: mjlab-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 19.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for mjlab-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 42268b6b6d5beb9bbf2e29220a82e3a9aff56465bd05ad5a2206375198adafc3
MD5 bb04be4e8e5bddeb9a7d956c42125f5b
BLAKE2b-256 80f43960e3fc1613d7fa36ee75bd59ceaf59526fd6adc9d11f5592303c3e134d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page