Skip to content

Isaac ROS

GitHub code

Note: This is a work in progress. Currently only the base Isaac ROS is installed. Running examples requires additional dependencies that are not yet included in this setup.

Isaac ROS 3.2. (Not installed by default.)

Depends on:

  • ROS 2 Humble
  • CUDA Toolkit 12.6

Including:

  • VPI

To enable Isaac ROS, set the ISAAC_ROS argument to YES and the CUDA_TOOLKIT_VERSION argument to 12.6 in the compose.yaml file of your desired workspace (e.g., template_ws/docker/compose.yaml). After making these changes, rebuild the Docker image.

Note that most packages are not installed by default to save disk space. Feel free to open an issue for requesting more packages to be installed along with Isaac ROS.

Setup

On host:

  1. Edit ~/template_ws/docker/compose.yaml to set CUDA_TOOLKIT_VERSION: "12.6" and ISAAC_ROS: "YES".
  2. Re-build the docker image with docker compose build.

The remaining steps should all be executed within the docker container.

Install Isaac ROS Examples package (optional):

sudo apt-get install -y ros-humble-isaac-ros-examples

Start Simulation Environment (Isaac Sim)

Apply the CUDA workaround and launch Isaac Sim:

# Workaround for CUDA error
export LD_LIBRARY_PATH=/home/user/isaacsim/extscache/omni.sensors.nv.common-2.5.0-coreapi+lx64.r.cp310/bin:$LD_LIBRARY_PATH
~/isaacsim/isaac-sim.sh
  • For AprilTag and Visual SLAM:

    Click Window > Examples > Robotics Examples. In the Robotics Examples window, select ROS2 > Isaac ROS > Sample Scene and click Load Sample Scene. After the scene loaded, click the Play button to start the simulation.

  • For Nvblox:

    Click Isaac Sim Assets [Beta] > SAMPLES, search for nvblox_sample_scene.usd, select it and click Open File. After the scene loaded, click the Play button to start the simulation. If a warning message appears, click OK to allow script execution.

Open another terminal and exec into the docker container. Then, follow one of the tutorials below.

Isaac ROS AprilTag

Follow the Quickstart and Isaac Sim tutorials.

Install Isaac ROS AprilTag package:

sudo apt-get install -y ros-humble-isaac-ros-apriltag

Start the pre-composed pipeline:

ros2 launch isaac_ros_apriltag isaac_ros_apriltag_isaac_sim_pipeline.launch.py

In another terminal, launch RViz:

rviz2 -d $(ros2 pkg prefix isaac_ros_apriltag --share)/rviz/default.rviz
# or
ros2 topic echo /tag_detections

For further info, see more tutorials in the official documentation.

Isaac ROS Visual SLAM

Using cuVSLAM under the hood.

Follow the Quickstart and Isaac Sim tutorials.

Install Isaac ROS Visual SLAM package:

sudo apt-get install -y ros-humble-isaac-ros-visual-slam

Start the pre-composed pipeline:

ros2 launch isaac_ros_visual_slam isaac_ros_visual_slam_isaac_sim.launch.py

In another terminal, send the control command to the robot:

ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.2, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.2}}"

Then, launch RViz:

rviz2 -d $(ros2 pkg prefix isaac_ros_visual_slam --share)/rviz/isaac_sim.cfg.rviz
# or
ros2 topic echo /visual_slam/tracking/odometry

For further info, see more tutorials in the official documentation.

Isaac ROS Nvblox

Using Nvblox under the hood.

Follow the Quickstart and Isaac Sim tutorials.

Install Isaac ROS Nvblox package:

sudo apt-get install -y ros-humble-navigation2 ros-humble-nav2-bringup

sudo apt-get install -y ros-humble-isaac-ros-nvblox

Start the pre-composed pipeline:

ros2 launch nvblox_examples_bringup isaac_sim_example.launch.py

Then, click 2D Goal Pose in the RViz window to set the goal pose.

For further info, see more tutorials in the official documentation.