Isaac ROS NITROS#

https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.0/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_nitros/image5-1.gif/

Overview#

Isaac ROS NITROS contains NVIDIA’s implementation of type adaptation and negotiation in ROS 2. To learn more about NITROS, see here.

Isaac ROS NITROS is composed of a number of individual packages, each with either a functional or structural purpose:

isaac_ros_gxf:

This package serves as a container for precompiled GXF extensions used by other Isaac ROS packages. While a number of GXF extensions used by Isaac ROS are provided with source, the extensions contained in isaac_ros_gxf are license constrained and are thus shipped as .so binaries.

isaac_ros_managed_nitros:

This package contains the wrapper classes that enable developers to add NITROS-compatible publishers and subscribers to third-party CUDA-based ROS nodes. For more information about CUDA with NITROS, see here.

isaac_ros_nitros:

This package contains the base NitrosNode class and associated core utilities that serve as the foundation for all NITROS-based ROS nodes.

isaac_ros_nitros_bridge:

This folder contains the implementation of the NITROS Bridge for inter-process communication.

isaac_ros_nitros_interfaces:

This package contains the definitions of the custom ROS 2 interfaces that facilitate type negotiation between NITROS nodes.

isaac_ros_nitros_topic_tools:

This folder contains a NITROS based implementation of some of the nodes in the topic_tools package.

isaac_ros_nitros_type:

This folder contains a number of packages, each defining a specific NITROS type and the associated type adaptation logic to convert to and from a standard ROS type.

isaac_ros_pynitros:

This folder contains the implementation of Python NITROS.

Quickstarts#

Packages#

Supported Platforms#

This package is designed and tested to be compatible with ROS 2 Jazzy running on Jetson or an x86_64 system with an NVIDIA GPU.

Platform

Hardware

Software

Storage

Notes

Jetson

Jetson Thor

JetPack 7.0

128+ GB NVMe SSD

For best performance, ensure that power settings are configured appropriately.

x86_64

Ampere or higher NVIDIA GPU Architecture with 8 GB RAM or higher

Ubuntu 24.04

32+ GB disk space available

Isaac ROS Environment#

To simplify development, we strongly recommend leveraging the Isaac ROS CLI by following these steps. This streamlines your development environment setup with the correct versions of dependencies on both Jetson and x86_64 platforms.

Note

All Isaac ROS Quickstarts, tutorials, and examples have been designed with the Isaac ROS CLI-managed environment as a prerequisite.

Customize your Dev Environment#

To customize your development environment, refer to this guide.

Updates#

Date

Changes

2025-10-24

Add support for CUDA streams in type adaptation

2024-12-10

Update to be compatible with JetPack 6.1

2024-09-26

Update for Isaac ROS 3.1

2024-05-30

Add support for NITROS message filters

2023-10-18

Introducing CUDA with NITROS

2023-05-25

CPU usage optimizations

2023-04-05

Update to be compatible with JetPack 5.1.1

2022-10-19

Minor updates and bugfixes

2022-08-31

Update to be compatible with JetPack 5.0.2

2022-06-30

Initial release