基于SLAM的导航避障机器人系统

机器人导航一致是机器人领域的热门话题,导航可分为定位和规划两个部分。SLAM是现今机器人定位与建图领域非常重要的技术,很多学者把他们的SLAM系统开源至网上。但是不同的SLAM有不同的建图结果,定位的精度也不完全一致,未有一种统一的方法可以使用不同SLAM进行导航。另外,环境中可能出现一些在构建地图时没有障碍物,只依赖地图信息无法实时应对现场的变化。因此本方法尝试构建一套可使用不同SLAM在其已构建好地图下进行导航与避障的机器人系统。

本方法先用SLAM模块在需要执行导航任务的环境下构建全局地图,记录下SLAM可提供的点云和轨迹。通过预处理点云和轨迹数据提取地图中较重要的位置作为地图的节点从而生成全局节点地图。在执行导航任务时,系统根据指定目的地使用A*在全局节点地图搜索全局的路线,生成机器人行走的方向。再通过激光传感器探测前进方向上的障碍物,使用改进的向量场直方图(VFH)法实时躲避地图中没有的障碍物,直至到达目的地。

本方法分别使用Cartographer和ORB-SLAM在实验室内部进行实验,结果显示本方法可较好配合两种SLAM在实验室内完成导航任务。

图片包含 文字, 地图

已生成极高可信度的说明

图1 本方法预处理后的地图(左图:Cartographer,右图:ORB-SLAM;红色点表示建图时的障碍物点,蓝色点表示重要节点,绿色线表示可通行关系)

C:\Users\XUEWUY~1\AppData\Local\Temp\1525856208(1).png C:\Users\XUEWUY~1\AppData\Local\Temp\1525856279(1).png

C:\Users\XUEWUY~1\AppData\Local\Temp\1525856382(1).png C:\Users\XUEWUY~1\AppData\Local\Temp\1525856440(1).png

图2 若干单线激光的安全区判别结果(黑点为激光点,两个半圆分别表示自身为中心半径2米和4米的范围,绿线表示候选安全区,红线表示已选安全区,蓝线表示正前方向,暗绿线表示经过安全区调整后机器人的前进方向)