A ROS package for real-time 6DOF SLAM using 3D LIDAR, featuring graph-based optimization with multiple sensor constraints.
hdl_graph_slam is a ROS-based package for 3D LIDAR simultaneous localization and mapping (SLAM) that performs real-time 6DOF pose estimation and map building. It uses graph SLAM with NDT scan matching for odometry and integrates multiple sensor constraints like GPS, IMU, and floor planes to optimize the pose graph and reduce drift. The package is designed to work with various 3D LIDAR sensors in diverse environments, from indoor rooms to outdoor landscapes.
Robotics researchers, autonomous vehicle developers, and engineers working on LIDAR-based navigation and mapping systems who need a flexible, real-time SLAM solution within the ROS ecosystem.
Developers choose hdl_graph_slam for its robust graph-based optimization that fuses multiple sensor inputs, its modular nodelet architecture for efficient processing, and its proven performance with popular LIDAR hardware. It offers a balance of accuracy and real-time capability without relying on visual features, making it suitable for environments where cameras may struggle.
3D LIDAR-based Graph SLAM
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports GPS, IMU acceleration/orientation, and floor plane constraints, allowing adaptation to indoor and outdoor environments by enabling or disabling constraints based on sensor availability, as detailed in the constraints section.
Uses ROS nodelets for modular data processing (e.g., prefiltering, odometry, floor detection), which improves efficiency by reducing data copying, as illustrated in the nodelet diagram and description.
Tested with common LIDARs like Velodyne (HDL32e, VLP16) and RoboSense, and supports various GPS message types (GeoPoint, NavSatFix, NMEA), ensuring reliability with standard robotics sensors.
Provides bag files for indoor and outdoor scenarios with launch files and a parameter tuning guide in the 'Common Problems' section, helping users adapt to different environments.
Requires manual installation of multiple libraries like ndt_omp, fast_gicp, and g2o with suitesparse, which can be time-consuming and prone to compilation issues, as noted in the Requirements section.
Performance heavily depends on tuning parameters like ndt_resolution and registration_method, with the README admitting that mapping quality 'largely depends on the parameter setting,' making it less suitable for out-of-the-box use.
Primarily optimized for 3D LIDAR odometry; lacks built-in support for visual or other sensor modalities without significant modifications, which may limit its use in multi-modal SLAM applications.
The author has released a new SLAM package (glim), suggesting that hdl_graph_slam might not receive active updates, and users may need to migrate for newer features or improvements.