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