nvblox  by nvidia-isaac

GPU SDF library for robots with RGB-D cameras

created 3 years ago
874 stars

Top 42.0% on sourcepulse

GitHubView on GitHub
Project Summary

nvblox is a C++ library for GPU-accelerated Signed Distance Field (SDF) mapping, designed for robots equipped with RGB-D cameras. It offers efficient TSDF and ESDF construction, occupancy mapping, and meshing, targeting robotics researchers and developers who need high-performance 3D reconstruction for tasks like path planning and real-time mapping on embedded systems.

How It Works

nvblox leverages GPU acceleration for its core mapping algorithms, including incremental TSDF and ESDF construction. This approach significantly outperforms CPU-based methods like its predecessors voxblox and voxgraph, enabling higher map resolutions and faster processing. The library is designed with extensibility in mind, allowing for custom voxel types and providing a C++ interface for integration into larger projects.

Quick Start & Requirements

  • Installation: Docker is the recommended method. A native installation is also supported.
  • Prerequisites: Ubuntu (tested on 20.04), CUDA 11.0 - 12.6, git, jq, gnupg, apt-utils, software-properties-common, build-essential, python3-pip, wget, git-lfs. CMake 3.22.1 is required and will be installed if not present.
  • Resources: Building requires GPU access. Running examples involves downloading datasets.
  • Links:

Highlighted Details

  • GPU-accelerated TSDF, ESDF, occupancy mapping, and meshing.
  • Optimized for NVIDIA Jetson platforms for embedded GPU reconstruction.
  • Provides a ROS 2 interface for easy integration into robotic systems.
  • Supports multiple voxel types and is extensible for custom data.
  • Includes executables for running reconstructions on public datasets (3DMatch, Replica, Redwood).

Maintenance & Community

The project is developed by NVIDIA. Further community engagement details are not explicitly provided in the README.

Licensing & Compatibility

  • License: Apache 2.0.
  • Compatibility: Permissive license suitable for commercial use and integration into closed-source projects.

Limitations & Caveats

The library is primarily tested on Ubuntu 20.04. CUDA versions outside the 11.0-12.6 range may not be supported. Visualization within Docker may require specific X11 forwarding configurations and does not work over SSH.

Health Check
Last commit

3 days ago

Responsiveness

1 week

Pull Requests (30d)
1
Issues (30d)
2
Star History
81 stars in the last 90 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Nat Friedman Nat Friedman(Former CEO of GitHub), and
32 more.

llama.cpp by ggml-org

0.4%
84k
C/C++ library for local LLM inference
created 2 years ago
updated 22 hours ago
Feedback? Help us improve.