趙太飛, 程敏花, 呂鑫喆, 鄭博睿
(1. 西安理工大學(xué)自動(dòng)化與信息工程學(xué)院, 陜西 西安 710048;2. 陜西省智能協(xié)同網(wǎng)絡(luò)軍民共建重點(diǎn)實(shí)驗(yàn)室, 陜西 西安 710048)
由于單個(gè)無人機(jī)計(jì)算、探測(cè)和作業(yè)能力有限,使用多無人機(jī)協(xié)作的形式能充分發(fā)揮無人機(jī)集群的優(yōu)勢(shì),提高無人機(jī)執(zhí)行任務(wù)的能力。通過一群低成本小型無人機(jī)間自主組網(wǎng)協(xié)同作業(yè)而構(gòu)建的無人機(jī)蜂群作戰(zhàn)系統(tǒng)[1],具有抗毀性高、功能分布化、協(xié)作能力強(qiáng)等優(yōu)勢(shì)。為了滿足無人機(jī)蜂群之間的任務(wù)協(xié)同要求,各機(jī)之間必須建立穩(wěn)定的編隊(duì)通信網(wǎng)絡(luò)來保證可靠通信。而在實(shí)際飛行中,強(qiáng)電磁干擾、復(fù)雜大氣環(huán)境和無線電靜默等情況會(huì)破壞編隊(duì)通信網(wǎng)絡(luò)的完整性[2]。無線紫外光通信具有抗電磁干擾能力強(qiáng)[3]、背景噪聲小[4]、低竊聽率、低位辨率、全天候非直視通信[5]、低功耗、易于機(jī)載等特點(diǎn),能夠在復(fù)雜環(huán)境中為無人機(jī)蜂群提供機(jī)間可靠隱秘通信。
無人機(jī)編隊(duì)在實(shí)際應(yīng)用中攜帶能源有限,從而影響多無人機(jī)協(xié)同系統(tǒng)的任務(wù)執(zhí)行效率[6]。無人機(jī)蜂群之間通過單跳或多跳的路由方式進(jìn)行飛行狀態(tài)、空情信息以及控制指令的交互,設(shè)計(jì)能量有效的路由算法是延長(zhǎng)無人機(jī)蜂群網(wǎng)絡(luò)生命周期的主要方法。目前,對(duì)于網(wǎng)絡(luò)層的能量?jī)?yōu)化路由協(xié)議可以分為3類:最小能耗路由[7-8]、能量均衡路由[9-12]以及網(wǎng)絡(luò)生存時(shí)間最大化路由[13-15]。文獻(xiàn)[16-17]通過選擇節(jié)點(diǎn)間的最小能耗路由進(jìn)行數(shù)據(jù)傳輸,因此在發(fā)送數(shù)據(jù)分組個(gè)數(shù)較少時(shí),可以有效降低網(wǎng)絡(luò)中節(jié)點(diǎn)的能耗,但是當(dāng)發(fā)送數(shù)據(jù)分組個(gè)數(shù)增大時(shí),頻繁地選擇相同的傳輸路徑會(huì)導(dǎo)致部分能量較低的中繼節(jié)點(diǎn)過早死亡,從而影響網(wǎng)絡(luò)的生命周期。能量剩余程度是影響無人機(jī)蜂群作戰(zhàn)時(shí)間的一個(gè)重要因素,Yu等[18]提出基于綜合動(dòng)態(tài)預(yù)測(cè)的無人機(jī)自組織網(wǎng)絡(luò)分簇路由算法,通過預(yù)測(cè)兩架無人機(jī)之間的綜合相對(duì)移動(dòng)性,可以有效提高簇結(jié)構(gòu)和無人機(jī)集群的穩(wěn)定性,但沒有考慮無人機(jī)節(jié)點(diǎn)的能耗會(huì)對(duì)網(wǎng)絡(luò)生存時(shí)間產(chǎn)生影響。文獻(xiàn)[19]通過選擇一種基于最短距離和最小能耗的節(jié)能優(yōu)化路由來啟動(dòng)集群內(nèi)的數(shù)據(jù)交換過程,有效平衡了節(jié)點(diǎn)間的負(fù)載分配,實(shí)現(xiàn)了網(wǎng)絡(luò)節(jié)點(diǎn)能量消耗均衡、有效的目的。
基于以上分析,為了保證無人機(jī)編隊(duì)通信網(wǎng)絡(luò)的完整性,延長(zhǎng)無人機(jī)蜂群的空中作業(yè)時(shí)間,本文將無線紫外光通信應(yīng)用于無人機(jī)編隊(duì)網(wǎng)絡(luò)中,分析了機(jī)間通信鏈路模型和能耗模型,在利用蜂擁控制理論使無人機(jī)完成隊(duì)形保持的基礎(chǔ)上,研究了無人機(jī)蜂群中紫外光隱秘通信能耗均衡路由算法。該算法中無人機(jī)節(jié)點(diǎn)可以根據(jù)剩余能量動(dòng)態(tài)地選擇多跳數(shù)據(jù)傳輸路徑來進(jìn)行信息指令的交互。仿真結(jié)果表明,與其他算法相比,所提算法能夠達(dá)到無人機(jī)蜂群節(jié)點(diǎn)能量消耗均衡,延長(zhǎng)網(wǎng)絡(luò)生命周期的目的。
無線紫外光非直視(non-line-of-sight,NLOS)通信鏈路模型如圖1所示,TX和RX分別為發(fā)射端與接收端,θ1為發(fā)送仰角,φ1為發(fā)散角,θ2為接收仰角,φ2為接收視場(chǎng)角,V為有效散射體,θs為散射角,r是收發(fā)間距,r1和r2為有效散射體V分別到TX和RX的距離[20]。根據(jù)θ1和θ2的不同,將無線紫外光NLOS通信分為NLOS(a)、NLOS(b)和NLOS(c) 3類,NLOS(c)通信方式下的θ1和θ2都小于90°,傳輸鏈路損耗和信道的時(shí)延擴(kuò)展最小,獲取的信道帶寬較高[20],更適合無人機(jī)蜂群在復(fù)雜環(huán)境下的機(jī)間隱秘通信。
圖1 無線紫外光NLOS通信鏈路模型
紫外光通信衰減嚴(yán)重,隨著通信距離的增加,路徑損耗呈指數(shù)形式衰減,在近距離通信時(shí)(r<1 km),路徑損耗公式[21]可簡(jiǎn)化為
L=ξrα
(1)
式中,ξ是路徑損耗因子;α是路徑損耗指數(shù),都與收發(fā)端幾何角度有關(guān)。在φ1=10°、φ2=30°時(shí),不同紫外光收發(fā)仰角下,ξ和α的部分取值參考文獻(xiàn)[22]。
采用無線紫外光協(xié)作無人機(jī)編隊(duì)飛行,其通信能耗包括發(fā)送數(shù)據(jù)能耗和接收數(shù)據(jù)能耗兩大部分。當(dāng)發(fā)射脈沖能量Et及紫外光NLOS通信下的路徑損耗L已知時(shí),傳輸衰減[23]所損耗的能量為
(2)
式中,ηt為發(fā)射端的電光能量轉(zhuǎn)化效率;ET為發(fā)射單位比特?cái)?shù)據(jù)所消耗的能量。
當(dāng)無人機(jī)節(jié)點(diǎn)i發(fā)送kbit數(shù)據(jù)到距離為r的接收端無人機(jī)節(jié)點(diǎn)j時(shí),可求得發(fā)送數(shù)據(jù)能耗ETX和接收數(shù)據(jù)能耗ERX分別如下:
ETX(k)=k(ET+EL)
(3)
ERX(k)=kER
(4)
式中,ER為接收單位比特?cái)?shù)據(jù)所消耗的能量。
無人機(jī)蜂群在執(zhí)行任務(wù)過程中需滿足兩個(gè)條件:保持某種特定的隊(duì)形并適應(yīng)環(huán)境中的約束;保證通信信息指令能夠在無人機(jī)之間可靠傳遞。本文在無人機(jī)蜂群隊(duì)形保持的基礎(chǔ)上,設(shè)計(jì)和實(shí)現(xiàn)了無人機(jī)蜂群中紫外光隱秘通信能耗均衡路由算法。
在飛行過程中無人機(jī)蜂群采用分布式編隊(duì)控制策略來保持隊(duì)形穩(wěn)定和機(jī)間安全距離[24],假設(shè)各無人機(jī)初始狀態(tài)相同且每個(gè)節(jié)點(diǎn)的標(biāo)識(shí)ID唯一,將無人機(jī)節(jié)點(diǎn)由初始位置移動(dòng)到編隊(duì)內(nèi)固定位置后隊(duì)形不再改變的過程,定義為無人機(jī)蜂群的集結(jié)過程。在此過程中,各節(jié)點(diǎn)以最大功率Pmax周期性地廣播Hello消息來獲取鄰域內(nèi)節(jié)點(diǎn)的信息。
設(shè)有N個(gè)無人機(jī)節(jié)點(diǎn)組成一個(gè)無人機(jī)蜂群系統(tǒng)在空中運(yùn)動(dòng),定義第i個(gè)無人機(jī)UAVi的動(dòng)力學(xué)運(yùn)動(dòng)方程[25]為
(5)
式中,qi表示UAVi的位置向量;pi表示UAVi的速度向量;ui∈Rn表示UAVi的控制輸入向量即加速度向量。利用蜂擁控制理論[25]通過輸入ui使無人機(jī)蜂群編隊(duì)完成隊(duì)形保持,控制輸入ui定義為
(6)
在無人機(jī)蜂群編隊(duì)隊(duì)形保持過程中,各無人機(jī)目標(biāo)狀態(tài)達(dá)到協(xié)同一致,即無人機(jī)飛行方向、速度統(tǒng)一,各機(jī)保持相對(duì)靜止。無人機(jī)節(jié)點(diǎn)的移動(dòng)能耗與節(jié)點(diǎn)的運(yùn)動(dòng)速度有關(guān)[26],故在此過程中各無人機(jī)節(jié)點(diǎn)移動(dòng)能耗相等,只考慮通信能耗對(duì)無人機(jī)網(wǎng)絡(luò)生存時(shí)間的影響。本文所提的無人機(jī)蜂群中紫外光隱秘通信能耗均衡路由算法(energy consumption balancing routing algorithm,EBRA)實(shí)現(xiàn)主要包括3個(gè)過程:功率調(diào)整、鏈路權(quán)值計(jì)算和路由選擇。
(1) 功率調(diào)整
為降低無人機(jī)間數(shù)據(jù)傳輸時(shí)的通信能耗,調(diào)整UAVi的發(fā)射功率使其在覆蓋自身邏輯節(jié)點(diǎn)的范圍內(nèi)廣播鄰居發(fā)現(xiàn)消息,消息中主要包括節(jié)點(diǎn)的ID號(hào)、位置、速度、節(jié)點(diǎn)剩余能量以及鏈路權(quán)值,鏈路權(quán)值由下文定義的鏈路權(quán)值函數(shù)計(jì)算可得。無人機(jī)節(jié)點(diǎn)接收到鄰居發(fā)現(xiàn)消息后,提取相關(guān)信息建立鄰節(jié)點(diǎn)信息表。
(2) 鏈路權(quán)值計(jì)算
要實(shí)現(xiàn)無人機(jī)節(jié)點(diǎn)能耗的有效性,要求在通信過程中所消耗的能量最小,但也會(huì)因?yàn)槭褂霉潭芎淖钚〉穆窂筋l繁傳送數(shù)據(jù)導(dǎo)致部分節(jié)點(diǎn)過早失效。為了有效地延長(zhǎng)網(wǎng)絡(luò)生存時(shí)間,鏈路權(quán)值函數(shù)的構(gòu)建不僅要考慮數(shù)據(jù)收發(fā)過程中的能量消耗,還應(yīng)考慮下一跳數(shù)據(jù)接收節(jié)點(diǎn)的能量情況?;谝陨戏治?考慮無人機(jī)通信網(wǎng)絡(luò)中任意2個(gè)具有鄰接關(guān)系的節(jié)點(diǎn)i、j,將節(jié)點(diǎn)i發(fā)送數(shù)據(jù)到節(jié)點(diǎn)j時(shí)的通信鏈路權(quán)值函數(shù)定義為
(7)
(3) 路由選擇
設(shè)無人機(jī)蜂群編隊(duì)保持拓?fù)鋱D為G,源節(jié)點(diǎn)UAVi為最短路徑節(jié)點(diǎn),其余節(jié)點(diǎn)均為未標(biāo)記節(jié)點(diǎn)。當(dāng)源節(jié)點(diǎn)UAVi向其余節(jié)點(diǎn)發(fā)送信息指令時(shí),如圖2所示,首先判斷目的節(jié)點(diǎn)UAVj是否在UAVi的一跳通信范圍之內(nèi),若在通信范圍之內(nèi),兩節(jié)點(diǎn)直接通信(如UAVi和UAV1);若不在通信范圍之內(nèi),通過構(gòu)造鏈路權(quán)值函數(shù),根據(jù)最短路由Dijkstra算法[27]選擇路由代價(jià)最小的路徑進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)(如UAVi和UAV2),直至找到UAVi到其他各節(jié)點(diǎn)的最短路徑。
圖2 無人機(jī)蜂群通信網(wǎng)絡(luò)路由選擇
假設(shè)有20架無人機(jī)進(jìn)行集群飛行,選用式(6)中的控制算法,無人機(jī)編隊(duì)控制仿真中的參數(shù)設(shè)置為:算法迭代次數(shù)Iterations=3 000,各機(jī)初始能量E=500 J,機(jī)間安全距離d=10 m,步長(zhǎng)設(shè)置為0.02 s。無人機(jī)蜂群編隊(duì)隊(duì)形保持如圖3所示。由圖3(a)中可以看到,40 s后勢(shì)函數(shù)的值逐漸趨于定值,這是由于無人機(jī)蜂群隊(duì)形逐漸趨于穩(wěn)定,機(jī)間距離不再變化。如圖3(b)所示,無人機(jī)編隊(duì)集結(jié)完畢后,各節(jié)點(diǎn)也由初始狀態(tài)集結(jié)至編隊(duì)中的固定位置,達(dá)到了隊(duì)形保持的目的。
圖3 無人機(jī)蜂群編隊(duì)隊(duì)形保持
仿真實(shí)驗(yàn)均基于圖3(b)無人機(jī)蜂群隊(duì)形保持拓?fù)?仿真中Dijkstra表示采用經(jīng)典最短路由Dijkstra算法所得結(jié)果,Dijkstra-L表示采用Dijkstra算法改進(jìn)鏈路權(quán)值為路徑損耗后所得結(jié)果,EBRA為本文算法計(jì)算所得結(jié)果。用T表示仿真開始到當(dāng)前時(shí)刻源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)分組個(gè)數(shù),當(dāng)出現(xiàn)第一個(gè)死亡節(jié)點(diǎn)時(shí),無人機(jī)網(wǎng)絡(luò)生命到期,仿真停止。仿真的主要參數(shù)如表1所示。
表1 仿真參數(shù)
3.2.1 算法對(duì)比分析
圖4仿真了在3種路由算法下,無人機(jī)節(jié)點(diǎn)13向其余節(jié)點(diǎn)發(fā)送數(shù)據(jù)分組時(shí)所選擇的多跳數(shù)據(jù)傳輸路徑。
圖4 不同算法下多跳數(shù)據(jù)傳輸路徑
由圖4(a)和圖4(b)可知,Dijkstra算法和Dijkstra-L算法分別通過發(fā)現(xiàn)距離最短和能耗最小的路徑來傳輸數(shù)據(jù)分組,所選擇的通信路徑固定不變,若能量較低的節(jié)點(diǎn)一直承擔(dān)數(shù)據(jù)轉(zhuǎn)發(fā)的任務(wù),必然會(huì)出現(xiàn)能量過早消耗完而死亡的情況。圖4(c)和圖4(d)分別選取了EBRA算法在T=5和T=529時(shí)的多跳數(shù)據(jù)傳輸路徑,可以看出,EBRA算法在機(jī)間通信過程中可以根據(jù)剩余能量動(dòng)態(tài)地選擇信息傳輸路徑。
基于以上3種算法所選擇的通信路徑,圖5對(duì)比了4個(gè)具有數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)的節(jié)點(diǎn)在3種算法下的平均通信能耗,由圖5可以看出,相比于其他兩種算法,EBRA算法下的平均通信能耗更加均衡。
圖5 平均通信能耗對(duì)比圖
3.2.2 算法性能分析
圖6給出了在3種路由算法下,節(jié)點(diǎn)1、節(jié)點(diǎn)8、節(jié)點(diǎn)13和節(jié)點(diǎn)14的剩余能量曲線。由圖6(a)和圖6(b)易知,基于Dijkstra算法,節(jié)點(diǎn)1承擔(dān)負(fù)載過重最早死亡,在T=650時(shí)網(wǎng)絡(luò)生命到期?;贒ijkstra-L算法,節(jié)點(diǎn)14能量最早耗盡,在T=700時(shí)網(wǎng)絡(luò)生命到期。且當(dāng)網(wǎng)絡(luò)生命到期時(shí),這兩種算法下其余存活節(jié)點(diǎn)的能量消耗相差較大。由圖6(c)可以看出,EBRA算法在T=750時(shí),源節(jié)點(diǎn)13因?yàn)轭l繁發(fā)送數(shù)據(jù),能量最早消耗完畢,且其余存活節(jié)點(diǎn)的能量消耗相近。分析可知,當(dāng)節(jié)點(diǎn)能量消耗影響到鏈路權(quán)值時(shí),EBRA算法在下一次數(shù)據(jù)傳輸過程中會(huì)避免選擇能量過低的節(jié)點(diǎn)承擔(dān)中繼轉(zhuǎn)發(fā)的任務(wù),因此EBRA算法達(dá)到了延長(zhǎng)網(wǎng)絡(luò)生命周期的目的。
圖7給出了各時(shí)刻無人機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)消耗能量的方差曲線,方差可以用來衡量無人機(jī)節(jié)點(diǎn)能耗的均衡性。從圖7可以看出,隨著發(fā)送數(shù)據(jù)分組個(gè)數(shù)T的增加,中繼節(jié)點(diǎn)能量消耗加快,導(dǎo)致與網(wǎng)絡(luò)中其余節(jié)點(diǎn)能耗相差變大,3種路由算法下的曲線均呈上升趨勢(shì)。在EBRA算法下,由式(7)可知,隨著α1值的增大,路徑損耗對(duì)鏈路權(quán)值函數(shù)的影響比重增大,此時(shí)更傾向于選擇路徑損耗小的路徑來傳輸數(shù)據(jù),能耗方差曲線會(huì)更趨近于Dijkstra-L算法下的仿真曲線。增大權(quán)重系數(shù)α2的值,數(shù)據(jù)傳輸時(shí)更傾向于選擇節(jié)點(diǎn)剩余能量大的路徑而忽略了通信過程中節(jié)點(diǎn)能耗的有效性。當(dāng)權(quán)值系數(shù)α1和α2均取0.5時(shí),保證路徑損耗和節(jié)點(diǎn)剩余能量對(duì)鏈路權(quán)值函數(shù)的影響比重相同,兼顧了節(jié)點(diǎn)能耗的有效性和均衡性,因此無人機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)的消耗能量方差曲線最低。EBRA算法下的曲線始終位于Dijkstra算法和Dijkstra-L算法之下,證明本文所提算法的節(jié)點(diǎn)能量消耗均衡性要優(yōu)于其余兩種算法。
圖6 不同算法下節(jié)點(diǎn)的剩余能量
圖7 節(jié)點(diǎn)消耗能量方差
圖8給出了無人機(jī)蜂群編隊(duì)節(jié)點(diǎn)數(shù)目不同時(shí),在3種路由算法下的發(fā)送數(shù)據(jù)分組個(gè)數(shù)。
圖8 不同節(jié)點(diǎn)數(shù)下的發(fā)送數(shù)據(jù)分組個(gè)數(shù)
從圖8中可以看出,隨著無人機(jī)節(jié)點(diǎn)數(shù)目的增大,各無人機(jī)在集結(jié)過程中由初始位置移動(dòng)到編隊(duì)內(nèi)固定位置的距離就越短,集結(jié)完畢后節(jié)點(diǎn)的剩余能量也就越多,因此3種算法下的網(wǎng)絡(luò)生命周期都呈現(xiàn)上升趨勢(shì),并且EBRA算法下無人機(jī)節(jié)點(diǎn)的能量消耗更加均衡,網(wǎng)絡(luò)生存時(shí)間始終高于其他兩種算法。
圖9對(duì)比了當(dāng)出現(xiàn)第一個(gè)死亡節(jié)點(diǎn)時(shí),3種算法下無人機(jī)節(jié)點(diǎn)的平均剩余能量。由圖9可知,Dijkstra算法和Dijkstra-L算法固定數(shù)據(jù)傳輸路徑上的中繼節(jié)點(diǎn)承擔(dān)負(fù)載過重,導(dǎo)致出現(xiàn)死亡節(jié)點(diǎn)時(shí),網(wǎng)絡(luò)中還存在較多的剩余能量。而EBRA算法延長(zhǎng)了無人機(jī)蜂群的工作時(shí)間,網(wǎng)絡(luò)生命到期時(shí),節(jié)點(diǎn)的平均剩余能量最低。
圖9 無人機(jī)節(jié)點(diǎn)平均剩余能量
為了盡可能延長(zhǎng)無人機(jī)蜂群的空中作業(yè)時(shí)間,結(jié)合紫外光通信優(yōu)勢(shì),本文提出了一種無人機(jī)蜂群中紫外光隱秘通信能耗均衡路由算法。在無人機(jī)編隊(duì)保持的基礎(chǔ)上,首先通過調(diào)整無人機(jī)節(jié)點(diǎn)發(fā)射功率來獲取鄰居節(jié)點(diǎn)信息并建立鄰節(jié)點(diǎn)信息表,再在無人機(jī)間數(shù)據(jù)傳輸路徑選擇過程中,引入通信鏈路路徑損耗和節(jié)點(diǎn)剩余能量構(gòu)建鏈路權(quán)值函數(shù),最后通過能耗均衡路由算法找到無人機(jī)節(jié)點(diǎn)間的最優(yōu)通信路由。仿真結(jié)果表明,與其他算法相比,所提算法能夠?qū)崟r(shí)動(dòng)態(tài)地調(diào)整多跳數(shù)據(jù)傳輸路徑,避免能量較少的節(jié)點(diǎn)承擔(dān)負(fù)載過重而較早死亡,明顯改善了無人機(jī)節(jié)點(diǎn)的能耗均衡性能并有效地延長(zhǎng)了網(wǎng)絡(luò)生命周期。