Isaac ROS - NITROS 4.6 missing types

Hello Nvidia,

I have updated Jetson Orin Nano running Jetpack 7.2 from Isaac ROS - NITROS 4.4 to 4.6 and after installing ros-jazzy-isaac-ros-nitros package there are a lot of message type missing. Also downloaded source code from GitHub - NVIDIA-ISAAC-ROS/isaac_ros_nitros: NVIDIA Isaac Transport for ROS package for hardware-acceleration friendly movement of messages · GitHub and same problem in source code.
Some problem details are as follows:

  • Include file “managed_nitros_publisher.hpp” which include “nitros_type_view.hpp” generate error because “nitros_type_view.hpp” is not found anywhere in 4.6. So, we get error compiling.
  • Isaac ROS NITROS Camera Info type is missing (nitros_camera_info.hpp)
  • Isaac ROS NITROS IMU type is also missing (nitros_imu.hpp)
  • nitros_type_view.hpp is also missing

This was working for a long time with Isaac ROS NITROS 4.4 and migrating to 4.6 got me into those problems. The installation of 4.6 was done without error, just followed the documentation letter by letter and it worked perfectly.

Need help to resolve those issues above (missing types). Thank you in advance for your support.

Hello @facruz,

Thanks for reporting this. Starting with Isaac ROS 4.5, the GXF implementation of NITROS was sunset to reduce build and runtime complexity. Isaac ROS 4.6 continues with the GXF-free NITROS implementation.

As part of this transition, the previous NitrosCameraInfo and NitrosImu wrappers are no longer present in the 4.6 source. Please use the standard ROS 2 types sensor_msgs::msg::CameraInfo and sensor_msgs::msg::Imu with regular rclcpp publishers and subscriptions for those topics.
For retained GPU-buffer types such as NitrosImage, NitrosTensorList, and NitrosPointCloud, please use the NITROS type directly with rclcpp::create_publisher() and rclcpp::create_subscription(). You can refer to the Isaac ROS 4.6 Camera Drop node as an example.

We also noticed some inconsistencies in the Isaac ROS 4.6 public headers and documentation. We will check these with our internal team and update the relevant public content as appropriate.

As a workaround, please avoid the Managed NITROS publisher/subscriber wrappers and migrate the node as described above.

Thank you so much vchuang for the quick response and clarification. That was exactly the information I was looking for to update my custom ROS2 3D camera driver with NITROS/CUDA support for zero memory copy. And thank you for the link of the example code on Camera Drop node, that made my date.

Glad to hear that the explanation and Camera Drop example were helpful!
If you have no further questions about the NITROS type migration, we will close this topic for now. If you encounter this issue again or have another question in the future, please feel free to open a new topic with the relevant environment details and logs.