Environments, assets, workflow for open-source mobile robotics, integrated with IsaacLab.
Note: Only use this pip installation approach if you're on Ubuntu 22.04+ or Windows. For Ubuntu 20.04, install from the binaries. link
WheeledLab is built atop Isaac Lab. If you do not yet have Isaac Lab installed, it is open-source and installation instructions for Isaac Sim v4.5.0 and Isaac Lab v2.0.2 can be found below:
# Create a conda environment named WL and install Isaac Sim v4.5.0 in it:
conda create -n WL python=3.10
conda activate WL
pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu121 # Or `pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu118` for CUDA 11
pip install --upgrade pip
pip install 'isaacsim[all,extscache]==4.5.0' --extra-index-url https://pypi.nvidia.com
# Install Isaac Lab v2.0.2 (make sure you have build dependencies first, e.g. `sudo apt install cmake build-essential` on ubuntu)
git clone --branch v2.0.2 https://github.com/isaac-sim/IsaacLab.git
./isaaclab.sh -iSource: https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/index.html
If you already have IsaacLab you can skip this and instead head here to set up a new conda environment for this repository.
We recommend setting up a new conda environment to include both IsaacLab packages and WheeledLab packages. You can do this using Isaac Lab's convenient setup scripts:
cd <IsaacLab>
./isaaclab.sh --conda WL
conda activate WL
./isaaclab.sh -i# Activate the conda environment that was created via the IsaacLab setup.
conda activate <your IsaacLab env here> # 'WL' if you followed instructions above
git clone git@github.com:UWRobotLearning/WheeledLab.git
cd WheeledLab/source
pip install -e wheeledlab
pip install -e wheeledlab_tasks
pip install -e wheeledlab_assets
pip install -e wheeledlab_rlAfter this, we recommend Setting Up VSCode.
Training runs can take a couple hours to produce a transferable policy.
To start a drifting run:
python source/wheeledlab_rl/scripts/train_rl.py --headless -r RSS_DRIFT_CONFIGTo start a elevation run:
python source/wheeledlab_rl/scripts/train_rl.py --headless -r RSS_ELEV_CONFIGTo start a visual run:
python source/wheeledlab_rl/scripts/train_rl.py --headless -r RSS_VISUAL_CONFIGThough optional (and free), we strongly advise using Weights & Biases (wandb) to record and track training status. Logging to wandb is turned on by default. If you would like to disable it, add train.log.no_wandb=True to the CLI arguments.
See more details about training in the wheeledlab_rl README.md
A separate repository is maintained for existing integrations and deployments. See https://github.com/UWRobotLearning/RealLab for code.
- HOUND [1] - https://github.com/UWRobotLearning/RealLab/tree/hound
- MuSHR [2] - https://github.com/UWRobotLearning/RealLab/tree/mushr
- F1Tenth [3] - (coming soon)
If you have an integration or request for a platform not seen above, please contact us or consider contributing!
It is a million times harder to develop in IsaacLab without Intellisense. Setting up the vscode workspace is STRONGLY advised.
-
Find where your
IsaacLabdirectory currently is. We'll refer to it as<IsaacLab>in this section. Move the VSCode tools to this workspace.cd <WheeledLab> cp -r <IsaacLab>/.vscode/tools ./.vscode/ cp -r <IsaacLab>/.vscode/*.json ./.vscode/
-
Change
.vscode/tasks.jsonline 11"command": "${workspaceFolder}/../IsaacLab/isaaclab.sh -p ${workspaceFolder}/.vscode/tools/setup_vscode.py"
to
"command": "<IsaacLabDir>/isaaclab.sh -p ${workspaceFolder}/.vscode/tools/setup_vscode.py"
-
Ctrl+Shift+Pto bring up the VSCode command palette. typeTasks:Run Taskor type until you see it show up and highlight it and pressEnter. -
Click on
setup_python_env. Follow the prompts until you're able to run the task. You should see a console at the bottom and the status of the task. -
If successful, you should now have
.vscode/{settings.json, launch.json}in your<WheeledLab>repo andsettings.jsonshould have a populated list of paths under the"python.analysis.extraPaths"key. -
Make sure you at least have Microsoft's Python extension installed for intellisense to work.
The setup_vscode task doesn't work for me for whatever reason. If that's true for you too, add the following lines to the end of the list under the key "python.analysis.extraPaths" in the .vscode/settings.json file:
"<IsaacLab>/source/isaaclab",
"<IsaacLab>/source/isaaclab_assets",
"<IsaacLab>/source/isaaclab_tasks",
"<IsaacLab>/source/isaaclab_rl",@misc{2502.07380,
Author = {Tyler Han and Preet Shah and Sidharth Rajagopal and Yanda Bao and Sanghun Jung and Sidharth Talia and Gabriel Guo and Bryan Xu and Bhaumik Mehta and Emma Romig and Rosario Scalise and Byron Boots},
Title = {Demonstrating WheeledLab: Modern Sim2Real for Low-cost, Open-source Wheeled Robotics},
Year = {2025},
Eprint = {arXiv:2502.07380},
}
[1] Sidharth Talia, Matt Schmittle, Alexander Lambert, Alexander Spitzer, Christoforos Mavrogiannis, and Siddhartha S. Srinivasa.Demonstrating HOUND: A Low-cost Research Platform for High-speed Off-road Underactuated Nonholonomic Driving, July 2024.URL http://arxiv.org/abs/2311.11199.arXiv:2311.11199 [cs].
[2] Siddhartha S. Srinivasa, Patrick Lancaster, Johan Michalove, Matt Schmittle, Colin Summers, Matthew Rockett, Rosario Scalise, Joshua R. Smith, Sanjiban Choudhury, Christoforos Mavrogiannis, and Fereshteh Sadeghi.MuSHR: A Low-Cost, Open-Source Robotic Racecar for Education and Research, December 2023.URL http://arxiv.org/abs/1908.08031.arXiv:1908.08031 [cs].
[3] Matthew O’Kelly, Hongrui Zheng, Dhruv Karthik, and Rahul Mangharam. F1TENTH: An Open-source Eval- uation Environment for Continuous Control and Reinforcement Learning. In Proceedings of the NeurIPS 2019 Competition and Demonstration Track, pages 77– 89. PMLR, August 2020. URL https://proceedings.mlr. press/v123/o-kelly20a.html. ISSN: 2640-3498.
