鲁建权,王文虎,成天乐
(湖南文理学院,常德 415000)
四旋翼无人机自主循迹算法研究
鲁建权,王文虎,成天乐
(湖南文理学院,常德415000)
通过对四旋翼飞行特点的研究,为了保证四旋翼在简单背景的赛道线上稳定的起飞、降落,并且能够跟踪线路直飞和转向飞行,该算法采用基于中值滤波与分区统计算法结合的方法,让飞控芯片通过摄像头采集的图像自主决策飞行。最后,利用MATLAB软件和基于STM32芯片的四旋翼飞行器分别进行仿真和测试,实验结果表明这种算法在简单背景下能够成功循迹。
四旋翼;循迹;自主飞行
国家自然科学基金(00000000)、国家高技术研究发展计划(863计划)(2008AA000000)、2015年湖南省大学生研究性学习和创新性实验计划项目资助(湘教通[2015]269号第385号)
自主循迹四旋翼飞行器设计技术涉及多学科知识,该系统融合了信号采集、决策规划、自动行驶等功能,尤其涉及许多当今前沿领域的相关技术。和固定翼飞行器相比它有很多优点:能够适应各种环境;可以在超低空飞行;能够实现悬停、倒飞、侧飞,可以垂直起降等。这些优点给予了四旋翼飞行器更加广阔的应用前景。
设计高效、可靠、智能的控制算法准确的判断赛道类型并加以决策,是设计与制作自主循迹算法的技术难点,特别是遇到有拐角时,很难继续沿着循迹线的路径移动。对此,本文根据全国大学生电子设计竞赛(其赛道如图1所示)循迹线提出了一种新颖的智能控制算法[1],即基于统计的自主循迹算法。该算法采用摄像头作为传感器采集赛道信息,使用时需要先将摄像头装在四旋翼飞行器的正下方,通过拍照得到的图像判断飞机所处的位置。算法流程图如图2所示,首先对采集到的图像进行滤波去噪,然后进行分区统计,最后根据统计结果进行循迹姿态调整。
图1 全国大学生电子设计竞赛赛道图
图2 自主循迹算法流程图
在对采集的赛道图像进行统计分析前,需要对图像进行预处理来达到去噪的目的。本文飞行器使用的摄像头型号为OV2460,由于该摄像头主要噪声是椒盐噪声,因此,本文采用去除椒盐噪声效率较高效果较好的中值滤波算法进行预处理操作[2]。
中值滤波是常见的非线性滤波技术,所谓中值滤波,其原理是把以图像中某个点(x,y)为中心的窗口中的所有像素点的灰度按从大到小的顺序排列,如果窗口中的像素点数为奇数个,则将中间值作为(x,y)处的灰度值,若窗口中的像素为偶数个,则取两个中间值的平均值作为(x,y)处的灰度值,所以它的能够在保护图像边缘的同时去除噪声。
中值滤波排序的实现方法有很多的,如冒泡排序、二分排序法等。设有一个一维正数序列f1,f2,…,fi…,对该正数序列进行中值滤波,就是利用滑动窗口进行取数。设滤波窗口长度为J=2k+1,从输入序列中抽出J个数(fi-k,…,fi,…fi+k),再把这J个数按其数值大小排列,取出序号为中心点的那个数作为滤波输出结果。
其数学公式为:
式中median[]表示取出该数列的中间值,Z表示所有自然数的集合。例如:设有一个序列为{0,1,7,1,9),滤波窗口长度取5,重新排序后为{0,1,1,7,9},则yi= median[0,1,1,7,9]=1。
对于一个有限长序列fi,f2,…,fi,…fn,在实际选择滤波窗口时,窗口的尺寸采用从小到大尝试的方式进行选择,通常先用3×3再取5×5,逐渐增大,直到满足滤波效果为止。对于不同的图像课采用方形、圆形或十字形窗口[3]。
进行了中值滤波后,图像中的大部分的噪点都能被有效清除,接下来将进行飞行器的定位与循迹。通过摄像头进行四旋翼飞行器循迹,很重要的一步就是通过采集的图像定位当前飞行器所在位置。由于四旋翼的本身的特殊性,如飞行时的摆动、漂移等,智能车的循迹算法已经不适用[4-6]。为此本文提出一种基于统计的循迹算法。
首先在飞行器飞行过程中采集一幅图像并进行预处理,采集时摄像头分辨率设置为320×240像素,结果如图3所示,然后将该图片划分为9个区域,其中,从左往右二根横线纵坐标分别为110、210,从上往下二根竖线横坐标分别为80、160。由于循迹图像往往比较简单,线和背景通常反差较大,可以通过阈值分割法[5-7]将背景和线变成更为简单的二值图像,赛道线是1,背景值为0,结果如图4所示。然后将每个区块为1的值的数量统计出来,结果如图5。因为摄像头安装在飞行器的正下方,而在统计的结果中只有中间一列有赛道线信息,可知当前飞行器位于赛道线正上方,此时只需要继续往前飞就可以。
图3 飞行中采集的图像
图4 滤波阈值化后的图像
图5 统计像素点
采集图像图6(a)的统计数据为图6(b)。可知飞行器已经飞到了赛道线的右边,需要调整ROLL角达到回到赛道上的目的。
图6 飞行器偏向赛道线右边
当统计数据如图7所示这种情况时,意味着飞行器得前方已经没有线,四旋翼遇到拐点,此时需要调整YAW角来进行逆时针方向的旋转。
图7 飞行器遇到拐点
当统计数据如图8所示这种情况时,意味着飞行器方向出现了YAW角偏移,此时需要调整YAW角来矫正飞行方向。
图8 飞行器已偏移
本文提出一种基于摄像头的自循迹四旋翼飞行器的设计及实现方法,处理简单,占用MCU资源少,执行效率高。本文提到的算法在其他背景和赛道对比较大的情况也可以使用。仿真及四旋翼飞行器测试结果表明,该算法实时性好,易于硬件实现较快速循迹,缺点是飞行速度不能太快,不然容易飞出赛道。
[1]Milan Sonka,Vaclav Hlavac,Roger Boyle.Image Processing,Analysis,and Machine Vision,Second Edition[M].Thomson Learning and PT Press,1999.
[2]刘红莉,王国宇,马原.基于水下图像小波变换的图像阈值去噪方法的研究[J].现代电子技术,2011(15):79-81.
[3]陈怀琛,吴大正,高西全.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社,2006:1-56.
[4]徐飞,施晓红.MATLAB应用图像处理[M].西安:西安电子科技大学出版社,2002:20-107.
[5]清源计算机工作室.MATLAB 6.0高级应用:图形图像处理[M].北京:机械工业出版社,2001:34-215
[6][史忠科,曹力.交通图像检测与分析[M].北京:科学出版社,2007:118-187
[7]王世香.精通MATLAB接口与编程[M].北京:电子工业出版社,2007:38-58
Four-Rotor;Tracking;Autonomous Flight
Quad-Rotor UAV Autonomous Tracking Algorithm
LU Jian-quan,WANG Wen-hu,CHENG Tian-le
(Hunan University of Arts and Science,Changde 415000)
Based on the research of four-rotor flight characteristics,in order to ensure a stable four-rotor taking off and landing in a simple background track line,and the ability to track a lines and steer the flight,the algorithm uses a combination of median filter and partition statistics based on statistical algorithms to let the flight control chip to autonomous decision-making flight with the image captured by camera.Finally,the use of MATLAB software and based on STM32 chip four-rotor aircraft are simulated and tested experimental results show that this algorithm can track line successfully in simple background.
1007-1423(2016)29-0014-04
10.3969/j.issn.1007-1423.2016.29.003
成天乐(1983-),男,湖南常德人,研究生学位,研究方向为最优化理论、算法设计与分析鲁建权(1995-),男,湖南慈利人,湖南文理学院自动化专业13102班王文虎(1964-),男,湖南慈利人,高级工程师,副教授,从事电子技术教学及智能检测技术及其自动化系统的研究
2016-07-19
2016-07-29