陳志明,蔣文凱,吳云華
(南京航空航天大學 航天學院, 南京 211106)
無人機作為一種低成本、高效能的飛行器,自誕生之日起,便獲得了廣泛關注,其可攜帶多種設備,完成多種類任務。無人機的應用逐步從單無人機向多無人機編隊乃至大規模集群發展,利用眾多無人機編對組成大集群作戰已經成為未來戰爭明顯趨勢。但大規模實機驗證往往耗資巨大,難以實施,因此,采用仿真演示的方式進行無人機集群研究逐步成為新熱點。
目前無人機集群仿真技術取得了豐碩成果,如鄭晨明等提出了基于高層次結構的分布式無人機協同仿真系統;許瑞明等針對群體智能無人機系統作戰仿真關鍵需求進行了分析,明確了作戰要素與能力指標;景曉年等在充分考慮各無人機個體意愿的基礎上,提出一種基于規則的運動控制方法,應用于無人機集群運動控制;張燦等側重研究多無人機在二維情況下的任務規劃仿真技術;馮聰等基于上位機視景軟件基礎進行二次開發,完成了無人直升機的編隊生成、保持與重構飛行。
傳統模式下數架無人機組成的編隊難以完成大規模作戰任務,且基于Matlab/Simulink的仿真缺乏形象立體的效果,無法達到交互式的操作環境。本文針對無人機集群難以大規模演示且缺乏直觀的問題,設計了一種基于Cesium的無人機集群作戰仿真演示系統,并對其中關鍵的集群與避障運動進行仿真分析,驗證了該系統的可行性與直觀性。
無人機集群作戰仿真演示系統通過實景化演示手段,將無人機集群運動過程進行演示,以三維實景展示多達百架無人機的集群自主避障、自主尋的效果。
Cesium是AGI公司創建的開源GIS框架,可用于創建具有高性能、高精度、高易用的三維虛擬地球數據,其界面如圖1所示,從航空航天到智慧城市,各行各業的開發人員都在使用Cesium來創建用于共享動態地理空間數據的Web應用程序。依托其強大的互操作性與開放包容性,可高精度地進行可視化分析。

圖1 Cesium三維地球界面
通過對集群作戰演示需求進行分析,本文所設計的無人機集群仿真演示系統主要包括三大部分:演示系統控制端、集群動力學模擬端、集群三維實景演示端。演示系統控制端負責指令發送與系統設置,集群動力學模擬端負責接收控制端信息,完成動力學仿真,集群三維實景端負責三維場景搭建、加載及動態展示,用戶通過瀏覽器對系統進行訪問。各子系統間底層通信傳輸通過基于UDP協議的無線局域網自動完成。
..系統設計
本文提出的無人機集群作戰仿真演示系統的總體設計為B/S架構,用戶僅需要安裝瀏覽器,無需安裝特定軟件即可實現在線訪問。系統設計過程如圖2所示,Cesium通過加載數字高程瓦片,將其數據與本地數據疊加形成三維地形,控制端主要設置相關集群參數并通過UDP通信方式將發送相關指令到服務器端口,服務端一方面提供所需的空間三維地形數據來源,并通過數據庫將集群相關信息存儲收集、存儲與計算,加載大量的三維數據模型,提高渲染效率與瀏覽器相應速度,客戶端通過瀏覽器訪問,展示集群效果。
系統間數據傳輸流主要包括:控制端與動力學端的參數設置傳輸,通過UDP通信方式,將集群數量、種類、速度、障礙物位置,目標點位置等相關信息發送到動力學端,完成動力學模擬。動力學端將集群設置參數與環境信息發送到數據庫,形成集群相關數據信息,服務器接收信息,進行相關模型計算并將其加載在GIS系統中,客戶端則通過瀏覽器實現對服務器的訪問,展示集群效果。不同的集群參數設置時系統會根據輸入信息更新工程文件,并重新調用服務器進行模擬計算并在客戶端輸出集群效果。

圖2 系統總體設計過程框圖
..功能設計
無人機集群演示系統,基于C#編寫Windows窗體應用程序,主要包含了系統初始化、無人機參數、勢能場參數、目標點與障礙物等相關控件??刂平K端可根據演示需求,配置集群參數,發送相關指令,并采用UDP傳輸協議,通過建立的無線局域網將指令傳輸到系統動力學模擬端與實景仿真演示端,驅使集群演示不斷更新,實現閉環仿真。
集群動力學模擬端,用于模擬無人機集群在蜂群動力學與勢能場作用下的運動形式??稍诩簞恿W模擬端軟件上展示虛擬的灰色空心圈障礙危險區、灰色實心圓目標點。
實景演示端,用于接收控制端發出的控制指令與動力學模擬端的信息。當用戶通過瀏覽器訪問Web服務器時,服務器從數據庫中獲取無人機集群的飛行信息,瀏覽器不斷地根據獲取的參數與信息將無人機集群狀態繪制在cesium三維虛擬地球端,完成對集群飛行過程的全程展示,包括集群避開虛擬危險區域、各機避碰以及到達目標點。
針對無人機數量較多,環境復雜的情況,本文采用蜂群約束的動力學模型實現無人機自主分布式控制,采用勢能場理論實現無人機集群在執行任務過程中的避障、自主尋徑等能力。
結合無人機集群的特點,本文采用蜂群約束算法進行集群建模。首先,定義模型中的所有運動節點均在一個給定長度為、寬度為、高度為的三維區域進行運動,相關參數定義如下。
1) 無人機的位置,為三維坐標,初始時刻,無人機的位置隨機產生。為目標點位置。
2) 無人機的速度,為三維矢量。其中,無人機的速度收到周圍無人機的作用后會產生新的速度。
3) 危險半徑,此距離為與己方無人機距離過近的相關無人機的最小歐式距離。
4) 無人機的一致性速度,此速度使得無人機保持與周圍無人機的速度一致。
5) 無人機的分離性速度,此速度確保無人機保持與周圍無人機一定安全距離。
6) 無人機的凝聚性速度,此速度由無人機計算根據周圍無人機的中心位置,得到趨向集群中心的速度。
7) 集合為周圍相鄰所有無人機組成的節點集合。
得到集群約束算法主要滿足以下3個原則,總結如下:
1) 一致性原則:無人機與相鄰無人機的速度形成匹配。通過一致性速度體現。通過感知周圍無人機的平均速度,保持自身速度與集群平均速度方向相一致。其中無人機在時刻的一致性速度由周圍所有鄰近無人機的速度得到,一般表達式為:

(1)
式(1)中:-alignment為時刻第個無人機受到周圍的無人機產生的一致性速度;||為周圍所有鄰近無人機的速度集合;為集合內鄰近無人機自身的速度。
2) 分離性原則:無人機與相鄰無人機避免碰撞。通過分離性速度體現。無人機通過感知周圍無人機的位置,若距離過近,則獲得一個相互遠離的一個加速度。其中無人機在時刻的分離性速度是通過與該節點距離小于危險半徑的周圍鄰近無人機得到,一般表達式為:

(2)
式(2)中:-seperation為時刻第個無人機受到周圍鄰近的無人機作用產生的分離性速度;為周圍危險半徑內相鄰所有無人機組成的節點集合;為無人機在時刻的位置。
3) 凝聚性原則:無人機與相鄰無人機保持較近距離。通過凝聚性速度體現。無人機通過感知周圍無人機距離,計算總體的中心位置,當自身位置與中心偏離時,獲得指向中心的加速度。其中無人機在時刻的凝聚性速度是從所有鄰近無人機的位置中得到,一般表達式為:

(3)
式(3)中:-cohesion為時刻第個無人機受到周圍鄰近無人機產生的凝聚性速度;為無人機在時刻的速度。由此可得無人機節點在時刻的合速度,該速度代表了無人機此時的速度與方向信息,速度更新規則為:

(4)
位置更新規則為:
()=(-1)+()
(5)
其效果圖如圖3所示,細實心箭頭為無人機自身速度方向,虛線箭頭為集群平均速度方向,短粗實心三角箭頭為無人機獲得的轉向集群平均速度方向的加速度方向。

圖3 蜂群約束算法三原則效果圖
遵循以上三原則的模型可滿足無人機集群的自組織運動。一致性原則下,單體無人機與集群其余無人機保持運動方向的一致性。分離性原則下,無人機在運動過程中避免與周圍無人機相撞。凝聚性原則下,單體無人機與周圍無人機之間保持在一定區間范圍。
由此,建立如圖4所示的基于蜂群約束的無人機自主分布式控制算法模型。
無人機首先確定自身的狀態數據,其中主要包括速度、加速度以及位置信息。其次,探測自身周圍無人機的距離,當距離小于危險半徑時,無人機獲得一個遠離的加速度,并且無人機計算周圍集群的中心位置,保證集群內部距離適中,且保持與整體無人機集群的運動方向保持一致。最后,無人機根據目標點提供的加速度,整體向目標點進行運動。由此,建立了基于蜂群約束的無人機自主分布式控制算法模型。

圖4 基于蜂群約束的無人機自主分布式控制算法模型框圖
無人機集群在運動過程中,需要考慮障礙物的規避與自主尋的。本文采用勢能場理論進行無人機的航跡規劃。勢能場理論通過模擬現實世界中的各種“場”吸引和排斥物體,如圖5所示。

圖5 勢能場示意圖
首先,障礙物對無人機集群產生斥力,目標點對無人機集群產生引力,兩者產生合力可確保無人機集群在運動過程中避免碰撞,到達目標點。
其次,對于單無人機,則通過勢能場產生的合力與蜂群約束算法模型所應用的三原則結合,最終無人機自身獲得合加速度,在總合力的作用下,得到自身運動軌跡。最后,集群形成具有一定運動規則的模式。
本文設定無人機集群作戰三維演示終端中,集群所要通過的危險障礙區域以淺灰色圓柱狀示意,集群最終目標點以深黑色圓柱狀示意。勢能場主要涉及以下2個部分。
1) 引力勢場。在勢能場理論中,無人機距離目標點越近,所具有的引力勢能越低,當移動到目標處時,引力勢能為零。一般情況下,引力勢場函數一般表達式為:

(6)

=-·(-)
(7)
2) 斥力勢場。勢能場理論中,障礙物在其自身周圍產生一定的排斥力,超過一定距離,障礙物將不再產生斥力作用,且隨著無人機距離障礙物越近,所具有的引力勢能越高,在障礙物處具有無窮大勢能。一般情況下,斥力勢場函數表達式為:

(8)


(9)
根據上述設計,本文無人機集群作戰仿真演示系統配置如下:處理器Intel core i7-8700k、顯卡NVIDIA GeForce RTX2070 8G,內存DDR32G、Window10操作系統完成無人機集群演示的指令發送、動力學模擬、可視化功能。演示過程中向系統輸入無人機集群數量、類型、障礙物位置、目標點位置以及IP地址等信息,系統實時對無人機集群狀態進行渲染更新。
無人機集群所在飛行環境通常存在各種障礙對其飛行造成阻礙。如突出山地、氣象惡劣區、敵方威脅區等。一般來說,可以將上述區域簡化成一定的空間虛擬半徑圓柱體。本文以虛擬灰色圓柱體作為無人機集群運動所需避開的虛擬障礙物,并選取現實世界中經度120.912°、緯度23.230°作為集群目標中心區域。
本系統主要參數設置包括本地主機IP、遠程主機IP,本地主機端口、遠程主機端口、無人機類型、無人機數量、無人機速度、勢能場引力系數、勢能場斥力系數、目標點中心位置、中心點經緯度、4個障礙物位置以及仿真步長。
圖6為集群控制端初始參數設置示意圖。其中無人機數量設置為150架,勢能場引力系數設置為0.5,斥力系數設置為0.7。

圖6 集群控制端初始參數設置示意圖
..動力學端集群效果展示
圖7為無人機集群作戰動力學模擬場景圖。根據上述參數設置,以白色小型三角形代表單無人機模型,虛擬障礙威脅區域以4個灰色空心圈示意,無人機集群最終的目標點以灰色實心圓示意。150架無人機組成的無人機集群在蜂群約束與勢能場的共同作用下,在動力學模擬端的運行過程如下。150架無人機組成的集群,正在穿越中間灰色空心圈危險障礙區域,危險區域對無人機集群產生虛擬斥力作用力,右側綠色目標點對無人機集群產生虛擬吸引作用力,無人機集群由于本身存在飛行速度,產生的慣性會導致部分進入到危險區域范圍內,但危險區域排斥力最大處,無人機集群無法進入。最終無人機集群穿越中間危險障礙區域后在右側灰色實心圓目標點附近匯集,完成避障。

圖7 無人機集群動力學模擬場景圖
..虛擬地球端集群效果展示
圖8為無人機集群作戰三維實景演示圖,Cesium演示端接收來自無人機集群控制端與動力學端信息,將無人機集群運動圖像以三維立體形式展現,相比二維運動形式更加直觀。由圖8可看出,無人機集群正在越過右側及中間部分灰色圓柱組成的危險障礙區域,部分處于前端的無人機已經通過此區域,向最左側黑色柱狀目標點區域前進,后端無人機在虛擬引力與斥力的共同作用下,正在穿越中間危險障礙,與前端無人機保持相同的運動方向。可以看到,無人機集群已經形成有規則的運動形式,整體有相對一致的運動方向。

圖8 無人機集群三維運動實景演示圖
集群穿越障礙區域后,整體密集向目標點運動,形成更加緊湊的集群樣式。無人機集群到達目標點后,仍然受到目標點引力、障礙物斥力與自身速度的影響,最終在目標點附近運動。
本文針對無人機集群控制與可視化演示問題,一方面采用蜂群約束的動力學模型,實現無人機的自主分布式控制,采用勢能場理論,實現無人機集群任務執行過程中的避障、自主尋的等能力;另一方面基于Cesium三維虛擬地球,以三維實景的形式展示了多達百架的無人機集群效果。演示結果表明,基于本文的三維立體無人機集群演示比二維平面更加直觀,可視化程度高,有助于無人機集群的整體分析與應用,大大降低了無人機集群的演示成本。