If you don’t know yet, NVIDIA Isaac Sim, powered by Omniverse, is a scalable robotics simulation application and synthetic data generation tool that powers photorealistic, physically-accurate virtual environments to develop, test, and manage AI-based robots.
I have recently started studying this software and i will share my progress with Isaac on this site. I decided to use the Agilex Scout V2 robot and for this, I imported his original URDF after making minor changes. In this tutorial, I will teach you how to install Isaac Sim and simulate the Scout V2 using ROS2 Foxy.
PS: This tutorial has been tested on a Ubuntu 20.04 machine, don’t forget to check the minimum requirements to run Isaac Sim and install the correct NVIDIA drivers for your GPU (about this, I’m using the newest R515 driver and Cuda 11.7).
Demonstration
Installing ROS2 Foxy and Isaac Sim
Just follow the instructions contained in these links below:
- ROS2 Foxy installation
- Isaac Sim installation
- Don’t forget to solve this issue with Isaac Sim Assets.
After installation, you need permanently disable ros_bridge and set ros2_bridge by default
Open the file
1
$ cd ~/.local/share/ov/pkg/isaac_sim-2021.2.1/apps/ && gedit omni.isaac.sim.base.kit
And at the line 313, replace "omni.isaac.ros_bridge" = {}
with "omni.isaac.ros2_bridge" = {}
.
This is the config file used whenever you start isaac-sim.sh and you can change the startup defaults here.
Download my repository for Scout V2
1
$ git clone https://github.com/leonlime/scout_v2_isaac.git
Running the simulation
Always before opening Isaac Sim, the first thing to do is start a terminal and source your native ROS2
1
$ source /opt/ros/foxy/setup.bash
After this, you can open the Omniverse Launcher
and launch Isaac sim. If everything is working correctly you will see this screen
On the taskbar click on File
, Open
and navigate to the repository folder, find and open the file named scout_v2_simulation.usd
inside the Isaac_models
folder. This time, if everything is working correctly you will see…
Navigating using teleop
Inside Isaac Sim, just click on the play
button on the left side to start the simulation and go back to the terminal where you used the source
command, you can use ros2 topic list
to check if all things are ok. The result must be like this
1
2
3
4
5
6
$ ros2 topic list
/cmd_vel
/odom
/parameter_events
/rosout
/tf
To navigate, use the teleop twist command
1
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
And that’s all!
Thanks to use this tutorial and don’t forget, if something is wrong you can contact me on my e-mail or Github account.