湯小芳 楊余旺 謝勇盛 趙啟超
(南京理工大學(xué) 南京 210094)
近年來,小型無人機(jī)(UAVs)在民用領(lǐng)域越來越流行[1],配備多種傳感器和無限網(wǎng)絡(luò)組件的無人機(jī)為飛行自組網(wǎng)(FANET)相關(guān)技術(shù)的實驗研究提供了可行性。與傳統(tǒng)的移動Ad hoc網(wǎng)絡(luò)一樣,目前對于FANET的研究大多基于仿真,移動模型作為仿真實驗的重要組成部分,影響著仿真結(jié)果的有效性和可靠性,因此一個合格的移動模型應(yīng)該反映真實情況下的運動特征[2~4]。
為了提高網(wǎng)絡(luò)仿真的質(zhì)量,學(xué)者們在移動模型領(lǐng)域進(jìn)行了深入研究,并提出了多種具有針對性的新型移動模型。文獻(xiàn)[5]以參考點群組移動模型為基礎(chǔ),提出了雙層移動模型,該模型適用于具有雙層群組移動特性的場景,與參考點群組移動模型相比,其丟包率和平均延遲更小,鏈路保持時間更長。文獻(xiàn)[6]提出了粒子群移動模型,該模型用簡單的計算框架模擬了無人機(jī)的群體運動,將無人機(jī)運動自身的時間相關(guān)性和無人機(jī)之間的空間相關(guān)性作為度量標(biāo)準(zhǔn)。在文獻(xiàn)[7]中,針對無人機(jī)協(xié)同工作的自組網(wǎng)需求,提出了一種信息素移動模型,但是該模型對網(wǎng)絡(luò)并不友好,因為信息素使無人機(jī)彼此遠(yuǎn)離,導(dǎo)致節(jié)點鏈路頻繁中斷。文獻(xiàn)[8]受到蟻群算法的啟發(fā),提出了一種針對UAV編隊飛行的自然驅(qū)動的移動模型,該模型利用反信息素來有效地覆蓋選定的區(qū)域,通過吸引信息素來探測追蹤最大數(shù)量的目標(biāo)。Tolety和 Davies[9~10]針對城市街道中行人的移動特征,設(shè)計了Gauss-Markov移動模型和城市街道移動模型,該模型中節(jié)點的運動速度和方向存在時間相關(guān)性。為了模擬商場中工人搬運貨物時的運動,Hsien[11]研究了工人搬運貨物時的移動特征,提出了一種基于蟻群算法的移動模型,但是該模型沒有考慮節(jié)點的避障問題,且節(jié)點存在急停和急轉(zhuǎn)向的現(xiàn)象。
在FANET中,無人機(jī)節(jié)點并非孤立存在的,它們在運動過程中表現(xiàn)出強(qiáng)烈的群集運動特征,這種運動特征與鳥類的群集運動有著相似之處[12~14],主要體現(xiàn)在[6]:第一,所有節(jié)點因共同的目標(biāo)而相互關(guān)聯(lián),在飛行過程中應(yīng)保持合適的編隊形態(tài),例如在執(zhí)行同一任務(wù)時,所有節(jié)點的運動方向和速率應(yīng)趨向一致,節(jié)點之間不宜相距太遠(yuǎn);第二,節(jié)點在飛行時應(yīng)遵循運動學(xué)和動力學(xué)約束,不能以純隨機(jī)的方向和速率運動,不存在急停和急轉(zhuǎn)彎等不符合實際的現(xiàn)象,每個無人機(jī)節(jié)點的運動軌跡都應(yīng)是平滑的;第三,節(jié)點之間應(yīng)保持無碰撞分布,且能及時規(guī)避外部障礙物。目前所提出的移動模型主要是針對傳統(tǒng)的移動Ad hoc網(wǎng)絡(luò)設(shè)計的,其群組運動方式較為單一[15~16],無法在同一種模型中有效模擬出無人機(jī)集群的多種運動行為,因此,本文提出了一種基于生物集群智能的移動模型(BSIM),對Boids模型中的SAC規(guī)則進(jìn)行補(bǔ)充和改進(jìn),有效模擬了無人機(jī)集群的多種運動行為。
1987年Reynolds首次提出了一種用于模擬自然界中生物群集運動的計算機(jī)仿真模型,即Boids模型。Reynolds發(fā)現(xiàn)鳥群和魚群在運動時都遵循三條非常簡單的規(guī)則,即SAC規(guī)則,如圖1所示。當(dāng)SAC規(guī)則同時發(fā)揮作用時,計算機(jī)模擬出的群集運動與實際鳥群運動十分相似[17~19]。圖1(a)排斥:個體為了避免碰撞而相互分離。圖1(b)對齊:調(diào)整個體的方向為鄰居范圍內(nèi)個體的方向的平均值。
圖1 Boids模型原理圖
圖1(c)吸引:個體移動到鄰居范圍內(nèi)個體的中心位置。
Boids模型是群集運動中的經(jīng)典模型,雖然具有簡單易行的優(yōu)點,但是如果要仿真FANET中無人機(jī)集群的運動,卻不是最優(yōu)的選擇。Boids模型只能模擬出最基本的蜂擁行為,無法展示無人機(jī)集群的平移、盤旋等行為,并且當(dāng)節(jié)點數(shù)量增多時,無人機(jī)節(jié)點往往分散成多個群組,這與現(xiàn)實場景有所背離。
在Boids模型原有SAC規(guī)則的基礎(chǔ)上,引入三條運動規(guī)則,分別為跟隨、聚集和隨機(jī),每個無人機(jī)節(jié)點的運動狀態(tài)由這六條規(guī)則共同決定,下面將對這些規(guī)則進(jìn)行詳細(xì)闡述和公式化描述。
為了驗證BSIM模型的運行效果,我們在Matlab上進(jìn)行了仿真實驗,為了簡化問題,現(xiàn)做出如下假設(shè)。
1)由于無人機(jī)相對于仿真區(qū)域來說體積很小,為方便處理,將無人機(jī)視為空間里的一個質(zhì)點;
2)假設(shè)從仿真開始,所有無人機(jī)已經(jīng)到達(dá)了指定的相同高度區(qū)域,并且在之后的運動過程中,飛行高度保持一致;
3)所有無人機(jī)節(jié)點最初隨機(jī)分布在仿真區(qū)域中;
4)仿真區(qū)域內(nèi)不存在障礙物,不考慮環(huán)境避障問題;
5)所有無人機(jī)以恒定的速度飛行。
仿真參數(shù)如表1所示。
表1 仿真參數(shù)設(shè)置
在本次仿真實驗中,我們設(shè)置了50個無人機(jī)節(jié)點,由于上述假設(shè)中認(rèn)定所有無人機(jī)保持一致的飛行高度,因此可以將所有無人機(jī)節(jié)點隨機(jī)分布于5000m*5000m的二維仿真區(qū)域,可將其視為空中的俯視圖。
式(10)是對無人機(jī)節(jié)點運動的數(shù)學(xué)化描述,式中的權(quán)重系數(shù)ω1、ω2、ω3、ω4、ω5和ω6的取值決定了無人機(jī)節(jié)點的飛行狀態(tài),為了在BSIM模型中模擬出無人機(jī)集群的多種運動行為,我們在仿真過程中通過動態(tài)修改這些權(quán)重系數(shù)的值,從而使無人機(jī)集群進(jìn)行不同運動行為之間的切換。經(jīng)過多次實驗,我們發(fā)現(xiàn):1)當(dāng)ωi的取值依次為0.2、0.2、0.2、0.05、0.3、0.05時,無人機(jī)集群表現(xiàn)出聚集行為;2)當(dāng)ωi的取值依次為 0.4、0.05、0.05、0.05、0.05、0.4時,無人機(jī)集群分散,表現(xiàn)出隨機(jī)行為;3)當(dāng)ωi的取值依次為0.2、0.2、0.1、0.3、0.15、0.05時,無人機(jī)集群整體出現(xiàn)平移行為;4)當(dāng)ωi的取值依次為0.3、0.05、0.4、0.1、0.1、0.05時,無人機(jī)集群出現(xiàn)盤旋行為。
圖2展示了無人機(jī)節(jié)點在仿真的不同時刻的群集狀態(tài)圖。圖2(a)展示的是初始時刻所有無人機(jī)節(jié)點隨機(jī)分布于仿真區(qū)域中,節(jié)點之間較為分散;圖2(b)為無人機(jī)節(jié)點彼此相互靠攏,最終聚集成群,在靠近的過程中節(jié)點之間保持一定的安全距離;圖2(c)為無人機(jī)節(jié)點聚集后以群組的方式發(fā)生平移,平移過程中所有節(jié)點的方向和速度趨向一致,平移前后群組的形狀總體保持一致;圖2(d)中無人機(jī)節(jié)點呈現(xiàn)出類似于鳥類的盤旋行為,該行為能有效幫助無人機(jī)集群在現(xiàn)實場景中躲避攻擊。
圖2 BSIM模型的不同群聚狀態(tài)圖
生物集群智能通過具有簡單行為機(jī)制的個體間的相互協(xié)作,從而使群體呈現(xiàn)出復(fù)雜的智能行為,個體的行為模式以及個體間的組織結(jié)構(gòu)是其研究的關(guān)鍵。本文針對飛行自組網(wǎng),提出了一種基于生物集群智能的移動模型,通過對Boids群聚規(guī)則進(jìn)行優(yōu)化,建立改進(jìn)后的數(shù)學(xué)模型,有效模擬了無人機(jī)集群的多種運動行為,包括聚集、分散、平移和盤旋,達(dá)到了在同一種模型中模擬出不同運動行為的效果,為飛行自組網(wǎng)的路由協(xié)議等相關(guān)研究提供了可靠、通用的移動模型。