从今年年初开始,花了小几个月学习经典的Cartographer算法,论文暂不提,比较头疼的是它的代码。相比于其它SLAM经典框架,Cartographer里各种类的封装嵌套实在是一言难尽……学习期间也是参考了许多大佬的BLOG来帮助理解,这里推荐两个系列:
除去本身代码的嵌套关系复杂之外,Cartographer的配置参数的数量也是惊人的,如果想达到自己可以根据不同场景进行算法的调试适配,那么理解这些配置参数的含义和关系就十分必要了。由于自己学习时,感觉在网上找的也多是对其中一部分的配置参数进行解释,所以想了想还是做了一个整理工作,结合自己代码调测中的理解,做个记录:
【注】
1. Cartogrpher配置参数一级分为TrajectoryOptions和NodeOptions,涉及到前端匹配的相关参数主要在前者中,涉及到后端优化的相关参数主要在后者中
2. 文档中标红的参数是个人认为在实际调测中可能会根据场景调整的量,标黑的参数可能使用自带默认值就行
3. 无论是哪种匹配方法,Cartographer喜欢将平移量和旋转量的权重分开设置,这些参数的绝对大小不太重要,重要的是二者的相对大小