当SLAM小车能够以较高的精度运动到人为设置的目标点时,下一步就是把SLAM小车放到一个陌生的环境中,让它自己建图了。为什么?因为它已经是一只成熟的SLAM小车了。
我这里写的比较简单,刚写还没几天,不是很完善,但是实际测试了一下感觉还行,原理如下图:
![](https://img2020.cnblogs.com/blog/2138322/202008/2138322-20200827094755411-1413333253.png)
类似雷达发射射线,获取前方各个方向能够前进的最大距离,概括的说就是不断需找一条前方最长的直线路径,然后朝着这个方向运动。当然了,距离都得大于一个threshold,不然很有可能撞车,如果都很小,就turn around换个角度寻找,再不济直接掉头。
并且内部设置了一个小车运动区域限制,如果以初始点为中心的圆都走遍了,即建图完成。
实验结果:
录屏软件自动降帧了,这是我手推小车录的,实验中我把车推到了朝向一块墙的位置,目的是为了验证规划的轨迹能够自动避开障碍物,或者说是小车它自己设置的目标点能保证它不会发生与环境物的碰撞。
![视频封面](https://pic1.zhimg.com/v2-02b80d43ba26ead30030c81ae7dbbf78.jpg)
下面的是小车自己跑的最后建图的pcd文件
![视频封面](https://pic1.zhimg.com/v2-b3a205d624288dffde8284d41d115d08.jpg)