Nvblox

https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_nvblox/nvblox_fpv_mesh.gif/

Nvblox is a library for reconstruction and mapping targeted at robotics applications. It builds a voxel-based map from depth-images and/or 3D LiDAR scans. The library outputs a mesh of the world in real-time and a cost map for use in path planning. The library has been used for navigating Autonomous Mobile Robots (AMRs) and for motion generation for robotic arms. The library is optimized for discrete NVIDIA GPUs and Jetson devices.

Nvblox builds a reconstructed map in the form of a TSDF (Truncated Signed Distance Function) stored in a 3D voxel grid. TSDF-based approaches like nvblox store the (signed) distance to the closest surface at each voxel. The surface of the environment can then be extracted as the zero-level set of this voxelized function. This approach is similar to 3D occupancy grid mapping approaches in which occupancy probabilities are stored at each voxel. Typically, TSDF-based reconstructions provide higher quality surface reconstructions.

Distance fields are useful for path planning. They provide an immediate means of checking potential future robot positions for collisions with the reconstructed environment. nvblox provides for construction of the full (non-truncated) distance field, also known as the ESDF (Euclidean Signed Distance Function).

The dual utility of distance functions for reconstruction and planning motivates their use in nvblox.

For more information on nvblox see Technical Details.

Installation

Get started with the quickstart:

Examples

To get started with nvblox, review the following examples:

Supported Configurations

Nvblox supports input streams from multiple cameras. The following table details the maximum supported number of cameras for various modes of operation.

Maximum Supported of Number of Cameras

Sensor (plus link relevant to tutorial)

Platform

Frequency (per camera)

Static

People Segmentation

People Detection

Dynamics

Hawk

Orin 64GB

30Hz(front) + 15Hz(rest)

3

1

x

3

x86+GPU (rosbag)

30Hz(front) + 15Hz(rest)

3

1

x

3

RealSense

Orin 64GB

30Hz

4

3

4

4

x86+GPU (rosbag)

30Hz

4

3

4

4

x86+GPU (live)

30Hz

1

1

1

1

Orin Nano 8GB/Dev. Kit (live)

30Hz

1

x

x

x

ZED

Orin 64GB

30Hz

1

x

x

x

x86+GPU (rosbag)

30Hz

1

x

x

x

x86+GPU (live)

30Hz

1

x

x

x

Isaac Sim (nvblox)

x86+GPU

20Hz

3

1

x

3

Isaac Sim (perceptor)

x86+GPU

30Hz

3

x

x

x

Repositories and Packages

The Isaac ROS implementations of this technology are available here: