Skip to content

Commit 4217482

Browse files
committed
Add troubleshooting section
Add important notes about compute selection Add note about exposing ports Add more notes about demos, multiple viewer tabs Fix markdown levels, refactor running instructions Add note about credits
1 parent 3fdef8a commit 4217482

File tree

1 file changed

+95
-25
lines changed

1 file changed

+95
-25
lines changed

README.md

Lines changed: 95 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The "Launchable" name refers to [NVIDIA Brev](https://developer.nvidia.com/brev)
66

77
Isaac Lab is built upon Isaac Sim, the NVIDIA simulation application for robotics applications. Isaac Sim can both be launched separately, or from the context of Isaac Lab using the `--sim` flag.
88

9-
### What this project contains
9+
## What this project contains
1010
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.
1111

1212
The project includes:
@@ -17,9 +17,13 @@ The project includes:
1717

1818
Through this project, users can interact with Isaac Sim and Isaac Lab purely from a web browser, with one tab running Visual Studio Code and terminal commands such as headless Isaac Sim instances, and another tab representing the Kit App Streaming and user interface for Isaac Sim.
1919

20-
### Quickstart Guide
20+
## Quickstart Guide
2121
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.
2222

23+
> [!NOTE]
24+
> 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.
25+
26+
### Deploy
2327
1. Click this Deploy Now button
2428
[![ Click here to deploy.](https://brev-assets.s3.us-west-1.amazonaws.com/nv-lb-dark.svg)](https://brev.nvidia.com/launchable/deploy?launchableID=env-31ezDWyp4LvtDQr5rUhAWOUMFhn)
2529
2. Click the Deploy Launchable button to spin up the instance.
@@ -28,38 +32,82 @@ This guide will get you started with a Visual Studio Code instance with Isaac La
2832
5. Click the link for port 80 (HTTP) to open Visual Studio Code Server.
2933
6. The default password is `password`. This can be modified.
3034
7. Inside Visual Studio Code, continue with the [README.md](https://github.com/isaac-sim/isaac-launchable/blob/main/isaac-lab/vscode/README.md) instructions. A summary is provided below.
35+
8. Now you're in the Visual Studio Code dev environment!
36+
37+
### Running Isaac Sim and Isaac Lab - the quick version
38+
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.
39+
40+
The top-level README.md file in the dev environment contains a shortened version of the instructions below.
41+
42+
43+
## Running Isaac Sim - Detailed Guide
44+
45+
1. Run the following command:
46+
```
47+
./isaaclab/_isaac_sim/isaac-sim.sh --no-window --enable omni.kit.livestream.webrtc
48+
```
49+
Note how this is similar to the workstation command for launching Isaac Sim, but uses additional arguments for streaming.
50+
51+
2. Wait for application to be ready. Look for the `app ready` message in the console.
52+
3. Open a new browser tab to view the UI.
53+
4. In this tab, paste the same address as the Visual Studio Code server, changing the end of the URL to: `/viewer`
54+
- Example: if VSCode is at `ec2.something.amazonaws.com`, then the Isaac Sim UI can be accessed at `ec2.something.amazonaws.com/viewer`
55+
5. After a few seconds you should see the UI in the viewer tab.
56+
6. On subsequent relaunches, simply refresh this tab to see the UI.
57+
3158

32-
Once the environment is up, use Isaac Lab as normal. If the Isaac Sim UI is needed (e.g., for policy evaluation), enable streaming as described below.
59+
### Running Isaac Lab Commands - Detailed Guide
60+
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.
3361

34-
To run an Isaac Lab sample:
35-
`./isaaclab/isaaclab.sh -p "isaaclab/scripts/tutorials/00_sim/create_empty.py" --kit_args="--no-window --enable omni.kit.livestream.webrtc"`
62+
If you need to see the Isaac Sim UI, just append these additional arguments to the Isaac Lab command: `--kit_args="--no-window --enable omni.kit.livestream.webrtc"`.
3663

37-
### View the Isaac Sim UI in the browser
38-
To run an Isaac sample:
64+
Let's try out the Ant walking task as a demo. We chose this task because it trains quickly.
3965

40-
1. Add these additional arguments to the Isaac Lab command `--kit_args="--no-window --enable omni.kit.livestream.webrtc"`.
41-
2. Open a new tab in your browser.
42-
3. Visit the same address as the Visual Studio Code server and append: `/viewer`
66+
1. Run this command to begin headless training without a viewport:
67+
```
68+
python isaaclab/scripts/reinforcement_learning/skrl/train.py --task=Isaac-Ant-v0 --headless
69+
```
70+
This is essentially the same command you would run for a workstation install of Isaac Lab.
71+
72+
2. Once the training script is complete, test the policy behavior by running:
73+
```
74+
python isaaclab/scripts/reinforcement_learning/skrl/play.py --task=Isaac-Ant-v0 --kit_args="--no-window --enable omni.kit.livestream.webrtc"
75+
```
76+
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.
77+
78+
3. Wait for application to be ready.
79+
- Look for a message saying `Simulation App Startup Complete` in the console.
80+
81+
4. Open a new tab in your browser, if you don't have a viewer tab yet.
82+
- Example: if VSCode is hosted at `ec2.something.amazonaws.com`, then the Isaac Sim UI can be accessed at `ec2.something.amazonaws.com/viewer` - note the `/viewer` addition.
83+
> [!NOTE]
84+
> If you already have a viewer tab open, simply refresh it when the app is ready.
85+
5. Wait a few seconds for the stream to start.
86+
6. To stop the process, press **CTRL+C** in the terminal.
4387

44-
#### Example:
88+
> [!IMPORTANT]
89+
> 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.
4590
46-
VSCode - `ec2.something.something.amazonaws.com` at port 80
4791

48-
Isaac Sim UI - `ec2.something.something.amazonaws.com/viewer`
92+
### Demos
93+
If you're new to Isaac Lab, here are some ideas to try:
94+
- Run the [Showroom Demos](https://isaac-sim.github.io/IsaacLab/main/source/overview/showroom.html) from Isaac Lab.
95+
- Take the introductory Isaac Lab courses: "Train Your First Robot With Isaac Lab" and "Train your Second Robot With Isaac Lab" available [here](https://www.nvidia.com/en-us/learn/learning-path/robotics/)
96+
- Explore the Isaac Lab [Walkthrough](https://isaac-sim.github.io/IsaacLab/main/source/setup/walkthrough/index.html)
4997

50-
### Running Locally or Creating Your Own Launchable
98+
## Running Locally or Creating Your Own Launchable
5199

52-
The following instructions cover both local usage and creating a custom Brev Launchable based on this project.
100+
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.
53101

54102
#### Configuring a Custom Brev Launchable
55103

56-
These instructions are how you create a Launchable as linked at the beginning of this README. You can also fork this repo to customize the containers for your own projects and use cases.
104+
These instructions describe how to create a customized Launchable, similar to the one linked at the beginning of this guide.
57105

58106
1. Log in to the [Brev](https://login.brev.nvidia.com/signin) website.
59107
2. Go to the Launchables category.
60108
3. Click the **Create Launchable** button.
61109
4. Choose the "I don't have any code files" option.
62-
5. Choose "VM Mode - Basic VM with Python installed", then click Next.
110+
5. Choose **VM Mode - Basic VM with Python installed**, then click Next.
63111
6. On the next page, add a setup script. Under the *Paste Script* tab, add this code:
64112
```bash
65113
#!/bin/bash
@@ -70,31 +118,53 @@ docker compose up -d
70118
7. Click Next.
71119
8. Under "Do you want a Jupyter Notebook experience" select "No, I don't want Jupyter".
72120
9. Select the TCP/UDP ports tab.
73-
10. Expose the following ports (for Visual Studio Code Server and Kit App Streaming):
121+
10. Expose the following ports (for Visual Studio Code Server and Kit App Streaming). You can choose to limit these ports to be accessible only from certain IPs as well.
74122
```
75123
80
76124
1024
77125
47998
78126
49100
79127
```
80128
11. Click Next.
81-
12. Choose your desired compute.
82-
Note: GPUs with RT cores are required for Kit App Streaming. The specs and drivers versions provided will also need to be compatible with [Isaac Sim](https://docs.isaacsim.omniverse.nvidia.com/5.0.0/installation/requirements.html). Unfortunately the available drivers are not exposed on this page currently.
129+
12. Choose your desired compute.
130+
131+
> [!NOTE]
132+
> GPUs with RT cores are required for Kit App Streaming.
133+
> The compute specs and driver versions provided also need to be compatible with [Isaac Sim](https://docs.isaacsim.omniverse.nvidia.com/5.0.0/installation/requirements.html). The available drivers are not exposed on this Brev page currently.
134+
135+
> [!IMPORTANT]
136+
> The project is not currently compatible with Crusoe instances. AWS has been tested and is used for the example launchable.
83137
13. Choose disk storage, then click Next.
84138
14. Enter a name, then select **Create Launchable**
85139

86140
Congratulations! You now have a custom launchable.
87141

88-
#### Launching locally
142+
## Using This Project Locally
89143

90144
This project can also be used to run a containerized version of Isaac Sim and Isaac Lab.
91145

92-
To use this project locally, you'll need a workstation that meets Isaac Sim's requirements.
146+
To use this project locally, you'll need a workstation that meets [Isaac Sim](https://docs.isaacsim.omniverse.nvidia.com/5.0.0/installation/requirements.html)'s requirements.
147+
148+
149+
1. Install the NVIDIA Container Toolkit: `sudo install nvidia-container-toolkit`
150+
2. Inside [this docker-compose file](https://github.com/isaac-sim/isaac-launchable/blob/main/isaac-lab/docker-compose.yml), change the `ENV=brev` line to `ENV=localhost`.
151+
3. Inside the folder `isaac-lab`, run `docker compose up -d`.
152+
4. Access the VSCode instance via `localhost`.
153+
154+
## Troubleshooting
155+
If you run into issues or can't make the web viewer connect, the first thing to check is that all containers are running.
156+
If using Brev, view your GPU Instance page and find the command to open a terminal on your instance.
157+
Once you have a terminal to the instance running the containers, run `docker ps` and note if the following containers are running:
158+
- isaac-lab-nginx
159+
- isaac-lab-vscode
160+
- isaac-lab-viewer
93161

94-
#### Starting the stack
162+
To restart the containers:
163+
1. From the terminal connected to your Brev instance, run `docker compose down`
164+
2. Now run `docker compose up -d`
165+
3. Confirm containers mentioned above are all running using `docker ps`
95166

96-
Simply run `docker compose up -d` using this file: `isaac-lab/docker-compose.yml`.
97167

98168
## Licensing Terms
99169

100-
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/.
170+
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/.

0 commit comments

Comments
 (0)