# WheeledLab **Repository Path**: Keithu/WheeledLab ## Basic Information - **Project Name**: WheeledLab - **Description**: 22222222222222222222222 - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-01 - **Last Updated**: 2026-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README fig1 --- # WheeledLab [![IsaacLab](https://img.shields.io/badge/IsaacLab-2.0.2-silver.svg)](https://isaac-sim.github.io/IsaacLab/v2.0.0/) [![IsaacSim](https://img.shields.io/badge/IsaacSim-4.5.0-silver.svg)](https://docs.isaacsim.omniverse.nvidia.com/latest/index.html) [![Python](https://img.shields.io/badge/python-3.10-blue.svg)](https://docs.python.org/3/whatsnew/3.10.html) [![Linux platform](https://img.shields.io/badge/platform-linux--64-orange.svg)](https://releases.ubuntu.com/20.04/) Environments, assets, workflow for open-source mobile robotics, integrated with IsaacLab. [Website](https://uwrobotlearning.github.io/WheeledLab/) | [Paper](https://arxiv.org/abs/2502.07380) ## Installing IsaacLab (~20 min) If you already have Isaac Lab installed, feel free to move directly to installing Wheeled Lab. Though, we recommend at least creating a new Conda environment for Isaac Lab + Wheeled Lab development.
Ubuntu 22.04 ### Setup Conda Environment While this isn't technically necessary, we highly recommend using conda to keep dependencies and packages organized. Conda can be installed [here](https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html). ```bash # Create a conda environment named WL conda create -n WL python=3.10 conda activate WL ``` ### Install Isaac Sim We'll be installing Isaac Sim v4.5.0 here because WheeledLab was developed with 4.5.0 (WheeledLab should still work with v5.1.0). ```bash pip install --upgrade pip pip install 'isaacsim[all,extscache]==4.5.0' --extra-index-url https://pypi.nvidia.com ``` ### Install Isaac Lab ```bash # 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 -i ``` Source: https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/pip_installation.html
Ubuntu 20.04 ### Setup Conda Environment Again, while this isn't technically necessary, we highly recommend using conda to keep dependencies and packages organized. Conda can be installed [here](https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html). ```bash # Create a conda environment named WL conda create -n WL python=3.10 conda activate WL ``` ### Install Isaac Sim 1. Download Isaac Sim from the [Isaac Sim website](https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/download.html). You can also do this in terminal by running: ```bash wget https://download.isaacsim.omniverse.nvidia.com/isaac-sim-standalone-4.5.0-linux-x86_64.zip ``` 2. Unzip the binaries. In this example, we'll be unzipping the contents to the folder `isaacsim`. ```bash # Generally speaking, you want to run "unzip ZIPPED_FOLDER.zip -d DESTINATION_FOLDER" unzip isaac-sim-standalone-4.5.0-linux-x86_64.zip -d isaacsim ``` 3. Let's make sure Isaac Sim was installed correctly. Go into the `isaacsim` and run `./isaac-sim.sh`. ```bash cd isaacsim ./isaac-sim.sh # If you see something like "Isaac Sim Full App is loaded", you should be good to go. ``` 4. Run `source setup_conda_env.sh` in the isaacsim directory. Example: ```bash cd isaacsim source setup_conda_env.sh ``` Note! You **MUST** run `source setup_conda_env.sh` every time you start a new session. ### Install Isaac Lab ```bash # Clone Isaac Lab v2.0.2 git clone --branch v2.0.2 https://github.com/isaac-sim/IsaacLab.git ``` Next, create a symbolic link between the installed Isaac Sim and the Isaac Lab directory. Do so by running the following in the Isaac Lab folder. ```bash cd Isaaclab ln -s ~/PATH/TO/ISAAC/SIM/DIRECTORY _isaac_sim ``` Finally, install Isaac Lab extensions by running the following: ```bash ./isaaclab.sh -i ``` Warning! The IsaacLab install command (`./isaaclab.sh -i`) automatically installs the newest version of NumPy. **The newest version of NumPy is NOT compatible, so you MUST install NumPy v1.x**. You can do so by running `pip install --force-reinstall "numpy<2"`. Source: https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/binaries_installation.html
## Installing WheeledLab (~5 min) ```bash # Activate the conda environment that was created via the IsaacLab setup. conda activate # '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_rl ``` After this, we recommend [Setting Up VSCode](https://github.com/UWRobotLearning/WheeledLab?tab=readme-ov-file#training-quick-start). ## Training Quick Start Training runs can take a couple hours to produce a transferable policy. To start a drifting run: ```bash python source/wheeledlab_rl/scripts/train_rl.py --headless -r RSS_DRIFT_CONFIG ``` To start a elevation run: ```bash python source/wheeledlab_rl/scripts/train_rl.py --headless -r RSS_ELEV_CONFIG ``` To start a visual run: ```bash python source/wheeledlab_rl/scripts/train_rl.py --headless -r RSS_VISUAL_CONFIG ``` Though optional (and free), we strongly advise using [Weights & Biases](https://wandb.ai/site/) (`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](source/wheeledlab_rl/docs/README.md) > [!TIP] > If you encounter an error such as `ModuleNotFoundError: No module named 'isaacsim'`, navigate to the Isaac Sim directory and run `source setup_conda_env.sh`. This script must be executed before starting any training run in Wheeled Lab to ensure the environment is set up correctly. ## Deployment A separate repository is maintained for existing integrations and deployments. See https://github.com/UWRobotLearning/RealLab for code. ### Current Integrations 1. HOUND [1] - https://github.com/UWRobotLearning/RealLab/tree/hound 2. MuSHR [2] - https://github.com/UWRobotLearning/RealLab/tree/mushr 3. F1Tenth [3] - (coming soon) If you have an integration or request for a platform not seen above, please contact us or consider contributing! ## Setting Up VSCode It is a million times harder to develop in IsaacLab without Intellisense. Setting up the vscode workspace is STRONGLY advised. 0. Find where your `IsaacLab` directory currently is. We'll refer to it as `` in this section. Move the VSCode tools to this workspace. ```bash cd cp -r /.vscode/tools ./.vscode/ cp -r /.vscode/*.json ./.vscode/ ``` 1. Change `.vscode/tasks.json` line 11 ```json "command": "${workspaceFolder}/../IsaacLab/isaaclab.sh -p ${workspaceFolder}/.vscode/tools/setup_vscode.py" ``` to ```json "command": "/isaaclab.sh -p ${workspaceFolder}/.vscode/tools/setup_vscode.py" ``` 2. `Ctrl` + `Shift` + `P` to bring up the VSCode command palette. type `Tasks:Run Task` or type until you see it show up and highlight it and press `Enter`. 3. 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. 4. If successful, you should now have `.vscode/{settings.json, launch.json}` in your `` repo and `settings.json` should have a populated list of paths under the `"python.analysis.extraPaths"` key. 5. Make sure you at least have Microsoft's Python extension installed for intellisense to work. ### If it still doesn't 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: ```json "/source/isaaclab", "/source/isaaclab_assets", "/source/isaaclab_tasks", "/source/isaaclab_rl", ``` ## References ### This work ``` @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}, } ``` ### Cited [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.