馬曉琳,周弘斌,黃福龍
(陸軍工程大學石家莊校區,河北石家莊,050003)
四旋翼無人機因靈巧、方便、易操作,等優點,搭載攝像頭可實現偵察監視和目標搜索任務,在軍事和民用領域得到廣泛的應用。四旋翼無人機通過相機獲得的視覺信息計算得到目標與無人機間的水平位移,將信息回傳給飛控,進而自動調整無人機的姿態和位置,實現目標鎖定與跟蹤[1]。在跟蹤過程中,如何實現自主定位、尋找并跟隨目標等復雜功能是無人機識別跟蹤的關鍵,涉及圖像的實時采集、高效高精度的目標跟蹤算法和圖像數據反饋與飛控指令的配合等多個難點問題。本文旨在基于四旋翼無人機為平臺,應用計算機視覺技術完成對地面任務目標的偵查、監視、跟蹤,通過智能分析技術,迅速辨別運動目標;配合算法研究,對目標進行精準跟蹤,從而獲取目標信息并進行有效跟蹤。
本系統由數據信息采集、數據信號處理、飛行姿態穩定和航向控制等部分組成。系統以STM32F407飛控單元為核心,完成飛機的自穩,通過光流傳感器來定位飛行高度,將Openmv4模塊鏡頭獲取的圖像經過處理識別,發送數據給飛控,飛控對接收的數據進行旋轉解耦、濾波、PID調節,控制飛機姿態,從而實現對地面目標的自動跟蹤[2]。整個系統采用開源設計,可進行目標識別跟蹤算法移植,按需更換Openmv4攝像頭,方便靈活,通用性強。
四旋翼無人機硬件系統如圖1所示,主要包括:動力系統、遙控器模塊、無線數傳、STM32F407飛控模塊、識別定位系統等。四旋翼無人機的動力系統主要包括電機、電調、螺旋槳和電池;飛控模塊為四旋翼無人機的核心部分,通過接收遙控器端的指令,采集并處理傳感器模塊返回的姿態位置信息,根據控制算法的結果向動力系統發送指令,控制無人機完成飛行任務;無線數傳模塊一端接入計算機(地面站軟件),一端接入四旋翼無人機飛控系統,通信采用一定協議進行,從而保持無人機與地面站的雙向通訊[3];光流模塊與飛控相連,集成光流傳感器和慣性傳感器,實現對四旋翼無人機的高精度定位;OpenMV是一款基于STM32F765VI ARM Cortex M7處理器的單片機和OV2640圖像傳感器的機械視覺模塊。圖像傳感器為OV9V034彩色標配,本項目選用5MP 2.8mm 1/2.5"無畸變鏡頭,提高畫面清晰度,從而大大提高自動跟蹤過程有效性。

圖1 四旋翼無人機平臺硬件系統結構
如圖2所示,軟件系統由視覺模塊、串口通信模塊、飛行控制模塊組成,視覺模塊進行圖像獲取并識別,通過串口通信模塊發送數據到飛行控制模塊進行四旋翼姿態控制,自動跟蹤。

圖2 軟件系統總體設計框圖
STM32F07飛控對Openmv傳回的數據進行處理,并解除因機體俯仰、橫滾旋轉而造成追蹤目標坐標變化的耦合,也稱作“旋轉解耦”或“旋轉補償”。并用解算出的像素偏差耦合高度計算到地面偏差,用地面偏差控制期望速度,以減小偏差,實現自動跟蹤。STM32F07飛控對Openmv傳回的數據進行處理并解析數據,通過旋轉解耦解除因機體俯仰、橫滾旋轉而造成追蹤目標坐標變化的耦合,解算出的像素偏差耦合高度計算到地面偏差,用地面偏差控制期望速度,進入色塊計算處理模塊,得到地面偏差,計算微分偏差,得到地面目標的速度,通過距離偏差PD控制和速度前饋處理,進行飛行跟蹤控制,自動跟隨地面目標。
飛控連接電腦地面站,成功打開連接后,觀察地面站主界面的RX計數器,開始增長表示連接成功。在飛控已正確連接地面站并打開連接的情況下,進行飛控參數配置。最后進行電調與電機檢查,接電解鎖,推油門讓電機開始旋轉,然后讓飛機傾斜,確認處于低處的電機轉速上升,高處的電機轉速下降,四個方向都確認一遍。確認完所有電機后,分別根據不同電機的轉向,安裝相應螺旋槳,保證每個螺旋槳都向下吹風[4]。
運用OpenMV IDE顯示圖像,并標記識別的圖像,如圖3所示。解析串口數據后,按照串口通信協議,將用戶數據打包發送到飛控。在進行自動跟蹤與識別的調試時,為確保四旋翼與人員的安全,將螺旋槳拆卸掉后,將色塊放置于OpenMV鏡頭下方,移動色塊觀察電機轉向及趨勢模擬四旋翼實際飛行姿態的變化。四旋翼安裝發送端數傳,電腦連接接收端數傳,通過無線數傳將四旋翼飛行數據實時發送到電腦端地面站,實時檢驗自動跟蹤效果,如圖4所示。

圖3 OpenMV IDE

圖4 實時監控圖
本文應用模塊化思想,應用STM32F103C8T6 控制器,采用姿態結算、坐標系轉換、PID 調節等算法,配合硬件外設實現四旋翼飛行器的穩定飛行;光流法與GPS配合,在室內外對飛行器實現高精度的定位和穩定的控制,搭建四旋翼識別跟蹤平臺。結果表明,所述系統飛行穩定,可對地移動目標智能化進行識別、標記和跟蹤。