Tested on Isaac Sim 2023.1.0 and Isaac Sim 2023.1.1
Workstation:
- Internet connection
- x86/64 machine
- Install Ubuntu 22.04
- Install ROS2 Humble
- NVIDIA Graphic card with RTX
- Display
- Keyboard and Mouse
NVIDIA Jetson:
- NVIDIA Jetson Orin Nano
- Jetpack 5.1.2
Tools:
- Router
- eth cables
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 Orin Nano with a lan cable and not use WiFi.
Follow the Isaac Sim 2023 official documentation and check or install ROS2 Humble on your desktop Running native ROS.
In quick steps:
- Download ROS 2 following the instructions on the official website: ROS 2 Humble Ubuntu 22.04
- Source the ROS environment in the terminal. You must perform this step each time before using any ROS commands.
source /opt/ros/humble/setup.bash
Install vision_msgs_package
- Install vision msgs package
sudo apt install ros-humble-vision-msgs
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 2023.1.1 version
Clone this repository
git clone https://github.com/NVIDIA-AI-IOT/husky_demo.git
cd husky_demo
Run this script that is also the installer for your workstation on all tools
./husky_demo.sh
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:
Clone this repository
git clone https://github.com/NVIDIA-AI-IOT/husky_demo.git
cd husky_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 and run script
./husky_demo.sh
Now you can run your Husky demo, but you need to follow the steps below
On the second terminal run, like the message appeared
ros2 launch husky_isaac_sim robot_display.launch.py
This script will load husky on Isaac Sim and open rviz on your terminal
If you want, you can redock manually all viewports and obtain something like that
If everthing went well from the installation, you can run the command below
bash src/husky_isaac_sim/scripts/run_in_docker.sh
now you will see husky mapping on your rviz
There are several options:
- Drive by keyboard
- Drive by joystick
- Drive with Nav2
Follow below all options
Open a new terminal and run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
if this package is not available, install
sudo apt install ros-humble-teleop-twist-keyboard
Open a new terminal and run
ros2 run teleop_twist_joy teleop_twist_joy
if this package is not available, install
sudo apt install ros-humble-teleop-twist-joy
You can simply use rviz2 and press "Goal to pose" to select a new goal for Husky to achieve.
If you want to change Isaac Sim version on this demo you can simply do:
- Open
husky_demo.sh
file - On line 33 change
ISAAC_SIM_VERSION
variable with your current version and write:isaac_sim-<VERSION>
If you don't know which version you have installed on your workstation open the library on the Isaac Sim page you will find below the button "launch" your current version installed