Repository Summary
Description | Set of demo to try Isaac ROS with Isaac SIM |
Checkout URI | https://github.com/nvidia-ai-iot/isaac_demo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-08-19 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
carter_description | 0.1.0 |
isaac_demo | 0.1.0 |
README
isaac_demo
A combined set of demo working with Isaac SIM on a workstation and Isaac ROS on a NVIDIA Jetson AGX Orin
Hardware required
Workstation:
- Internet connection
- x86/64 machine
- Install Ubuntu 20.04
- NVIDIA Graphic card with RTX
- Display
- Keyboard and Mouse
NVIDIA Jetson:
- NVIDIA Jetson AGX Orin
- Jetpack 5.1.2
Tools:
- Router
- eth cables
Setup hardware
Before to start check you have all requirements and connect the driver following this image
It is preferable to connect workstation and the NVIDIA Jetson AGX Orin with a lan cable and not use WiFi.
Install
There are two steps to follow, Install FoxGlove and Install Isaac ROS
Follow:
- Install on Jetson
- Install on workstation
Install on NVIDIA Jetson Orin
Install on your NVIDIA Jetson Orin Jetpack 5+
After installation save IP address and hostname
Connect remotely
In this section you connect to your NVIDIA Jetson with a ssh connection, open a terminal an write
ssh <IP or hostname.local>
where IP is the of NVIDIA Jetson or hostname is the hostname of your board.
If you are connected the output from the terminal is:
Install Isaac Demo
Clone this repository and move to repository folder
git clone https://github.com/rbonghi/isaac_demo.git
cd isaac_demo
Add docker group to your user
sudo usermod -aG docker $USER && newgrp docker
Set the default nvidia runtime
You’re going to be building containers, you need to set Docker’s default-runtime
to nvidia
, so that the NVCC compiler and GPU are available during docker build
operations. Add "default-runtime": "nvidia"
to your /etc/docker/daemon.json
configuration file before attempting to build the containers:
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
Then restart the Docker service, or reboot your system before proceeding:
sudo systemctl restart docker
Run the installer
./isaac_demo.sh
If everything is going well (need time before to be done) the terminal will show this output
Install on workstation
In this first part, you install different software on your workstation.
- NVIDIA Isaac SIM
- Foxglove
- This repository
NVIDIA Isaac SIM
Follow the documentation on NVIDIA Isaac SIM Workstation install
- Download the Omniverse Launcher
- Install Omniverse Launcher
- Install Cache from the Omniverse Launcher
- Install Nucleus from the Omniverse Launcher
Open Omniverse Launcher
Move to Library and choice “Omniverse Isaac SIM” and download the latest 2022.2 version
Foxglove on Desktop
Download the latest foxglove version for your desktop
sudo apt install ./foxglove-studio-*.deb
sudo apt update
sudo apt install -y foxglove-studio
Isaac SIM and Isaac DEMO
Clone this repository and move to repository folder
git clone https://github.com/rbonghi/isaac_demo.git
cd isaac_demo
Now follow the Run demo to start the simulation
Run demo
From your workstation now you need to do two extra steps
Start Isaac SIM
Start the NVIDIA Isaac SIM from script
Open a terminal on your workstation and write
cd isaac_demo
./isaac_demo.sh
Now this script initialize and run NVIDIA Isaac SIM, after a while you see a new window with Isaac SIM running
After this step you can complete to run the demo on your NVIDIA Jetson.
Run simulation on Jetson
If you close your terminal on the installation, you can reopen with:
ssh <IP or hostname.local>
where IP is the of NVIDIA Jetson or hostname is the hostname of your board.
and run
cd isaac_demo
./isaac_demo.sh
Wait this script run the docker terminal, like the image below
Now you can run the script below
bash src/isaac_demo/scripts/run_in_docker.sh
if you are planning to use Foxglove please run the same script with option --foxglove
bash src/isaac_demo/scripts/run_in_docker.sh --foxglove
Well done! Now the Isaac ROS is running on your Jetson
Setup foxglove
- Open foxglove
- Set up Open connection
- Select Foxglove WebSocket and Open
- Write on WebSocket URL
ws://<IP or hostname.local>:8765
where IP is the of NVIDIA Jetson or hostname is the hostname of your board.
- Setup Layout
Press on “Import layout” icon and after on top press the button Import layout
Select the layout on: isaac_demo/foxglove/Default.json
- Output running
You can drive the robot directly from the foxglove joystick
Troubleshooting
If Isaac SIM on your workstation show this message
just wait! :-)