定界原理
储存的不同分辨率栅格图,为保证上边界正确性,即高层中的评分一定高于其底层节点的评分,压缩的地图并非直接从原图固定间隔采样,而是将固定间隔中所有坐标概率值最大值作为低分辨率地图。
理解:
1、其在计算得分时,是计算点云(旋转、平移)索引对应的栅格值的得分,当分辨率低时,比如为64 右下图,对同样大小的地图(近似同样大小,会外扩width+1)点云索引落入黑色区域的可能性比高分辨率地图大得多,如左上图;
2、低分辨率地图是取64格中得分最高者为其得分;
故在64分辨率地图中得分必然是32分辨率的上界
引用个公式,这个讲的太好了,数学上严格证明《无处不在的小土-分支定界闭环检测的原理和实现》,参数意思看原文
理解:
第一层为carto代码实现的逻辑,即低分辨率的层的得分总和是由包含外扩(width+1)的低分辨率地图计算得到,且每个索引对应的得分值取分辨率下的最大值(比如64分辨率下在1分辨率下应该有64个得分,取64个得分中最高的得分值作为64分辨率层的得分);第二层不包含外扩的;第三层是最高分辨率的叶节点的代码实现,即通过这种方式能保证低分辨率的层得分为高分辨率层的上界。
分支原理
剪枝原理比较简单,参考下列文章
参考文献:
cartographer 代码思想解读(2)- 分支定界快速相关匹配_jiajiading的博客-CSDN博客_cartographer 分支定界
cartographer探秘第四章之代码解析(五) --- 后端优化 --- 闭环约束2 --- FastCorrelativeScanMatcher2D_李太白lx的博客-CSDN博客
附一些比较完整的学习资料:
cartographer探秘第四章之代码解析(五) --- 后端优化 --- 闭环约束2 --- FastCorrelativeScanMatcher2D_李太白lx的博客-CSDN博客
cartographer 代码思想解读(4)- probability grid地图更新1_jiajiading的博客-CSDN博客_cartographer scan-to-map