《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 空地机器人协同导航方法与实验研究
空地机器人协同导航方法与实验研究
2018年电子技术应用第10期
刘 毅1,2,车 进1,2,朱小波1,2,杭 立1,2,郝志洋1,2
1.宁夏大学 物理与电子电气工程学院,宁夏 银川750021; 2.宁夏沙漠信息智能感知重点实验室(宁夏大学),宁夏 银川750021
摘要: 地面移动机器人与空中飞行机器人的功能互补作用具有明显的优越性,对于提高任务的完成度具有重要的作用,因此近年来越来越受到研究人员的关注。空地机器人协作的一种典型模式是通过空中机器人的大范围环境感知能力为地面机器人提供路径导航信息,为此,首先搭建了空地机器人协作平台并利用空中视觉传感信息对地面环境进行感知和识别;然后,利用路径规划算法对路径进行规划并精简指令;最后,地面机器人结合机器视觉执行任务。实验验证成功率在80%以上,表明该方法具有较好的可行性。
中图分类号: TP242
文献标识码: A
DOI:10.16157/j.issn.0258-7998.180065
中文引用格式: 刘毅,车进,朱小波,等. 空地机器人协同导航方法与实验研究[J].电子技术应用,2018,44(10):144-148.
英文引用格式: Liu Yi,Che Jin,Zhu Xiaobo,et al. The navigation method and experimental research of air-ground robot cooperation[J]. Application of Electronic Technique,2018,44(10):144-148.
The navigation method and experimental research of air-ground robot cooperation
Liu Yi1,2,Che Jin1,2,Zhu Xiaobo1,2,Hang Li1,2,Hao Zhiyang1,2
1.School of Physics and Electronic-Electrical Engineeing,Ningxia University,Yinchuan 750021,China; 2.Ningxia Key Laboratory of Intelligent Sensing for Desert Information(Ningxia University),Yinchuan 750021,China
Abstract: Ground mobile robots and airborne robots have the obvious superiority of complementing each other, which plays an important role in improving the completion of missions. Therefore, more researchers have paid attention to those research in recent years. A typical model of the collaboration of air-ground robot is to provide the ground robot with path guidance information through the wide-range environmental awareness of the air robot. So firstly, a ground-based robot collaboration platform is established and the ground environment is perceived and identified by using airborne visual sensing information. Then, the path planning algorithm is used to plan the path and streamline the instructions. Finally, the ground robot performs machine vision tasks. The success rate of the experimental verification results is more than 80%, which verifies the feasibility of the method.
Key words : air-ground robots;threshold segmentation;route plan;embedded;collaboration platform

0 引言

    机器人在许多领域发挥着越来越重要的作用,单独的机器人可以有效帮助人们完成数据收集,而多个机器人的协调合作则可产生无穷的潜力,不同机器人之间的互补作业效果将更加明显。机器视觉、传感器网络等的不断发展,使空中机器人与地面机器人的结合成为可能。空中机器人具有全局视觉,利用空中机器人广阔的环境感知能力帮助地面机器人构建全局环境模型并为地面机器人提供导航信息;地面机器人具有的局部视觉可以使其更好地执行任务,二者的结合可以提高任务使命的完成度[1-3]空地机器人在民用方面适用于救援减灾、物流配送、城市垃圾清理等,在军事方面的用途将更加广泛,无人作战将部分取代有人作战,最终无人作战成为主要形式。

    目前在空地机器人协作方面的研究在国际上较为深入,如美国弗吉尼亚理工大学使用空地机器人在精准农业上进行研究来估计农作物长势[4],韩国延世大学使用多四旋翼飞行器建立地面三维信息并引导地面机器人进行全局路径规划[5],美国亚利桑那大学使用无人机进行人群动态检测后再由地面机器人进行精确识别[6],瑞士苏黎世大学利用四旋翼飞行器引导地面机器人对目标物进行检测与清理[7],意大利卡塔尼亚大学的研究人员测试了由车辆搭载的四旋翼飞行器使用图像分析帮助地面移动机器人完成路径重规划的任务[8]。在国内,中国科学院大学使用空地机器人共同对目标探查以实现最佳的跟踪与检测[9]等。随着科技的不断发展,机器人的相关技术也得以进一步的提升(如仿人比较先进的NAO机器人等),因此可以有条件地针对一些人力不便探索的领域(如深海探测、山区救援等)进行空地机器人协同探测。由于我国具有幅员辽阔与地形复杂的特点,有时地面救援和军事行动难以展开,此时如果采用空地协同的方式效率就比较高。然而协作空地机器人的研究平台和方法还很缺乏且特制设备的实验难以模拟,目前研究常见于计算机仿真,在实际模拟场景(如协同救援)方面还未有应用研究。结合上述情况,本文提出了基于嵌入式设备的地面NAO机器人和空中四旋翼无人机进行空地协作完成模拟搜寻与救援任务场景的方法。

1 空地机器人任务流程及系统结构

    空中机器人采用了四旋翼无人机,主要由自组装四旋翼和ODROID XU4开发板组成,具有良好的机动性能与灵活性,其中自组装四旋翼采用了碳纤维机架、pixhawk的开源飞控、好盈乐天skywalker 40 A电调等。ODROID XU4开发板为Hardkernel公司出品,拥有主频为2 GHz的三星Exynos5422八核处理器及2 GB RAM,且使用ARM架构并安装Ubuntu 16.04系统。在组装完成的四旋翼上加装开发板进行数据处理能够实现如对地面目标探测、跟踪等多种功能。地面机器人为NAO机器人,它拥有25个活动关节,内置Intel ATOM Z530处理器,RAM 1 GB,闪存2 GB,前额装有上下两个摄像头,支持嵌入式GNU/Linux编程环境且支持Python、C++语言。空地机器人协同系统结构如图1所示。

jsj4-t1.gif

    空中机器人与地面机器人基于嵌入式Linux系统,支持Python和C++语言,能够通过程序实现协作功能。机器视觉处理以在支持嵌入式方面较好的OpenCV库为主,它是由Intel公司于1999年建立的计算机视觉库,是机器视觉、图像处理等领域的优秀工具。它由一系列C函数和少量C++类构成,也提供Python等语言的接口[10]。空中机器人与地面机器人都搭载摄像头,因而能够很好地针对不同场景进行功能开发。空地机器人协作在开发时采用Python与C++的结合,Python语言拥有强大的标准库且具有可移植性,因而使Python作为主要开发工具能进行高效的功能开发[11-12],搭建了Eclipse+PyDev的Python开发环境。在协作平台中完成的结论和方法因软硬件的通用性可在科研教学及实际运用中快速转化。

    空中机器人与地面机器人模拟搜寻与救援的任务流程及方法如图2所示。首先由空中机器人和地面机器人完成系统各项功能初始化后等待搜寻命令;完成命令接收后地面机器人从起点开始出发,空中机器人起飞后利用其视野广的优势搜寻目标物体所在位置并计算最佳路径,以帮助地面机器人找到目标物,在完成路径规划后将精简命令信息传输至地面机器人;地面机器人收到命令后结合视觉信息到达目标位置附近,最后由地面机器人在其附近再次搜寻目标的精确方位并携带其返回完成任务。

jsj4-t2.gif

2 软件整体设计方案

    首先由空中机器人通过摄像头观测地面目标并存储图像信息,分析图片中起始点和终止点的信息与提取地面路径信息后由路径规划的算法计算出到达目标点的最短路径,由最短路径及路径交叉口信息比对生成在路径交叉口的方向信息并压缩打包,通过无线连接地面机器人及通信成功后发送当前命令。地面机器人接收命令后识别地面路径并按命令信息行走至指定地面,通过单目视觉识别目标并定位后实施抓取,携带目标返回后完成整体的空地机器人搜寻与救援任务。

2.1 空中视觉提取地面路径

    在空中视觉提取地面路径中使用多种算法融合的方式,如图像阈值分割、图像平滑、图像形态学转换等方式,针对不同的地面进行处理,在空中视觉识别方面结合应用腐蚀膨胀、滤波、灰度及二值化等一系列去除干扰提取路径的方法,通过多种方式的组合及对特定区域单独处理可以有效地提取特征信息,如图3提取出有效的路径信息并降低了非路径像素的干扰。

jsj4-t3.gif

2.2 空中机器人识别地面目标

    空中机器人准确判别地面目标是空地机器人结合的前提,首先由空中机器人将图片信息进行HSV空间转换并设立阈值提取出可能的起始点与终止点,使用cv2.cvtColor()函数将RGB转换成HSV。并设定合理阈值,如使用[130,100,100]与[190,255,255]的阈值范围可提取红色。在颜色特征识别后结合轮廓、特征点匹配进行多重判定可以更精确地识别目标。如在本实验中先由findContours函数进行轮廓查找,根据轮廓特点排除不相关信息后可以比较准确地判定目标所在位置,最后由cv2.drawContours函数实现及绘制出目标的所在位置,如图4所示。

jsj4-t4.gif

2.3 最优路径规划

    在空中机器人识别地面目标后获得起始点和终止点的信息,然后结合提取的地面路径信息进行路径规划。先将起始点和终止点的坐标信息放入路径信息中,在实际应用到机器人路径规划中,由于传统算法(如遗传算法、神经网络算法等算法)难用公式计算且计算耗时漫长,而在Python内函数BFS(广度优先搜索算法)使用collections模块中的deque内部实现,非常高效,且使用广度优先搜索基于遍历的方式可计算很大一部分迷宫路径问题求得最优解,因此作为主要路径规划方法。经过路径规划算法计算的地面机器人到达不同目的地点时最短路径如图5所示。

jsj4-t5.gif

    为了使空地机器人能够有效地交流行走路径信息,需要提取图像信息中的交叉点信息。在图像处理中实际使用到的为角点坐标信息的提取,基于Shi-Tomasi的打分函数选择最好的N个特征点后识别出的特征点质量也更高。为了更好识别角点,首先对图像中的路径特征细化(如图6所示),采用角点识别对路径中的交叉点及特征点的检测结果如图7所示,所采用角点识别函数如下:

    corners=cv2.goodFeaturesToTrack(gray,25,0.01,10)

jsj4-t6+t7.gif

    为使得空地机器人获得协同并得到最终的指令信息,在获得路径信息和交叉点信息后需将两者的坐标点位置提取出以进行比对,通过判断当前交叉点与前后交叉点的位置判断地面机器人在经过当前交叉点时转弯的方向,经过比对后得出:位置1时地面机器人需要执行的方向依次为左、左、右,位置2时需执行方向依次为前、左、右、左、前。生成命令后进行编码并写入文本文件中进行打包。

2.4 空地机器人通信

    空中机器人和地面机器人之间的通信是空地协作的重要组成部分,应当采用能耗少、传输速度快且连接便捷的方法。地面机器人内置WiFi模块及空中机器人加装相应的模块后使其可采用传输速率高效的WiFi进行通信,发送的数据由Linux封装协议后通过WiFi模块发送到无线网络中。使用由Python语言编写的paramiko模块能够支持空地机器人的文件或命令的传递,使两者进行协作。该模块遵循SSH2协议并支持加密和认证的方式,能够进行远程服务器的连接及进行文件的发送或命令的直接操作,该模块的代码如下:

    import paramiko

    def ssh2(ip,username,passwd,cmd):

     ssh = paramiko.SSHClient()

     ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

     ssh.connect(ip,22,username,passwd,timeout=5)

2.5 地面机器人执行任务

    地面机器人在接收到文本文件指令后进行解读,并搜寻地面路径。首先由地面机器人对地面进行拍照及二值化后提取出地面路径,用霍夫算法提取出地面路径并对地面机器人进行航偏矫正修正姿态,霍夫变换在图像特征处理中使用比较普遍,基本思想是通过笛卡尔坐标系上的点转为极坐标后通过投票算法检测具有特定形状的物体[13],本文用到的霍夫直线检测函数的使用如下:

    img=cv2.imread(′picture1.jpg′)

    gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

    edges=cv2.Canny(gray,50,150,apertureSize=3)

    lines=cv2.HoughLines(edges,1,np.pi/180,200)

    地面机器人在检测到地面路径后沿路径行走,在地面交叉点处执行对应的文本文件指令信息,最终到达目的地面附近。由于地面机器人的电机自身误差、发热等会行成行走偏差,造成与预定方向的偏离,因此根据实际需要提出使用霍夫算法进行纠偏的方法,在使用霍夫算法检测到直线后计算其在图像中的位置,如果偏离在误差范围外,则计算直线偏移的位移和角度并根据偏移值大小对地面机器人进行矫正。

    图8(a)为矫正偏差前摄像头拍摄的图片,图8(b)为经矫正后拍摄的图片。矫正偏差及指令执行正确后地面机器人可按既定规划路径前往指定位置。

jsj4-t8.gif

    在地面机器人到达指定位置后需进一步识别和抓取目标物,使用地面机器人的顶部(如图9(a)所示)和底部(如图9(b)所示)两个摄像头对不同距离的目标物采用周长与面积的特定比例关系并用矩的信息精确定位,以实现对目标物的探测并逐步靠近目标物,根据单目视觉的标定结果反推目标物距离地面机器人的距离,最终识别到目标物并引导地面机器人的机械臂完成抓取,携带目标返回出发点,完成设计任务。

jsj4-t9.gif

3 实验结果及分析

    实验测试搭建了模拟在灾害现场搜寻与救援时的环境,使用挡板进行了隔离,使得地面机器人与目标物置于环境当中的不同位置,并设置多条路径以模拟实际环境,如图10所示。在操控空中机器人起飞后,由空中视觉传感系统对地面环境及目标进行检测,如图11所示。计算结果传输至地面机器人,地面机器人在到达目的地面后探测周围环境找寻目标物,在判定目标为所需目标物后,由单目视觉信息实行精确抓取后完成任务并原路返航,如图12所示。

jsj4-t10.gif

jsj4-t11-12.gif

    实验结果如表1所示,从中可分析空地机器人的协作效果,空中机器人基本能够正确识别地面目标,地面机器人识别能力优于空中机器人,经过对目标物识别检测后可以进行正常抓取,两者之间能够实现有效协作。多次试验完成结果表明,系统中的空中机器人检测正确率约90%,地面机器人执行任务的正确率更优,接近100%。因此空地机器人总体完成指定任务的成功率在80%以上,表明该空地机器人的结合方法能够成功地完成搜救目标任务。

jsj4-b1.gif

4 结论

    本文针对空地协同研究平台缺乏且缺少实际场景应用(如灾害中的搜寻救援)的特点,提出了以通用性较好的NAO机器人与四旋翼作为硬件基础,并结合移植性较好的Python编程语言实现空地机器人完成指定任务的协作平台,针对搜寻救援场景规划了从空中机器人对地面目标检测、路径检测、路径规划、命令传输的方法,到地面机器人对地面路径检测与执行命令、对目标检测与抓取的方法。在空中机器人中,提出了多种图像处理方法融合的识别方法及使用角点提取加坐标比对生成行走方向的方法;在地面机器人中,提出了运用霍夫变换矫正机器人角度和位移偏移的方法,这些方法能够很好地帮助实现总体任务的完成。今后将在实际环境中的路径规划及视觉识别精确度方面做进一步研究以推进平台软件包的开发。

参考文献

[1] DUAN H B,LIU S Q.Unmanned air/ground vehicles heterogeneous cooperative techniques:current status and prospects[J].Science China Technological Sciences,2010,53(5):1349-1355.

[2] 谷丰,王争,宋琦,等.空地机器人协作导航方法与实验研究[J].中国科学技术大学学报,2012,42(5):398-404.

[3] 陈洋,谭艳平,程磊,等.邻域约束下空地异构机器人系统路径规划方法[J].机器人,2017,39(1):1-7.

[4] TOKEKAR P,VANDER HOOK J,MULLA D,et al.Sensor planning for a symbiotic UAV and UGV system for precision agriculture[J].IEEE Transactions on Robotics,2016,32(6):1498-1511.

[5] JIN H K,KWON J W,SEO J.Multi-UAV-based stereo vision system without GPS for ground obstacle mapping to assist path planning of UGV[J].Electronics Letters,2014,50(20):1431-1432.

[6] MINAEIAN S,LIU J,SON Y J.Vision-based target detection and localization via a team of cooperative UAV and UGVs[J].IEEE Transactions on Systems Man & Cybernetics Systems,2016,46(7):1005-1016.

[7] MUEGGLER E,FAESSLER M,FONTANA F,et al.Aerial-guided navigation of a ground robot among movable obstacles[C].IEEE International Symposium on Safety,Security,and Rescue Robotics.IEEE,2014.

[8] CANTELLI L,PRESTI M L,MANGIAMELI M,et al.Auto-nomous cooperation between UAV and UGV to improve navigation and environmental monitoring in rough environments[C].International Symposium Humanitarian Demining,2013.

[9] 梅元刚.空地机器人协作环境建模与路径规划[D].北京:中国科学院大学,2014.

[10] 李越.OpenCV应用现状综述[J].工业控制计算机,2017,30(7):123-124.

[11] 赵毅,马捷.利用Python和GTK+的Linux GUI应用的快速开发[J].计算机工程,2004,30(8):80-82.

[12] 狄博,王晓丹.基于Python语言的面向对象程序设计课程教学[J].计算机工程与科学,2014,36(s1):122-125.

[13] 李明,黄华,夏建刚.基于Hough变换的车道检测改进算法研究[J].计算机工程与设计,2012,33(4):1638-1642.



作者信息:

刘  毅1,2,车  进1,2,朱小波1,2,杭  立1,2,郝志洋1,2

(1.宁夏大学 物理与电子电气工程学院,宁夏 银川750021;

2.宁夏沙漠信息智能感知重点实验室(宁夏大学),宁夏 银川750021)