Table of Contents
Fetching ...

nvblox: GPU-Accelerated Incremental Signed Distance Field Mapping

Alexander Millane, Helen Oleynikova, Emilie Wirbel, Remo Steiner, Vikram Ramasamy, David Tingdahl, Roland Siegwart

TL;DR

Nvblox delivers a significant performance improvement over the state of the art, achieving up to a 177× speed-up in surface reconstruction, and up to a 31× improvement in distance field computation, and is available open-source 1.0.

Abstract

Dense, volumetric maps are essential to enable robot navigation and interaction with the environment. To achieve low latency, dense maps are typically computed onboard the robot, often on computationally constrained hardware. Previous works leave a gap between CPU-based systems for robotic mapping which, due to computation constraints, limit map resolution or scale, and GPU-based reconstruction systems which omit features that are critical to robotic path planning, such as computation of the Euclidean Signed Distance Field (ESDF). We introduce a library, nvblox, that aims to fill this gap, by GPU-accelerating robotic volumetric mapping. Nvblox delivers a significant performance improvement over the state of the art, achieving up to a 177x speed-up in surface reconstruction, and up to a 31x improvement in distance field computation, and is available open-source.

nvblox: GPU-Accelerated Incremental Signed Distance Field Mapping

TL;DR

Nvblox delivers a significant performance improvement over the state of the art, achieving up to a 177× speed-up in surface reconstruction, and up to a 31× improvement in distance field computation, and is available open-source 1.0.

Abstract

Dense, volumetric maps are essential to enable robot navigation and interaction with the environment. To achieve low latency, dense maps are typically computed onboard the robot, often on computationally constrained hardware. Previous works leave a gap between CPU-based systems for robotic mapping which, due to computation constraints, limit map resolution or scale, and GPU-based reconstruction systems which omit features that are critical to robotic path planning, such as computation of the Euclidean Signed Distance Field (ESDF). We introduce a library, nvblox, that aims to fill this gap, by GPU-accelerating robotic volumetric mapping. Nvblox delivers a significant performance improvement over the state of the art, achieving up to a 177x speed-up in surface reconstruction, and up to a 31x improvement in distance field computation, and is available open-source.
Paper Structure (14 sections, 3 equations, 8 figures, 3 tables)

This paper contains 14 sections, 3 equations, 8 figures, 3 tables.

Figures (8)

  • Figure 1: An example of an nvblox reconstruction in an office environment (left) compared to a photo of the mapped scene (right). The reconstruction is built in real-time from a handheld Intel RealSense Depth Camera D455. It shows the mesh and a slice through the distance field. All operations to build this reconstruction are performed in real-time on an embedded GPU.
  • Figure 2: The system architecture of nvblox, configured for TSDF mapping from an RGB-D camera sensor. The reconstructed map (called a LayerCake) is composed of co-located and aligned 3D voxel grids. Input depth-maps and color images are integrated into the TSDF and Color voxel layers, from which voxel grids containing the ESDF and a mesh reconstruction are derived. See Sec. \ref{['sec:system_architecture']} for details.
  • Figure 3: Overall flow of the incremental ESDF computation on the GPU. The algorithm does as much of the update in parallel as possible, iteratively identifying blocks that need to be updated, and then running kernels on all blocks in parallel.
  • Figure 4: "Sites" are voxels on the surface boundary, and its children are any voxels which are closer to that voxel than any other site. Each child stores its parent direction - the direction that points to the parent site location (only shown for the closest 3 voxels here for clarity).
  • Figure 5: Marking and lowering, shown step-by-step on an image, for simplicity on 2D occupancy (rather than 3D TSDF). Here we start with a previous map shown in \ref{['fig:cats_previous']} to demonstrate clearing of previously-occupied space. The bold lines represent VoxelBlock boundaries. The general idea of the algorithm is to iteratively compute correct distance values within a VoxelBlock, and then communicate distance information across VoxelBlock boundaries to neighbors.
  • ...and 3 more figures