A real-time, tightly-coupled lidar-inertial odometry package for robust robot localization and mapping.
LIO-SAM is a real-time lidar-inertial odometry package that tightly couples lidar and IMU data to estimate a robot's position and orientation while simultaneously building a map of the environment. It solves the problem of accurate localization and mapping in dynamic or GPS-denied settings, such as indoor navigation or outdoor terrain traversal. The system uses factor graph optimization to fuse sensor inputs efficiently, enabling robust performance even with high-frequency sensor data.
Robotics researchers, engineers, and developers working on autonomous vehicles, drones, or mobile robots that require precise, real-time localization and mapping capabilities. It is particularly suited for those integrating lidar and IMU sensors in ROS-based systems.
Developers choose LIO-SAM for its tightly-coupled sensor fusion approach, which provides higher accuracy and robustness compared to loosely-coupled methods. Its real-time performance, support for multiple lidar types, and integration with GPS for global correction make it a versatile and reliable solution for challenging robotics applications.
LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses factor graph optimization to tightly integrate lidar and IMU data, providing robust odometry estimation as described in the system architecture section, which handles challenging environments effectively.
Runs up to 10x faster than real-time with a dual-graph design, ensuring efficient processing for dynamic robotics applications, as highlighted in the architecture explanation.
Supports various lidars like Velodyne, Ouster, and Livox Horizon, with specific configuration guides and sample datasets provided in the README for easy setup.
Includes ICP-based loop closure and GPS factor integration to correct long-term drift, demonstrated with sample datasets like Park and Garden for improved map consistency.
Requires a 9-axis IMU with at least 200Hz data rate and complex extrinsic calibration, as stated in the IMU preparation section, limiting compatibility with cheaper or simpler sensors.
Demands precise IMU alignment, point cloud formatting, and extensive debugging steps like uncommenting debug lines in imageProjection.cpp, making deployment time-consuming and error-prone.
Support for solid-state lidars like Livox Horizon is minimal and not extensively tested, requiring custom drivers and parameter tuning, as noted in the Livox notes section.
Relies on specific ROS versions and GTSAM, with known bugs like the imuPreintegration issue mentioned in TODO and frequent crashes reported in the Issues section, affecting reliability.