張小亮,王立松,劉 亮
(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 210000)E-mail :zhangxiaoliangnjit@163.com
多無(wú)人機(jī)相互協(xié)作被應(yīng)用于工業(yè)、農(nóng)業(yè)、軍事、搶險(xiǎn)救災(zāi)等領(lǐng)域,而多無(wú)人機(jī)的通信是多無(wú)人機(jī)系統(tǒng)的設(shè)計(jì)的最重要的問題之一.基于如地面中繼站、衛(wèi)星等的基礎(chǔ)設(shè)施實(shí)現(xiàn)網(wǎng)絡(luò)有很多限制,一般采用飛行自組織網(wǎng)絡(luò)(Flying Ad-Hoc Networks—FANET)實(shí)現(xiàn)多無(wú)人機(jī)之間的通信[1-3].由于無(wú)人機(jī)快速移動(dòng)的特性,導(dǎo)致無(wú)人機(jī)自組網(wǎng)會(huì)出現(xiàn)隨機(jī)的頻繁的中斷.延時(shí)容忍網(wǎng)絡(luò)(Delay-tolerant Networking—DTN)原則上能夠解決這個(gè)問題.DTN因?yàn)榫哂小按鎯?chǔ)—攜帶—轉(zhuǎn)發(fā)”的特性,所以適用在節(jié)點(diǎn)間沒有端到端通信的情況[4,5].
智能的路徑規(guī)劃配合路由協(xié)議能夠有效的減少包的損失和消息延遲等[6].關(guān)于擺渡節(jié)點(diǎn)的路徑規(guī)劃問題,近年來(lái)有不少研究.文獻(xiàn)[7]中首先提出了MF機(jī)制,并針對(duì)普通節(jié)點(diǎn)是靜止的情況設(shè)計(jì)一個(gè)擺渡節(jié)點(diǎn)路線.指出該問題是旅行商(TSP)問題,并用通用方法解決TSP問題.文獻(xiàn)[8]中在文獻(xiàn)[7]中提出的消息擺渡機(jī)制的基礎(chǔ)上進(jìn)行擴(kuò)展.根據(jù)擺渡節(jié)點(diǎn)或者普通節(jié)點(diǎn)主動(dòng)運(yùn)動(dòng),將消息擺渡機(jī)制分為普通節(jié)點(diǎn)發(fā)起消息擺渡機(jī)制、擺渡節(jié)點(diǎn)發(fā)起消息擺渡機(jī)制.文獻(xiàn)[9]對(duì)DTN中多擺渡節(jié)點(diǎn)路線進(jìn)行設(shè)計(jì).將擺渡節(jié)點(diǎn)間交互的方式分為三種情況提出算法來(lái)求解路徑.文獻(xiàn)[10]中將移動(dòng)的任務(wù)節(jié)點(diǎn)按照地理位置進(jìn)行分簇,然后設(shè)計(jì)擺渡節(jié)點(diǎn)路線穿過簇的中心.文獻(xiàn)[11]中每次都用最小概率去和每個(gè)移動(dòng)節(jié)點(diǎn)接觸.移動(dòng)節(jié)點(diǎn)-擺渡節(jié)點(diǎn)接觸概率又反過來(lái)決定了下一輪的擺渡節(jié)點(diǎn)的路線.文獻(xiàn)[12]中是基于圖像獲取率的獎(jiǎng)勵(lì)函數(shù)來(lái)選取無(wú)人機(jī)的中繼航路點(diǎn),然后還是轉(zhuǎn)化TSP問題求解路徑.文獻(xiàn)[13]提出基于預(yù)測(cè)和地理位置信息的路由算法,針對(duì)典型搜救場(chǎng)景這一小型任務(wù)進(jìn)行模擬實(shí)驗(yàn),擺渡機(jī)按照預(yù)設(shè)的航路點(diǎn)在執(zhí)行任務(wù)區(qū)域和地面站之間乒乓方式飛行.文獻(xiàn)[14]針對(duì)無(wú)人機(jī)采集圖像任務(wù),采用了靜態(tài)和在線的路徑設(shè)計(jì)方法.
我們發(fā)現(xiàn),目前擺渡節(jié)點(diǎn)的路徑設(shè)計(jì)方法主要針對(duì)稀疏節(jié)點(diǎn)的網(wǎng)絡(luò)[7-9,12],且在TSP求解航路點(diǎn)問題基礎(chǔ)上提出.在設(shè)計(jì)出航路點(diǎn)后,擺渡節(jié)點(diǎn)通常按照航路點(diǎn)作簡(jiǎn)單循環(huán)方式飛行.但是該飛行方式下,擺渡機(jī)無(wú)法根據(jù)網(wǎng)絡(luò)中任務(wù)機(jī)節(jié)點(diǎn)的擁塞狀況及位置信息做出及時(shí)調(diào)整,從而導(dǎo)致平均消息延遲過長(zhǎng).在時(shí)間關(guān)鍵任務(wù)中,數(shù)據(jù)傳輸延遲是考慮的關(guān)鍵因素[15].然而在小型搜救任務(wù)等小面積網(wǎng)絡(luò)中,我們可以應(yīng)用基于一跳的低通量網(wǎng)絡(luò)傳遞更多的控制指令等消息來(lái)進(jìn)行實(shí)時(shí)控制[13,16].所以在設(shè)計(jì)出擺渡機(jī)航路點(diǎn)之后,對(duì)于飛行方式進(jìn)一步優(yōu)化是有必要的.
本文針對(duì)無(wú)人機(jī)的典型搜救任務(wù)設(shè)計(jì)了一個(gè)小面積DTN的單播消息擺渡模型,在已有的航路點(diǎn)基礎(chǔ)上設(shè)計(jì)了一種緊急狀態(tài)驅(qū)動(dòng)的擺渡機(jī)飛行控制機(jī)制.通過地面站的調(diào)度和分配,實(shí)時(shí)控制擺渡機(jī)的飛行方向.從而緩解了該場(chǎng)景下的擁塞問題,降低了消息平均延遲.本文主要分為以下幾個(gè)部分:第二節(jié)介紹了小面積DTN的網(wǎng)絡(luò)模型.第三節(jié)從地面站端和擺渡機(jī)端介紹了緊急狀態(tài)驅(qū)動(dòng)的擺渡機(jī)飛行控制算法.第四節(jié)針對(duì)任務(wù)機(jī)移動(dòng)場(chǎng)景進(jìn)行仿真實(shí)驗(yàn)并分析實(shí)驗(yàn)結(jié)果.第五節(jié)對(duì)全文進(jìn)行總結(jié).
本文參考已有的混合網(wǎng)絡(luò)技術(shù)設(shè)計(jì)小面積DTN的整體網(wǎng)絡(luò)構(gòu)架.文獻(xiàn)[13,16]中采用了高通量和低通量混合網(wǎng)絡(luò)技術(shù)進(jìn)行無(wú)線通訊.其中低通量網(wǎng)絡(luò)傳遞較小的數(shù)據(jù)量,如GPS數(shù)據(jù),控制消息,還有本文的緊急信號(hào)等.高通量網(wǎng)絡(luò)能傳遞較大的數(shù)據(jù)量,如圖像數(shù)據(jù).
低通量網(wǎng)絡(luò)可以采用XBee-PRO(IEEE 802.15.4)技術(shù).它的覆蓋半徑長(zhǎng)達(dá)1.5km,低通量(小于80kbit/s,所有無(wú)人機(jī)共享)能傳遞控制消息,遙感數(shù)據(jù),消息接收確認(rèn)等消息.XBee-PRO將所有無(wú)人機(jī)和地面站連接,所有無(wú)人機(jī)的GPS數(shù)據(jù)(經(jīng)度,維度,高度),方向,速度等數(shù)據(jù)在無(wú)人機(jī)和地面站范圍內(nèi)按照一定頻率廣播.
高通量網(wǎng)絡(luò)可以采用Wi-Fi(IEEE 802.11n)技術(shù).它是一種范圍短,高通量的通信技術(shù).其通信范圍為200-300m,UDP通量為80-100Mbit/s.為了防止和XBee-PRO干擾,Wi-Fi頻率可以與XBee-PRO設(shè)置不同的頻率.高通量網(wǎng)絡(luò)主要傳遞圖像等較大的數(shù)據(jù).
在如搜救之類的任務(wù)中,任務(wù)區(qū)域通常是遠(yuǎn)離地面站的一片區(qū)域.執(zhí)行任務(wù)的任務(wù)機(jī)在此任務(wù)區(qū)域內(nèi)的一小片區(qū)域按照一定軌跡飛行來(lái)收集該子區(qū)域的圖像或者其他數(shù)據(jù).擺渡機(jī)按照規(guī)定的路線在任務(wù)區(qū)域和地面站之間來(lái)回飛行,最終將任務(wù)機(jī)收集到的消息傳遞到地面站.針對(duì)典型搜救場(chǎng)景,我們?cè)O(shè)計(jì)了小面積DTN單播消息擺渡(Message Ferrying-MF)模型.MF機(jī)制首先在文獻(xiàn)[7]提出,為了解決高度分區(qū)網(wǎng)絡(luò)中擺渡節(jié)點(diǎn)的路徑規(guī)劃問題.我們認(rèn)為在諸如搜救等任務(wù)中可以借用該思想,但是和之前的MF機(jī)制又有區(qū)別.
假設(shè)N=1,2,…,k是k個(gè)收集消息且需要將傳遞消息到地面站g的任務(wù)機(jī)的集合.F=f1,f2,…,fl是l個(gè)負(fù)責(zé)將任務(wù)機(jī)消息傳遞到地面站的擺渡機(jī)的集合.無(wú)人機(jī)的高通量網(wǎng)絡(luò)的通訊半徑為r.D=D1,D,…,Dk是所有任務(wù)機(jī)的移動(dòng)區(qū)域的集合.任務(wù)機(jī)飛行區(qū)域的最小外接圓為E,半徑為R,圓心為e.網(wǎng)絡(luò)示意圖如圖1所示.
圖1 小面積DTN中消息擺渡模型Fig.1 Message ferrying model in small-area DTN
小面積DTN的單播MF網(wǎng)絡(luò)有以下性質(zhì):
性質(zhì)1.地面站g距離任務(wù)機(jī)飛行區(qū)域D的最遠(yuǎn)距離Rmax小于等于低通量網(wǎng)絡(luò)的覆蓋半徑Rl,記為:Rmax≤Rl.
性質(zhì)2.擺渡機(jī)一次循環(huán)飛行,通訊圓覆蓋的面積Ac小于等于覆蓋區(qū)域D的最小外接圓面積Ae,記為:Ac≤Ae.
假設(shè)ft(i)是t時(shí)間分配給任務(wù)機(jī)i的擺渡機(jī),擺渡機(jī)按照Tft(i)路線飛行,wig是任務(wù)機(jī)i等待擺渡機(jī)飛至任務(wù)機(jī)附近將消息全部接收的等待時(shí)間,cij是擺渡機(jī)從任務(wù)機(jī)i到地面站的時(shí)間,Δd表示由于任務(wù)機(jī)移動(dòng)帶來(lái)的時(shí)間差.如果任務(wù)機(jī)i的消息不經(jīng)過其他節(jié)點(diǎn)而完全由擺渡機(jī)傳遞到地面站g,則任務(wù)機(jī)節(jié)點(diǎn)i的最大消息延遲的digmax可以表示為:
digmax=wig+cig+Δd
(1)
因?yàn)槿蝿?wù)機(jī)在傳播過程中能通過其他無(wú)人機(jī)進(jìn)行消息擺渡,所以則任務(wù)機(jī)節(jié)點(diǎn)i的消息延遲dig和digmax有如下關(guān)系:
dig≤digmax
(2)
假設(shè)lft(i)iTft(i)表示擺渡機(jī)ft(i)按照Tft(i)路線從當(dāng)前位置到任務(wù)機(jī)i的距離,ligTft(i)表示擺渡機(jī)ft(i)按照Tft(i)路線從任務(wù)機(jī)i到地面站g的距離,無(wú)人機(jī)的飛行速度為v,由(1)得:
(3)
由于Δd是任務(wù)機(jī)移動(dòng)帶來(lái)的時(shí)間差,任務(wù)機(jī)是執(zhí)行主要收集數(shù)據(jù)任務(wù)的無(wú)人機(jī),我們一般不能改變.所以本文考慮優(yōu)化公式(3)中前兩項(xiàng)的值.
圖2 算法示意圖Fig.2 Algorithm diagram
如本文的飛行控制算法是指擺渡機(jī)的飛行軌跡控制算法.如圖2所示,假設(shè)G、A、B是擺渡機(jī)的航路點(diǎn).其中G為地面站,即消息的目的地.Si表示任務(wù)機(jī).Fi表示擺渡機(jī).r為擺渡機(jī)的通訊半徑,a、b是以S1為圓心,r為半徑做出的圓與AB的交點(diǎn).Rl表示低通量網(wǎng)絡(luò)的覆蓋圓半徑,地面站能夠接收到該圓內(nèi)節(jié)點(diǎn)發(fā)送的GPS數(shù)據(jù)和本文中的緊急信號(hào)等消息.擺渡機(jī)F1按照G→A→B→G路徑順時(shí)針方向循環(huán)飛行,F(xiàn)2按照G→D→B→G路徑順時(shí)針方向循環(huán)飛行.任務(wù)機(jī)的消息數(shù)在不停的增長(zhǎng),如果不及時(shí)往地面站方向轉(zhuǎn)移,則會(huì)導(dǎo)致消息的平均延遲過長(zhǎng).我們研究的問題是在各航路點(diǎn)已定的前提下對(duì)飛行方式進(jìn)行優(yōu)化,從而來(lái)減少消息的平均延遲.
傳統(tǒng)方式采用丟包或者接收速度的方法來(lái)處理DTN中的擁塞[17].本文利用主動(dòng)使擺渡機(jī)飛行的方法來(lái)緩解擁塞.算法基本思想如下:
首先,對(duì)于單架擺渡機(jī)本身,如果擺渡機(jī)F1此時(shí)在(3,0)順時(shí)針飛行.若按照原方向做循環(huán)飛行,那么將S1任務(wù)機(jī)的消息接收到返回地面站G需要走12的路程.在本文方法中,當(dāng)S1中的消息數(shù)超過預(yù)警值時(shí),S1此時(shí)置為緊急狀態(tài).然后使與其配對(duì)的擺渡機(jī)此時(shí)調(diào)轉(zhuǎn)方向,即按路徑F1→B→b.將消息接收后,然后再選擇一個(gè)最短距離路徑,即b→B→G,那么該消息到達(dá)地面站總共所走的距離為7.所以該實(shí)時(shí)控制的方法,大大減少了時(shí)間.
(4)
易證明,digmax+≤digmax.從而證明及時(shí)調(diào)整航向有利于減少消息延遲.
其次,我們借用了操作系統(tǒng)中的先來(lái)先服務(wù)的調(diào)度思想來(lái)處理多架任務(wù)機(jī)緊急的情況.當(dāng)此時(shí)有多個(gè)緊急狀態(tài)的任務(wù)機(jī)需要分配擺渡機(jī),那么地面站優(yōu)先分配為發(fā)生時(shí)間較早的那一架任務(wù)機(jī)分配擺渡機(jī).如果同時(shí)發(fā)生緊急狀態(tài),優(yōu)先為分配編號(hào)較小的那一架任務(wù)機(jī)分配擺渡機(jī).
圖3 單位時(shí)間處理時(shí)序圖Fig.3 Processing sequence diagram in unit of time
為了更加清楚的表達(dá)本文所提方法的工作原理,我們用SysML對(duì)算法執(zhí)行過程進(jìn)行建模.網(wǎng)絡(luò)中有3個(gè)對(duì)象:地面站,任務(wù)機(jī),擺渡機(jī).每個(gè)單位時(shí)間中,首先各無(wú)人機(jī)檢測(cè)本身的消息存儲(chǔ)數(shù),在本機(jī)進(jìn)行判斷緊急或非緊急.并通過低通量網(wǎng)絡(luò)發(fā)送緊急或者非緊急信號(hào)至地面站.地面站更新各無(wú)人機(jī)的狀態(tài)并根據(jù)先來(lái)先服務(wù)的思想為任務(wù)機(jī)分配擺渡機(jī),然后將改變Locked位指令信息發(fā)送至擺渡機(jī).最后擺渡機(jī)根據(jù)飛行控制算法做出調(diào)整后飛行△t時(shí)間.時(shí)序圖如圖3所示.下文將給出相關(guān)定義并圍繞時(shí)序圖中的地面站更新緊急任務(wù)列表算法,先來(lái)先服務(wù)思想的分配算法以及擺渡機(jī)中飛行控制算法等方面進(jìn)行詳細(xì)的闡述.
本文采用地面站集中式結(jié)構(gòu)管理整個(gè)網(wǎng)絡(luò)無(wú)人機(jī)的緊急狀態(tài)以及做出相應(yīng)的控制.隨著時(shí)間的推移,每架無(wú)人機(jī)的狀態(tài)會(huì)發(fā)生改變,更新緊急狀態(tài)是擺渡機(jī)飛行控制的基礎(chǔ).地面站控制算法中所提到的相關(guān)數(shù)據(jù)結(jié)構(gòu)以及相關(guān)名詞解釋如下:
定義1.緊急任務(wù)機(jī)列表(emergeSearchList) 是按照緊急狀態(tài)產(chǎn)生時(shí)間順序存放當(dāng)前網(wǎng)絡(luò)中所有的緊急狀態(tài)的任務(wù)機(jī)編號(hào)的列表.
定義2.緊急任務(wù)機(jī)-擺渡機(jī)配對(duì)列表(emergeMap)是存放緊急狀態(tài)任務(wù)機(jī)編號(hào)以及與其配對(duì)的擺渡機(jī)編號(hào)的鍵值對(duì)列表.
定義3.緊急擺渡機(jī)列表(emergeFerryList)是存放緊急狀態(tài)擺渡機(jī)編號(hào)的列表.
定義4.緊急狀態(tài)是無(wú)人機(jī)中消息存儲(chǔ)數(shù)超過預(yù)警值后無(wú)人機(jī)所處的狀態(tài).
定義5.Locked位是任務(wù)機(jī)和擺渡機(jī)相互間是否能夠配對(duì)的標(biāo)志位.當(dāng)擺渡機(jī)分配給緊急狀態(tài)任務(wù)機(jī)時(shí),擺渡機(jī)和任務(wù)機(jī)的Locked位置為true.當(dāng)擺渡機(jī)中的消息存儲(chǔ)數(shù)超過預(yù)警值,則將擺渡機(jī)和原先與之配對(duì)的任務(wù)機(jī)解鎖,即將任務(wù)機(jī)和擺渡機(jī)的Locked位置為false.
3.2.1 更新緊急列表算法
更新算法主要分為取消非緊急狀態(tài)項(xiàng)和增添緊急狀態(tài)項(xiàng)兩部分.原先緊急狀態(tài)的無(wú)人機(jī)中的消息數(shù)降低到0,我們將取消各列表中相應(yīng)的緊急狀態(tài)項(xiàng).當(dāng)無(wú)人機(jī)中的消息數(shù)超過規(guī)定的預(yù)警值,而且之前不在列表中,將要添加相應(yīng)的項(xiàng).
添加緊急狀態(tài)項(xiàng)分為以下步驟.
1)更新emergeFerryList.在emergeFerryList中添加新項(xiàng)時(shí),我們需要作出特殊處理.因?yàn)楫?dāng)擺渡機(jī)中的消息數(shù)過多,如果前一時(shí)刻自身分配給任務(wù)機(jī),此時(shí)應(yīng)該解除分配關(guān)系,使得擺渡機(jī)立刻飛向地面站.原先緊急的任務(wù)機(jī)在下一個(gè)時(shí)刻重新分配擺渡機(jī).
2)更新emergeSearchList.根據(jù)無(wú)人機(jī)的緊急信號(hào)更新emergeSearchList.
3)更新emergeMap.根據(jù)任務(wù)機(jī)和擺渡機(jī)配對(duì)算法更新emergeMap.添加緊急狀態(tài)項(xiàng)算法示意圖如圖4所示.
圖4 添加緊急狀態(tài)項(xiàng)算法Fig.4 Adding emergency term algorithm
3.2.2 任務(wù)機(jī)和擺渡機(jī)配對(duì)算法
利用操作系統(tǒng)中先來(lái)先服務(wù)的調(diào)度思想,我們首先根據(jù)緊急狀態(tài)發(fā)生的時(shí)間順序在emergeSearchList尾部插入新項(xiàng).然后從前往后遍歷emergeSearchList,利用任務(wù)機(jī)和擺渡機(jī)配對(duì)算法為每架緊急任務(wù)機(jī)找到擺渡機(jī),最后擺渡機(jī)根據(jù)飛行控制算法飛行.
一架擺渡機(jī)可以將一架或者多架任務(wù)機(jī)的消息傳遞到地面站.同樣一架任務(wù)機(jī)也可能由多架擺渡機(jī)來(lái)傳遞消息.假設(shè)任務(wù)機(jī)i對(duì)應(yīng)的擺渡機(jī)集合Fi,F(xiàn)是網(wǎng)絡(luò)中所有擺渡機(jī)的集合,則Fi?F.Fi(t-Δt)為前一時(shí)刻Fi中還未分配的擺渡機(jī)集合.ft(i)為t時(shí)間與任務(wù)機(jī)i配對(duì)的擺渡機(jī),是距離緊急狀態(tài)任務(wù)機(jī)i最近的未配對(duì)的擺渡機(jī).ft(i)可以表示為:
(5)
無(wú)人機(jī)的運(yùn)動(dòng)模型可以參考高斯-馬爾科夫運(yùn)動(dòng)模型,它意味著擺渡機(jī)前后時(shí)刻的運(yùn)動(dòng)是有聯(lián)系的,不是完全隨機(jī)的[18].該算法在擺渡機(jī)上執(zhí)行,為每架擺渡機(jī)提供實(shí)時(shí)控制.另外需要強(qiáng)調(diào)的是,該算法是建立在已有航路點(diǎn)基礎(chǔ)上的.飛行控制算法的思想為:如果擺渡機(jī)被分配給緊急狀態(tài)的任務(wù)機(jī),則擺渡機(jī)朝著緊急狀態(tài)任務(wù)機(jī)飛行,建立通訊之后再朝向地面站飛行.如果擺渡機(jī)自身緊急,那么朝著地面站方向飛行.如果擺渡機(jī)自身不緊急,也沒有分配給任務(wù)機(jī),那么按照簡(jiǎn)單的循環(huán)方式飛行.綜上,擺渡機(jī)飛行控制算法總共有三種飛行模式:循環(huán)飛行、朝地面站飛行、朝緊急任務(wù)機(jī)飛行.擺渡機(jī)的飛行控制算法偽代碼如下:
算法1.flyControl Algorithm.
1://擺渡機(jī)按照飛行控制算法,每次飛行Δt時(shí)間
2:procedureflyControl (Δt)
3://如果擺渡機(jī)沒有和其他任務(wù)機(jī)建立配對(duì)且該機(jī)不緊急
4://表現(xiàn)為擺渡機(jī)上的Locked位為false
5:ifLocked==falsethen
6: circleMove(Δt) ?循環(huán)飛行
7:else
8://當(dāng)擺渡機(jī)因?yàn)樽陨淼南?shù)超過預(yù)警值,即本機(jī)緊急
9:ifmsgNumber>ferryTriggerthen
10: moveToStation(Δt) ?朝地面站飛行
11://當(dāng)擺渡機(jī)和任務(wù)機(jī)建立配對(duì)關(guān)系
12:else
13://擺渡機(jī)和緊急任務(wù)機(jī)無(wú)法建立高通量聯(lián)系
14:ifcan not connecting emerge SearchHostthen
15: moveToEmerge(Δt) ?朝緊急任務(wù)飛行
16:else
17: moveToStation(Δt) ?朝地面站飛行
18:endif
19:endif
20:endif
21:endprocedure
本文實(shí)驗(yàn)是在TheOne模擬器中進(jìn)行.TheOne是一個(gè)機(jī)會(huì)網(wǎng)絡(luò)環(huán)境模擬器,它可以模擬不同路由協(xié)議,不同的運(yùn)動(dòng)模型的DTN網(wǎng)絡(luò)的消息傳輸,還可以實(shí)時(shí)交互式可視化模擬和結(jié)果.我們?cè)谌蝿?wù)機(jī)移動(dòng)場(chǎng)景中分別以簡(jiǎn)單循環(huán)飛行方式和本文提出的基于緊急狀態(tài)量驅(qū)動(dòng)飛行方式兩種飛行方式進(jìn)行模擬實(shí)驗(yàn),從而對(duì)比兩種算法的優(yōu)劣.
實(shí)驗(yàn)場(chǎng)景如圖5所示.假設(shè)有4架擺渡機(jī)(f10-f13),9架任務(wù)機(jī)(u1-u9)和1個(gè)地面站(g0).其中任務(wù)機(jī)按照Z(yǔ)型路線循環(huán)飛行,任務(wù)機(jī)按照?qǐng)D示路線飛行.各無(wú)人機(jī)從各自按照軌跡循環(huán)飛行.
圖5 任務(wù)機(jī)移動(dòng)場(chǎng)景Fig.5 Moving search UAV scene
其他試驗(yàn)參數(shù)設(shè)置如表1所示.
表1 實(shí)驗(yàn)參數(shù)Table 1 Experimental parameters
本文算法由無(wú)人機(jī)的消息存儲(chǔ)量觸發(fā)無(wú)人機(jī)的緊急狀態(tài).因?yàn)槿蝿?wù)機(jī)和擺渡機(jī)可以分別設(shè)置預(yù)警值,為了分析不同預(yù)警值對(duì)傳遞消息的各個(gè)指標(biāo)的影響,我們采用控制變量法進(jìn)行實(shí)驗(yàn).我們先設(shè)擺渡機(jī)的預(yù)警值為無(wú)窮大,設(shè)置不同的任務(wù)機(jī)的預(yù)警值進(jìn)行實(shí)驗(yàn).然后從中選取合適的任務(wù)機(jī)預(yù)警值固定不變,再去改變擺渡機(jī)的預(yù)警值進(jìn)行實(shí)驗(yàn).任務(wù)機(jī)移動(dòng)場(chǎng)景實(shí)驗(yàn)數(shù)據(jù)如圖6-圖9所示.
分析以上實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn):
1)本文提出的緊急狀態(tài)量驅(qū)動(dòng)的擺渡機(jī)飛行方法的投遞率、消息平均延遲與簡(jiǎn)單循環(huán)在動(dòng)態(tài)場(chǎng)景下相比均有提升. 在該動(dòng)態(tài)場(chǎng)景下,各任務(wù)機(jī)節(jié)點(diǎn)按照一定的運(yùn)動(dòng)軌跡運(yùn)動(dòng),任務(wù)機(jī)節(jié)點(diǎn)之間有一定的概率發(fā)生通訊.如圖6-圖7,緊急信號(hào)量驅(qū)動(dòng)的飛行方式相較與簡(jiǎn)單循環(huán)飛行方式,僅任務(wù)機(jī)設(shè)置預(yù)警值時(shí),投遞率相近,平均消息延遲減少約20%.如圖8-圖9,任務(wù)機(jī)選取600的緊急預(yù)警值固定不變,改變擺渡機(jī)的預(yù)警值時(shí),平均消息延遲減少約47%.而且加入擺渡機(jī)預(yù)警值是防止網(wǎng)絡(luò)負(fù)載過高時(shí),擺渡機(jī)無(wú)法及時(shí)返回地面站造成網(wǎng)絡(luò)擁塞,增強(qiáng)了算法的魯棒性.平均消息延遲平均值對(duì)比如表2所示.其中+表示提高,-表示降低.
圖6 單預(yù)警值緊急驅(qū)動(dòng)與簡(jiǎn)單循環(huán)方式投遞率比較Fig.6 Deliveryratecompa-risonofsinglewarningvalueemergency-driveandsimplecycle圖7 單預(yù)警值緊急驅(qū)動(dòng)與簡(jiǎn)單循環(huán)方式平均消息延遲比較Fig.7 Delaycomparisonofsinglewarningvalueemer-gency-driveandsimplecycle
圖8 單/雙預(yù)警值緊急驅(qū)動(dòng)與簡(jiǎn)單循環(huán)投遞率比較Fig.8 Deliveryratecomparisonofsingle/doublewarningvalueemergency-driveandsimplecycle圖9 單/雙預(yù)警值緊急驅(qū)動(dòng)與簡(jiǎn)單循環(huán)投遞率比較Fig.9 Delaycomparisonofsingle/doublewarningvalueemergency-driveandsimplecycle
表2 平均消息延遲平均值對(duì)比Table 2 Average delay comparison
2) 當(dāng)設(shè)置預(yù)警值過小時(shí),性能表現(xiàn)不佳;預(yù)警值足夠大時(shí),其運(yùn)動(dòng)方式和簡(jiǎn)單循環(huán)方式相同.如果任務(wù)機(jī)的預(yù)警值設(shè)置過小時(shí),擺渡機(jī)會(huì)很快地向任務(wù)機(jī)靠近,并將消息擺渡到地面站.導(dǎo)致一次擺渡的消息數(shù)量較小,從而導(dǎo)致消息在任務(wù)機(jī)上堆積.如果擺渡機(jī)的預(yù)警值設(shè)置過小時(shí),擺渡機(jī)接收的消息不多就往地面站飛行,導(dǎo)致消息在任務(wù)機(jī)上堆積.所以預(yù)警值不能設(shè)置過小.當(dāng)預(yù)警值設(shè)置很大時(shí),將不會(huì)觸發(fā)緊急狀態(tài),所以緊急狀態(tài)驅(qū)動(dòng)飛行方式將和簡(jiǎn)單循環(huán)飛行方式相同.
本文針對(duì)典型的搜救場(chǎng)景,提出了小面積延遲容忍網(wǎng)絡(luò)下的單播消息擺渡模型.并在簡(jiǎn)單循環(huán)飛行方式基礎(chǔ)上提出了一種基于緊急狀態(tài)的擺渡機(jī)飛行控制策略.當(dāng)消息數(shù)超過一定的預(yù)警值,無(wú)人機(jī)將變?yōu)榫o急狀態(tài),然后通過地面站的調(diào)度和分配來(lái)驅(qū)動(dòng)擺渡機(jī)飛行.實(shí)驗(yàn)證明,當(dāng)選取合適的預(yù)警值時(shí),緊急狀態(tài)驅(qū)動(dòng)擺渡機(jī)的飛行方式會(huì)使消息的投遞率和平均延時(shí)表現(xiàn)提升.本文是在基于范圍較小的低通量網(wǎng)絡(luò)中實(shí)現(xiàn)了緊急狀態(tài)驅(qū)動(dòng)的飛行控制算法,未來(lái)考慮擴(kuò)展到范圍更大的網(wǎng)絡(luò)中.