基于单目视觉的轮式机器人目标定位及路径规划初探
2019-09-10张俊欧阳孝培
张俊 欧阳孝培
【摘 要】在现代社会的发展中,机器人的应用逐渐出现在多个领域,其中轮式机器人在家庭、服务行业、企业中均有不同的应用。文章对轮式机器人在自主导航问题中的目标定位和路径规划算法进行初步研究和应用。通过实验验证该方法可行且取得了较好的效果。
【关键词】轮式机器人;目标定位;路径规划;单目视觉
【中图分类号】TP242 【文献标识码】A 【文章编号】1674-0688(2019)08-0076-03
1 概述
轮式机器人在多个领域有着不同的应用。目前,对轮式机器人的研究主要集中在自主导航的相关问题上。其中,目标定位方法及路径规划算法的研究是非常重要的两个方面。我们在项目中基于一种轮式机器人,附加单目摄像头作为实验平台,在单目视觉条件下,获取的图像中缺乏深度信息,在确定目标具体位置时往往会有偏差,因此必须采取一定的处理,才能估算出目标位置;而在路径规划算法的选择上,也必须选择具有一定稳定性、准确性和一定实时性的算法。本文在目标定位和路径规划算法的实际应用上进行了初步探索。
2 视觉目标检测与定位方法
2.1 轮式机器人视觉系统
本项目中基于xPartner公司的IN-RE轮式机器人作为研究平台,在IN-RE机器人上通过USB口连接CMOS摄像头,用以采集视频图像。
视频采集系统的硬件部分主要包括单目摄像头、图像采集卡等;软件开发是在Windows7操作系统上基于Visual Studio 2012开发环境及Open CV视觉库进行的。
2.2 视觉目标检测
通过单目摄像头采集的图像帧经过去噪、图像通道转换、颜色阈值分割和形态学变换等处理对目标物进行提取,获取目标物质心像素坐标[1]。
(1)圖像去噪处理。根据具体使用的单目摄像头获取图像效果及实验测试,对图像中的噪声采用高斯滤波法进行滤波降噪,并能较好地保留图像中物体的边缘特征[1]。图1(a)、(b)是图像处理前和处理后的对比。
(2)图像通道转换和颜色阈值分割。摄像头获取的图像为RGB图像。但在视觉感知方面,RGB模型略显不足,因此将图像从RGB转换为HSV。图1(c)为RGB图像转换成HSV图像。实验中采用黄色乒乓球,这样我们可以通过HSV模型中对应需要的颜色的H、S、V值范围定位目标物(图1中的乒乓球),并对图像进行二值化处理,处理情况如图1(d)所示[1]。
(3)形态学运算,通过形态学的开运算和闭运算消除前面二值图像上的高亮噪声点,使目标物更加清晰,有利于计算目标物质心坐标[1]。处理效果如图1(e)所示。
(4)提取目标物质心坐标。搜索图1中高亮部分的轮廓,并通过获取的轮廓点坐标计算轮廓质心坐标[1]。图1(f)已标识出高亮部分的质心位置。
2.3 目标定位
目标定位是要获取目标物在实际环境中的平面坐标。本项目中因考虑到单目视觉测距直接通过坐标转换计算误差较大,且受光照影响大、鲁棒性不强,因此采用了通过绘制测距网格结合进行实际物理环境测量对目标物环境坐标估算的办法[1]。
(1)绘制测距网格。为了减小误差,将轮式机器人前端摄像头加强固定。在摄像头获取的画面中以近大远小的原理绘制一个测距网格,如图2所示。其中,屏幕坐标系原点为屏幕左上角点OA,XA水平向右,YA垂直向下;地面坐标系原点为屏幕下方中心对应于地面点OM,XM水平向右,YM垂直于XM向前。
(2)物理位置测量及保存。在摄像采集开启的状态下,对画面中网格中心点在实际环境中地面位置坐标进行物理测量。图3为摄像头实时摄取的图像及利用opencv在获取的图像上叠加绘制的网格。将得到的坐标位置信息进行记录并保存于文档中。
(3)坐标比对与估算。对于已获取的目标物质心屏幕坐标,判断其处于哪个网格,将对应网格中心位置的地面坐标作为估计的目标物地面坐标。
3 SOM路径规划算法及测试
3.1 SOM路径规划算法流程
结合轮式机器人将应用作为捡垃圾机器人的初步设想,对于其路径规划问题满足TSP(旅行商问题)求解思路。由于TSP问题属于典型的NP完全问题,所以基本都是采用近似算法进行求解,由此得出一个近似最优解。通过采用不同的算法(遗传算法、蚁群算法等)进行比对测试发现,SOM(Self-Organizing Map)自组织特征映射网络模型对于该问题的解决方案稳定性比较好[2]。
在本次设计方案中,由轮式机器人扮演旅行商角色,视觉中的各目标点集合代表所有城市,从而以TSP的实现方案满足机器人对识别的物体进行路径规划[2]。
3.2 算法测试
由于在项目中所需要的目标点没有达到类似TSP问题数量级的规模,为了测试算法的准确性和稳定性,我们选择手动输入几个数据,用以模拟小车通过视觉获取的目的地坐标。算法执行之前会以城市数量为基数乘以8作为SOM神经网络结构中的神经元个数进行添加。在模型训练次数上,一般来说,迭代上限越高,得到最终结果越准确。刚开始测试时,为了测试算法的准确性,把迭代上限设置成10万次,但是算法并没有完成该迭代次数,因为其中存在一个衰减变量,每次迭代都会更新衰减变量,如果判定衰减变量小于阈值,证明隐藏层神经元已经完成计算,再迭代下去的意义不大,可以得到最终的输出。表1中左边为初始目标点坐标顺序,其中有9个点,1个点生成了72个神经元结构,迭代了14 253次,巡回9个点可能的最佳路线为(1,2,3,5,
9,8,4,6,7),其总长度为87.666,在算法中加入时间函数,用以打印算法执行时间,实际测试运行时间为88 304 ms。表1中右边为算法执行后目标点顺序。图5为算法计算的目标点巡回最短路线图[2]。
经过多次的测试,算法执行准确度基本得到保证,不足的是执行时间长,这样缓慢的执行过程会严重影响到智能小车的运行。但是在以上测试中,存在两个延迟算法执行时间的因素。一个是算法执行过程中会把运算过程可视化,即把各神经元位置变换过程分别写入图像文件,这会严重影响算法的执行时间。并且,这些可视化效果只作用于算法的演示,对算法的结果并无任何作用,所以先把这个可视化的过程省略掉。还有一个因素是迭代次数,在上一次测试中,为了准确性而把迭代上限设置得很高,其实这是一种极限的做法,实际上算法并不需要这么多迭代次数。优化算法后,重新测试算法执行效率见表2[2]。
该算法正常的迭代次数应该与衰减变量及目标数量有着线性关系。在衰减变量设置完好的情况下,它直接与目标数量级相关。在本次设计中,由于智能小车摄像头的视野比较局限,根本不存在超过20个目标点的情况,因此在算法的实际使用中可以考虑适当减小迭代上限,从而加快算法运算时间[2]。
4 结语
本文对轮式机器人视觉目标定位方法和路径规划算法进行了初步探索。由于采用的是单目视觉,图像缺乏深度信息,为了能较好地对目标坐标位置进行估计,采用了通过绘制测距网格结合进行实际物理环境测量的方法,在实验中能达到估算坐标的目的。但是随着目标距离加大,估算的坐标值误差也会加大。在路径规划方面,通过实验测试了多种常用算法,最终SOM算法在实际测试中比较稳定和准确,但是算法的实时性略差,实际使用中在不影响准确性的情况下减少迭代次数以加快算法执行。综上,本文在轮式机器人的目标定位和路径规划方面的研究取得了初步效果。在以后的研究中,采用双目视觉及结合多种传感信息进行信息融合可实现更为准确的目标定位,改进现有的算法以提高路径规划的准确性和实时性,都将是我们要努力去探索的方向。
参 考 文 献
[1]张俊.基于单目视覺的轮式机器人目标定位[D].泉州:泉州师范学院,2019.
[2]欧阳孝培.智能小车路径规划算法设计[D].泉州:泉州师范学院,2019.
[3]肖大伟,翟军勇.轮式移动机器人单目视觉的目标测距方法[J].计算机工程,2017,43(4):287-291.
[4]王鹏,赵汗青,王江峰,等.基于单目视觉的相机位姿解算[J].电子科技,2017,30(12):75-78.
[5]马仕玉,孙承东,朱家利.SOM神经网络在非法营运车辆识别中的应用[J].信息与电脑(理论版),2017(8):
83-85.
[6]T Kohonen.The self-organizing map[J].Neuroco-
mputing,1998(21):1-6.
[责任编辑:钟声贤]