背景:ROS系统中使用SLAM算法建图,经常出现卡顿,地图拟合线总是不同步,甚至会出现地图定位漂移,导致建图失败。
很多小伙伴可能会认为,建图过程中,因为激光雷达建图过程中大量数据传入,树莓派算力不足,导致建图卡顿,其实不是的,在上一篇介绍建图过程出现定位漂移的时候,曾提到,建图过程的电脑配置很重要,要建一张大图,电脑配置就处于一个很重要的位置了。
笔者调试用的是虚拟机,通过虚拟机远程树莓派。
按照上图配置,虚拟机在建图过程中十分卡顿,AGV稍微运动快一些就会出现拟合线漂移,从而整体出现定位漂移,导致建图失败,如下图:
以上配置建立的小图,范围大概是一个5mx5m的小图,建立大图过程中直接发生紊乱,建图失败(注:这个算法选择不正确,参数没配置好同样会影响建图,本篇的目的不是说电脑配置是影响建图效果的唯一因素),小图如下:
按照上图的虚拟机配置,在建图过程中,拟合线会发生漂移,但很快就会重新找准位置,重新和障碍物拟合上,并且AGV不间断运动,地图同样没有发生漂移,笔者使用的激光雷达的扫描半径达到18米,在虚拟机配置中,笔者还在Intel VT-x/EPT或AMD-V/RVI(V)选项前打勾,小伙伴们可以去对比打勾和不打勾的区别,按照上图配置建立的地图如下,是25mx40m的地图:
以上是针对使用虚拟机远程控制树莓派的情况。