林傳健,章衛國,2,史靜平,2,呂永璽,2
(1.西北工業大學 自動化學院,西安 710072; 2.陜西省飛行控制與仿真技術重點實驗室(西北工業大學),西安 710072)
UAV在執行敵情偵查、視覺導航、目標檢測和跟蹤等任務時,視覺系統是不可缺少的一部分[1].在執行任務時,UAV上的視覺系統對目標地區進行圖像采集,通過圖像處理方法對感興趣的目標進行分析和特征提取,實現對目標的跟蹤和定位.目前大多數涉及到UAV跟蹤系統的研究都停留在理論探索層面.由于UAV飛行速度快、起降難以及空域管制等問題,使得實際試飛成本高、難度大.因此如何降低成本并且有效地進行目標跟蹤實驗是一個急需解決的問題.
在過去的幾十年中,計算機技術的迅猛發展使得視景仿真技術得到快速發展.視景仿真技術利用計算機圖形技術構建具有三維模型和仿真環境的研究對象,從而實時地再現仿真場景.視景仿真不僅提供精確的環境模擬,同時能快速地對系統重新設計和測試,大大降低成本,在航路規劃和飛行器姿態顯示和軍事仿真訓練等方面[1-5]廣泛應用.文獻[6-7]用顯示器播放視景仿真軟件運行的畫面,用實際的攝像機進行拍攝,但是這種方法沒有考慮到軟件中視場角的影響.文獻[8]在Creator/Vega中利用高程及影像數據模擬環境以及攝像機效果,搭建了跟蹤系統來滿足偵察訓練需求,但是每一幀視場范圍需經過參數解算才能獲得,實現起來較為復雜.
本文利用視景仿真軟件(Vega Prime,VP)和MATLAB/Simulink設計和實現了一個UAV跟蹤系統仿真平臺,并選擇汽車作為地面跟蹤的目標.視景顯示系統、圖像跟蹤算法與MATLAB/Simulink之間通過共享內存和UDP進行通信,解決不同子系統之間的通信問題.提出了一種實用可靠的標定方法,完成了視景仿真系統中虛擬攝像機內參矩陣的標定.為驗證仿真平臺的運行效果,本文將基于運動補償的云臺控制算法[9]和參考點制導法[10]應用到該仿真平臺上.仿真結果表明,該仿真平臺能較好地還原實際跟蹤場景,模擬UAV跟蹤汽車的過程,實現了低成本、高質量的閉環仿真驗證.
仿真平臺由視景顯示系統、目標跟蹤系統、目標定位系統和Simulink模型系統四個部分組成,如圖1所示.整個跟蹤系統的組成如圖2所示.

圖1 閉環仿真平臺系統組成

圖2 跟蹤系統示意
視景顯示系統使用VP作為開發平臺[11-12].首先在軟件中導入UAV和汽車的3D模型,在UAV模型底部設置一個Transform模塊模擬云臺,然后通過設置Transform的俯仰和旋轉運動模擬云臺的運動.將觀察者設置為Transform模塊,則VP的主窗口會顯示從Transform模塊視角看到的場景,模擬攝像機拍攝,視景顯示系統輸出如圖3所示.UAV的運動及云臺的俯仰和水平旋轉會改變攝像機的視場,VP的主窗口就會顯示不同的場景,模擬了UAV實際飛行中攝像機的拍攝情況.
目標跟蹤系統采用基于相關濾波[13-14]的高效卷積算子(Efficient Convolution Operators, ECO)圖像跟蹤算法[15].使用ECO算法時,首先人工選定目標區域,即汽車所在的矩形區域,然后ECO算法對目標區域進行特征提取,初始化跟蹤器,開始跟蹤,并將目標所在的矩形區域的坐標傳遞給目標定位系統.
目標定位系統選擇汽車所在矩形框的中心點像素坐標當作汽車的坐標,結合本圖像保存時UAV和云臺對應的位姿,利用目標圖像模型解算出目標在世界坐標系下的坐標,并把解算結果發送到Simulink模型系統用于飛行引導指令的計算.
Simulink模型系統由飛機仿真模型、汽車仿真模型和云臺仿真模型組成.飛機仿真模型負責進行六自由度方程的解算并完成UAV的控制,進而引導UAV圍繞目標飛行.云臺仿真模型用于解算云臺的姿態,控制云臺的旋轉和俯仰,使目標保持在視野中央.汽車仿真模型的任務是解算汽車的位置,控制汽車的航向和速度.汽車仿真模型獨立于其他模型,其他模型無法得知汽車的運動狀態.
仿真平臺實物如圖4所示,左邊屏幕有兩個窗口,左邊窗口為視景顯示系統的輸出顯示,右邊窗口為目標跟蹤系統的輸出顯示.右邊屏幕為Simulink的窗口,運行目標定位系統和Simulink模型系統.兩個屏幕均連接在同一臺工作站上.
4個子系統之間通信方式如圖5所示.視景顯
示系統利用Windows的設備句柄將VP主窗口的場景以圖像序列的形式保存到共享內存中,并且在保存該圖像幀的同時,以文本形式保存下UAV的位姿和云臺的位姿.
目標跟蹤系統讀取共享內存中的圖像序列,在第一張圖片中標出感興趣的物體,然后ECO開始進行跟蹤.ECO算法將目標在圖像中的位置以文本的形式保存到共享內存中.

圖5 閉環視景仿真系統通信示意
目標定位系統讀取內存中飛機的位姿,云臺的位姿以及目標在圖像中的位置,利用目標圖像模型計算出目標的實際位置,把目標的位置輸出到Simulink模型系統中.
Simulink模型系統與視景顯示系統之間利用UDP通信.Simulink模型系統定時將UAV、汽車以及云臺的位姿信息發送到視景顯示系統中,驅使視景系統中UAV、汽車和云臺模型的運動,使視景不斷進行更新,從而實現閉環仿真.
通過圖像信息獲取到目標在世界坐標系下的位置是進行目標跟蹤的首要條件.因此本文根據UAV、云臺和目標三者的幾何關系建立了目標圖像模型.UAV在跟蹤過程中目標、云臺、攝像機和UAV的相對位置關系如圖6所示.攝像機和云臺的位置重合,跟隨云臺轉動.

圖6 UAV、云臺和目標的相對位置關系
Pt=P1+P2+P3.
(1)

(2)

式中向量P3為攝像機到目標的距離,滿足如下關系
(3)

(4)
像素坐標系與攝像機坐標系之間的關系為
(5)

由式(4)、(5)可得圖像目標模型的表達式為
(6)
實際工程中,最常用的標定方法是張正友提出的基于單平面棋盤格的標定方法[16].該方法只需利用相機拍攝若干張棋盤格照片,步驟簡單,實用性較強.但是在仿真系統中,攝像機是虛擬的,無法拍攝棋盤格,則張正友標定法無法應用.受到張正友標定的啟發,本文提出一種精確可靠的標定方法,可直接標定視景仿真軟件中的內參矩陣.
目標圖像模型如式(6)所示.通過在視景軟件中設置UAV、汽車和攝像機的位置姿態信息,可獲得對應的圖片.汽車在圖像中的位置通過人工標記獲得,深度信息zc的解算將在目標位置計算中詳細說明.因此,式(6)中僅有內參矩陣未知.內參矩陣共有5個參數,標記一張圖片獲得兩個方程,利用與圖3類似的3張圖片就可求解出內參矩陣M,但是這樣計算出的結果并沒有實際的物理意義,并且存在誤差.為進一步增加標定結果的可靠性,將使用最大似然估計來優化上面得到的結果.
世界坐標系和像素坐標系之間的關系用一個旋轉矩陣R和平移向量T表示,假設得到不同條件下的n幅圖片,每幅圖片上均有一個汽車的像點,目標圖像模型可表示為
(7)

(8)
構造似然函數
(9)
為了能夠讓L取得最大值,將問題轉化為
(10)
式(10)是一個非線性優化問題,將使用Levenberg-Marquardt方法進行優化.利用最開始標定得到的解作為初始值,不斷進行迭代得到最優解.

(11)
則通過下式計算得到
(12)
獲得深度信息zc之后,式(6)右側的剩余變量可通過傳感器量測獲得,則利用下式估算出目標的地理位置
(13)

圖像深度zc的計算需要已知目標的海拔高度zt,在計算的時候假設zt已知.但地形可能存在高低起伏,造成zt存在誤差,給定位帶來影響.假設
zt=zt,o±Δt.
(14)
式中:zt,o代表目標海拔高度的精確值,Δt代表海拔高度的誤差.根據式(12)和式(13),得到目標水平位置xt和yt關于海拔高度zt的導數為:

海拔高度對定位精度的影響可用如下模型評估
(15)
式中:Pt代表由式(6)計算出的目標的位置,Pt,o代表準確的目標位置.式(15)代表地面海拔改變時引起的定位誤差.
由于UAV目標跟蹤主要應用于平原地區,因此可以假定Δt=±20 m.根據式(6)和式(15),固定其他變量,可得?Pt/?zt=0.43 m/m.而UAV跟蹤目標的期望半徑通常在100 m以上,所以在平原地區,該定位誤差對UAV跟蹤精度影響較小.
在跟蹤過程中,攝像機視野會受到UAV運動的影響.實際上,受到氣流變化、UAV姿態調整和目標位置變化等因素的影響,攝像機的成像畫面容易出現模糊、跳動的情況,降低識別準確度甚至丟失目標.為保證攝像機的視野保持穩定,需要對云臺的運動加以控制.
3.1.1 UAV姿態補償

(16)

(17)
3.1.2 中心點補償

(18)
式中:atan為反正切.設采樣時間為Δt,則總的云臺控制指令為
(19)
式中:k1和k2為補償的比例系數,均大于0.根據式(19),本文提出如圖7所示的云臺控制器.

圖7 云臺控制器
通過云臺控制算法,避免因飛機姿態變化過快而引起攝像機視場的變化,可始終保證目標在圖像中心附近,有利于圖像跟蹤算法跟蹤目標.
3.2.1 UAV控制律設計
UAV在跟蹤地面目標的時候,需要圍繞目標做圓周運動,因此需要給出相應的滾轉角指令.本文中采用參考點制導法來獲取滾轉角指令.
3.2.2 參考點制導法
文獻[18]利用參考點制導法[10]實現了UAV跟蹤曲線航路,并證明了穩定性.在利用參考點制導法跟蹤目標時,UAV和目標的位置關系如圖8所示.

圖8 參考點制導法
參考點制導法根據目標位置生成期望的圓形路徑,半徑為rd,并在圓形路徑上指定一個參考點.參考點的位置在圓形路徑上并與飛行器相距L1.根據L1與無人機速度的夾角,生成橫向加速度指令為
(20)
式中:V為無人機的速度,ascmd為橫向加速度指令,與UAV速度方向垂直,L1為連接UAV位置和期望路徑參考點的線段,大小為固定值,η為V與L1的夾角,η∈[-π π].
利用式(20)得到橫向加速度指令后,需要利用式φcmd=atan(ascmd/g)將橫向加速度轉換成滾轉角指令,引導UAV圍繞目標飛行,實現跟蹤.
工作站的硬件環境為:處理器Inter Core i7-6800K CPU 12核,主頻3.40 GHz;顯卡NVIDA GeForce GTX1080;內存32 G.VP的版本為2013,MATLAB版本為2016b.
本文在仿真時采用UAV六自由度模型,UAV飛行高度hg為150 m,飛行速度Vg為25 m/s,起點坐標為(0,0)m,滾轉角限制為|φ|≤30°.
VP的分辨率設置為1 280×960,縱向和橫向視場角均為80°,模擬攝像機的內參矩陣為

(21)
云臺控制算法中比例系數取k1=1和k2=0.06.
參考點制導法的運行周期為200 ms,期望跟蹤半徑rd為130 m,L1的長度為100 m.
ECO算法的部分輸出如圖9所示,長方形框表示ECO算法預測汽車所在的矩形區域.

圖9 視景輸出圖像的跟蹤結果
本文選取中心點誤差定量衡量跟蹤算法的跟蹤效果.中心點誤差是指跟蹤算法預測的圖片上目標中心點與人工標注的目標中心點之間的歐式距離,是衡量跟蹤算法性能的重要指標,單位為pixel.一般將中心點誤差小于20 pixel看作正確跟蹤[19].由圖10可知,中心點誤差的平均值為9.75 pixel,只有少數幀的誤差超過20 pixel,說明ECO在仿真環境也同樣表現優異.

圖10 中心點誤差仿真結果
本節設計了多種汽車運動模式,驗證云臺控制算法和參考點制導算法的效果,并利用本文所搭建的仿真平臺進行閉環仿真.
圖11中,汽車的運動軌跡為直線,x方向速度為10 m/s,y方向的速度為10 m/s.
圖12中,汽車的運動軌跡為正弦.


圖11 跟蹤直線運動目標

圖12 跟蹤變方向運動目標
圖13中,汽車x方向的速度依次為4 m/s、8 m/s、10 m/s和12 m/s;y方向的速度依次為4 m/s、8 m/s、10 m/s和12 m/s;運動軌跡為四邊形.

圖13 跟蹤變速變方向目標
由仿真結果可知,云臺控制算法和參考點制導法相結合的策略能夠使UAV跟蹤不同運動速度和方向的地面目標.整個仿真過程均是在本文設計的仿真平臺進行的閉環仿真,證明該仿真平臺對UAV跟蹤過程具有較高程度的還原,得到的仿真結果具有較高的工程參考價值.
1)利用3D仿真軟件Vega Prime(VP)和MATLAB/Simulink設計了一個UAV跟蹤系統仿真平臺,實現了目標跟蹤實驗的閉環仿真.該仿真平臺成本低,實現簡單,并且各個子系統采用模塊化設計,方便進行推廣和替換.
2)將基于運動補償的云臺控制算法和參考點制導法應用到該仿真平臺上,使UAV能夠跟蹤具有不同運動狀態的目標,并且保證目標始終在視野范圍內.
3)仿真平臺對UAV跟蹤過程具有較高程度的還原,得到的仿真結果具有較高的工程參考價值.下一步工作,將研究把云臺控制算法和參考點制導法應用到真正的無人機平臺上.