Isaac Sim Setup
Isaac Sim is NVIDIA’s robotics simulation platform powered by Omniverse.
Isaac Sim can be used to run and test the ROS2 applications. There are two ways we can configure the system.
Software in the Loop
Hardware in the Loop
Software in the Loop (SIL) refers to a configuration where the software being tested is not running on the target hardware platform. For example, Isaac ROS packages being tested on x86 before deployment on a Jetson device is SIL.
Hardware in the Loop (HIL) refers to a configuration where the software is being tested on the target hardware platform. For example, Isaac ROS packages being tested on a Jetson device before deployment is HIL.
In both the configurations, Isaac Sim always runs on a x86_64
machine providing sensor data and world information.
Install Isaac Sim, choosing the appropriate working environment:
Note
This tutorial assumes the Native environment for Isaac Sim.
Follow the Running Native ROS instructions to ensure that ROS 2 and the required packages are installed to successfully enable the ROS 2 Bridge in Omniverse Isaac Sim.
Follow the instructions to launch Isaac Sim App Selector window. Click “Open in Terminal”.
Note
Due to a known issue in Isaac Sim 4.1, please run the following command once in the terminal to ensure proper functionality.
sed -i "s/frameId=db.inputs.topicName/frameId=db.inputs.frameId/g" exts/omni.isaac.ros2_bridge/omni/isaac/ros2_bridge/ogn/python/nodes/OgnROS2CameraInfoHelper.py
If you ever re-install Isaac Sim 4.1, you will need to run this command again. This bug will be fixed in a future Isaac Sim release.
If you don’t have a system level ROS 2 install, follow the steps outlined here under
ROS2 -> Humble
.If you have a system level ROS 2 install, click Open in Terminal button. It should open a terminal window and then follow the steps outlined here under
ROS2 -> Ubuntu 22.04 -> Humble
. Ensure your ROS 2 install is sourced before proceeding.Optionally, if
ROS_DOMAIN_ID
is needed to create a separate logical network, run the the following commands.export ROS_DOMAIN_ID=<your_domain_id>
Launch Isaac Sim.
./isaac-sim.sh
Open Isaac ROS Sample scene as shown below.
Continue with the next steps in your specific Isaac ROS package tutorial.
Note
Make sure to set the
ROS_DOMAIN_ID
environment variable (if set earlier) before running the sample application.