Isaac ROS NITROS
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_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.
Quickstarts
Packages
Supported Platforms
This package is designed and tested to be compatible with ROS 2 Humble running on Jetson or an x86_64 system with an NVIDIA GPU.
Note
Versions of ROS 2 other than Humble are not supported. This package depends on specific ROS 2 implementation features that were introduced beginning with the Humble release. ROS 2 versions after Humble have not yet been tested.
Platform |
Hardware |
Software |
Notes |
---|---|---|---|
Jetson |
For best performance, ensure that power settings are configured appropriately. Jetson Orin Nano 4GB may not have enough memory to run many of the Isaac ROS packages and is not recommended. |
||
x86_64 |
|
Docker
To simplify development, we strongly recommend leveraging the Isaac ROS Dev Docker images by following these steps. This will streamline 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 Docker images as a prerequisite.
Customize your Dev Environment
To customize your development environment, reference this guide.
Updates
Date |
Changes |
---|---|
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 |