魯建權(quán),王文虎,成天樂
(湖南文理學(xué)院,常德 415000)
四旋翼無人機(jī)自主循跡算法研究
魯建權(quán),王文虎,成天樂
(湖南文理學(xué)院,常德415000)
通過對四旋翼飛行特點(diǎn)的研究,為了保證四旋翼在簡單背景的賽道線上穩(wěn)定的起飛、降落,并且能夠跟蹤線路直飛和轉(zhuǎn)向飛行,該算法采用基于中值濾波與分區(qū)統(tǒng)計算法結(jié)合的方法,讓飛控芯片通過攝像頭采集的圖像自主決策飛行。最后,利用MATLAB軟件和基于STM32芯片的四旋翼飛行器分別進(jìn)行仿真和測試,實驗結(jié)果表明這種算法在簡單背景下能夠成功循跡。
四旋翼;循跡;自主飛行
國家自然科學(xué)基金(00000000)、國家高技術(shù)研究發(fā)展計劃(863計劃)(2008AA000000)、2015年湖南省大學(xué)生研究性學(xué)習(xí)和創(chuàng)新性實驗計劃項目資助(湘教通[2015]269號第385號)
自主循跡四旋翼飛行器設(shè)計技術(shù)涉及多學(xué)科知識,該系統(tǒng)融合了信號采集、決策規(guī)劃、自動行駛等功能,尤其涉及許多當(dāng)今前沿領(lǐng)域的相關(guān)技術(shù)。和固定翼飛行器相比它有很多優(yōu)點(diǎn):能夠適應(yīng)各種環(huán)境;可以在超低空飛行;能夠?qū)崿F(xiàn)懸停、倒飛、側(cè)飛,可以垂直起降等。這些優(yōu)點(diǎn)給予了四旋翼飛行器更加廣闊的應(yīng)用前景。
設(shè)計高效、可靠、智能的控制算法準(zhǔn)確的判斷賽道類型并加以決策,是設(shè)計與制作自主循跡算法的技術(shù)難點(diǎn),特別是遇到有拐角時,很難繼續(xù)沿著循跡線的路徑移動。對此,本文根據(jù)全國大學(xué)生電子設(shè)計競賽(其賽道如圖1所示)循跡線提出了一種新穎的智能控制算法[1],即基于統(tǒng)計的自主循跡算法。該算法采用攝像頭作為傳感器采集賽道信息,使用時需要先將攝像頭裝在四旋翼飛行器的正下方,通過拍照得到的圖像判斷飛機(jī)所處的位置。算法流程圖如圖2所示,首先對采集到的圖像進(jìn)行濾波去噪,然后進(jìn)行分區(qū)統(tǒng)計,最后根據(jù)統(tǒng)計結(jié)果進(jìn)行循跡姿態(tài)調(diào)整。
圖1 全國大學(xué)生電子設(shè)計競賽賽道圖
圖2 自主循跡算法流程圖
在對采集的賽道圖像進(jìn)行統(tǒng)計分析前,需要對圖像進(jìn)行預(yù)處理來達(dá)到去噪的目的。本文飛行器使用的攝像頭型號為OV2460,由于該攝像頭主要噪聲是椒鹽噪聲,因此,本文采用去除椒鹽噪聲效率較高效果較好的中值濾波算法進(jìn)行預(yù)處理操作[2]。
中值濾波是常見的非線性濾波技術(shù),所謂中值濾波,其原理是把以圖像中某個點(diǎn)(x,y)為中心的窗口中的所有像素點(diǎn)的灰度按從大到小的順序排列,如果窗口中的像素點(diǎn)數(shù)為奇數(shù)個,則將中間值作為(x,y)處的灰度值,若窗口中的像素為偶數(shù)個,則取兩個中間值的平均值作為(x,y)處的灰度值,所以它的能夠在保護(hù)圖像邊緣的同時去除噪聲。
中值濾波排序的實現(xiàn)方法有很多的,如冒泡排序、二分排序法等。設(shè)有一個一維正數(shù)序列f1,f2,…,fi…,對該正數(shù)序列進(jìn)行中值濾波,就是利用滑動窗口進(jìn)行取數(shù)。設(shè)濾波窗口長度為J=2k+1,從輸入序列中抽出J個數(shù)(fi-k,…,fi,…fi+k),再把這J個數(shù)按其數(shù)值大小排列,取出序號為中心點(diǎn)的那個數(shù)作為濾波輸出結(jié)果。
其數(shù)學(xué)公式為:
式中median[]表示取出該數(shù)列的中間值,Z表示所有自然數(shù)的集合。例如:設(shè)有一個序列為{0,1,7,1,9),濾波窗口長度取5,重新排序后為{0,1,1,7,9},則yi= median[0,1,1,7,9]=1。
對于一個有限長序列fi,f2,…,fi,…fn,在實際選擇濾波窗口時,窗口的尺寸采用從小到大嘗試的方式進(jìn)行選擇,通常先用3×3再取5×5,逐漸增大,直到滿足濾波效果為止。對于不同的圖像課采用方形、圓形或十字形窗口[3]。
進(jìn)行了中值濾波后,圖像中的大部分的噪點(diǎn)都能被有效清除,接下來將進(jìn)行飛行器的定位與循跡。通過攝像頭進(jìn)行四旋翼飛行器循跡,很重要的一步就是通過采集的圖像定位當(dāng)前飛行器所在位置。由于四旋翼的本身的特殊性,如飛行時的擺動、漂移等,智能車的循跡算法已經(jīng)不適用[4-6]。為此本文提出一種基于統(tǒng)計的循跡算法。
首先在飛行器飛行過程中采集一幅圖像并進(jìn)行預(yù)處理,采集時攝像頭分辨率設(shè)置為320×240像素,結(jié)果如圖3所示,然后將該圖片劃分為9個區(qū)域,其中,從左往右二根橫線縱坐標(biāo)分別為110、210,從上往下二根豎線橫坐標(biāo)分別為80、160。由于循跡圖像往往比較簡單,線和背景通常反差較大,可以通過閾值分割法[5-7]將背景和線變成更為簡單的二值圖像,賽道線是1,背景值為0,結(jié)果如圖4所示。然后將每個區(qū)塊為1的值的數(shù)量統(tǒng)計出來,結(jié)果如圖5。因為攝像頭安裝在飛行器的正下方,而在統(tǒng)計的結(jié)果中只有中間一列有賽道線信息,可知當(dāng)前飛行器位于賽道線正上方,此時只需要繼續(xù)往前飛就可以。
圖3 飛行中采集的圖像
圖4 濾波閾值化后的圖像
圖5 統(tǒng)計像素點(diǎn)
采集圖像圖6(a)的統(tǒng)計數(shù)據(jù)為圖6(b)。可知飛行器已經(jīng)飛到了賽道線的右邊,需要調(diào)整ROLL角達(dá)到回到賽道上的目的。
圖6 飛行器偏向賽道線右邊
當(dāng)統(tǒng)計數(shù)據(jù)如圖7所示這種情況時,意味著飛行器得前方已經(jīng)沒有線,四旋翼遇到拐點(diǎn),此時需要調(diào)整YAW角來進(jìn)行逆時針方向的旋轉(zhuǎn)。
圖7 飛行器遇到拐點(diǎn)
當(dāng)統(tǒng)計數(shù)據(jù)如圖8所示這種情況時,意味著飛行器方向出現(xiàn)了YAW角偏移,此時需要調(diào)整YAW角來矯正飛行方向。
圖8 飛行器已偏移
本文提出一種基于攝像頭的自循跡四旋翼飛行器的設(shè)計及實現(xiàn)方法,處理簡單,占用MCU資源少,執(zhí)行效率高。本文提到的算法在其他背景和賽道對比較大的情況也可以使用。仿真及四旋翼飛行器測試結(jié)果表明,該算法實時性好,易于硬件實現(xiàn)較快速循跡,缺點(diǎ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及在電子信息課程中的應(yīng)用[M].北京:電子工業(yè)出版社,2006:1-56.
[4]徐飛,施曉紅.MATLAB應(yīng)用圖像處理[M].西安:西安電子科技大學(xué)出版社,2002:20-107.
[5]清源計算機(jī)工作室.MATLAB 6.0高級應(yīng)用:圖形圖像處理[M].北京:機(jī)械工業(yè)出版社,2001:34-215
[6][史忠科,曹力.交通圖像檢測與分析[M].北京:科學(xué)出版社,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-),男,湖南常德人,研究生學(xué)位,研究方向為最優(yōu)化理論、算法設(shè)計與分析魯建權(quán)(1995-),男,湖南慈利人,湖南文理學(xué)院自動化專業(yè)13102班王文虎(1964-),男,湖南慈利人,高級工程師,副教授,從事電子技術(shù)教學(xué)及智能檢測技術(shù)及其自動化系統(tǒng)的研究
2016-07-19
2016-07-29