// the find
koide3/glim
GLIM: versatile and extensible point cloud-based 3D localization and mapping framework
GLIM is a factor graph-based 3D SLAM framework for range sensors (LiDAR, RGB-D) with optional GPU acceleration via CUDA. It targets robotics researchers and engineers who need a mapping backend they can actually extend — the callback slot system lets you inject constraints or tap internal state without forking the core. Actively maintained by a researcher at AIST Japan with a peer-reviewed paper behind it.
GPU-accelerated voxelized GICP scan matching is genuinely fast — the gtsam_points library underneath has been benchmarked in published work, not just claimed. The callback/extension slot mechanism is a real architectural commitment: you can attach loop closure, visual-inertial constraints, or custom factors without touching upstream code. Sensor agnosticism is honest — spinning LiDAR, non-repetitive scan (Livox), and RGB-D all work through the same preprocessing pipeline by stripping sensor-specific assumptions early. The interactive map correction UI is a practical differentiator; most SLAM frameworks ship no tooling for fixing drift after the fact.
The dependency chain is heavy and fragile — you need a specific GTSAM alpha build (4.2a9 or 4.3a0), a custom gtsam_points fork, and optionally CUDA, which means setup is a multi-hour affair and the June 2025 GTSAM base change broke existing installs without a clean migration path. Ubuntu-only in practice; the Docker images help but Jetson support is listed as tested on one specific JetPack version. No built-in loop closure in the core — it's pushed to glim_ext, which means you're assembling a working system from multiple repos. The factor graph approach trades real-time performance for accuracy; on a CPU-only system with dense point clouds, expect latency that rules out tight control loops.