魯建權(quán),王文虎,成天樂
(湖南文理學院,常德 415000)
四旋翼無人機自主循跡算法研究
魯建權(quán),王文虎,成天樂
(湖南文理學院,常德415000)
通過對四旋翼飛行特點的研究,為了保證四旋翼在簡單背景的賽道線上穩(wěn)定的起飛、降落,并且能夠跟蹤線路直飛和轉(zhuǎn)向飛行,該算法采用基于中值濾波與分區(qū)統(tǒng)計算法結(jié)合的方法,讓飛控芯片通過攝像頭采集的圖像自主決策飛行。最后,利用MATLAB軟件和基于STM32芯片的四旋翼飛行器分別進行仿真和測試,實驗結(jié)果表明這種算法在簡單背景下能夠成功循跡。
四旋翼;循跡;自主飛行
國家自然科學基金(00000000)、國家高技術(shù)研究發(fā)展計劃(863計劃)(2008AA000000)、2015年湖南省大學生研究性學習和創(chuàng)新性實驗計劃項目資助(湘教通[2015]269號第385號)
自主循跡四旋翼飛行器設計技術(shù)涉及多學科知識,該系統(tǒng)融合了信號采集、決策規(guī)劃、自動行駛等功能,尤其涉及許多當今前沿領域的相關(guān)技術(shù)。和固定翼飛行器相比它有很多優(yōu)點:能夠適應各種環(huán)境;可以在超低空飛行;能夠?qū)崿F(xiàn)懸停、倒飛、側(cè)飛,可以垂直起降等。這些優(yōu)點給予了四旋翼飛行器更加廣闊的應用前景。
設計高效、可靠、智能的控制算法準確的判斷賽道類型并加以決策,是設計與制作自主循跡算法的技術(shù)難點,特別是遇到有拐角時,很難繼續(xù)沿著循跡線的路徑移動。對此,本文根據(jù)全國大學生電子設計競賽(其賽道如圖1所示)循跡線提出了一種新穎的智能控制算法[1],即基于統(tǒng)計的自主循跡算法。該算法采用攝像頭作為傳感器采集賽道信息,使用時需要先將攝像頭裝在四旋翼飛行器的正下方,通過拍照得到的圖像判斷飛機所處的位置。算法流程圖如圖2所示,首先對采集到的圖像進行濾波去噪,然后進行分區(qū)統(tǒng)計,最后根據(jù)統(tǒng)計結(jié)果進行循跡姿態(tài)調(diào)整。

圖1 全國大學生電子設計競賽賽道圖

圖2 自主循跡算法流程圖
在對采集的賽道圖像進行統(tǒng)計分析前,需要對圖像進行預處理來達到去噪的目的。本文飛行器使用的攝像頭型號為OV2460,由于該攝像頭主要噪聲是椒鹽噪聲,因此,本文采用去除椒鹽噪聲效率較高效果較好的中值濾波算法進行預處理操作[2]。
中值濾波是常見的非線性濾波技術(shù),所謂中值濾波,其原理是把以圖像中某個點(x,y)為中心的窗口中的所有像素點的灰度按從大到小的順序排列,如果窗口中的像素點數(shù)為奇數(shù)個,則將中間值作為(x,y)處的灰度值,若窗口中的像素為偶數(shù)個,則取兩個中間值的平均值作為(x,y)處的灰度值,所以它的能夠在保護圖像邊緣的同時去除噪聲。
中值濾波排序的實現(xiàn)方法有很多的,如冒泡排序、二分排序法等。設有一個一維正數(shù)序列f1,f2,…,fi…,對該正數(shù)序列進行中值濾波,就是利用滑動窗口進行取數(shù)。設濾波窗口長度為J=2k+1,從輸入序列中抽出J個數(shù)(fi-k,…,fi,…fi+k),再把這J個數(shù)按其數(shù)值大小排列,取出序號為中心點的那個數(shù)作為濾波輸出結(jié)果。
其數(shù)學公式為:

式中median[]表示取出該數(shù)列的中間值,Z表示所有自然數(shù)的集合。例如:設有一個序列為{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]。
進行了中值濾波后,圖像中的大部分的噪點都能被有效清除,接下來將進行飛行器的定位與循跡。通過攝像頭進行四旋翼飛行器循跡,很重要的一步就是通過采集的圖像定位當前飛行器所在位置。由于四旋翼的本身的特殊性,如飛行時的擺動、漂移等,智能車的循跡算法已經(jīng)不適用[4-6]。為此本文提出一種基于統(tǒng)計的循跡算法。
首先在飛行器飛行過程中采集一幅圖像并進行預處理,采集時攝像頭分辨率設置為320×240像素,結(jié)果如圖3所示,然后將該圖片劃分為9個區(qū)域,其中,從左往右二根橫線縱坐標分別為110、210,從上往下二根豎線橫坐標分別為80、160。由于循跡圖像往往比較簡單,線和背景通常反差較大,可以通過閾值分割法[5-7]將背景和線變成更為簡單的二值圖像,賽道線是1,背景值為0,結(jié)果如圖4所示。然后將每個區(qū)塊為1的值的數(shù)量統(tǒng)計出來,結(jié)果如圖5。因為攝像頭安裝在飛行器的正下方,而在統(tǒng)計的結(jié)果中只有中間一列有賽道線信息,可知當前飛行器位于賽道線正上方,此時只需要繼續(xù)往前飛就可以。

圖3 飛行中采集的圖像

圖4 濾波閾值化后的圖像

圖5 統(tǒng)計像素點
采集圖像圖6(a)的統(tǒng)計數(shù)據(jù)為圖6(b)。可知飛行器已經(jīng)飛到了賽道線的右邊,需要調(diào)整ROLL角達到回到賽道上的目的。

圖6 飛行器偏向賽道線右邊
當統(tǒng)計數(shù)據(jù)如圖7所示這種情況時,意味著飛行器得前方已經(jīng)沒有線,四旋翼遇到拐點,此時需要調(diào)整YAW角來進行逆時針方向的旋轉(zhuǎn)。

圖7 飛行器遇到拐點
當統(tǒng)計數(shù)據(jù)如圖8所示這種情況時,意味著飛行器方向出現(xiàn)了YAW角偏移,此時需要調(diào)整YAW角來矯正飛行方向。

圖8 飛行器已偏移
本文提出一種基于攝像頭的自循跡四旋翼飛行器的設計及實現(xiàn)方法,處理簡單,占用MCU資源少,執(zhí)行效率高。本文提到的算法在其他背景和賽道對比較大的情況也可以使用。仿真及四旋翼飛行器測試結(jié)果表明,該算法實時性好,易于硬件實現(xiàn)較快速循跡,缺點是飛行速度不能太快,不然容易飛出賽道。
[1]Milan Sonka,Vaclav Hlavac,Roger Boyle.Image Processing,Analysis,and Machine Vision,Second Edition[M].Thomson Learning and PT Press,1999.
[2]劉紅莉,王國宇,馬原.基于水下圖像小波變換的圖像閾值去噪方法的研究[J].現(xiàn)代電子技術(shù),2011(15):79-81.
[3]陳懷琛,吳大正,高西全.MATLAB及在電子信息課程中的應用[M].北京:電子工業(yè)出版社,2006:1-56.
[4]徐飛,施曉紅.MATLAB應用圖像處理[M].西安:西安電子科技大學出版社,2002:20-107.
[5]清源計算機工作室.MATLAB 6.0高級應用:圖形圖像處理[M].北京:機械工業(yè)出版社,2001:34-215
[6][史忠科,曹力.交通圖像檢測與分析[M].北京:科學出版社,2007:118-187
[7]王世香.精通MATLAB接口與編程[M].北京:電子工業(yè)出版社,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-),男,湖南常德人,研究生學位,研究方向為最優(yōu)化理論、算法設計與分析魯建權(quán)(1995-),男,湖南慈利人,湖南文理學院自動化專業(yè)13102班王文虎(1964-),男,湖南慈利人,高級工程師,副教授,從事電子技術(shù)教學及智能檢測技術(shù)及其自動化系統(tǒng)的研究
2016-07-19
2016-07-29