Isaac Launchable offers a simplified approach to trying Isaac Lab and Isaac Sim in a web browser.
Through this project, users can interact with Isaac Sim and Isaac Lab purely from a web browser, with one tab running Visual Studio Code for development and command execution, and another tab providing the streamed user interface for Isaac Sim.
Launchables are provided by NVIDIA Brev, using this repo as a template. Launchables are preconfigured, fully optimized compute and software environments. They allow users to start projects without extensive setup or configuration.
Isaac Lab is built upon Isaac Sim, the NVIDIA simulation framework for robotics. Isaac Sim can both be launched alone, or from the context of Isaac Lab to enable robot learning.
The installation steps for Isaac Lab are automated via Docker, such that it can be used locally, or be deployed on services such as NVIDIA Brev and run with cloud resources.
The project includes:
- a Visual Studio Code container
- Isaac Lab 2.3 container
- Isaac Sim 5.1 container
- an Omniverse Kit App Streaming client, based on the web-viewer-sample project.
This guide will get you started with a Visual Studio Code instance with Isaac Lab preinstalled, and an in-browser user interface provided by Kit App Streaming.
Important
This project is intended for learning purposes. It is not intended for production use.
Note
Please note that Brev instances are pay-by-the hour. To make the best use of credits, stop instances when they are not in use. Stopped instances have a smaller storage charge.
- Click this Deploy Now button ->
- In Brev, click the Deploy Launchable button to spin up the instance.
- Wait for the instance to be fully ready on Brev: running, built, and the setup script has completed (first launch can take a while)
- Open the
Logstab to view the setup script output. At the end of this output, a password will be printed. This is the password for the Visual Studio Code server. Save this somewhere safe. - On the Brev instance page, scroll to the TCP/UDP ports section.
- Click the link for port 80 (HTTP) to open Visual Studio Code Server.
- Enter the password from the Logs tab in step 4.
- Inside Visual Studio Code, continue with the README.md instructions. A summary is provided below.
- Now you're in the Visual Studio Code dev environment!
In short, the commands to run Isaac Lab and Isaac Sim are similar to workstation installs, except when you need the UI. Then we add a few arguments for streaming to the normal commands.
The top-level README.md file in the dev environment contains a shortened version of the instructions below.
- Run the following command:
/isaac-sim/runheadless.sh
Note how this is similar to the workstation command for launching Isaac Sim, but uses additional arguments for streaming.
- Wait for application to be ready. Look for the
app readymessage in the console. - Open a new browser tab to view the UI.
- In this tab, paste the same address as the Visual Studio Code server, changing the end of the URL to:
/viewer
- Example: if VSCode is at
ec2.something.amazonaws.com, then the Isaac Sim UI can be accessed atec2.something.amazonaws.com/viewer
- After a few seconds you should see the UI in the viewer tab. The first launch may take much longer as shaders are cached.
- On subsequent relaunches, simply refresh this tab to see the UI.
To run an Isaac Lab command, first consider if it requires the UI. If it doesn't, such as during policy training, simply run the command as normal.
If you need to see the Isaac Sim UI, just append these additional arguments to the Isaac Lab command: --livestream 2.
Let's try out the Ant walking task as a demo. We chose this task because it trains quickly.
- Run this command to begin headless training without a viewport:
python isaaclab/scripts/reinforcement_learning/skrl/train.py --task=Isaac-Ant-v0 --headless
This is essentially the same command you would run for a workstation install of Isaac Lab.
- Once the training script is complete, test the policy behavior by running:
python isaaclab/scripts/reinforcement_learning/skrl/play.py --task=Isaac-Ant-v0 --livestream 2"
This will launch Isaac Sim. Note how we added the --kit_args since we'll want to view the behavior using the Isaac Sim viewport.
- Wait for application to be ready.
- Look for a message saying
Simulation App Startup Completein the console.
- Open a new tab in your browser, if you don't have a viewer tab yet.
- Example: if VSCode is hosted at
ec2.something.amazonaws.com, then the Isaac Sim UI can be accessed atec2.something.amazonaws.com/viewer- note the/vieweraddition.
Note
If you already have a viewer tab open, simply refresh it when the app is ready.
- Wait a few seconds for the stream to start. The first launch may take much longer as shaders are cached.
- To stop the process, press CTRL+C in the terminal.
Important
This setup is only intended to be used with one viewer instance. Please only keep one viewer tab open at a time for best results.
If you're new to Isaac Lab, here are some ideas to try:
- Run the Showroom Demos from Isaac Lab.
- Take the introductory Isaac Lab courses: "Train Your First Robot With Isaac Lab" and "Train your Second Robot With Isaac Lab" available here
- Explore the Isaac Lab Walkthrough
If you'd like a Launchable with more compute, or other custom features, you can fork this repo and / or use this repo but configure a custom Launchable for your projects.
These instructions describe how to create a customized Launchable, similar to the one linked at the beginning of this guide.
- Log in to the Brev website.
- Go to the Launchables category.
- Click the Create Launchable button.
- Choose the "I don't have any code files" option.
- Choose VM Mode - Basic VM with Python installed, then click Next.
- On the next page, add a setup script. Under the Paste Script tab, add this code:
#!/bin/bash
export VSCODE_PASSWORD=your_password # replace with a secure password or generate it securely
git clone https://github.com/isaac-sim/isaac-launchable
cd isaac-launchable/isaac-lab
docker compose up -d- The VSCode container expects a password to be set via the $VSCODE_PASSWORD environment variable. Add the following environment variable to the setup script. Replace
your_passwordwith your desired password, or generate it securely.
export VSCODE_PASSWORD=your_password- Click Next.
- Under "Do you want a Jupyter Notebook experience" select "No, I don't want Jupyter".
- Select the TCP/UDP ports tab.
- Expose the following ports (for Visual Studio Code Server and Kit App Streaming) to a specific public IP address that will be using this service.
80
1024
47998
49100
- Click Next.
- Choose your desired compute.
Note
GPUs with RT cores are required for Kit App Streaming. The compute specs and driver versions provided also need to be compatible with Isaac Sim. The available drivers are not exposed on this Brev page currently.
Important
The project is not currently compatible with Crusoe instances. AWS has been tested and is used for the example launchable.
- Choose disk storage, then click Next.
- Enter a name, then select Create Launchable
Congratulations! You now have a custom launchable.
This project can also be used to run a containerized version of Isaac Sim and Isaac Lab.
To use this project locally, you'll need a workstation that meets Isaac Sim's requirements.
- Install the NVIDIA Container Toolkit:
sudo install nvidia-container-toolkit - Inside this docker-compose file, change the
ENV=brevline toENV=localhost. - Inside the folder
isaac-lab, rundocker compose up -d. - Access the VSCode instance via
localhost.
If you run into issues or can't make the web viewer connect, the first thing to check is that all containers are running.
If using Brev, view your GPU Instance page and find the command to open a terminal on your instance.
Once you have a terminal to the instance running the containers, run docker ps and note if the following containers are running:
- isaac-lab-nginx
- isaac-lab-vscode
- isaac-lab-viewer
To restart the containers:
- From the terminal connected to your Brev instance, run
docker compose down - Now run
docker compose up -d - Confirm containers mentioned above are all running using
docker ps
By clicking the "Deploy Launchable" button, you agree to the NVIDIA Isaac Sim Additional Software and Materials License Agreement found here https://www.nvidia.com/en-us/agreements/enterprise-software/isaac-sim-additional-software-and-materials-license/.
