王盤龍,嵇啟春
(西安建筑科技大學 信息與控制工程學院,西安 710000)
飛行器問世以來,以其安全、靈活、輕量化、性價比高等諸多優點成為航空工業發展的重點方向。但是由于受起飛重量、留空時間、電源控制的制約,單架飛行器可掛載的有效載荷十分有限,造成功能單一的窘迫難題,嚴重限制了飛行器的應用。飛行器列陣飛行模式可以有效解決這一問題,但列陣飛行過程中姿態與相對位置較難控制[1]。
文獻[2]采用仿生蜂群的“主—從”體系架構,在列陣中設置一架指揮機,由其控制其他列陣成員,但是復雜的機間通訊系統和龐大的功耗制約了其向實用化轉變。文獻[3]采用地面控制的技術體制,多個地面控制站分別遙控一架飛行器,人為完成飛行器列陣,雖然實現了列陣飛行演示,但是地面控制設備過于龐大,導致成本居高不下,同樣限制了其應用。
為了以最簡化的系統實現多飛行器列陣飛行的控制難題,提出一種采用地面站視頻監測飛行器狀態的方法[4-5],將復雜的機間協同設置在地面站執行,列陣中各飛行器的飛行狀態、姿態信息以及控制指令都由地面站發出,大幅度地減少了飛行器上為列陣飛行配備的硬件設備,為有效任務載荷留出空間;設計了改進型降噪目標提取算法,改善了飛行器目標在視頻圖像中的信噪比,降低了對光學成像設備的要求,控制了成本。以簡化、實用的系統組成,低成本實現智能化飛行器列陣控制的目的。
出于對飛行器列陣飛行中飛機定位與姿態調整等關鍵技術的考慮,基于雷達監測的飛行器列陣飛行智能控制系統側重于解決對飛行器空間位置的監測和列陣隊形的智能控制問題。系統由雷達監測子系統、飛行器位置與姿態感知子系統以及飛行器列陣航路控制子系統組成。系統組成框圖見圖1。

圖1 基于雷達監測的飛行器列陣飛行智能控制系統組成框圖
雷達監測子系統位于地面站,完成對飛行器位置的監視及飛行器間相對位置的測量,實現對飛行器的位置鎖定與控制姿態檢查功能;飛行器列陣航路控制子系統設置于地面站控制主機中,完成對列陣中各個飛行器的航路規劃,生成對每一架飛行器的姿態調整命令,實現對列陣隊形的控制;飛行器位置與姿態感知子系統為分布式架構,位于每一架飛行器上,完成對載機的空間定位與姿態感知。在數據鏈路組成的命令與數據傳輸平臺中,飛行器位置與姿態感知子系統能夠完成自身狀態的上報,雷達監測子系統實現對每一架飛行器的控制。
1.2.1 雷達監測子系統硬件設計
飛行器位置定位方法主要有雷達法和圖像法,雷達法采用探測雷達波回波的技術實現對飛行器的定位與跟蹤;圖像法采用可見光或紅外攝像機采集飛行器畫面,通過目標識別與跟蹤,實現對飛行器的監測[6]。本文采用雷達法和圖像法共同完成對飛行器監測系統的設計。
雷達監測子系統由視頻采集模塊、通信模塊、解碼模塊、圖像存儲模塊、算法處理模塊以及云臺控制模塊組成。
視頻采集模塊是飛行器列陣飛行智能控制系統的光學前端,選用??低旸S-2DF73301W型攝像機,實現可見光視頻圖像的采集功能[7]。該型攝像機采用1/2.8"CMOS光電轉換器件,最大分辨率2 048*1 536,幀頻25 fps,鏡頭焦距4.5~135 mm,視場角58.9~2.11°連續可調,可以滿足5 km距離內對飛行器的探測與監視需求。
通信模塊采用網絡交換機和以太網完成攝像機與計算機連通,保證兩者之間監控畫面和控制指令的實時通信。
解碼模塊內置于計算機中,實現視頻碼流解碼,并將圖像轉換為RGB格式,存入圖像存儲模塊待處理。
圖像存儲模塊作為圖像緩存中心,將解碼模塊送來的視頻碼流超低延時存儲,并能夠快速讀取,供算法讀取解算。
算法處理模塊是圖像采集的處理核心,負責將視頻流中的圖像根據預設規則提取并確認,輸出脫靶量給云臺控制機模塊,同時向計算機發送跟蹤結果。
云臺控制模塊是攝像機的載體控制器,控制云臺轉動,實現目標置中和攝像機光軸中心調整。
以上各模塊形成一個視頻采集輸入——處理——識別——跟蹤的目標發現流程,能夠對列陣中各個飛行器的空間位置和姿態信息進行采集。為了提高飛行器的識別概率和跟蹤精度,需要在算法處理模塊中根據飛行器的物理特征、灰度值特征、運動特征加以綜合,剔除背景的虛假目標。處理流程見圖2。

圖2 地面站飛行器監測流程圖
攝像機碼流的幀頻為25 fps,而系統算法的設計處理速度為10 020幀/s,如果對解碼獲得的每一幀圖像都進行串行處理,會導致運算量巨大,數據堆積,造成延時,影響系統的跟蹤精度。且該問題會隨著程序運行時間的延長形成累積效應,引發“死機”[8]。為解決這一問題,系統設計為多線程實時處理模式,在FPGA中以硬件語言構建處理線程。第一個線程,負責視頻解碼并將結果存入COAST;采用算法跟蹤檢測在存儲模塊中調用的第二個線程。通過設置模塊定位目標。為防止線程間數據混淆,并提高算法功能,故不設置數據交互模塊。課題所設計系統中,不同的線程對數據的處理速度是不同的,故此需要采用丟幀法解決鏈隊列圖像存儲結構中,由于線程速率不同產生的圖像信息錯誤問題。丟幀法是在檢測出鏈隊列圖像數據錯誤時,不處理該問題圖像,直接繼續處理下一幀圖像的一種容錯處理方法。采用丟幀法可以保證監控數據的實時性,防止系統對圖像數據糾錯而產生數據監控延時問題。
1.2.2 雷達監測子系統程序設計
為提高飛行器目標檢測速度,滿足系統實時性需求,本文采用改進型目標提取算法。算法的核心是對圖像處理領域廣泛使用的經典非線性各向異性擴散方程(P-M模型)進行改進,優化目標圖像的邊緣,提高目標與背景的分界特征。
P-M模型可以概括為兩個擴散系數函數:
(1)
(2)
式中,▽u為梯度模,k為邊緣閾值,f(|▽u|)表示擴散的強度,在邊緣區域擴散力度小。
經過坐標變換后,可將P-M模型簡化為:
(3)
uηη和uξξ代表u在切線方向η與梯度方向ξ上的二階導數。
為降低邊緣區域的擴散性,對P-M模型加以改進,力求在邊緣區域的f(x)趨于0,函數只沿著切線方向擴散,構建改進型目標提取算法:
(4)
其中:k為一個設定值。當自變量為0時,函數值為0.5,切線和梯度方向具有相同的擴散;隨著自變量增大,函數值減小,直至趨近于0,即只沿著切線擴散,滿足各向異性擴散要求。
具體流程為:首先使用三幀差分法去除鬼影現象,檢測運動目標的軌跡特征;在檢測到運動目標之后,根據目標大小設置自適應波門,劃定運動目標所在區域,對該區域使用改進型目標提取算法進行識別[9]。由于這樣處理后,極大地縮小了需處理圖像的數據量,相應地也減少了算法的計算量,能夠滿足系統的實時性需求。
由于改進算法提取的目標自適應波門并不一定能將飛行器目標完全精確地圈定,而可能只圈定了目標的一部分,因此需要對波門進行中心放大,保持波門的中心位置不變,根據檢測到的飛行器圖像面積信息按比例放大波門的長和寬,再在放大后飛行器圖像中進行檢測。
檢測結果儲存在類Rect中,Rect包含4個參數x、y、w和h,分別指波門的左上角坐標(x,y)以及波門的寬w和高h,Rect進行自適應調整的公式如式(5)所示,式中,m為自適應調整Rect參數,x0、y0、w0、h0為原Rect參數,放大2倍。為應對飛行器目標超出波門界限問題以及目標恰在圖像邊緣區形成超界,需要對檢測結果進一步計算,實現根據目標圖像大小自適應設定波門框大小的功能,參見公式(6),將檢測結果與原圖對應的類Rect(0,0,2 048,1 536)求交集,計算波門大小[10]。式中,x、y、w、h為最終結果參數。
Rect(x1,y1,w1,h1)=Rect(x0-m*w0/2,
y0-m*h0/2,m*w0,m*h0)
(5)
Rect(x,y,w,h)=Rect(x1,y1,w1,h1)&
Rect(0,0,2048,1536)
(6)
在飛行器列陣距離攝像機約480 m情況下,攝像機放大倍數選取為30倍,單架飛行器在畫面中的分辨率計算大小約為24×12,此情況下飛行器監測的處理速度約為5.71 fps,對列陣中有效區分距離為0.5 m,滿足飛行器列陣飛行中的安全距離設定值,因此雷達監測子系統能夠實現對飛行器列陣精密監控的功能需求。雷達監測子系統流程如圖3所示。

圖3 雷達監測子系統流程圖
1.3.1 飛行器位置與姿態感知子系統硬件設計
根據雷達監測子系統完成對飛行器列陣的空間定位監控,飛行器位置與姿態感知子系統完成單架飛行器自身定位測量和姿態感知功能,實現機上數據與地面數據的相互印證與支持,并為列陣中飛行器間距提供準確數據。
飛行器的姿態解算需要對陀螺儀、加速度計、磁力計3個傳感器的信息綜合解算。由于傳感器的靈敏度高易受噪聲干擾特點,為提高姿態測量的精度,采用數字濾波方法對傳感器原始數據加以處理,經過數據融合、姿態解算等處理后,計算出飛行器的俯仰角、橫滾角、偏航角三軸姿態數據[11]。本文中飛行器的陀螺儀和加速度計選用的是集成的六軸傳感器MPU6050,磁力計選用的HMC5883L芯片,傳感器均采用IIC總線與飛控通信互聯。
1.3.2 飛行器位置與姿態感知子系統程序設計
考慮到陀螺儀工作的實時性要求以及噪聲干擾源主要為機上電機轉動帶來的高頻振蕩,因此選擇了低通濾波。
低通濾波的原理為:將每一次的輸出值與上一次的輸出值建立關聯,減緩信號的跳變,起到平滑信號的作用[12]。低通濾波算法如式(7)所示:
y(n)=ax(n)+(1-a)y(n-1)
(7)
式中,a為濾波系數。通過調節a來平衡靈敏度和平穩度,a的值越小,表示對信號跳變的限定越嚴格,得到濾波器輸出越平穩,但同時靈敏度會越低;相反,a的值越大,對信號跳變的限定能力越差,輸出變得不穩定,但電路靈敏度會變高。合理選取低通濾波系數a,會兼顧靈敏度和實時性要求,適于機上陀螺儀的信號濾波降噪。
針對加速度計輸出信號的周期性特點,以及干擾源同樣為機上電機的高頻振蕩,選擇了滑動窗口濾波。滑動窗口濾波是綜合設定時間長度的輸出均值,當前輸出受窗口內輸出歷史的影響?;瑒哟翱跒V波算法由于每次只需采樣一次數據,大大縮短了濾波時間,且該算法采集的最近的N次數據使得算法有較高的響應速度[13]。公式見(8):
(8)
磁力計濾波因其數據較為穩定但容易受磁場影響的特性,同樣選擇了濾波系數a較大、輸出穩定的低通濾波。
通過以上濾波取得原始數據后,由于傳感器自身漂移等問題,這些數據還不能直接使用,需要進一步采用互補濾波的方法進行處理。
(9)
式中,q為歐拉公式中的四元數,T為周期,t為時間。將濾波后的數據帶入公式(9),可求得三軸歐拉角[14]。

(10)
式中,φ為飛行器的橫滾角,θ為飛行器的俯仰角,φ為飛行器的偏航角。列陣中各架飛行器的三軸歐拉角通過數據鏈路傳送到地面站,作為列陣的基礎數據,以便后續列陣調整時的位置依據。飛行器位置與姿態感知系統流程如圖4所示。

圖4 飛行器位置與姿態感知系統流程
飛行器列陣航路控制子系統為地面站控制的核心設備,硬件形式為一臺高性能工業控制計算機,操作系統平臺為Windows7。
經過上述兩個子系統的數據采集,已經為飛行器列陣的航跡規劃和隊形排布提供了數據基礎,飛行器列陣航路控制子系統可根據采集到的數據,對每一架飛行器的動作進行規劃設計,發出動作調整指令。
航跡規劃是列陣飛行控制的核心步驟,即根據給定任務的預設目標進行解算分解,生成列陣中每一架飛行器的飛行航跡規劃[15]。為簡化操控,飛行器列陣的飛行路線作為一個整體設定,具體隊形變換預設幾組程序。單架飛行器一次的飛行航線由若干個有序的控制航點組成,地面站根據隊形的設置要求解算出每一架飛行器距離隊形中心的相對位置,自動發送給飛行器,由多個飛行器演示列陣飛行功能。解算的流程為:
首先,添加規劃的航跡點。針對每一架飛行器生成規劃航跡點的序號、經度、緯度和高度序列信息。規劃飛行器飛行的偏航角,這樣呈現出來的飛機朝向即為規定的飛行器飛行朝向。
其次,列表顯示為每一架飛行器生成一個列表控件,用來規劃和記錄航跡點的信息。
再次,修改航跡點。根據飛行器列陣航路控制子系統計算出的規劃數據,對比雷達監測子系統測得的飛行器空間位置數據和機上下傳的三軸角信息,自動計算偏離量,并實時做出調整指令。
為驗證本文設計的正確性和有效性,開展飛行器列陣飛行測試實驗。飛行器選用大疆精靈3型,數量設置為50架,飛行空域限定在城市周邊空曠場地,保證方圓5 km之內具有良好通視條件,飛行器飛行高度不超過150 m。本次實驗主要考察飛行器列陣飛行智能控制系統對飛行器的控制和列陣規劃能力,在預設一字形、“S”形、“矩陣”列陣中,飛行器位置信息、距離信息、橫滾角、俯仰角、偏航角測量值與預設值的偏差。
實驗中,第一階段設定50架飛行器呈一字形等間距靜態懸停,持續5 min;第二階段設定50架飛行器呈“S”形,保持50 m飛行高度自南向北勻速飛行;第三階段設定50架飛行器呈矩陣隊形,高度分別在50~60 m之間依次升降。
在控制系統軟件界面中輸入隊形策略為“矩陣”隊形。如圖5所示。

圖5 飛行器列陣飛行智能控制系統操作界面
實驗場景照片見圖6。

圖6 飛行器列陣飛行智能控制實驗場景圖
分別采集50架飛行器在3個階段穩定狀態下的參數瞬時值與預設值比較,觀察數值的偏差情況,以此分析智能控制系統的控制精細度。

圖7 橫滾角、俯仰角、偏航角準確率統計圖
通過實驗數據分析可知,采用所設計智能控制系統對列陣中各飛行器進行控制,其中,俯仰角偏差率較大,平均偏差值約為2%;橫滾角偏差率平均值為1.5%,偏航角偏差率平均值約為1%。分析可知該智能控制系統的偏差維持在2%以下,偏差率較低,說明各機能夠按照預定的飛行軌跡完成飛行動作,且隊形保持基本穩定,無論在靜態懸停還是在交替升降的機動過程中,智能控制系統均能夠可靠控制列陣中各架飛行器。實驗結果證明本文設計的飛行器列陣飛行智能控制系統有效,精度可接受。
以文獻[2]、文獻[3]方法作為實驗對比方法,測試3種方法的飛行器列陣飛行智能控制所需時間,得到對比結果如圖8所示。

圖8 橫滾角、俯仰角、偏航角準確率統計圖
如圖8可知,在50次實驗中,文獻[2]方法的控制時間為25 s,文獻[3]方法的控制時間為22 s,而所提方法的控制時間為15 s。對比結果可知,所提方法的控制耗時較短,控制效率高。
本文設計的飛行器列陣飛行智能控制系統實現了對50架飛行器自由編輯飛行路線、個性化任務分配的全自動操作流程,將監測與控制部分設置在地面站中,減小了飛行器的載荷負擔,提升了應用潛能,規避了飛行器載荷有限導致使用受限的難題。在設計原理和理論分析中,飛行智能控制系統可支配的飛行器是沒有限制的,但是考慮到位置解算與圖像處理的數據量問題,系統還不能無限擴展。隨著運算系統硬件升級,處理速度提升后,可對飛行智能控制系統進一步擴展升級,探索飛行器控制的新應用。