Isaac ROS Nova

https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_nova/Nova_Carter_Isaac_KV_540p_01_v002_DM.png/

Overview

Isaac ROS Nova provides a set of optimized packages and tools to interface with the Nova sensor suite. These packages integrate with hardware timestamp synchronization on Jetson Orin platforms to enable high-quality sensor fusion. Sensor data streams through Isaac ROS graphs using NITROS for NVIDIA-accelerated processing.

Note

Isaac ROS Nova requires having run nova-orin-init here on your compute node before using any of the included packages.

Quickstart

It is recommended to use Nova through the Isaac ROS Nova meta-package. This package will launch all the sensor drivers for your defined Nova system. Guidelines and instructions on its use can be found here.

Multi-camera ROS performance

Autonomy in robotics requires perception around a robot. AI based perception functions depend on time synchronized acquisition of sensor data for an understanding of the robot and its environment to plan the robots actions to perform its task.

Nova provides simultaneous start of image capture on multiple cameras to simplify perception functions, as objects and the environment are in a coherent capture at the same time across all cameras; this avoids the complexity of compensating for motion of the robot, and moving objects when cameras capture independently.

Image above contains a composite of 8 camera image captures from four Hawk cameras with Nova Orin, time synchronized as observed by the external high precision LED visual timer.

Performance of simultaneous image capture is measured as the jitter between start of frame across all cameras in the system, using hardware timestamps, and verified with an independent high speed precision LED timer. Nova measures a typical jitter on start of frame across all cameras to less than ±20 us (microseconds). Any jitter higher than ±100 us is considered not synchronized and a failure. Failure rates are measured over a specific time interval, using Sigma Levels.

Mode

1x Hawk

2x Hawk

3x Hawk

4x Hawk

4x Owl

4x Hawk + 4x Owl

1900x1200 color RGGB @ 30fps

6-sigma+ [Note]

6-sigma+ [Note]

6-sigma+ [Note]

6-sigma

6-sigma+ [Note]

1-sigma

megapixels / second

132

264

396

527

264

791

[Note] (1,2,3,4)

For entries labeled 6-sigma+, no drops were detected during the 8 hour test recordings.

This table shows the sigma-levels and megapixel processing rates for multi-camera system in ROS 2 with a data recording application, which includes image capture, image processing, auto exposure adjustments, image compression to H.264, and writes to NvME disk with Nova Orin for 8 hours. isaac_ros_data_validation is used to verify the recording as written to disk. Validation confirms there are no frame drops, de-synchronization or image capture jitter greater than ±100 us. The scene includes a strobe light, which induces auto exposure updates, and a high precision LED timer to verify ground truth synchronization.

Isaac ROS NITROS Acceleration

This package is powered by NVIDIA Isaac Transport for ROS (NITROS), which leverages type adaptation and negotiation to optimize message formats and dramatically accelerate communication between participating nodes.

Packages

Supported Platforms

The packages in this repository are only tested to work on the Isaac Nova Orin platform based on Jetson AGX Orin

Run Nova Orin Init to enable running configurations of the Nova Orin sensor suite correctly.

Platform

Hardware

Software

Notes

Jetson

Jetson Orin

JetPack 6.0

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

Updates

Date

Changes

2024-12-10

Added ground calibration support

2024-09-26

Update for Isaac ROS 3.1

2024-05-30

Introduced Data Recorder and other utilities

2023-10-18

Initial release