Cartographer
- 传感器输入,局部SLAM,全局SLAM
- 恒速模型
- CSM:
- real_time CSM:算法步骤:将地图划分成小格子并在每个小格子进行采样;对采样点进行评分,评分最高的作为结果输出。优点是对初值不敏感,缺点是计算量大。
- ceres CSM:算法步骤:构造cost:地图cost,平移cost;选择优化器并求解。优点是计算精确解,缺点是对初值敏感。
- fast CSM: 回环检测,分支定界加速(分支就是扩展,定界就是剪枝)。
- 建图:
Gmapping:
- 基于RBpf算法,即将定位和建图过程分离,先进行定位再进行建图。
- 在RBpf基础上改进提议分布和选择性重采样。
- 优点:在构建小场景地图所需的计算量较小且精度较高;缺点:随着场景增大所需的粒子增加,因为每个粒子都携带一张地图,因此在构建大地图是所需内存和计算量都会增加。
Cartographer VS Gmapping
- 一个基于图优化框架的SLAM,一个基于滤波框架的SLAM。
- 都涉及时间复杂度和空间复杂度的权衡:Gmapping牺牲空间复杂度保证时间复杂度,这就造成Gmapping不适合构建大场景地图;Cartographer存储空间相当中只用一个粒子,但需要复杂的矩阵运算,因此计算量大。