cartographer实现自动更新地图(打补丁),香不香?

Posted COCO_PEAK_NOODLE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cartographer实现自动更新地图(打补丁),香不香?相关的知识,希望对你有一定的参考价值。

实现原理:

  • 在纯定位时,检测当前Trajectory和之前的Trajectory的匹配状态(约束的匹配情况),对于变化大的子图,在原图上进行打补丁。
  • 在前端可以写个定时保存功能;
  • 对于原地图和补丁,我选择了2者进行合并,合并的方式就是先找到原先地图最后submap的index,然后在后面把补丁submap加上去。保存的时候其实可以不用考虑保存约束(constraint),因为我们不是建图模式,不需要使用以前的约束。

定义几个重要变量

  struct ConstraintData
     int total_num;/*whole data try to match*/
     int valid_num/*valid match*/;
  ;
  
  //用于显示当前导航时,地图与原有地图的匹配情况
  MapById<SubmapId, ConstraintData> constraints_in_nav_submaps;
  //MapById<SubmapId, int> all_constraints_in_submap;
  //MapById<SubmapId, ConstraintData> constraints_in_map_submaps;
  //patch submap for environment change; 
  //用于保存与原有地图变化大的子图
  MapById<SubmapId, ConstraintData> constraints_in_patch_submaps;
  //around patch submap for environment change;
  //这个变量很重要,保存的是constraints_in_patch_submaps左右两边的子图,为什么?它的作用是把constraints_in_patch_submaps纠正回来。
  MapById<SubmapId, ConstraintData> constraints_around_patch_submaps;

打补丁之前

打补丁后,状态截图

对于单台车,这样一边运行,一边更新,对于变化不剧烈的场景完全hold住,香不香?

以上是关于cartographer实现自动更新地图(打补丁),香不香?的主要内容,如果未能解决你的问题,请参考以下文章

cartographer地图自动定时更新,初版

导航的时候自动更新地图的思路,附使用cartographer的解决方案

cartographer导航的时候更新地图

Linux系统有漏洞吗,若有,如何打补丁?更新升级是自动的吗,若否,命令是啥?

电脑怎么打补丁

Windows 7 更新程序 (KB974332) 系统提示 不适用您的计算机。