成海秀,陳河源,曹惠茹,徐欣桐,黃暢
(1.中山大學南方學院電氣與計算機工程學院,廣州 510970;2.廣東工程技術職業學院信息工程學院,廣州 510075)
無人駕駛飛機(unmanned aerial vehicle,UAV)是利用無線電遙控設備和自備的程序控制裝置操控的不載人飛機,簡稱無人機[1]。無人機具有方便攜帶、體積小、低成本、質量輕、操作靈活等優點[2-5],在眾多領域具有廣泛的應用前景,例如交通檢查、電力巡檢、資源勘探、森林防火、大氣監測、航拍等[6-8]。隨著無人機技術和傳感器技術的急速發展,兩者的充分結合孕育出了許多功能各異的飛行器,這使得無人機在軍事和商業上的應用成為一種可行的選擇。然而現有的大部分無人機仍然采用人為遠程操控和跟蹤預定的航跡[9-10]。因此本文設計一款能智能跟蹤目標的無人機目標跟蹤系統。
無人機跟蹤系統設計中,視覺識別跟蹤技術是研究無人機跟蹤的關鍵領域[11-14],對于無人機的發展而言,更是必不可少。根據目標的不同,視覺跟蹤技術可以分為對人的跟蹤和對物的跟蹤兩種類型[15-16]。對人的跟蹤需要考慮人的動作姿態等問題,識別難度較高,而對物的識別主要是從大小、形狀和顏色的特征進行識別,在圖像中獲取物體的外部特征信息通常是固定不變的,識別難度較小。因此本系統中無人機對目標的跟蹤是通過顏色視覺識別技術和超聲波測距技術對物的跟蹤進行的。
傳統視覺識別主要存在的問題如下。
(1)數據量大,實時性差。例如傳統的視覺識別傳感器在獲取圖像信息時不可避免地會產生大量的數據,實時性較差[17]。
(2)對處理器要求比較高。在視覺識別中,處理器要實時性獲取圖像信息,大部分處理器的性能無法支撐,往往需要依賴計算能力強大的遠端主機來完成。
為了解決傳統無人機視覺跟蹤由于目標的快速移動而導致的無人機與被跟蹤目標易發生碰撞的問題,本文采用超聲波測距模塊與Pixy2傳感器模塊相結合的方式進行無人機目標跟蹤。本文中的無人機目標跟蹤系統中的開發機飛行控制是在無人機體上使用Arduino Mega 2560 主控板結合超聲波模塊測距數據和Pixy2傳感器模塊的顏色識別數據綜合進行的。
Pixy2 CMUcam5 視覺傳感器是一款具有圖像處理能力的開源視覺傳感器[18],使用色調過濾算法(hue-based color filtering algorithm)對目標圖像進行處理,可以從一幀完整的圖像中提取出需要的顏色數據,傳感器模塊內置的專用處理器對所獲得顏色數據進行處理后,傳輸到Arduino或者其他適配的微控制器中。傳統的圖像識別處理,通常由微控制器負責全局的數據處理。 而使用Pixy2 CMUcam5視覺傳感器時,其自帶的具有圖像處理功能的處理器可以獨立完成圖像方面的數據處理,大大減輕了微處理器的工作負擔,使得微控制器可以進行更多更為復雜的操作。Pixy2 CMUcam5視覺傳感器如圖1所示。
圖1 Pixy2傳感器
Pixy2傳感器最高支持7種顏色,具有強大的多色彩顏色識別及色塊追蹤能力,圖像識別容易,支持多物體識別。目標跟蹤系統在通過Pixy2模塊進行目標跟蹤時,提前將與被跟蹤物體相同的顏色進行記錄存儲。其可以同時識別多個物體,具備優秀且快速的圖像處理能力,只需要16.7 ms就能完成對一幀圖像的處理。在實際的識別跟蹤中,Pixy2可以每16.7 ms對物體的位置進行完整更新,應對快速移動中的物體也能做到很好地識別跟蹤。
Pixy2 支持多種通信接口,例如常用的UART 串行、SPI、I2C、USB、數字I/O、模擬I/O等,通過USB線連接到計算機的PixyMon,當PixyMon 運行后,你會看到如下信息“Pixy programming state detected”在PixyMon 的命令窗口區。此時Pixy2 與計算機連接成功,然后就可以對Pixy2 傳感器進行功能設置和調試,提高檢測精度。本文設計的無人機目標跟蹤系統使用FC-10P轉FC-6P連接線將Pixy2連接到Arduino Mega 2560開發板的ICSP接口上,使得無人機系統可以每秒完成60幀畫面的處理,實現了無人機對目標物體移動的快速跟蹤響應。PixyMon軟件演示效果圖如圖2所示。
圖2 PixyMon軟件演示效果圖
圖3 超聲波模塊HC-SR04
HC-SR04 超聲波模塊是一種可以提供2~400 cm 的距離感測功能的傳感器,可測量精度達到3 mm。模塊由超聲波發射器、接收器與控制電路組成,如圖3所示。
超聲波模塊啟動時,需要給至少10 μs 的高電平脈沖信號,觸發引腳Trig。HC-SR04會持續發出8個40 kHz的方波,不斷檢測信號值是否有返回。檢測到返回信號后引腳Echo輸出一個高電平脈沖,高電平脈沖的持續時間從超聲波發射到反射返回。計算公式:距離=(高電平脈沖時間×340)/2。HC-SR04模塊可以不斷檢測無人機周圍的環境情況,輔助無人機目標跟蹤系統的運行。
本文設計的無人機目標系統機構如圖4 所示。各部分的主要功能如下。
(1)Pixy2傳感器模塊。該模塊負責對指定物體進行視覺識別,并根據指定物體相對攝像頭的位置將物體的大小和位置信息發送給主控板的ICSP端口。
圖4 Pixy2視覺識別無人機跟蹤硬件系統結構
(2)超聲波模塊。該模塊負責對指定物體進行測距,將超聲波發射模塊與超聲波接收模塊的數據發送到主控板I/O口。
(3)無線模塊。該模塊主要由遙控器與接收機組成,接收機將6個通道遙控的信號發送到主控板I/O口。
(4)主控模塊。系統采用配置了ATmega256處理器的Arduino Mega 2560 開發板作為主控板。其主要功能包括接收來自Pixy2 傳感器模塊的視覺識別信號與超聲波模塊的距離信號,根據指定物體獲取信息中的大小和位置數據,判定物體相對攝像頭的運動關系;根據指定物體相對攝像頭的運動關系,判決無人機應采取的飛行姿態。
(5)無人機體。無人機體采用F450 機架、XXD 電機1000 kV馬達、XXD30A電調、1045正反槳、2200 mAh鋰電池。
本文Arduino IDE開發環境下完成了系統的軟件設計。首先將需要的端口進行定義,編寫函數指令,將傳感器數據與遙控器油門通道數據結合,實現對指定目標進行識別跟蹤,獲得目標顏色、橫縱向位移、水平距離等參數,根據獲得數據改變無人機的飛行軌跡。因此分為5個模塊功能:
(1)Pixy2 代CMUcam 5 模塊對跟蹤目標的顏色、目標的移動位移;
(2)超聲波模塊檢測目標物體與無人機的水平距離;
(3)Arduino Mega 2560 作為處理中心,處理整套無人機控制系統數據;
(4)接收機向Arduino Mega 2560傳輸遙控數據;
(5)qq 飛控接受Arduino Mega 2560 處理好的傳感器數據控制無人機飛行。
圖5 無人機跟蹤系統工作流程
系統供電后,Pixy2中間的LED閃爍后熄滅,模塊啟動正常,按壓Pixy2上方的黑色按鈕,大約1 s后,LED亮起白燈,待LED變為紅色后松開按鈕,Pixy2會進入“lightpipe”模式,LED的顏色與被測物體的顏色匹配時,Pixy2的LED會亮起與被測物體顏色相同的燈光,此時按下頂部按鈕松開,即完成顏色的記錄。LED燈的亮度與物體色調的飽和度成正比,所以亮度越高越好。
進行系統測試時,使用PixyMon軟件進行校準和設置。首先打開PixyMon軟件進行Pixy2的校準和設置。
當軟件運行后,Pixy2 視覺傳感器模塊上的LED 會關閉,此時在屏幕上PixyMon 的命令窗口區會看到“Pixy programming state detected”這樣的信息,然后就可以對多個被測物體的視覺特征進行定義。待Pixy2 配置好后,打Arduino IDE 軟件運行系統代碼,通過Arduino IDE 的串口助手測試Pixy2 模塊與超聲波模塊是否正常工作。即完成了整個系統的測試前準備。視覺識別無人機現場如圖6所示。
圖6 無人機跟蹤測試
準備8 張彩色A4 紙,顏色分別為紅、黃、藍、綠、紫、青、黑、灰等8個RGB格式下典型色彩,然后將顏色不同的A4紙與無人機在不同光照環境下進行識別范圍的測試,每種顏色A4紙測試15次,取其平均值。
測試超聲波模塊的識別距離,測15次,取其平均值。
(1)同一顏色在不同的光照環境下,Pixy2傳感器識別的準確性與距離有所不同,在光照充足的環境下,青色與藍色有效識別的距離較遠,在弱光環境下,青色與黃色有效識別距離較遠。黑色與灰色在整個實驗過程中均無法有效識別,與Pixy2傳感器識別算法的預期結果一致,測試結果如圖7所示。由于Pixy2傳感器采用的是色調過濾算法,受環境光照影響較大,在不同的光照下攝像頭獲取到的圖像信息有所差異,所以圖像識別的距離和準確度都會受到環境的影響。相對而言,環境亮度越高,Pixy2傳感器對目標的識別距離越遠。
圖7 光照強度與識別距離及色調差異
(2)超聲波模塊的有效測試距離為183 cm,與超聲波模塊的預期效果一致。
通過以上測試結果分析可知,Pixy2傳感器的硬件配置和軟件算法仍有很大的改進空間。在實際的視覺識別中,可以參考上述數據,根據所在環境的光照需要,設置合適的跟蹤距離。
將多種顏色混合與形狀不同的目標物體做進一步測試,對系統的視覺識別和自動跟蹤性能進行測試。實驗結果表明,該無人機目標跟蹤系統對長方形、正方形、圓形等相對飽滿的物體與顏色相對單一的物體識別率較高,跟蹤響應速度快,并能夠對多個物體進行識別跟蹤。因此本文設計的無人機目標跟蹤系統可以有效地完成對色塊的識別和對運動物體的跟蹤。
本文設計的無人機目標跟蹤系統經實驗檢驗,能夠對規則形狀和顏色的物體進行視覺識別,并且能使無人機實現自動跟蹤。該無人機通過使用Pixy2 傳感器、超聲波傳感器和Arduino Mage 2560 主控板對無人機進行控制,為視覺識別技術在無人機領域的應用進行了實踐探索。該無人機的整體設計,在進一步完善后有望應用到更復雜的無人駕駛系統中。目前,無人機目標跟蹤系統存在以下問題需要進一步完善:
(1)Pixy2 傳感器在實際工作中對被測物體的顏色飽和度、形狀大小及其所處的環境光照強度有著很高的要求,需要進一步完善算法、提升性能;
(2)目前Pixy2傳感器固定安裝在無人機上,只能檢測前方180°視角的物體,通過加裝可移動云臺增加Pixy2的可檢測范圍;
(3)由于超聲波模塊的局限性,該系統的有效跟蹤距離較短,需要進一步優化傳感器的算法;
(4)對于無人機的防碰撞性,目前只能防止與正面物體發生碰撞,需要加裝更多的超聲波模塊達到全方位防碰撞。