陳志明,蔣文凱,吳云華
(南京航空航天大學(xué) 航天學(xué)院, 南京 211106)
無人機作為一種低成本、高效能的飛行器,自誕生之日起,便獲得了廣泛關(guān)注,其可攜帶多種設(shè)備,完成多種類任務(wù)。無人機的應(yīng)用逐步從單無人機向多無人機編隊乃至大規(guī)模集群發(fā)展,利用眾多無人機編對組成大集群作戰(zhàn)已經(jīng)成為未來戰(zhàn)爭明顯趨勢。但大規(guī)模實機驗證往往耗資巨大,難以實施,因此,采用仿真演示的方式進行無人機集群研究逐步成為新熱點。
目前無人機集群仿真技術(shù)取得了豐碩成果,如鄭晨明等提出了基于高層次結(jié)構(gòu)的分布式無人機協(xié)同仿真系統(tǒng);許瑞明等針對群體智能無人機系統(tǒng)作戰(zhàn)仿真關(guān)鍵需求進行了分析,明確了作戰(zhàn)要素與能力指標(biāo);景曉年等在充分考慮各無人機個體意愿的基礎(chǔ)上,提出一種基于規(guī)則的運動控制方法,應(yīng)用于無人機集群運動控制;張燦等側(cè)重研究多無人機在二維情況下的任務(wù)規(guī)劃仿真技術(shù);馮聰?shù)然谏衔粰C視景軟件基礎(chǔ)進行二次開發(fā),完成了無人直升機的編隊生成、保持與重構(gòu)飛行。
傳統(tǒng)模式下數(shù)架無人機組成的編隊難以完成大規(guī)模作戰(zhàn)任務(wù),且基于Matlab/Simulink的仿真缺乏形象立體的效果,無法達到交互式的操作環(huán)境。本文針對無人機集群難以大規(guī)模演示且缺乏直觀的問題,設(shè)計了一種基于Cesium的無人機集群作戰(zhàn)仿真演示系統(tǒng),并對其中關(guān)鍵的集群與避障運動進行仿真分析,驗證了該系統(tǒng)的可行性與直觀性。
無人機集群作戰(zhàn)仿真演示系統(tǒng)通過實景化演示手段,將無人機集群運動過程進行演示,以三維實景展示多達百架無人機的集群自主避障、自主尋的效果。
Cesium是AGI公司創(chuàng)建的開源GIS框架,可用于創(chuàng)建具有高性能、高精度、高易用的三維虛擬地球數(shù)據(jù),其界面如圖1所示,從航空航天到智慧城市,各行各業(yè)的開發(fā)人員都在使用Cesium來創(chuàng)建用于共享動態(tài)地理空間數(shù)據(jù)的Web應(yīng)用程序。依托其強大的互操作性與開放包容性,可高精度地進行可視化分析。
圖1 Cesium三維地球界面
通過對集群作戰(zhàn)演示需求進行分析,本文所設(shè)計的無人機集群仿真演示系統(tǒng)主要包括三大部分:演示系統(tǒng)控制端、集群動力學(xué)模擬端、集群三維實景演示端。演示系統(tǒng)控制端負(fù)責(zé)指令發(fā)送與系統(tǒng)設(shè)置,集群動力學(xué)模擬端負(fù)責(zé)接收控制端信息,完成動力學(xué)仿真,集群三維實景端負(fù)責(zé)三維場景搭建、加載及動態(tài)展示,用戶通過瀏覽器對系統(tǒng)進行訪問。各子系統(tǒng)間底層通信傳輸通過基于UDP協(xié)議的無線局域網(wǎng)自動完成。
..系統(tǒng)設(shè)計
本文提出的無人機集群作戰(zhàn)仿真演示系統(tǒng)的總體設(shè)計為B/S架構(gòu),用戶僅需要安裝瀏覽器,無需安裝特定軟件即可實現(xiàn)在線訪問。系統(tǒng)設(shè)計過程如圖2所示,Cesium通過加載數(shù)字高程瓦片,將其數(shù)據(jù)與本地數(shù)據(jù)疊加形成三維地形,控制端主要設(shè)置相關(guān)集群參數(shù)并通過UDP通信方式將發(fā)送相關(guān)指令到服務(wù)器端口,服務(wù)端一方面提供所需的空間三維地形數(shù)據(jù)來源,并通過數(shù)據(jù)庫將集群相關(guān)信息存儲收集、存儲與計算,加載大量的三維數(shù)據(jù)模型,提高渲染效率與瀏覽器相應(yīng)速度,客戶端通過瀏覽器訪問,展示集群效果。
系統(tǒng)間數(shù)據(jù)傳輸流主要包括:控制端與動力學(xué)端的參數(shù)設(shè)置傳輸,通過UDP通信方式,將集群數(shù)量、種類、速度、障礙物位置,目標(biāo)點位置等相關(guān)信息發(fā)送到動力學(xué)端,完成動力學(xué)模擬。動力學(xué)端將集群設(shè)置參數(shù)與環(huán)境信息發(fā)送到數(shù)據(jù)庫,形成集群相關(guān)數(shù)據(jù)信息,服務(wù)器接收信息,進行相關(guān)模型計算并將其加載在GIS系統(tǒng)中,客戶端則通過瀏覽器實現(xiàn)對服務(wù)器的訪問,展示集群效果。不同的集群參數(shù)設(shè)置時系統(tǒng)會根據(jù)輸入信息更新工程文件,并重新調(diào)用服務(wù)器進行模擬計算并在客戶端輸出集群效果。
圖2 系統(tǒng)總體設(shè)計過程框圖
..功能設(shè)計
無人機集群演示系統(tǒng),基于C#編寫Windows窗體應(yīng)用程序,主要包含了系統(tǒng)初始化、無人機參數(shù)、勢能場參數(shù)、目標(biāo)點與障礙物等相關(guān)控件??刂平K端可根據(jù)演示需求,配置集群參數(shù),發(fā)送相關(guān)指令,并采用UDP傳輸協(xié)議,通過建立的無線局域網(wǎng)將指令傳輸?shù)较到y(tǒng)動力學(xué)模擬端與實景仿真演示端,驅(qū)使集群演示不斷更新,實現(xiàn)閉環(huán)仿真。
集群動力學(xué)模擬端,用于模擬無人機集群在蜂群動力學(xué)與勢能場作用下的運動形式。可在集群動力學(xué)模擬端軟件上展示虛擬的灰色空心圈障礙危險區(qū)、灰色實心圓目標(biāo)點。
實景演示端,用于接收控制端發(fā)出的控制指令與動力學(xué)模擬端的信息。當(dāng)用戶通過瀏覽器訪問Web服務(wù)器時,服務(wù)器從數(shù)據(jù)庫中獲取無人機集群的飛行信息,瀏覽器不斷地根據(jù)獲取的參數(shù)與信息將無人機集群狀態(tài)繪制在cesium三維虛擬地球端,完成對集群飛行過程的全程展示,包括集群避開虛擬危險區(qū)域、各機避碰以及到達目標(biāo)點。
針對無人機數(shù)量較多,環(huán)境復(fù)雜的情況,本文采用蜂群約束的動力學(xué)模型實現(xiàn)無人機自主分布式控制,采用勢能場理論實現(xiàn)無人機集群在執(zhí)行任務(wù)過程中的避障、自主尋徑等能力。
結(jié)合無人機集群的特點,本文采用蜂群約束算法進行集群建模。首先,定義模型中的所有運動節(jié)點均在一個給定長度為、寬度為、高度為的三維區(qū)域進行運動,相關(guān)參數(shù)定義如下。
1) 無人機的位置,為三維坐標(biāo),初始時刻,無人機的位置隨機產(chǎn)生。為目標(biāo)點位置。
2) 無人機的速度,為三維矢量。其中,無人機的速度收到周圍無人機的作用后會產(chǎn)生新的速度。
3) 危險半徑,此距離為與己方無人機距離過近的相關(guān)無人機的最小歐式距離。
4) 無人機的一致性速度,此速度使得無人機保持與周圍無人機的速度一致。
5) 無人機的分離性速度,此速度確保無人機保持與周圍無人機一定安全距離。
6) 無人機的凝聚性速度,此速度由無人機計算根據(jù)周圍無人機的中心位置,得到趨向集群中心的速度。
7) 集合為周圍相鄰所有無人機組成的節(jié)點集合。
得到集群約束算法主要滿足以下3個原則,總結(jié)如下:
1) 一致性原則:無人機與相鄰無人機的速度形成匹配。通過一致性速度體現(xiàn)。通過感知周圍無人機的平均速度,保持自身速度與集群平均速度方向相一致。其中無人機在時刻的一致性速度由周圍所有鄰近無人機的速度得到,一般表達式為:
(1)
式(1)中:-alignment為時刻第個無人機受到周圍的無人機產(chǎn)生的一致性速度;||為周圍所有鄰近無人機的速度集合;為集合內(nèi)鄰近無人機自身的速度。
2) 分離性原則:無人機與相鄰無人機避免碰撞。通過分離性速度體現(xiàn)。無人機通過感知周圍無人機的位置,若距離過近,則獲得一個相互遠(yuǎn)離的一個加速度。其中無人機在時刻的分離性速度是通過與該節(jié)點距離小于危險半徑的周圍鄰近無人機得到,一般表達式為:
(2)
式(2)中:-seperation為時刻第個無人機受到周圍鄰近的無人機作用產(chǎn)生的分離性速度;為周圍危險半徑內(nèi)相鄰所有無人機組成的節(jié)點集合;為無人機在時刻的位置。
3) 凝聚性原則:無人機與相鄰無人機保持較近距離。通過凝聚性速度體現(xiàn)。無人機通過感知周圍無人機距離,計算總體的中心位置,當(dāng)自身位置與中心偏離時,獲得指向中心的加速度。其中無人機在時刻的凝聚性速度是從所有鄰近無人機的位置中得到,一般表達式為:
(3)
式(3)中:-cohesion為時刻第個無人機受到周圍鄰近無人機產(chǎn)生的凝聚性速度;為無人機在時刻的速度。由此可得無人機節(jié)點在時刻的合速度,該速度代表了無人機此時的速度與方向信息,速度更新規(guī)則為:
(4)
位置更新規(guī)則為:
()=(-1)+()
(5)
其效果圖如圖3所示,細(xì)實心箭頭為無人機自身速度方向,虛線箭頭為集群平均速度方向,短粗實心三角箭頭為無人機獲得的轉(zhuǎn)向集群平均速度方向的加速度方向。
圖3 蜂群約束算法三原則效果圖
遵循以上三原則的模型可滿足無人機集群的自組織運動。一致性原則下,單體無人機與集群其余無人機保持運動方向的一致性。分離性原則下,無人機在運動過程中避免與周圍無人機相撞。凝聚性原則下,單體無人機與周圍無人機之間保持在一定區(qū)間范圍。
由此,建立如圖4所示的基于蜂群約束的無人機自主分布式控制算法模型。
無人機首先確定自身的狀態(tài)數(shù)據(jù),其中主要包括速度、加速度以及位置信息。其次,探測自身周圍無人機的距離,當(dāng)距離小于危險半徑時,無人機獲得一個遠(yuǎn)離的加速度,并且無人機計算周圍集群的中心位置,保證集群內(nèi)部距離適中,且保持與整體無人機集群的運動方向保持一致。最后,無人機根據(jù)目標(biāo)點提供的加速度,整體向目標(biāo)點進行運動。由此,建立了基于蜂群約束的無人機自主分布式控制算法模型。
圖4 基于蜂群約束的無人機自主分布式控制算法模型框圖
無人機集群在運動過程中,需要考慮障礙物的規(guī)避與自主尋的。本文采用勢能場理論進行無人機的航跡規(guī)劃。勢能場理論通過模擬現(xiàn)實世界中的各種“場”吸引和排斥物體,如圖5所示。
圖5 勢能場示意圖
首先,障礙物對無人機集群產(chǎn)生斥力,目標(biāo)點對無人機集群產(chǎn)生引力,兩者產(chǎn)生合力可確保無人機集群在運動過程中避免碰撞,到達目標(biāo)點。
其次,對于單無人機,則通過勢能場產(chǎn)生的合力與蜂群約束算法模型所應(yīng)用的三原則結(jié)合,最終無人機自身獲得合加速度,在總合力的作用下,得到自身運動軌跡。最后,集群形成具有一定運動規(guī)則的模式。
本文設(shè)定無人機集群作戰(zhàn)三維演示終端中,集群所要通過的危險障礙區(qū)域以淺灰色圓柱狀示意,集群最終目標(biāo)點以深黑色圓柱狀示意。勢能場主要涉及以下2個部分。
1) 引力勢場。在勢能場理論中,無人機距離目標(biāo)點越近,所具有的引力勢能越低,當(dāng)移動到目標(biāo)處時,引力勢能為零。一般情況下,引力勢場函數(shù)一般表達式為:
(6)
=-·(-)
(7)
2) 斥力勢場。勢能場理論中,障礙物在其自身周圍產(chǎn)生一定的排斥力,超過一定距離,障礙物將不再產(chǎn)生斥力作用,且隨著無人機距離障礙物越近,所具有的引力勢能越高,在障礙物處具有無窮大勢能。一般情況下,斥力勢場函數(shù)表達式為:
(8)
(9)
根據(jù)上述設(shè)計,本文無人機集群作戰(zhàn)仿真演示系統(tǒng)配置如下:處理器Intel core i7-8700k、顯卡NVIDIA GeForce RTX2070 8G,內(nèi)存DDR32G、Window10操作系統(tǒng)完成無人機集群演示的指令發(fā)送、動力學(xué)模擬、可視化功能。演示過程中向系統(tǒng)輸入無人機集群數(shù)量、類型、障礙物位置、目標(biāo)點位置以及IP地址等信息,系統(tǒng)實時對無人機集群狀態(tài)進行渲染更新。
無人機集群所在飛行環(huán)境通常存在各種障礙對其飛行造成阻礙。如突出山地、氣象惡劣區(qū)、敵方威脅區(qū)等。一般來說,可以將上述區(qū)域簡化成一定的空間虛擬半徑圓柱體。本文以虛擬灰色圓柱體作為無人機集群運動所需避開的虛擬障礙物,并選取現(xiàn)實世界中經(jīng)度120.912°、緯度23.230°作為集群目標(biāo)中心區(qū)域。
本系統(tǒng)主要參數(shù)設(shè)置包括本地主機IP、遠(yuǎn)程主機IP,本地主機端口、遠(yuǎn)程主機端口、無人機類型、無人機數(shù)量、無人機速度、勢能場引力系數(shù)、勢能場斥力系數(shù)、目標(biāo)點中心位置、中心點經(jīng)緯度、4個障礙物位置以及仿真步長。
圖6為集群控制端初始參數(shù)設(shè)置示意圖。其中無人機數(shù)量設(shè)置為150架,勢能場引力系數(shù)設(shè)置為0.5,斥力系數(shù)設(shè)置為0.7。
圖6 集群控制端初始參數(shù)設(shè)置示意圖
..動力學(xué)端集群效果展示
圖7為無人機集群作戰(zhàn)動力學(xué)模擬場景圖。根據(jù)上述參數(shù)設(shè)置,以白色小型三角形代表單無人機模型,虛擬障礙威脅區(qū)域以4個灰色空心圈示意,無人機集群最終的目標(biāo)點以灰色實心圓示意。150架無人機組成的無人機集群在蜂群約束與勢能場的共同作用下,在動力學(xué)模擬端的運行過程如下。150架無人機組成的集群,正在穿越中間灰色空心圈危險障礙區(qū)域,危險區(qū)域?qū)o人機集群產(chǎn)生虛擬斥力作用力,右側(cè)綠色目標(biāo)點對無人機集群產(chǎn)生虛擬吸引作用力,無人機集群由于本身存在飛行速度,產(chǎn)生的慣性會導(dǎo)致部分進入到危險區(qū)域范圍內(nèi),但危險區(qū)域排斥力最大處,無人機集群無法進入。最終無人機集群穿越中間危險障礙區(qū)域后在右側(cè)灰色實心圓目標(biāo)點附近匯集,完成避障。
圖7 無人機集群動力學(xué)模擬場景圖
..虛擬地球端集群效果展示
圖8為無人機集群作戰(zhàn)三維實景演示圖,Cesium演示端接收來自無人機集群控制端與動力學(xué)端信息,將無人機集群運動圖像以三維立體形式展現(xiàn),相比二維運動形式更加直觀。由圖8可看出,無人機集群正在越過右側(cè)及中間部分灰色圓柱組成的危險障礙區(qū)域,部分處于前端的無人機已經(jīng)通過此區(qū)域,向最左側(cè)黑色柱狀目標(biāo)點區(qū)域前進,后端無人機在虛擬引力與斥力的共同作用下,正在穿越中間危險障礙,與前端無人機保持相同的運動方向??梢钥吹?,無人機集群已經(jīng)形成有規(guī)則的運動形式,整體有相對一致的運動方向。
圖8 無人機集群三維運動實景演示圖
集群穿越障礙區(qū)域后,整體密集向目標(biāo)點運動,形成更加緊湊的集群樣式。無人機集群到達目標(biāo)點后,仍然受到目標(biāo)點引力、障礙物斥力與自身速度的影響,最終在目標(biāo)點附近運動。
本文針對無人機集群控制與可視化演示問題,一方面采用蜂群約束的動力學(xué)模型,實現(xiàn)無人機的自主分布式控制,采用勢能場理論,實現(xiàn)無人機集群任務(wù)執(zhí)行過程中的避障、自主尋的等能力;另一方面基于Cesium三維虛擬地球,以三維實景的形式展示了多達百架的無人機集群效果。演示結(jié)果表明,基于本文的三維立體無人機集群演示比二維平面更加直觀,可視化程度高,有助于無人機集群的整體分析與應(yīng)用,大大降低了無人機集群的演示成本。