基于视觉SLAM的自主导航无人车研究

(整期优先)网络出版时间:2021-12-29
/ 2

基于视觉 SLAM的自主导航无人车研究

修辉平 江文清

九江职业技术学院 江西 九江


摘要:近年来,无人车逐渐成为全球机械制造领域的研究热点,其不仅具有良好的自主导航功能,还可以有效适应位置环境实现正常运行。本文以基于视觉SLAM的自主导航无人车为探讨主题,分析当前SLAM技术的研究与应用现状,从Gmapping、Hector slam以及Cartographer三方面阐述基于视觉SLAM的建图算法方法。总结无人车运动模型的搭建与基于ROS的导航的具体应用。

关键词:视觉SLAM;自主导航;无人车

无人车自主导航功能的实现主要依赖于定位与SLAM建图技术,这一技术可以采集并为其提供实时的位置信息与环境信息,在面对完全陌生的环境时,无人车可以利用自身的传感器,构建地图并定位自身所处位置。以SLAM技术理论研究为基础,融合主流算法,研究基于视觉SLAM的自主导航无人车,是无人车创新研发与功能完善的重要发展路径。

1 SLAM技术研究与应用现状

将同步定位与SLAM建图技术应用到无人车设计中,能够赋予其实时感知航行环境的功能,与此同时实现自身定位,为无人车的自主导航提供真实有效的数据信息。随着人工智能、大数据等技术的飞速发展,无人车逐渐成为智能化机器人领域的研究热点,SLAM技术也逐渐占据前沿技术的发展地位,被广泛应用到多个技术研究领域中[1]

2基于视觉SLAM的算法分析

SLAM是构建地图时应用最常见的一种工具,建图主要包括两大组成部分,一是无人车的定位,二是环境地图的构建。构建无人车自主导航的模型,主要是在未知环境下的任意位置放置无人车,确保其在移动过程中可以将环境地图实时化、完整化地构建出来。由此可见,定位与建图是互相影响,且相辅相成的。

2.1 Gmapping建图算法分析

在此无人车中应用Gmapping建图算法,需在建图时充分参考现有地图,进而明确无人车的方向、坐标等基本信息。如果要确定无人车与障碍物间的间隔距离,则需在明确无人车具体定位的基础上,利用车中的激光雷达对障碍物进行扫描,对障碍物与无人车间的间隔距离进行测量。首先,在建图阶段内获取无人车的朝向与坐标,明确其精准的位置信息,其次,对无人车与障碍物间的间隔距离进行计算,在扫描算法中,主要涉及到对bresenham直线段的应用,并在无人车所处栅格与障碍物栅格间画直线。除此以外,在这一算法内,被占的栅格也可以用概率表示。利用两个激光束分别进行扫描,标记上occupy,这样被占栅格概率相应变大,反之则栅格概率变小。因而,要想获悉或呈现无人车所处环境,可以运用二维栅格地图予以表示[2]

2.2 Hector slam建图算法分析

通常情况下,在运用Hector slam算法时,多会遇到scan-matching问题,要使得这一问题得到有效解决,可以借助于高斯牛顿方法,结合使用灵敏度更高的传感器。运用Hector slam建图算法的优势特点主要包括以下几方面:(1)无需使用里程计的情况下,空中无人机与地面小车依然可以在恶劣的环境条件下进行建图。(2)以获取的地图为基础,对激光束点阵加以进一步优化,可以估计激光点在地图内的具体位置信息,以及所占网格的概率。(3)借助于对高斯牛顿方法的运用,使其在现有地图的刚体变换中获取激光点集的映射。

Hector slam建图算法的缺点主要是:在运算阶段内,确保测量引起的噪声相对较低的基础上,需要雷达尽可能地提高每秒钟的更新频率。因而,制作图形的过程中,若想获取更为优质的建图效果,应重点合理化控制robot速度,使之处于一个较低的范围内。运算阶段内,可能存在里程计信息失效的情况,则这一使用无效的信息则可以被视为相对准确的里程计数据[3]

2.3 Cartographer建图算法分析

Cartographer是一个常用的slam建图项目,在顶部设置视觉摄像头,实时划分网格,形成精度5cm等级的2D网格图像。生成一个子图后进行一次局部回环,所有子图都完成后则可进行全局回环。

3无人车模型搭建及导航

3.1无人车运动模型的搭建

在确定坐标系的情况下,无人车要实现运动,需要依附于给定的坐标系,因而在搭建无人车运动模型的过程中多会应用到右手笛卡尔坐标系。观察控制无人车进行运动的整个过程的特点可以发现,其实质上是在二维平面上进行运动,因而无论无人车的运行类型是哪一种,其在Z轴方向上的线速度一直为0,也可以说是在Z轴方向上无人车未发生运动。在Y轴方向上,无人车的线速度等于0,角速度不为0。在Z轴方向上,无人车的角速度不为0。在X轴方向上,无人车的角速度等于0,在Y轴方向上其角速度也等于0.

无人车底层开发程序中,一般方向控制、导航定位等功能多会应用到航迹推演,一方面可以对无人车的位置与姿态进行精准预估,还可以估计无人车三种速度间的转换关系,即行进速度、左右轮速度与转向角速度w。从运动学模型的角度上来看,即是将无人车轮速度视为右手坐标系中X方向上的线速度与Y方向上的线速度,以及Z方向上的角速度。如图1所示,θ

1是无人车在两个相邻时间段内的旋转角度,θ3为无人车在两相邻时刻内航向角的差,L代表左轮与右轮间的间隔距离,d代表与左轮相比右轮多走的距离。R为机器人移动过程中圆弧运动半径。

61cbba371323f_html_2c517daad1c7e2f3.jpg

图1:相邻时刻位姿态

3.2基于ROS的导航

在树莓派系统中安装ROS,完成树莓派网络环境的设置。然后,在Ubuntu主机上安装与树莓派同一版本的ROS。将Ubuntu主机与网络连通后,再配置主机为ROS网络,接下来通过SSH将Ubuntu主机与树莓派相连,完成连接后,在树莓派终端输入roscore,最后对ROS网络进行测试。完成以上一系列操作后,即可进行开发。全流程操作阶段内主要应用了ToF方法,这一技术方法可以对发射器发出光脉冲、光脉冲经目标表面发射、返回到图像传感器的整个过程耗费的时间予以准确测量。

4车道线检测和行驶

在车道内放置无人车,利用基于opencv的图像处理技术,经由摄像头对车道数据进行采集,然后处理并检测车道图像。对机器人进行控制,使其在车道线内移动,与此同时通过大小弯、十字路口以及S弯等不同类型的运动完成路道检测。即可发现,参数不同,无人车转弯会发生变化,参数越大,无人车调节速度更快,转弯半径更大。

结束语:从早期扫地机器人在人们日常生活场景中的应用,到虚拟现实、增强现实等新兴技术在游戏、表演以及医疗等多行业领域内的应用,其核心技术均与SLAM密切相关。在自主导航无人车研究中应用基于视觉SLAM技术,有利于优化无人车操纵稳定性,提高其自主导航运动水平。

参考文献:

[1]徐文菁.非确定环境下无人机与无人车动态协同设计[J].洛阳理工学院学报,2019,29(04):64-70.

[2]缪晓伟. 无人车自主定位与导航研究[D].南京大学,2019.

[3]常灯祥. 基于ROS的无人驾驶汽车自主导航研究[D].湖南大学,2019.

基金项目:2019年度江西省教育厅科学技术研究项目  

项目编号:GJJ191275 项目名称:汽车移动补漆机器人系统的研制