夏小雨 韓成浩
(吉林建筑大學(xué)電氣與計算機(jī)學(xué)院)
無人機(jī)(Unmanned Aerial Vehicle)是指能夠連續(xù)飛行并配有數(shù)據(jù)處理系統(tǒng)、通信系統(tǒng)和自動控制系統(tǒng)的飛行器。無人機(jī)越來越小,越來越穩(wěn)定,越來越智能。目前,無人機(jī)廣泛應(yīng)用于軍事領(lǐng)域,如戰(zhàn)場環(huán)境下的監(jiān)視、目標(biāo)攻擊、電子干擾等;民用領(lǐng)域,如農(nóng)業(yè)工作、緊急搜救、高速運(yùn)輸?shù)?。無人機(jī)目標(biāo)跟蹤,首先利用機(jī)載攝像頭拍攝目標(biāo),將其傳輸?shù)揭曈X處理器中。然后根據(jù)目標(biāo)跟蹤算法把跟蹤命令發(fā)送到無人機(jī)系統(tǒng),最后無人機(jī)執(zhí)行跟蹤任務(wù)。其中,目標(biāo)檢測與跟蹤研究對于無人機(jī)自主飛行與快速跟蹤目標(biāo)具有非常高的應(yīng)用價值,成為眾多研究人員的熱點研究方向。無人機(jī)的跟蹤目標(biāo)流程圖如圖1 所示。
圖1 無人機(jī)跟蹤目標(biāo)流程圖
無人機(jī)目標(biāo)跟蹤系統(tǒng)主要分為硬件與軟件模塊。系統(tǒng)是由四旋翼無人機(jī)、圖像處理系統(tǒng)、地面站上位機(jī)構(gòu)成。四旋翼無人機(jī)是由飛行控制模塊、GPS 模塊、視覺處理系統(tǒng)、攝像頭、無人機(jī)動力系統(tǒng)等組成。四旋翼無人機(jī)通過攝像頭捕捉目標(biāo)的圖像,經(jīng)過圖像分析與處理、中央處理器對目標(biāo)的識別與跟蹤的算法解析,通過地面站發(fā)出跟蹤指令,利用圖像處理系統(tǒng)與中央處理器的跟蹤算法,飛行控制模塊控制四旋翼無人機(jī)識別跟蹤目標(biāo)體,四旋翼無人機(jī)目標(biāo)識別定位與跟蹤系統(tǒng)的整體構(gòu)造示意圖如圖2 所示。其中包括三大模塊,即飛行器模塊、傳輸模塊以及地面站模塊。
圖2 整體構(gòu)造示意圖
四旋翼無人機(jī)的硬件設(shè)備大部分都集中在飛行控制板中,飛行控制系統(tǒng)集中在主控芯片上,該芯片的接收傳感器獲取的數(shù)據(jù),通過控制算法計算調(diào)整無刷電機(jī)的轉(zhuǎn)速,實現(xiàn)無人機(jī)飛行姿態(tài)的控制。硬件系統(tǒng)主要包括飛行控制器模塊、遙控與動力套件以及圖像采集與處理硬件等。
飛行控制器的選擇決定無人機(jī)飛行控制的能力。本文選用Pixhawk 飛控,Pixhawk 是一款運(yùn)算處理能力強(qiáng)大的飛行控制器,擁有兩個處理器,一個有強(qiáng)大運(yùn)算處理能力的處理器,另外一個是用于工業(yè)的協(xié)助處理器,它的特點就是安全穩(wěn)定。Pixhawk 的外觀結(jié)構(gòu)圖如圖3 所示。
圖3 Pixhawk 外觀結(jié)構(gòu)圖
2.3.1 遙控模塊
本文使用AT9S 的遙控設(shè)備,遙控器的兩個搖桿分別控制無人機(jī)的動作姿態(tài)。遙控器利用接收機(jī)接收信號,然后接收機(jī)依據(jù)遙控器發(fā)出的信號,導(dǎo)入到主控制器,主控制器利用輸入捕獲功能來進(jìn)行計算,進(jìn)而得到遙控器每個通道的搖桿量。AT9S 遙控設(shè)備示意圖如圖4 所示。
圖4 AT9S 遙控設(shè)備示意圖
2.3.2 無刷電機(jī)
無刷電機(jī)是在有刷電機(jī)的基礎(chǔ)上發(fā)展而來,與普通有刷電機(jī)不同的是電樞繞組旋轉(zhuǎn)換向,無刷電機(jī)是線圈固定,通過改變電流的方向進(jìn)而產(chǎn)生變化的磁場,驅(qū)使磁極偏轉(zhuǎn)。本文的電機(jī)選用2812 無刷電機(jī),其反應(yīng)速度迅速、速度調(diào)節(jié)范圍廣,耐用性強(qiáng),螺旋槳選用1045 螺旋槳。無刷電機(jī)與螺旋槳示意圖如圖5 所示。
圖5 無刷電機(jī)與螺旋槳示意圖
2.3.3 電池
四旋翼無人機(jī)飛行時電量消耗快,普通電池容量低、續(xù)航時長短。因為要搭載視覺模塊,所以還要考慮整體載重,選用圖6 中的3S 5200mAh 30C 鋰電池來進(jìn)行供電。
圖6 鋰電池示意圖
在穩(wěn)定飛行的前提下,還要求無延時獲取跟蹤目標(biāo)圖像、利用跟蹤算法計算目標(biāo)位置,并將處理結(jié)果與圖像傳送給地面站,實現(xiàn)目標(biāo)識別與跟蹤功能??紤]到整體重量、計算性能與功耗,機(jī)載嵌入式設(shè)備選擇樹莓派4B。攝像頭選用小型工業(yè)攝像頭。樹莓派4B 及攝像頭外觀如圖7 所示,同時該攝像頭利用任意長度的數(shù)據(jù)線來與樹莓派連接,便于機(jī)載安裝。
圖7 樹莓派4B 與攝像頭
根據(jù)目標(biāo)識別與跟蹤總體設(shè)計的要求,本文設(shè)計了目標(biāo)識別與跟蹤系統(tǒng)的軟件結(jié)構(gòu)。目標(biāo)識別與跟蹤系統(tǒng)的軟件結(jié)構(gòu)包括三大部分,目標(biāo)識別與跟蹤、無人機(jī)定位、目標(biāo)跟蹤方法。在目標(biāo)識別與跟蹤的結(jié)構(gòu)中,使用跟蹤算法得到目標(biāo)在圖像中的坐標(biāo)和偏移角等相關(guān)信息,并輸入到目標(biāo)識別與跟蹤系統(tǒng)中去。無人機(jī)定位目標(biāo)過程中,利用算法得到無人機(jī)的精準(zhǔn)坐標(biāo),并將數(shù)據(jù)發(fā)到相應(yīng)的軟件系統(tǒng)中。利用識別與跟蹤系統(tǒng)的數(shù)據(jù)庫,無人機(jī)通過跟蹤目標(biāo)提取地面運(yùn)動目標(biāo)坐標(biāo)與無人機(jī)在空中的坐標(biāo)位置來進(jìn)行比對,依據(jù)坐標(biāo)位置在圖像的位置的不同,無人機(jī)的飛行運(yùn)動姿態(tài)也做出相應(yīng)的改變,實現(xiàn)無人機(jī)對地面運(yùn)動目標(biāo)實時定位與跟蹤的設(shè)計目的。目標(biāo)識別與跟蹤系統(tǒng)軟件構(gòu)造示意圖如圖8 所示。
圖8 目標(biāo)識別與跟蹤系統(tǒng)構(gòu)造示意圖
參照目標(biāo)在圖像中的具體坐標(biāo),本文計劃把目標(biāo)識別與跟蹤系統(tǒng)構(gòu)建三種狀態(tài),分別為目標(biāo)搜索、目標(biāo)跟蹤與目標(biāo)丟失三種不同狀態(tài),分別對每種飛行狀態(tài)設(shè)計相應(yīng)的無人機(jī)飛行控制模式,達(dá)到無人機(jī)對地面目標(biāo)實時識別與跟蹤的目標(biāo)。在進(jìn)行目標(biāo)跟蹤任務(wù)之前,無人機(jī)首先升空到指定的高度進(jìn)行目標(biāo)搜索,檢測并識別到目標(biāo)之后,無人機(jī)進(jìn)入目標(biāo)跟蹤狀態(tài),此刻無人機(jī)依照目標(biāo)在圖像中的坐標(biāo)來對飛行狀態(tài)進(jìn)行改變,從而讓地面目標(biāo)一直在無人機(jī)拍攝圖像中。假設(shè)因為目標(biāo)超出范圍而導(dǎo)致目標(biāo)丟失,則無人機(jī)進(jìn)入目標(biāo)丟失狀態(tài)。無人機(jī)利用增加高度擴(kuò)大攝像范圍,然后對運(yùn)動目標(biāo)重新搜尋,一旦找到目標(biāo)則立即鎖定目標(biāo),重新進(jìn)入目標(biāo)跟蹤狀態(tài),循環(huán)反復(fù),達(dá)到無人機(jī)對地面運(yùn)動目標(biāo)穩(wěn)定地跟蹤的目標(biāo)。
3.2.1 目標(biāo)搜索
在目標(biāo)搜索狀態(tài)下,無人機(jī)飛行到指定高度進(jìn)行目標(biāo)檢測,確認(rèn)目標(biāo)之后如果出現(xiàn)目標(biāo)丟失,再次進(jìn)入目標(biāo)搜索狀態(tài),并且通過目標(biāo)識別與跟蹤算法對目標(biāo)物體進(jìn)行自動識別并鎖定。
3.2.2 目標(biāo)跟蹤
無人機(jī)搜尋到目標(biāo)后,無人機(jī)識別與跟蹤系統(tǒng)進(jìn)入目標(biāo)跟蹤狀態(tài),接著系統(tǒng)利用目標(biāo)在圖像中的坐標(biāo)來對無人機(jī)的飛行狀態(tài)進(jìn)行改變,實現(xiàn)運(yùn)動目標(biāo)的實時跟蹤。目標(biāo)跟蹤狀態(tài)幾何模型示意圖如圖9 所示,構(gòu)建二維圖像坐標(biāo)系(xv,yv)和無人機(jī)相對于圖像的二維坐標(biāo)系(xq,yq)。劃分五個區(qū)域在二維坐標(biāo)系中,當(dāng)目標(biāo)在0 號位置時,無人機(jī)懸停在目標(biāo)正上方,當(dāng)目標(biāo)在1、2、3、4 號位置時,無人機(jī)參照目標(biāo)的位置坐標(biāo)來對路徑進(jìn)行優(yōu)化,重新捕捉目標(biāo),并讓目標(biāo)再次進(jìn)入0 號位置,達(dá)到目標(biāo)跟蹤的目標(biāo)。假設(shè)目標(biāo)坐標(biāo)在1 號位置,圖像中的坐標(biāo)信息為(x,y),所以目標(biāo)與無人機(jī)坐標(biāo)系xq軸的夾角δ可以利用式(1)計算:
圖9 目標(biāo)跟蹤狀態(tài)幾何模型示意圖
取得夾角δ 后,將目標(biāo)坐標(biāo)放到無人機(jī)的二維坐標(biāo)系中,此時無人機(jī)對于原點位置的增量由式(2)計算:
式中,xt,yt為優(yōu)化無人機(jī)路徑取得的坐標(biāo)點;x0,y0為無人機(jī)坐標(biāo)系的原點。
計算無人機(jī)路徑位置坐標(biāo)之后,利用無人機(jī)位置進(jìn)行目標(biāo)跟蹤,并一直檢測目標(biāo)位置坐標(biāo),查看目標(biāo)是否在坐標(biāo)系的0 號位置。假設(shè)目標(biāo)位置坐標(biāo)相對于無人機(jī)坐標(biāo)系的偏角發(fā)生改變,則系統(tǒng)會對無人機(jī)的飛行路徑進(jìn)行調(diào)整,重新優(yōu)化路徑,讓無人機(jī)參照新優(yōu)化的路徑進(jìn)行目標(biāo)跟蹤。
3.2.3 目標(biāo)丟失
假設(shè)目標(biāo)速度太快,則目標(biāo)會超出跟蹤范圍,出現(xiàn)目標(biāo)跟丟的現(xiàn)象。因此,目標(biāo)識別與跟蹤系統(tǒng)進(jìn)入目標(biāo)丟失狀態(tài),利用上升高度來增加無人機(jī)攝像頭的攝像范圍,重新尋找目標(biāo)并鎖定目標(biāo)的坐標(biāo),目標(biāo)丟失狀態(tài)示意圖如圖10 所示。因為目標(biāo)識別與跟蹤系統(tǒng)的算法對目標(biāo)在圖像中的大小有要求,所以無人機(jī)飛行高度最高是3m。在3m 飛行高度范圍內(nèi),假設(shè)目標(biāo)再次被系統(tǒng)檢測到,則無人機(jī)會對目標(biāo)重新進(jìn)行跟蹤。假設(shè)無人機(jī)已經(jīng)到了3m 的高度,但沒有檢測到目標(biāo),則無人機(jī)會依照目標(biāo)消失的方向前行,重新搜索目標(biāo),并找到目標(biāo)為止。
圖10 目標(biāo)丟失狀態(tài)示意圖
通過無人機(jī)低空下的目標(biāo)識別與跟蹤學(xué)習(xí)與研究,設(shè)計了目標(biāo)識別與跟蹤系統(tǒng)的硬件結(jié)構(gòu)與軟件框架,利用系統(tǒng)硬件與軟件對目標(biāo)識別與跟蹤系統(tǒng)進(jìn)行全面的分析。并對目標(biāo)識別與跟蹤的三種狀態(tài)進(jìn)行設(shè)計,完成無人機(jī)對地面目標(biāo)的目標(biāo)搜索、目標(biāo)跟蹤和目標(biāo)丟失三個狀態(tài)的飛行調(diào)節(jié)和優(yōu)化路徑,達(dá)到無人機(jī)穩(wěn)定跟蹤地面目標(biāo)的設(shè)計要求,本文所提出的方案和方法為無人機(jī)低空下的目標(biāo)識別與跟蹤系統(tǒng)提供理論借鑒。