cartographer ros使用指南-调优
说明:
介绍如何调整cartographer相关参数,以达到更好的效果
两个系统:
cartographer可以被视为两个独立但相关的系统。
第一个是本地SLAM(有时也称为前端)。
它的工作是构建一组局部一致的子图并将它们组合在一起,但它会随着时间的推移而变化。
它的大多数选项可以在用于2D的trajectory_builder_2d.lua和用于3D的trajectory_builder_3d.lua
另一个系统是全局SLAM(有时称为后端)。
它在后台线程中运行,其主要工作是找到循环闭包约束。
它通过对子图的扫描匹配扫描来实现。
它还结合了其他传感器数据,以获得更高级别的视图并确定最一致的全局解决方案。
在3D中,它还试图找到重力方向。
它的大多数选项都可以在pose_graph.lua中找到
在更高的抽象上,本地SLAM的工作是生成良好的子图,而全局SLAM的工作是将它们最一致地绑定在一起。
内置工具
cartographer提供用于SLAM评估的内置工具,这对于测量本地SLAM质量特别有用。
它们是随核心cartographer库一起提供的独立可执行文件,因此是独立的,但与cartographer_ros兼容。
因此,请前往制图师阅读文档评估网站,获取概念性概述以及如何在实践中使用这些工具的指南。
这些工具假定您已将SLAM状态序列化为.pbstream文件。
使用cartographer_ros,您可以调用assets_writer来序列化状态 - 有关详细信息,请