导航的时候自动更新地图的思路,附使用cartographer的解决方案
Posted COCO_PEAK_NOODLE
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导航的时候自动更新地图的思路,附使用cartographer的解决方案相关的知识,希望对你有一定的参考价值。
首先说下原来错误的思路:就是新地图匹配上旧地图,然后就把旧地图替换,或者更新旧地图,这种思路错误的原因是,任何的匹配都是有匹配误差的,从1月份一直匹配到12月份,就算一个月的累积误差是1mm,12个月后也有1cm的误差了,这显然不是自动更新想看到的。
那后来怎样的思路呢?
这里我们总想着要扔掉旧地图,这就是错误的根源(死胡同),扔掉了旧地图就会出现上面的问题,1天不会有太大的误差,一个星期后就不好说喽,特别是环境变化大的场地。那这就遇到了似乎永远解决不了的难题,其实是我们进入了一个死胡同,那就是我们惯性思维的认为地图100%会发生改变。
如果有99%的地图经常发生改变,但是有1%的地图永远不改变,我们是否可以实现自动更新地图呢?这个是可以的,我们可以利用这个1%的区域实现初始化重定位,然后绕着变化的99%的区域走一圈,然后再回到1%不变的区域实现闭环检测实现累计误差的消除,同时更新了变化的99%的区域。而且每次更新的误差维持在同一水平。
如何有1%不变的区域呢?
1-真的有1%的区域是不变的(自动更新精度是初始化匹配的精度)
2-使用landmark(激光特征、反光柱、二维码)保持一个全局唯一位置,可以让机器人开机自定位(自动更新精度是landmark检测的精度)
有了这1%不变的轮廓或者landmark,我们可以一辈子自动更新,并且不担心误差累积,
就好像30年过去了,家乡已经变化的面目全非,但是看到家门口的那棵大杨树,我还能依稀想起家乡30年前的样子!
初步测试结果:基本满足,后续再更新来看
cartographer的思路就是map是固定的地图,然后不断检测和map匹配度较好的地图然后固定住,两个固定住的新地图之间的地图也固定住,但是这里有个很重要的地方,那就是新更新的部分可以用于导航,但是要固定的地图一定是和map进行匹配的地图,不能用新更新的地图(不然又陷入了死胡同)。
以上是关于导航的时候自动更新地图的思路,附使用cartographer的解决方案的主要内容,如果未能解决你的问题,请参考以下文章