儲含露,陳鳴,金程皓,竇曉磊
(南京航空航天大學計算機科學與技術學院,江蘇南京 211106)
基于無人機(Unmanned Aerial Vehicle, UAV)的各種應用是一個近年來得到飛速發展的高技術領域[1]。由于單架UAV存在能力受限、可靠性不高等缺點,由多UAV協作構成多UAV蜂群可以更高效、更可靠、更低代價地支持完成各種任務,而支撐蜂群(Swarm)應用的UAV網絡面臨著一系列技術挑戰[2]。UAV網絡是一種發展中的新興網絡,人們對其技術特征莫衷一是[3],例如它是一種空中飛行網絡,可以根據需求在指定地點迅速部署并提供服務;它是一種面向任務的網絡,可能根據任務目標配置資源和優化設置;它是一種節點間通常采用無線自組織技術的網絡,網絡性能不夠穩定;它是一種既受地面控制系統指揮,又可受UAV自身自主決策控制的網絡;它是一種時而連通,時而分裂的動態網絡等。顯然,UAV網絡是涉及到航空、無線通信、傳感、控制、人工智能等多個學科領域的復雜系統,技術錯綜復雜,研發UAV網絡技術難度極高[4]。需要針對UAV網絡的核心功能設計適合的體系結構,以協調處理好各種主要功能之間的關系,本文的首要目標是研究支持蜂群應用的UAV網絡的體系結構。
在各種軍事、民事應用中,UAV蜂群已經被廣泛用于環境和自然災害監測、邊境監視、突發事件援助、搜索和救援、貨物傳遞和建筑等任務[5]。盡管這些應用可能對UAV網絡有某些特定的需求,但它們對無人機蜂群通常也具有核心的需求和一些共性的需求。通過分析這些核心需求和共性需求,能夠設計無人機網絡所具有特定的組織結構。這是本文的第二個目標。
目前,已有文獻對無人機網絡的特性進行了分析,?lker Bekmezci等人將無人機網絡定義為飛行自組網(Flying Ad Hoc Networks,FANETs),認為FANETs是一種特殊類型的MANET和VANET,FANETs與現有的MANET和VANET等自組織網絡的區別主要包括移動性更強、拓撲變化頻率更高、需要支持用于節點間協作的點到點通信及節點與控制中心間的融合數據的通信、節點間距離較遠、載荷多樣化等[6]。Gupta L 等人從移動性、拓撲、拓撲變化、能源約束等方面對MANET、VANET和UAV網絡進行了比較,認為無人機節點的移動速度與任務相關,其拓撲可能是慢動態(緩慢變化)或動態變化的[7]。Hayat S等認為無人機網絡是一種面向任務的網絡,根據不同應用場景的通信需求將應用分成了搜救、覆蓋、運輸、建造等四個領域,并且分析了現有通信技術在這些領域的應用及其不足[8]。下面從節點特性、移動性、拓撲變化、面向任務等幾個角度分析無人機網絡的特征。
(1)節點特性。無人機是一種能力受限的低成本、小型化無人機。無人機通常可分為固定翼和旋翼兩種類型,固定翼無人機通常具有較高的速度和更大的載荷,但不能懸停,不適合靜態應用。與之相對的,旋翼無人機的移動性和載荷有限,但具有更強的靈活性,可以向任意方向移動也可在空中懸停[9]。根據應用需求,無人機網絡中可能存在不同類型的無人機,通過相互協作來完成任務目標。協作是多無人機系統工作良好的前提,無人機網絡中節點間協作的信息量較大,因此節點間通常選擇WiFi或4G等寬帶通信技術進行互聯。由于無人機的載荷和續航時間之間成反比關系[10],因此每架無人機攜帶的載荷種類和數量有限。而根據任務的不同,網絡中可能存在攜帶不同載荷的無人機。無人機網絡的資源不僅包括TCP/IP網絡的通信、計算、存儲等傳統資源,而且包括支持面向任務的機動性、應用服務等所需的軟硬件資源。總體來說,無人機節點具有能力受限、異構、資源多樣化等特點。無人機節點間的協作、節能、延長網絡生存時間、無人機節點失效的檢測和響應等是無人機網絡設計所必須考慮要的問題。
(2)移動性。無人機具有良好的機動性,在很多場景中,無人機的高移動性可以顯著提升時效性[11]。高移動性也是VANET的特征,然而VANET節點只能在二維空間內移動。而無人機可以靈活的在三維空間內運動,適應地形的變化、避障等需求。隨著無人機的飛行高度的升高,無人機的視野隨之變大,但無人機所搭載的傳感器對地面的感知精度會隨之下降,因此無人機通常會有飛行高度的限制。無人機網絡與MANET、VANET等自組織網絡的另一個重要區別在于無人機網絡節點的可控移動性。MANET中的節點通常是隨機移動,熱門區域的節點密度較高。VANET節點的移動受限于道路布局、車流量及交通規則。無人機網絡節點不僅可以在三維空間移動,而且可以根據任務需求預先規劃無人機網絡節點的運動軌跡并根據網絡環境進行動態調整。因此靈活、可控的移動是設計無人機網絡時需要考慮的一個重要因素。
(3)拓撲變化。無人機的高移動性是無人機網絡拓撲快速變化的重要原因,而應用需求是決定無人機網絡拓撲變化頻率的關鍵因素。如在災害救援應用中,無人機網絡用于提供臨時的網絡覆蓋時,無人機需要懸停在作業區域,網絡拓撲保持相對穩定。而在戰場環境下,無人機網絡可能會根據不同的作戰目標對網絡拓撲進行不斷的重組,無人機網絡節點也可能隨時被擊毀,網絡拓撲呈現高動態性。無人機網絡的拓撲變化可分為慢動態和動態變化兩種情形[3]。懸停的多架旋翼無人機或多個并行高速飛行的固定翼無人機均可形成相對靜態的網絡,但鏈路性能會因障礙物遮擋、天線位置、能源大小、距離漂移甚至溫度濕度變化而發生緩慢變化(慢動態)。由于任務再分配、節點失效或設備故障等原因,無人機節點子集之間會發生網絡拓撲不斷變化、通信鏈路時通時斷的情形(動態)。
(4)面向任務。無人機網絡的流量類型、時延敏感性、通信半徑、拓撲變化頻率、節點間的協作需求、網絡密度、能量限制等因素與應用密切相關[5]。如搜救應用中,無人機需要搜索和檢測單個或多個靜止或移動的目標,并且跟蹤目標的狀態從而使得救援人員可以快速的到達目標位置[12]。時間和空間約束是搜救應用的重要約束[13]。搜救應用中需要盡可能快的找到生命正在受到威脅的受害者,同時需要在飛行中盡可能有效地擴大搜索區域,這將影響無人機類型及數量的選擇,同時要求設計的無人機網絡具有低的網絡時延和大的通信范圍。此外,無人機網絡中的任務可能是動態變化的。如搜救應用中,無人機在定位到目標位置后,無人機網絡的任務將從搜索受害者轉為建立救援人員和受害者之間的通信。無人機網絡的面向任務的特征使得不能僅將其視為一種通信網絡,在網絡設計時應針對特定任務的需求,在節點的數量、關系和資源配置以及應用支持等方面進行優化設計,充分考慮應用對網絡特征和通信需求的約束。
綜上所述,無人機網絡應當定義為無人機節點能夠自然形成穩定的群體結構,如果因擾動破壞了原結構,新群體能夠自適應的形成新的穩定優化結構。
本文將無人機蜂群定義為:一種基于開放式體系架構綜合集成覆蓋有限區域、執行特定任務的大量自主節點的集合。它以高速運動的無人機為載體,能夠迅速將節點部署到優勢位置。以無線寬帶自組織網絡為基礎,以節點協同交互為支撐,自適應地形成體系生存率高、效費交換比高、功能分布、具有規模優勢的支撐體系,以高效支撐完成應用任務。由此,認識到無人機蜂群具有三個主要功能。
(1)特定的蜂群應用是無人機蜂群存在的目的。
(2)蜂群應用需要UAV網絡提供節點之間的協同支持,而在動態、高速運動環境下使無人機網絡提供有服務質量(QoS)保證的網絡服務面臨著技術挑戰。
(3)網絡節點通常承載在無人機之上。借鑒互聯網的研究經驗,定義了如圖1所示的無人機節點的層次結構,將各主要功能組織成為其他功能提供服務的形式并通過層間接口加以提供,以屏蔽層內的技術細節。

圖1 UAV節點的體系結構
該UAV節點自下而上分為三個層次:飛行層、智能體層和應用層。其中,飛行層具有傳統UAV所具有的功能(如飛行、控制和傳感等);智能體層具有Ad Hoc網絡通信和網絡群集控制等功能;應用層則包括支持蜂群應用功能的設備和程序。
無人機網絡與智能體層功能有關,其Ad Hoc通信功能利用自組織協議將無線通信半徑內的節點自主成網,群集控制功能利用群集技術[14],每個節點分布式地計算并通過南向接口與飛行層通信,以控制自身位于網絡中的位置,使得無人機網絡具有Boid三原則。(1)聚合:試圖與鄰居保持聯系;(2)分離:與鄰居實體保持距離;(3)對齊:試圖保持與鄰居相同的速度的整體行為。群集控制功能通過與飛行層通信既可以實時獲取本機的飛行狀態、位置和傳感等信息,又能夠根據自主智能決策或協同智能決策控制UAV的飛行。

圖2 一種UAV蜂群的體系結構
應用層通過北向接口與智能體層通信,使得各種UAV應用可根據各自任務需求調用智能體層提供的功能接口。應用層主節點的優化決策程序依據應用任務和全局資源進行優化,并發布給各個節點進行分布式實施。UAV節點之間通過UAV網絡的東西向接口進行通信,以實現應用協同操作。
如圖2所示,定義了一種無人機蜂群的體系結構,其中位于UAV節點之上的分布式軟件系統形成了虛擬覆蓋網絡。協同應用都是運行在該邏輯網絡上的應用軟件及其相應的機載應用設備,它們通過API與UAV分布式軟件系統進行交互,并且屏蔽了下層無人機網絡的技術細節。
假定UAV蜂群具有如下特點:數以百計(數量≤100),低成本(每節點價格≤$1萬),密集排列(節點間距≤100m),協作信息量大(通信帶寬>20Mbps),自組織聯網。
為滿足上述要求,設計的無人機網絡組織結構如圖3所示。系統包括1個地面控制站(GCS)和多個無人機節點。位于地面的GCS可以與蜂群采用WiFi或4G網絡進行通信,使無人機蜂群即可受地面人員的遙控,也可用系統程序控制。其中包括三種網絡通信方式。
(1)空地通信:GCS與空中無人機網絡中的某無人機通過4G技術進行點到點通信。例如,UAV1具有4G LTE通信功能,它能夠與地面GCS進行實時通信。
(2)空空通信:無人機蜂群基于WiFi Ad Hoc模式通信,為蜂群應用提供寬帶、短時延。

圖3 一種支持蜂群應用的無人機網絡的組織結構
(3)中轉通信:某節點同時具有4G LTE和WiFi功能,CGS能夠通過該節點與蜂群其他節點進行通信。
無人機網絡是由許多U A V節點構成的,UAV自身面臨著許多安全威脅。例如,UAV飛行控制系統具有大量復雜功能,存在著許多已知或未知的安全隱患;控制UAV所使用的無線通信鏈路是一個易于入侵的薄弱環節;UAV涉及大量機械、機電結合、電子、通信等器件,系統可靠性較低;U A V是新應用領域,管理水平亟待提高。因此,與其他形式的計算機網絡相比,無人機網絡面臨著更為嚴峻的安全威脅。除了要提升UAV的安全性外,還需要為無人機網絡設置如下安全機制。
(1)身份鑒別。這是一種某個UAV經過無人機網絡向另一個無人機證明其身份的機制。每個UAV進入系統時,都需要用該機制來驗證其身份的真實可信。系統采用公開秘鑰密碼來鑒別每個UAV的真實可信,每個UAV可以利用自己唯一具備的私鑰來表明自己的身份,并用對方的公鑰來加密此后用于與對方會話所用的對稱秘鑰。
(2)報文加密。這是一種保證僅有發送UAV和接收UAV能夠理解傳輸報文內容的機制。所有報文在經過無線通信鏈路傳輸前,發送方采用對稱秘鑰密碼進行加密,而接收方利用只有雙方知道的對稱秘鑰對報文解密,以保證無人機網絡通信內容的機密性。
(3)報文完整性。這是一種確保UAV通信內容在傳輸過程中未被改變,或惡意篡改或者意外改動的機制。系統采用數字簽名技術利用發送UAV的私鑰對通信報文的指紋進行簽名,而接收UAV只要能夠用對方的公鑰解開報文指紋的簽名,就表明該報文是完整的。
(4)反重放攻擊。重放攻擊是防止攻擊者通過竊聽發送方并記錄下報文的拷貝,并向接收方回放該拷貝,假冒它是發送方的一種攻擊方法。系統在發送報文加上一個不重數,使得每次發送的報文都是唯一的。
根據本文定義的無人機蜂群和無人機節點體系結構以及無人機網絡的組織結構設計,實現了無人機網絡原型系統。
無人機節點包括:大疆M100無人機,一塊具有WiFi Ad Hoc模式、AP模式和4G LTE功能的嵌入式網絡板卡以及一塊嵌入式計算機,此外還有其他傳感器單元、供電單元以及天線單元等,無人機節點網絡協議如圖4所示。

圖4 蜂群無人機節點
無人機網絡功能主要位于智能體層中,如圖5所示給出了支持蜂群應用的無人機網絡的節點結構。具體而言,它的網絡通信功能由嵌入式網絡板及其相關軟件提供。群集控制功能運行在嵌入式計算機上,其根據群集控制模型和多種傳感器信息進行運算,運算得到的指令經串口輸出至無人機飛控系統,以控制無人機實際飛行航線。

圖5 支持蜂群應用的無人機網絡的節點結構
系統的網絡通信功能由基于高通QCA9563+QCA9880芯片的無線主板提供,集成了2.4/5GHz WiFi和4G LTE網絡通信模塊,嵌入128MB的內存以及16MB的閃存,能夠為多模式無線通信提供平臺。4G LTE網絡通信功能主要用于支持地空通信,地面控制站可以利用電信公司的4G基礎設施與任何具有4G通信功能的無人機進行通信,并且該無人機能夠將通信信息中轉給空中網絡的其他無人機節點。
分布式群集控制功能可以分為群集控制程序和驅動程序兩個部分。所謂群集是指具有鳥群或魚群那樣群體性行為的特性,這里指無人機自主跟隨一臺領航無人機(Leader)飛行的行為。具有群集特征的無人機網絡將不會出現無人機節點的失聯、碰撞或混亂等現象,使得網絡通信QoS有保證。如圖6所示,給出了Leader節點與普通節點ni(i=1,2,…)間的關系模型。

圖6 Leader與普通節點的關系模型
為了避免Leader與附近普通節點ni(i=1,2,…)發生碰撞沖突,每個節點應該有一個安全距離r3。當節點和Leader之間的距離小于r2時,節點可以具有較高的通信質量,而如果該距離大于r1,則節點間將中斷通信。根據圖6中Leader與節點的關系模型,需要遵循的Boid三原則可具體化:(1)分離:節點與Leader以及與其他節點之間的距離應大于安全半徑r3,以防止相互碰撞;(2)聚合:節點與Leader之間的距離應小于等于理想通信半徑r2;當節點與Leader之間的距離大于r1,會因信號太弱而中斷通信;(3)對齊:節點應與Leader運動的方向和速度一致。
設節點ni距Leader的距離為ri,則對于ni有三種情況:
(1)當r2≤ri≤r1時,它必須迅速調整速度和方向,使其迅速向Leader靠攏,以防它落入大于r1的區域而失聯;
(2)當ri≤r3時,它必須迅速調整速度和方向,使其迅速遠離Leader,以防它與Leader之間發生碰撞;
(3)節點需周期性的調整其速度和方向以保持與Leader一致。
群集控制功能根據本文模型和傳感器感知的信號進行計算,該模塊運行在嵌入式計算機系統上,這些節點只需經過自主計算就能決定無人機自身的動作,無需進行復雜的集中式優化,就能實施高效地驅動無人機群集飛行。
為了使上述群集控制功能能夠適用于不同類型的無人機如大疆飛控DJI、Pixhawk、APM等,本文在群集控制模塊之間設計了一個驅動程序,用于進行群集控制行為與無人機飛控指令之間的轉換。群集控制程序傳達指令后,該驅動程序通過檢測當前無人機對應的平臺,將集群控制程序的統一指令轉換為無人機飛控自身的控制指令。
為了驗證上述無人機網絡的架構與通信過程,搭建了一個原型系統。如圖7所示,無人機網絡原型系統包括1個GCS(節點D)和3個無人機節點(節點A、B、C)組成。其中,GCS是1臺運行地面控制程序的便攜機,它可以通過電信公司的4G網絡與具有4G LTE通信功能無人機節點或通過WiFi系統進行空地之間通信。無人機節點之間采用基于OLSR的Ad Hoc模式通信。
(1)原型系統配置

圖7 無人機網絡原型系統組成
由于嵌入式網絡板具有Openwrt(一種嵌入式Linux發行版),便于用戶進行網絡設置。整個網絡板配置過程可以包括編譯openwrt系統、將系統刷入網絡板、在圖形界面設置網絡板參數和配置OLSR等四步。某些關鍵的步驟包括:1)在編譯OpenWrt時加入Ad Hoc路由選擇協議OLSR的相關包;2)將編譯好的刷入網絡板;3)為每個無人機節點設置IP地址,要求各WLAN地址設置在同一網段,LAN的地址與WLAN不在同一網段;所有節點的Mode、Channel、Width以及Transmit Power和ESSID保持一致,Mode選擇Ad Hoc;4)OLSR組網:Interface的Network選擇WLAN,HNA選擇LAN口的網段,比如192.168.2.0。
節點A、B、C和D所配置的地址參數如表1所示。

表1 節點IP地址設置
配置成功后,通過查看OLSR viz能夠出現如圖8所示無人機網絡拓撲圖。其中,節點對應了原型系統中的網絡板,節點間連線代表兩個網絡板間的無線鏈路,連線上的數字表示了該鏈路的開銷。

圖8 基于OLSR的無人機網絡原型路由
(2)無人機網絡性能測試
如圖7所示的無人機網絡原型系統中,需要測試這些節點之間的通信質量。
作為GCS的節點D通過電信公司的4G信道與節點A相連。為此,節點D通過4G芯片將信號發送給電信公司的4G基站,再進入因特網中的FRP服務器(該服務器運行在阿里云服務器上),借助于FRP服務器的內網穿透功能,再與無人機網絡的節點A通信。在節點D與節點A之間分別運行Iperf程序。如圖9所示,為基于4G網絡的節點D與節點A之間測量到的TCP通信帶寬。

圖9 節點D與節點A之間的4G通信帶寬
節點A與節點B、C利用OLSR路由協議建立了Ad Hoc模式的WiFi網絡。為了測量這幾個節點之間的帶寬,在節點D通過Putty軟件SSH遠程登錄A節點上,以Server模式啟動Iperf程序,端口為5001。登錄節點C,以Client模式啟動Iperf程序,測量節點A與C之間的TCP帶寬如圖10所示。其中A與C之間的距離為3m,帶寬最大值為39.6Mbps,帶寬最小值為28.1Mbps。

圖10 單跳通信(AC間隔3m)
節點A與節點C之間的距離增大為30m,測量節點A與C之間的TCP帶寬如圖11所示。其中,A與C之間的距離為30m,帶寬最大值為18.3Mbps,帶寬最小值為9.23Mbps。
最后,還進行了多跳通信的試驗。讓節點A與節點B間隔30m,節點B與節點C間隔30m。以節點A作為Iperf的Server端,節點C作為Iperf的Client端,實際測試結果如圖12所示。其中帶寬最大值為1.39Mbps,帶寬最小值為0.653Mbps。

圖11 單跳通信(AC間隔30m)

圖12 多跳通信(AB間隔30m,BC間隔30m)
無人機網絡需要采用多種先進的通信方式,才能支撐帶寬、短時延的無人機蜂群應用。本文給出了一種無人機網絡的組織結構,將無人機網絡分為基于4G技術的地空網絡和基于Ad Hoc的寬帶空空網絡兩部分。為了支持復雜的系統功能,提出了一種支持蜂群應用的無人機網絡體系結構,該體系結構自底向上具有飛行層、智能層和應用層三個層次。本文實現了無人機網絡原型系統并進行試驗測試。試驗結果,表明了該無人機網絡體系結構和組織結構的可行性和有效性,下一步將優化無人機網絡的動態環境下的通信性能。