SteveMacenski/slam_toolbox

Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS

解决的问题

Slam Toolbox 为移动机器人提供了一套完整的 2D 同时定位与地图构建(SLAM)工具。它解决了机器人在未知环境中构建地图的同时,持续跟踪自身位置的常见需求,特别针对仓库、零售空间和图书馆等动态环境。

工作原理

该系统采用基于姿态图的 SLAM 方法。它订阅激光扫描(LIDAR)和里程计数据,构建一个姿态图,其中节点代表机器人位姿,边代表它们之间的约束。算法通过激光扫描匹配优化里程计,并识别回环闭合以优化姿态图,从而更新机器人的估计位姿并生成 2D 地图。它支持同步和异步映射模式,并利用插件式优化求解器(如 Google Ceres)来处理图优化。

适用对象

专为使用 ROS 2(Robot Operating System)的机器人开发者和研究人员设计,需要为生产级移动机器人提供稳健的 2D SLAM 实现。

主要特性

  • 终身映射:能够加载保存的姿态图,继续映射、优化现有地图或随时间移除冗余信息。
  • 弹性姿态图定位:一种定位模式,使用最近扫描的滚动缓冲区在姿态图内进行定位,而不会导致计算量无限制增长。
  • 多机器人 SLAM:支持去中心化的多机器人映射,机器人之间交换局部化扫描以对齐彼此的姿态图。
  • 地图合并:提供工具,将多个序列化姿态图进行运动学合并,生成单一全局地图。
  • RVIZ 插件:集成工具,支持手动回环闭合、图操作以及地图的序列化/反序列化。
  • 高可扩展性:经过基准测试,可在合理 CPU 和内存消耗下映射高达 200,000 平方英尺的超大空间。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目