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.

  1. Install Isaac Sim, choosing the appropriate working environment:

    Note

    This tutorial assumes the Native environment for Isaac Sim.

  2. 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.

  3. Follow the instructions to launch Isaac Sim App Selector window. Click “Open in Terminal”.

    https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/getting_started/isaac_main_app_selector.png/

    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.

  4. If you don’t have a system level ROS 2 install, follow the steps outlined here under ROS2 -> Humble.

    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>
    
  5. Launch Isaac Sim.

    ./isaac-sim.sh
    
  6. Open Isaac ROS Sample scene as shown below.

    https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/getting_started/isaac_ros_sample_scene.png/
  7. 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.