gtsam_points  by koide3

GTSAM extension for range-based SLAM

created 1 year ago
315 stars

Top 86.9% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a comprehensive suite of GTSAM factors and optimizers specifically designed for range-based SLAM and point cloud registration. It targets researchers and engineers working on 3D perception, robotics, and autonomous systems, offering advanced algorithms for scan matching, bundle adjustment, and continuous-time trajectory estimation, with a focus on GPU acceleration for performance.

How It Works

The library extends GTSAM with various scan matching factors, including Generalized ICP (GICP), Voxelized GICP (VGICP), and Colored ICP variants, leveraging distribution-to-distribution distance and photometric consistency for robust registration. It also introduces bundle adjustment factors based on Eigenvalue Minimization (EVM) and Eigenvalue Function (EF) optimality conditions. For nearest neighbor search, it includes parallelized k-d trees and incremental voxel maps, with GPU-accelerated options for VGICP.

Quick Start & Requirements

  • Installation: Can be built from source (requires GTSAM 4.2a9, Eigen, nanoflann, optional PCL, OpenMP, CUDA) or installed via PPA for Ubuntu 22.04/24.04.
  • CUDA Support: Optional, requires CUDA 12.2 or 12.5 for GPU-accelerated factors.
  • Demo: Execute ./build/demo_matching_cost_factors, ./build/demo_bundle_adjustment, etc. after building.
  • Documentation: https://koide3.github.io/gtsam_points/

Highlighted Details

  • Offers GPU-accelerated VGICP for fast and accurate 3D point cloud registration.
  • Includes continuous-time ICP factors for dynamic environments.
  • Provides advanced bundle adjustment factors for improved accuracy.
  • Features various global point cloud registration methods (RANSAC, Graduated Non-Convexity).

Maintenance & Community

Licensing & Compatibility

  • MIT License. Permissive for commercial use and integration into closed-source projects.

Limitations & Caveats

  • Some test data is derived from KITTI and Newer College Datasets, which have non-commercial use restrictions.
  • Continuous-time trajectory estimation is noted as "under development."
Health Check
Last commit

1 month ago

Responsiveness

1 week

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

Explore Similar Projects

Feedback? Help us improve.