Awesome
Introduction
GLIM is a versatile and extensible range-based 3D mapping framework.
- Accuracy: GLIM is based on direct multi-scan registration error minimization on factor graphs that enables to accurately retain the consistency of mappint results. GPU acceleration is supported to maximize the mapping speed and quality.
- Easy-to-use: GLIM offers an interactive map correction interface that enables the user to manually correct mapping failures and easily refine mapping results.
- Versatility: As we eliminated sensor-specific processes, GLIM can be applied to any kind of range sensors including:
- Spinning-type LiDAR (e.g., Velodyne HDL32e)
- Non-repetitive scan LiDAR (e.g., Livox Avia)
- Solid-state LiDAR (e.g., Intel Realsense L515)
- RGB-D camera (e.g., Microsoft Azure Kinect)
- Extensibility: GLIM provides the global callback slot mechanism that allows to access the internal states of the mapping process and insert additional constraints to the factor graph. We also release glim_ext that offers example implementations of several extension functions (e.g., explicit loop detection, LiDAR-Visual-Inertial odometry estimation).
Documentation: https://koide3.github.io/glim/
Docker hub: koide3/glim_ros1, koide3/glim_ros2
Related packges: gtsam_points, glim, glim_ros1, glim_ros2, glim_ext
Tested on Ubuntu 22.04 /24.04 with CUDA 12.2 / 12.5, and NVIDIA Jetson Orin (Jetpack 6.0).
If you find this package useful for your project, please consider leaving a comment here. It would help the author receive recognition in his organization and keep working on this project.
Dependencies
Mandatory
Optional
Video
See more at Video Gallery.
<img width="450" src="https://github.com/user-attachments/assets/95e153cd-1538-4ca6-8dd0-691e920dccd9"> <img width="450" src="https://github.com/user-attachments/assets/6b337369-a32c-4b07-b0e0-b63f6747cdab">
Left: Mapping with various range sensors, Right: Outdoor driving test with Livox MID360
Estimation modules
GLIM provides several estimation modules to cover use scenarios, from robust and accurate mapping with a GPU to lightweight real-time mapping with a low-specification PC like Raspberry Pi.
License
If you find this package useful for your project, please consider leaving a comment here. It would help the author receive recognition in his organization and keep working on this project. Please also cite the following paper if you use this package in your academic work.
This package is released under the MIT license. For commercial support, please contact k.koide@aist.go.jp
.
Related work
Koide et al., "GLIM: 3D Range-Inertial Localization and Mapping with GPU-Accelerated Scan Matching Factors", Robotics and Autonomous Systems, 2024, [DOI] [Arxiv]
The GLIM framework involves ideas expanded from the following papers:
- (LiDAR-IMU odometry and mapping) "Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping", ICRA2022 [DOI]
- (Global registration error minimization) "Globally Consistent 3D LiDAR Mapping with GPU-accelerated GICP Matching Cost Factors", IEEE RA-L, 2021, [DOI]
- (GPU-accelerated scan matching) "Voxelized GICP for Fast and Accurate 3D Point Cloud Registration", ICRA2021, [DOI]
Contact
Kenji Koide, k.koide@aist.go.jp<br> National Institute of Advanced Industrial Science and Technology (AIST), Japan