基于视觉的四旋翼飞行器智能识别规划方法研究
2017-04-21杜轩朱康秦波
杜 轩 朱 康 秦 波
(三峡大学 机械与动力学院, 湖北 宜昌 443002)
基于视觉的四旋翼飞行器智能识别规划方法研究
杜 轩 朱 康 秦 波
(三峡大学 机械与动力学院, 湖北 宜昌 443002)
针对四旋翼飞行器系统中图像识别与航迹规划问题,提出了一种基于视觉的智能识别规划方法,并搭建了基于Linux嵌入式控制的飞行实验平台.在控制过程中,搭载云台相机并结合OpenCV库函数对相机捕捉到的画面进行实时图像处理,实现无人机的目标识别与定位;通过改进遗传算法对无人机飞行路径进行合理规划,使其完成从起点到终点并途经所有中间点而路径最合理的任务;结合Guidance视觉传感导航系统中的超声波数据,利用获取的近地面高度信息实现飞行器精确定位.最后,通过实验验证了该方法的有效性.
四旋翼飞行器; 单目视觉; 航迹规划; 嵌入式控制
目前智能化产品正逐渐改变着人们的生产、生活方式.四旋翼飞行器因具有可垂直起降、机动性能好等特点,因此在民用领域的运用正逐渐扩大[1].民用领域生产无人机的公司中具有代表性的有深圳大疆、深圳零度、3DRobotics等.
无人机稳定飞行控制的必要条件之一是飞行器的实时运动状态,由于旋翼飞行器具有空中飞行、能源动力小、负载有限且耗能高等特点,因此在一定程度上许多获取传统机器人运动状态信息的方法在使用时效果不佳.目前研究中,激光测距仪作为一种对周围环境距离测量的仪器,它可以实时检测出无人机距离障碍物的距离,因此被较多地使用在四旋翼无人机中,但由于其精确测量的距离有限,故在无人机室内定位导航中应用较多[2].相对而言,机器视觉则是一种较为适合旋翼飞行器室外定位飞行的选择.另一方面相机较激光雷达质量更轻,更满足负载设计要求[3].陈旭潮运用视觉伺服的方法,对四旋翼飞行器的悬停控制进行研究,结合机载惯性测量单元数据、飞行器动力学模型采用反步法设计控制器实现飞行器的悬停控制[4];曹美会针对GPS信号缺失环境下无人机自主飞行控制问题,利用改进的SLAM算法、PID控制及非线性控制器设计了一种基于视觉的自主定位与控制方法[5];吕强对四旋翼飞行器在室内环境下地面线状结构问题进行了研究,通过设置图像感兴趣区域、基于HSV颜色空间阈值分割、高斯滤波及边缘检测等方法完成了路径识别任务[6];邸斌研究了异构无人机对不同类型目标执行侦察、打击和评估任务的协同任务分配问题,通过建立异构多无人机协同任务分配模型、设计分布式拍卖算法实现了多无人机协同任务分配问题的优化求解[7].
关于机器视觉、航迹规划及飞行器PID控制的相关研究在国内外已经较多,但在无人机搜救、检测、运输等实际运用中,需要将图像识别、航迹规划及飞行控制等技术综合运用,以满足功能需求.本文针对这些不足,采用基于Linux嵌入式控制系统架构,将图像处理、目标识别、航迹规划及飞行器近地面飞行控制等集成在机载系统Manifold计算机上完成,并将计算结果以控制信号的方式传给无人机飞行控制系统.此种设计方式避免了对无线数据传输链路的依赖,排除了无线传输所造成的系统延时、环境干扰等问题.本文设计了一种基于视觉的四旋翼飞行器智能识别规划系统,搭建了飞行器实验平台;通过X3云台相机与OpenCV资源库相结合完成了目标物体的识别、定位;采用改进的遗传算法高效完成了无人机的航迹规划问题;最终通过飞行实例实现了四旋翼飞行器从起点到终点的精确飞行控制.
1 基于视觉的目标识别与定位技术
通过图像处理操作可以完成X3相机视场区内目标物体的识别工作,但由于受到单目相机本身硬件所限无法得出目标物体距无人机的实际距离,即无法完成目标物体的定位功能.故本文结合Guidance视觉导航系统所获取的无人机及地面高度信息、相机标定等完成目标物体的定位.图1所示为目标识别、定位过程.
图1 目标识别与定位
1.1 图像处理
Manifold主机通过X3相机获取到的图像尺寸大小是1280×720,编码格式是NV12.而进行图像处理所需的图像应为彩色图像,因此需将图像进行尺寸大小调整及编码格式转换,再进行目标识别处理.针对特定的实验对象,设计了专门的视觉算法.
1.1.1 NV12编码转换为RGB编码
相机初始化,Manifold主机读取到的X3相机视频流的存储方式为一维字符串形式的NV12编码格式.从字符串中提取视频的Y、U、V分量表示如下.
图2 NV12编码格式
按上图所示原理得到Y、U、V3个分量后,式(1)给出了YUV到RGB的转换公式:
R=Y+1.4075×(V-128)
G=Y-0.3455×(U-128)-0.7169×(V-128)
(1)
式中,R、G、B分别代表图像RGB编码格式中的3个通道.按照上述公式分别得到3个通道的值后,再进行通道融合就能还原X3相机的彩色图像信息,以便于后期处理.
1.1.2 视觉算法设计
图像处理是为了得到图像中清晰的目标物体轮廓,便于得到物体的像素中心坐标.本文视觉算法主要采用提取图像灰度、高斯滤波、灰度图像均衡化等方法作为图像预处理;采用图像阈值分割、形态学处理、Canny边缘检测等方法检测目标物体.
以X3云台相机采集的目标色块为例,说明识别算法的运行方式.如图3所示.
图3 图像处理示意
图3中,以标签的形式表示出了图像处理中几个重要过程.标签①所示为还原的彩色图像,标签②指出采用加权平均方法对彩色图像灰度化后的灰度图;标签③指出图像阈值分割后的状态;标签④为采用Canny边缘检测并删除小面积后的图像;标签⑤为轮廓内部填充后的图像;标签⑥为将识别结果显示在原图上的状态,即得最终的检测结果.
1.2 目标定位
通过上述计算可以检测到目标物体,但无法得到目标距飞行器的实际距离.一般要得到空间中物体的三维坐标,采用的方法是双目视觉算法.由于四旋翼飞行器具有非线性、强耦合和静不稳定等特点,因此对算法的实时性要求较高,而双目视觉算法的计算量大、处理时间长且受计算机硬件条件的限制.因此,本文应用Guidance视觉导航模块中的超声波传感器作为位置信息辅助测量单元,结合单目视觉算法完成目标物体定位.
相机标定是进行单目视觉定位的第一步,为其提供必要的相机参数.本文采用基于平面棋盘的张氏标定法.根据摄像机成像模型[8]有:
(2)
其中,m的齐次坐标表示图像平面的像素坐标(u,v,1),M的齐次坐标表示世界坐标点(X,Y,Z,1),R为旋转矩阵,t为平移矩阵,s为尺寸因子.A表示相机的内参,具体表示如下:
(3)
其中,α=f/dx(f为相机焦距),β=f/dy,γ表示像素点在像素坐标系中x、y方向上的尺寸偏差,一般取值为0.
通过计算PnP(Perspective Points)问题[9]的方法来求解相机标定模型,从而得出X3云台相机的内外参数.由于本文主要是获得目标物体相对飞行器的方位与距离,故主要用到相机的内参f.当飞行器检测到目标物体时,由识别算法可以获得目标在图像平面上的像素坐标为(u2,v2),根据三角形法则,可知
(4)
式中,h为Guidance视觉导航系统检测到的无人机近地面的高度,f为摄像机的焦距.dx、dy分别表示目标点距离无人机中心的水平距离、垂直距离.
2 无人机航迹规划技术
2.1 航迹规划目的及优化模型
无人机应用范围越来越广,市场上无人机种类各式各样,但这些无人机普遍存在一个明显的问题——续航能力有限.例如大疆公司推出的M100型无人机在零负载的情况下,使用TB47D电池,仅能自由飞行25 min左右.因此,规划出合理的无人机航线是极其重要的.本文在所有目标点识别的基础上,建立路径优化模型,采用改进的遗产算法对无人机路线进行规划,从而提高飞行效率.
假设无人机有n个目标点,点i与点j的之间距离为dij.当飞行器到达目标点上方后并不会立即停下来,而是由于惯性向前滑一段距离然后返回到目标点.本文将飞行器此种特性带来的调整距离定义为sij.sij的大小将由dij确定,通过多飞行测试确定:当dij小于3 m时,sij为0.5;否则,sij取为1.飞行器航迹规划问题的数学模型可描述如下:
(5)
(6)
式中,i为目标点的编号,i=1,2,3,…;dij为两个目标点时间的距离,dn1表示从终点返回起点的距离.
2.2 改进遗传算法实现
2.2.1 染色体编码
编码方式的选择是运用遗传算法解决问题的关键,本文所采用的编码方式是路径表示形式.这种表示方法是TSP问题的最直接、自然的表示,其中目标点是按访问的顺序排列的.编码串(x1,x2,…,xn)表示从目标点x1出发,依次经过城市x2,…,xn,最后回到出发目标点x1.这种表示方法不仅能满足TSP问题的约束,即保证了每个目标点经过一次且仅一次,也保证了任何一个子集不形成回路.
2.2.2 初始化与适应度函数
种群初始化的目的是产生第一代群体,并且保障群体的质量和多样性.本文所采取的初始化方式是最近邻居法(k-th nearest neighbor).初始化方式如下:指定飞行起点,并依据最近邻居法找到下一点.再以当前点为中心,再次用最近邻居法找到下一点,直到所有目标点都访问为止.
适应度函数用于对遗传个体的优劣程度进行评价,所选的路径越短,其适应度函数值越大.
2.2.3 交叉与变异
采用遗传算法求解航迹规划问题的关键是在利用交叉和变异的搜索过程中,保证新生成个体的有效性,以提高寻优搜索的效率.
本文采用的交叉方式为:随机产生一个二进制链,其长度和初始种群个体长度相同,将父代Pi序列中为1的基因复制到子代Si的相应位上,将父代Pj序列中为0的基因复制到子代Sj的相应位上.将父代Pi序列中为0的基因按其在父代Pj中出现的顺序补充到子代Si中相应的空位上;将父代Pj序列中为1的基因按其在父代Pi中出现的顺序补充到子代Sj中相应的空位上.
本文采用多点变异算子.多点变异的基本思想是随机在父代中产生n点,将这n点重新排列组合,依次放入父代的相应基因位上,构成n-1个新个体.
2.2.4 算法实现步骤
1)初始化,设置种群大小N、遗传代数T、交叉概率Pc、变异概率Pm;
2)判断是否满足终止条件;满足直接结束,否则转入下一步;
3)计算种群中个体的适应度函数值;
4)通过选择、交叉、变异等遗传操作产生新的个体;
5)计算父代和所有子代个体种群的适应度函数值.按照适应度函数度值排序并采用精英保存策略选择一部分作为下一代父体P(t);
6)遗传代数T增加1,判断是否满足终止条件,满足则停止算法,否则继续计算个体适应度值.
7)重复步骤4)~6),直到遗传代数T,得出最优解并输出结果.
3 飞行实验与结果分析
3.1 飞行平台搭建
本文基于上述理论分析,搭建了基于Linux嵌入式控制框架飞行实验平台.Manifold计算机配备了NVIDIA公司的低功耗高性能嵌入式芯片Tegra K1作为核心处理器,具备最高达到326GFLOPS的计算能力.该平台能够较好地执行相关视觉算法,可以实现无地面站参与时飞行器全自主飞行控制.
实验所搭载的飞行平台主要包括四旋翼飞行器主体结构、遥控器、嵌入式计算机、外置摄像机、增强式无线网卡等.其飞行平台如图4所示,主要由以下硬件组成:1)DJI推出的开发者套件M100飞行器框架,其N1飞控板内集成了气压计、惯性导航单元;2)Manifold嵌入式mini主机,采用低功耗NVIDIA KeplerTMGeforce®图像处理器;3)DJI禅思X系列Zenmuse X3航拍相机,最大分辨率达4096×2160,支持多帧图像降噪.
图4 四旋翼飞行器实验平台
无人机智能识别目标并进行航迹规划的系统设计如图5所示,无人机由遥控启动后,摄像机、视觉超声波传感器采集的信息分别经对应的视觉处理模块、Guidance视觉传感导航系统处理,传回机载Manifold计算机,并完成目标识别、航迹规划相关计算.通过UART2串口将数据信号传给飞行控制器N1,由控制电子调速器调节4个无刷电机的转速,最终完成无人机按照该飞行线路自主完成飞行任务.
图5 嵌入式系统整体设计
3.2 飞行实验
飞行实验环境为室外足球场.飞行实验基本过程为:将飞行器放置于起点正前方,并将X3相机调至镜头平行地面朝下,手动起飞并升至通过X3相机能看见所有目标点时切换至无人机自动飞行模式.此时,由飞行器自动完成本文设计的目标识别、定位,航迹规划,飞行控制任务.
图6所示为:对无人机飞行过程中X3相机获取到的全局图像进行识别处理、航迹规划的流程示意.
图6 飞行实验验证
4 结 论
本文主要以四旋翼飞行器智能飞行为目的,设计了飞行器视觉识别、定位算法,飞行器航迹规划方法,飞行器近地面高度控制方案并成功搭建飞行器实验平台.
1)完成X3云台相机视频流格式编码转换,设计飞行器平台下的图像处理技术并顺利完成了可视区内目标物体的识别与定位.
2)通过改进遗传算法,设计了交叉、变异算子并完善遗传算法流程.求解出无人机飞行的最优路径,保证了无人机完成从起点到终点并途经所有中间点的任务.
3)结合相机标定所得参数与Guidance视觉传感导航系统反馈数据,求解出目标物体距无人机中心的相对距离.从而保证无人机高度信息的准确性.
4)采用基于Linux系统的嵌入式控制系统,配合Tegra K1芯片提高了实时性.使无人机具有全自主并完成一定任务的功能.
[1] Gupte S. Mohandas P I T, Conrad J M. A Survey of Quad-rotor Unmanned Aerial Vehicles[C]// Proc. of Proceedings of IEEE SoutheastCon. Orlando:IEEE, 2012:1-6.
[2] Shen S, Michael N, Kumar V. Autonomous Multi-floor Indoor Navigation with a Computationally Constrained MAV[C]// proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 2011:20-25.
[3] 鲜 斌,刘 洋,张 旭,等. 基于视觉的小型四旋翼无人机自主飞行控制[J].机械工程学报,2015, 51(9):58-59.
[4] 陈旭潮,曹志强,于莹莹,等. 基于视觉伺服的四旋翼飞行器悬停控制[J].华中科技大学学报,2015, 43(增1):6-7.
[5] 曹美会,鲜 斌,张 旭,等.基于视觉的四旋翼无人机自主定位与控制系统[J].信息与控制,2015,44(2):190-191.
[6] 吕 强,倪佩佩,刘 峰. 基于视觉的四旋翼飞行器路径跟踪[J].四川兵工学报,2014, 35(11):106-107.
[7] 邸 斌,周 锐,丁全心. 多无人机分布式协同异构任务分配[J].控制于决策,2013,28(2):274-276.
[8] Zhang Zhengyou. Flexible Camera Calibration by Viewing a Plane from Unknown Orientations[J]. The Proceedings of the Seventh IEEE International Conference on Computer Vision, 1999(1):666-673.
[9] Lepetit V, Moreno-Noguer F, Fua P. EPnP:AnaccurateO(n)solutionto thePnPproblem[J]. InternationalJournalofComputerVision,2009,81(2):155-166.
[责任编辑 张 莉]
Autonomous Identification and Planning System for Quadrotor UAV Based on Vision
Du Xuan Zhu Kang Qin Bo
(College of Mechanical & Power Engineering, China Three Gorges Univ., Yichang 443002, China)
An autonomous identification and planning system is proposed; and then a flight platform based on Linux embedded control system is developed for a quadrotor unmanned aerial vehicle(UAV) based on vision. In the process of control, through the Zenmuse X3 camera and the OpenCV library for real-time image processing, to achieve the UAV target identification and localization. By improved genetic algorithm to plan a reasonable path for the UAV, the mission from the starting point to the end point is completed. The ultrasonic data from the Guidance is acquired; and the UAV accurate position can be realized by the acquired near-ground height information. Finally, the proposed approach is verified by experiments.
quadrotor UAV; monocular vision; route planning; embedded control
2016-11-21
国家自然科学基金资助项目(51575313)
杜 轩(1972-),男,副教授,博士,主要研究方向为制造系统工程.E-mail:xdu@ctgu.edu.cn
10.13393/j.cnki.issn.1672-948X.2017.02.020
TP273+.5
A
1672-948X(2017)02-0093-05