Isaac ROS Nova
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.
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 |
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 |
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 |