SteveMacenski/slam_toolbox
Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS
What it solves
Slam Toolbox provides a comprehensive set of tools for 2D Simultaneous Localization and Mapping (SLAM) for mobile robots. It addresses the common need for robots to build maps of unknown environments while simultaneously keeping track of their own location within those maps, specifically targeting dynamic environments like warehouses, retail spaces, and libraries.
How it works
The system uses a pose-graph based approach to SLAM. It subscribes to laser scan (LIDAR) and odometry data to construct a pose graph where nodes represent robot poses and edges represent constraints between them. The algorithm refines odometry using laser scan matching and identifies loop closures to optimize the pose graph, which in turn updates the robot's estimated pose and generates a 2D map. It supports both synchronous and asynchronous mapping modes and utilizes plugin-based optimization solvers (such as Google Ceres) to handle the graph optimization.
Who it’s for
This is designed for robotics developers and researchers working with ROS 2 (Robot Operating System) who need a robust 2D SLAM implementation for production-grade mobile robots.
Highlights
- LifeLong Mapping: Ability to load saved pose-graphs to continue mapping, refine existing maps, or remove extraneous information over time.
- Elastic Pose-Graph Localization: A localization mode that uses a rolling buffer of recent scans to localize within a pose-graph without unbounded computational growth.
- Multi-Robot SLAM: Support for decentralized multi-robot mapping where robots exchange localized scans to align peer pose graphs.
- Map Merging: Tools to kinematically merge multiple serialized pose-graphs into a single global map.
- RVIZ Plugin: Integrated tools for manual loop closures, graph manipulation, and map serialization/deserialization.
- High Scalability: Benchmarked to map very large spaces (up to 200,000 sq. ft.) with reasonable CPU and memory consumption.
Related
- Project
- Project
- Project
- Project
- Project