邢思宇 蔣偉
摘 要:在變電站的巡檢過程中,巡檢機器人之間采用ZigBee通信。ZigBee在變電站環(huán)境中通信易受電磁波和WiFi等信號干擾,導(dǎo)致網(wǎng)絡(luò)丟包率大大增加并使得網(wǎng)絡(luò)時延增高。文中在通信過程中加入了蟻群算法,為網(wǎng)絡(luò)增加了尋優(yōu)功能和節(jié)點對路徑的記憶功能,將改進(jìn)后的算法設(shè)為ANTSENSE路由協(xié)議。通過NS-2平臺的仿真分析表明,機器人的移動速度對網(wǎng)絡(luò)丟包率和時延存在一定影響。ANTSENSE路由協(xié)議相比AODV路由協(xié)議降低了網(wǎng)絡(luò)的平均時延與網(wǎng)絡(luò)的丟包率。
關(guān)鍵詞:巡檢機器人通信;ZigBee;NS-2;網(wǎng)絡(luò)通信;AODV;ANTSENSE;蟻群算法
中圖分類號:TP242;TM63 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2018)04-00-02
0 引 言
隨著無線傳感技術(shù)的飛速發(fā)展,ZigBee[1-3]通信網(wǎng)絡(luò)越來越受到重視,對其穩(wěn)定性的研究也越來越多。ZigBee網(wǎng)絡(luò)因其功率低、范圍廣、部署簡單靈活等特點,在環(huán)境監(jiān)測、城市交通、智慧城市等領(lǐng)域得到了廣泛應(yīng)用。但由于藍(lán)牙、WiFi在生活中的普遍使用,也逐漸帶動ZigBee投入到變電站的通信中。由于變電站所處環(huán)境惡劣,因此ZigBee憑借其抗干擾性強這一特點成為變電站通信的首選。
由于變電站環(huán)境極為惡劣,人們在巡檢過程中難免會遇到一些危險。隨著科學(xué)技術(shù)的進(jìn)一步發(fā)展,巡檢機器人在變電站中的使用越來越普遍。多個巡檢機器人同時工作使得巡檢過程變得系統(tǒng)又高效。
在巡檢過程中,任意兩個機器人之間都可以相互通信,并將采集到的數(shù)據(jù)快速上傳。但巡檢機器人在采集圖像信息時需使用WiFi,而WiFi信號和電磁波信號對ZigBee的通信會產(chǎn)生一定的干擾,使得它們在通信過程中的丟包率和網(wǎng)絡(luò)時延大大增加。
針對這些問題,周德榮[4]提出了基于蟻群算法改進(jìn)的AODV路由協(xié)議研究。通過改進(jìn)AODV路由組建和路由維護(hù)策略,提高了路由質(zhì)量。但并未通過公式表達(dá)每個節(jié)點向下一節(jié)點移動時的丟包概率。王魯光[5]等人提出的AODV和AOMDV路由協(xié)議性能分析與比較,介紹了兩種網(wǎng)絡(luò)的通信特點,但該算法并未考慮路徑尋優(yōu)。
本文針對蟻群算法具有路徑尋優(yōu)和記憶路徑的特點,提出了一種基于蟻群算法的新協(xié)議ANTSENSE。仿真結(jié)果表明,本文提出的新協(xié)議相比AODV路由協(xié)議有效降低了網(wǎng)絡(luò)的時延和丟包率。
1 AODV路由協(xié)議
1.1 AODV路由協(xié)議的特點
1.1.1 路由請求和應(yīng)答過程
AODV[6,7]路由協(xié)議允許無線節(jié)點通過,多路徑將信息發(fā)送給目的節(jié)點,且不要求無線節(jié)點對信息傳送路徑進(jìn)行維護(hù)。
在AODV路由協(xié)議中,某個節(jié)點向目的節(jié)點發(fā)送封包之前會預(yù)先查看其路徑表。若此節(jié)點找不到可以到達(dá)目的節(jié)點的路由入口,便會通過廣播將RREQ封包送出以尋找新的路徑,收到RREQ的無線節(jié)點會查看自己是否為該封包的目的地址,若不是,則再查看自己是否有一條路徑可到達(dá)目的節(jié)點,若沒有,則需通過攜帶的信息修改路徑表,然后再將其廣播出去,直到目的節(jié)點收到信息為止。當(dāng)目的節(jié)點接收到源節(jié)點或中間節(jié)點發(fā)送的RREQ時,便會建立一個反向路由,向源節(jié)點發(fā)送RREP。每一個RREQ都有屬于自己的ID號,當(dāng)某個節(jié)點接收到一個RREQ后,便會確認(rèn)之前是否收到過該ID號,若收到過,則丟棄該封包,以防止較多相同ID存在于該無線網(wǎng)絡(luò)中,確保該無線網(wǎng)絡(luò)中的路徑無循環(huán)。
1.1.2 路由維護(hù)過程
當(dāng)鏈路中斷時,如果目的節(jié)點與斷路節(jié)點之間的距離未超過最大修復(fù)距離,則本地修復(fù)過程啟動。若未啟動,斷路節(jié)點需重新向目的節(jié)點發(fā)起路由發(fā)現(xiàn)過程??捎弥芷谛园l(fā)送HELLO分組來檢測無法使用的鏈路;利用鏈路層通告機制發(fā)現(xiàn)鏈路是否中斷;當(dāng)節(jié)點向下一跳節(jié)點發(fā)送或轉(zhuǎn)發(fā)封包失敗時,亦能判斷鏈路是否中斷等三種方式檢測鏈路狀態(tài)。
1.2 AODV路由協(xié)議的缺點
(1)AODV路由協(xié)議在路由發(fā)現(xiàn)過程中,源節(jié)點采用廣播方式送出RREQ封包尋找路徑,通過多個中間節(jié)點的廣播和轉(zhuǎn)發(fā)最終將封包送至目的節(jié)點,目的節(jié)點只接收傳送來的第一個RREQ,其他大部分RREQ未被充分利用。一旦目的節(jié)點接收到RREQ,便會立刻向源節(jié)點發(fā)送RREP用于回復(fù)。在路由發(fā)現(xiàn)過程中,大大浪費了Ad Hoc網(wǎng)絡(luò)無線網(wǎng)絡(luò)帶寬,并給網(wǎng)絡(luò)造成了延時。
(2)如果鏈路中斷,網(wǎng)絡(luò)會啟動路由維護(hù)過程,而該過程一旦啟動,源節(jié)點就會重新發(fā)起路由發(fā)現(xiàn)過程。由于變電站中的網(wǎng)絡(luò)環(huán)境十分復(fù)雜,因此很有可能產(chǎn)生多次路由維護(hù)過程和路由發(fā)現(xiàn)過程,對網(wǎng)絡(luò)延時和丟包將造成很大影響。
2 蟻群算法
2.1 簡單蟻群算法的流程
螞蟻通過前者在路徑上釋放的信息素的多少選擇路徑。螞蟻在移動過程中會根據(jù)地域路徑的適應(yīng)度來釋放信息素,適應(yīng)度越高,螞蟻釋放的信息素越多。隨著時間的推移,信息素不斷揮發(fā),即信息素會隨著時間不斷消散。初始化蟻群設(shè)為初始化A(t),根據(jù)目標(biāo)函數(shù)對每只螞蟻的適應(yīng)度做出評價,設(shè)為評價A(t)。蟻群算法[8]流程如圖1所示。
初始時刻,每條路徑上的信息素均等,設(shè)τij(0)=C(C是常數(shù))。螞蟻k(k=1,2,…,m)在運動過程中會更傾向于信息素多的那條路經(jīng)。螞蟻k從節(jié)點i移動到節(jié)點j存在一定的概率。螞蟻k在節(jié)點i時選擇向節(jié)點j轉(zhuǎn)移的概率Pijk (t)見式(1):
其中allowedk={0,1,…,n-1}表示螞蟻k下一步允許選擇的節(jié)點。由式(1)可知,轉(zhuǎn)移概率Pijk (t)與τijα(t)ηijβ(t)成正比。εij為能見度因數(shù),α和β為兩個參數(shù),分別表示螞蟻在運動過程中的積累信息和啟發(fā)信息對螞蟻選擇路徑的相對重要性。
2.2 ANTSENSE路由協(xié)議
2.2.1 ANTSENSE路由協(xié)議的特點
在封包從源節(jié)點向終結(jié)點傳播的過程中,螞蟻使用與數(shù)據(jù)相同的鏈接隊列移動。從源節(jié)點s向終節(jié)點d移動的過程中所用時間Tsd可被用作路徑質(zhì)量的量度。一個路徑的總質(zhì)量因數(shù)通過行程時間Tsd和局部適應(yīng)策略模型的啟發(fā)函數(shù)進(jìn)行評估,因為在低阻塞情況下評價為低質(zhì)量的行程時間T可以成為高通信負(fù)荷下的高質(zhì)量。一旦走完一個路徑,螞蟻在這條路徑的所有節(jié)點上釋放一定的信息素,這條路徑的質(zhì)量越高,螞蟻釋放的信息素就越多。螞蟻到達(dá)目的節(jié)點后,會沿著相同但方向相反的路徑返回源節(jié)點,并使用高優(yōu)先權(quán)隊列,使得被收集的信息能夠快速傳輸。
2.2.2 ANTSENSE路由協(xié)議的具體通信過程
每隔一段規(guī)定的時間,網(wǎng)絡(luò)中的每個前向螞蟻k都要找到一條通向前向節(jié)點的路徑,每一個訪問過的節(jié)點ID都儲存在螞蟻的memory中,將其記為Mk。
前向節(jié)點選擇下一跳節(jié)點存在一定的概率關(guān)系:
其中:p是螞蟻k從節(jié)點r選擇下一跳節(jié)點s的概率;T是每個節(jié)點上的路由表,用于存儲節(jié)點r到節(jié)點s上的信息素;E為可見度函數(shù),即E=1/(C-es),C是節(jié)點的初始化能量,es為節(jié)點s的實際能量。
當(dāng)前向螞蟻到達(dá)目的節(jié)點時,隨即轉(zhuǎn)變?yōu)橐粋€后向節(jié)點,任務(wù)是更新到達(dá)目的節(jié)點路徑上的信息素,并將其存儲在Mk中。
當(dāng)后向螞蟻從終節(jié)點向源節(jié)點返回時,目的節(jié)點會記錄后向螞蟻drop的信息量,計算公式為:?Tk=1/(N-Fdk)。其中:N為節(jié)點的總數(shù);Fdk為前向螞蟻經(jīng)歷的節(jié)點數(shù)。
當(dāng)節(jié)點r收到臨節(jié)點s上的后向螞蟻時,Tk(r,s)=(1-ρ) ·Tk(r,s)+?Tk,1-ρ代表上一次更新的Tk(r,s)的信息素蒸發(fā)。
當(dāng)后向螞蟻到達(dá)源節(jié)點時,任務(wù)完成,并丟棄該螞蟻。
3 性能仿真與分析
本文選用的仿真工具為NS-2,分別對AODV和ANTSENSE協(xié)議在多種移動場景下的性能進(jìn)行分析和比較。由于通信環(huán)境選擇的是變電站,考慮到變電站的正常占地面積和巡檢機器人的正常移動速度,采用1 000 m×1 000 m的仿真場景,并在場地中隨機配置20個移動節(jié)點,仿真時間設(shè)為100 s,最大聯(lián)機數(shù)為10,預(yù)期每秒產(chǎn)生的CBR封包數(shù)為20。節(jié)點可在場景中以任意速度移動。仿真使用cbrgen和setdest產(chǎn)生移動場景,然后用gawk對trace文件進(jìn)行分析,之后使用gnuplot畫圖。由于每一次仿真產(chǎn)生的節(jié)點坐標(biāo)都是隨機的,為保證實驗數(shù)據(jù)的準(zhǔn)確性,本文得出的每個結(jié)果都是對20次結(jié)果求平均值得到的。
(1)不同的節(jié)點移動速度
平均時延,丟包率與節(jié)點移動速度之間的關(guān)系如圖2所示。由圖2可以看出,隨著節(jié)點移動速度的增大,源節(jié)點到目的節(jié)點之間的路由失效次數(shù)增加,導(dǎo)致路由發(fā)現(xiàn)次數(shù)增加,網(wǎng)絡(luò)平均時延隨之增大。ANTSENSE路由與AODV相比,增加了尋優(yōu)過程,能夠找到最短的路徑通信,且因信息素的釋放,使得節(jié)點對路徑有一定的記憶能力,因此網(wǎng)絡(luò)的平均時延與丟包率更低。
(2)不同的CBR封包數(shù)
平均時延、丟包率與不同CBR封包數(shù)的關(guān)系如圖3所示。由圖3可以看出,節(jié)點移動速度不變,設(shè)為5 m/s。隨著CBR數(shù)量的增加,網(wǎng)絡(luò)的丟包率逐漸增大。但ANTSENSE協(xié)議相比AODV的丟包率較低。
4 結(jié) 語
針對變電站中巡檢機器人在AODV協(xié)議下通信質(zhì)量不高的問題,本文在AODV協(xié)議的基礎(chǔ)上加入了ANTSENSE協(xié)議。仿真結(jié)果表明,ANTSENSE協(xié)議使得網(wǎng)絡(luò)延時明顯降低、分組投遞率增加,大幅提升了巡檢機器人在變電站中的通信質(zhì)量。
參考文獻(xiàn)
[1]張毅,吳錦,羅元,等.新型ZigBee-WiFi無線網(wǎng)關(guān)的設(shè)計及其抗干擾技術(shù)的研究[J].計算機應(yīng)用與軟件, 2014(5):122-124.
[2]章偉聰,俞新武,李忠成.基于CC2530及ZigBee協(xié)議棧設(shè)計無線網(wǎng)絡(luò)傳感器節(jié)點[J].計算機系統(tǒng)應(yīng)用, 2011, 20(7):184-187.
[3]甯油江,趙津,石晴,等.基于ZigBee的多車協(xié)作控制研究[J].現(xiàn)代電子技術(shù), 2017, 40(6): 114-117.
[4]周德榮.基于蟻群算法改進(jìn)的AODV路由協(xié)議研究[J].西南師范大學(xué)學(xué)報(自然科學(xué)版), 2014, 39(11):75-80.
[5]王魯光,賈智平,李新.AODV和AOMDV路由協(xié)議性能分析與比較[J].計算機應(yīng)用,2010, 30(3):740-744.
[6]童燕,李儉兵. NS-2的Ad Hoc網(wǎng)絡(luò)AODV協(xié)議的仿真[J].數(shù)字通信, 2009, 36(3):50-53.
[7]常杰,張位勇,李桂香.基于ZigBee網(wǎng)絡(luò)的AODV路由改進(jìn)算法[J].電腦知識與技術(shù):學(xué)術(shù)交流,2017, 13(6):22-23.
[8]田克純,農(nóng)秀鳳,王方. NS-2中蟻群算法路由協(xié)議的實現(xiàn)[J].廣西通信技術(shù),2010(4):43-45.