衛(wèi)朝霞,劉志超,羅 佳
(1.四川大學(xué)錦城學(xué)院,四川 成都 611731;2.無(wú)錫太湖學(xué)院物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫 214064;3.江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫 214122;4.四川大學(xué)錦江學(xué)院,四川 彭山 620860)
無(wú)線傳感器網(wǎng)絡(luò)具有體積小、重量輕、價(jià)格低廉等特點(diǎn),被廣泛應(yīng)用于氣象預(yù)報(bào)、目標(biāo)跟蹤、火災(zāi)監(jiān)控等領(lǐng)域[1-2]。本文主要研究傳感器網(wǎng)絡(luò)對(duì)目標(biāo)的跟蹤問(wèn)題,采用傳感器調(diào)度技術(shù)根據(jù)某種準(zhǔn)則確定傳感器網(wǎng)絡(luò)的最佳工作模式[3],此類問(wèn)題可以看作凸優(yōu)化問(wèn)題[4],包含兩方面內(nèi)容:一方面是建立目標(biāo)函數(shù);另一方面是對(duì)目標(biāo)函數(shù)求解得到調(diào)度方案?;趦?yōu)化理論,常見(jiàn)的調(diào)度方法有:基于協(xié)方差矩陣的調(diào)度方法[5]、基于熵理論的調(diào)度方法[6]、基于后驗(yàn)克拉美羅下界的調(diào)度方法[7]、基于馬爾科夫決策過(guò)程的調(diào)度方法[8]、基于智能算法的調(diào)度方法[9-10]以及其他自適應(yīng)控制方法[11]。
以上方法僅從對(duì)目標(biāo)的跟蹤性能上考慮調(diào)度問(wèn)題,以目標(biāo)跟蹤效果的好壞評(píng)價(jià)調(diào)度方案的優(yōu)劣。與雷達(dá)等大型供電供能傳感器不同之處在于,無(wú)線傳感器網(wǎng)絡(luò)供能來(lái)源于固定電池,而電池容量是有限的,因此,在調(diào)度過(guò)程中,也應(yīng)同時(shí)考慮傳感器網(wǎng)絡(luò)的能量消耗問(wèn)題,在提高跟蹤效果和節(jié)省能量延長(zhǎng)傳感器網(wǎng)絡(luò)使用壽命之間找到平衡[12-13]。
分布式網(wǎng)絡(luò)結(jié)構(gòu)不需要將數(shù)據(jù)傳輸?shù)叫畔⑻幚碇行?,每個(gè)傳感器自身具有信息處理功能,從而大大減小了傳感器之間的通信能量消耗[14-15]。因此,本文針對(duì)分布式無(wú)線傳感器能量管理問(wèn)題,提出基于能量限制的分布式無(wú)線傳感器網(wǎng)絡(luò)調(diào)度方法。
在分布式無(wú)線傳感器網(wǎng)絡(luò)中,每個(gè)傳感器除具有一般傳感器具有的信息收集功能和信息傳輸、接收功能外,還同時(shí)具有信息處理和決策功能,即能將自身收集到的目標(biāo)信息與接收到的來(lái)自其他傳感器的目標(biāo)信息進(jìn)行融合,得到關(guān)于目標(biāo)狀態(tài)的更佳估計(jì),同時(shí)能夠進(jìn)行自主決策,決定將自身收集到的信息是否傳遞給其他傳感器、傳遞給哪個(gè)傳感器。
為節(jié)省傳感器計(jì)算能量消耗及傳感器之間的盲目信息傳輸消耗,設(shè)置“頭領(lǐng)傳感器”。在觀測(cè)時(shí)刻k,設(shè)對(duì)目標(biāo)t觀測(cè)的傳感器集合為λk(t),“頭領(lǐng)傳感器”記為hk(t),hk(t)∈λk(t);λk(t)內(nèi)的其他傳感器統(tǒng)稱為“成員傳感器”,位于傳感器網(wǎng)絡(luò)不能觀測(cè)到該目標(biāo)的傳感器稱為“閑置傳感器”。在觀測(cè)時(shí)刻k,傳感器集合中的所有傳感器將收集到的目標(biāo)信息傳遞給該hk(t),由hk(t)對(duì)目標(biāo)信息進(jìn)行融合得到關(guān)于狀態(tài)信息的最佳估計(jì)并將估計(jì)結(jié)果發(fā)送給到k+1時(shí)刻的“頭領(lǐng)傳感器”hk+1(t),并由hk+1(t)將目標(biāo)信息發(fā)送給集合λk+1(t)中的其他傳感器,以便傳感器能夠?qū)?zhǔn)目標(biāo)快速獲取觀測(cè)值。
按照上述傳感器網(wǎng)絡(luò)對(duì)目標(biāo)的跟蹤框架,目標(biāo)跟蹤過(guò)程如圖1所示。
圖1 傳感器視域及目標(biāo)跟蹤示意圖Fig.1 The FOV of sensors and the tracking process
在觀測(cè)時(shí)刻k,設(shè)對(duì)傳感器的調(diào)度方案為Ak,由Ak得到λk(t)?!俺蓡T傳感器”僅需按照傳感器調(diào)度指令對(duì)目標(biāo)進(jìn)行探測(cè),獲得觀測(cè)值后將目標(biāo)信息傳遞給“頭領(lǐng)傳感器”。而“頭領(lǐng)傳感器”需要進(jìn)行如下活動(dòng):
1)對(duì)目標(biāo)進(jìn)行觀測(cè),獲得觀測(cè)值;
2)接收“成員傳感器”發(fā)送的關(guān)于目標(biāo)狀態(tài)的信息,并通過(guò)濾波算法對(duì)觀測(cè)信息進(jìn)行融合;
3)計(jì)算k時(shí)刻和k+1時(shí)刻的觀測(cè)時(shí)間Tk-k+1;
4)預(yù)測(cè)k+1時(shí)刻目標(biāo)狀態(tài),以此為依據(jù)確定Ak+1、λk+1(t)和hk+1(t),并將關(guān)于目標(biāo)的狀態(tài)信息傳遞給λk+1(t)中的傳感器。
(1)
(2)
基于UKF目標(biāo)狀態(tài)估計(jì)過(guò)程為:
步驟3 傳遞目標(biāo)狀態(tài)樣本和量測(cè)樣本
(3)
步驟4 時(shí)間更新
(4)
(5)
步驟5 量測(cè)更新
(6)
(7)
步驟6k+1時(shí)刻,根據(jù)傳感器si觀測(cè)值,對(duì)目標(biāo)后驗(yàn)狀態(tài)估計(jì)均值和協(xié)方差矩陣為:
(8)
步驟7 融合估計(jì)。設(shè)k+1時(shí)刻共有nk+1個(gè)傳感器對(duì)目標(biāo)觀測(cè),則對(duì)目標(biāo)狀態(tài)估計(jì)得最終融合結(jié)果為:
(9)
在整個(gè)傳感器網(wǎng)絡(luò)對(duì)目標(biāo)的跟蹤過(guò)程中,消耗能量的過(guò)程主要有以下幾個(gè)方面:
1)傳感器對(duì)目標(biāo)狀態(tài)進(jìn)行觀測(cè);
2)傳感器之間數(shù)據(jù)傳送;
3)傳感器對(duì)信息進(jìn)行處理。
根據(jù)以上分析,傳感器在k時(shí)刻調(diào)度以獲取k+1時(shí)刻的觀測(cè)值的過(guò)程中應(yīng)從以上三方面入手減小能量消耗,同時(shí)盡量增大較大的傳感器對(duì)目標(biāo)觀測(cè)的時(shí)間間隔,故在調(diào)度中,目標(biāo)函數(shù)為:
(10)
約束條件為:
(11)
由于在k時(shí)刻尚未獲知k+1時(shí)刻關(guān)于目標(biāo)的量測(cè)及估計(jì)狀態(tài),故在估計(jì)過(guò)程中均采用式(6)—(7)中的預(yù)測(cè)值代替。
一般情況下,若觀測(cè)時(shí)間序列較長(zhǎng),常采用長(zhǎng)時(shí)調(diào)度方法,不僅考慮某個(gè)時(shí)刻最優(yōu),而且進(jìn)一步考慮整個(gè)時(shí)間段最優(yōu),通常選擇一個(gè)時(shí)域周期TH,且TH通常取值范圍為TH~{2,3,4,5},在該時(shí)域周期內(nèi)計(jì)算傳感器調(diào)度方案,則該調(diào)度問(wèn)題轉(zhuǎn)化為“滾動(dòng)時(shí)域調(diào)度”[16]問(wèn)題,目標(biāo)函數(shù)為:
(12)
約束條件為:
(13)
(14)
式(14)中,nk+1為傳感器個(gè)數(shù),esen為單個(gè)傳感器獲取觀測(cè)值消耗的能量。
圖2 信息傳遞能量消耗Fig.2 The energy consumption in information transmitting
(15)
傳感器si發(fā)送Kbit信息到傳感器sj消耗的能量為:
E(1)=eK+eampKdλ
(16)
式(16)中,e為發(fā)射每bit信息所需能量;eamp為放大器放大每bit所需能量;d為兩個(gè)傳感器之間的距離;λ為距離衰減系數(shù),一般有λ≥2。
傳感器sj接收Kbit信息消耗的能量為:
E(2)=erecK
(17)
式(17)中,erec為接收每bit所需能量。
由于傳感器之間交流的信息均為目標(biāo)信息,不妨假定該信息均包含Kbit,根據(jù)以上分析,有:
(18)
綜上,目標(biāo)函數(shù)轉(zhuǎn)化為:
(19)
約束條件通式(11)。若采用滾動(dòng)時(shí)域調(diào)度(長(zhǎng)時(shí)調(diào)度)方法,則模型轉(zhuǎn)換為:
(20)
約束條件同式(13)。
(21)
將上式對(duì)Tk-k+1求導(dǎo),有:
(22)
很明顯,式(18)為關(guān)于Tk-k+1的單調(diào)增函數(shù),當(dāng)且僅當(dāng)φk+1|k=φ0時(shí),可取得最優(yōu)值,故通過(guò)對(duì)如下公式求解,可得到最佳觀測(cè)周期。
(23)
在求得觀測(cè)周期后,需要計(jì)算傳感器調(diào)度方案,方案的求解過(guò)程是一個(gè)NP爆炸問(wèn)題,且由于目標(biāo)速度運(yùn)動(dòng)較快,要求算法具有計(jì)算時(shí)間短、求解精度高等特點(diǎn)。
由于布谷鳥(niǎo)捜索算法具有參數(shù)少、易擴(kuò)展、全局搜索能力強(qiáng)、易于實(shí)現(xiàn)等優(yōu)點(diǎn)[18],本文引入布谷鳥(niǎo)算法求解傳感器調(diào)度方案,并進(jìn)行了一定的改進(jìn),用Boltzmann選擇策略[19]代替基本算法中的Levy fights策略,在原有可行解的基礎(chǔ)上生成新解,進(jìn)一步提高算法搜索能力。
與Levy fights策略相比,Boltzmann選擇策略具有穩(wěn)定性、魯棒性、并行性等優(yōu)點(diǎn),對(duì)初始解不敏感,具有較好的自適應(yīng)性。在改進(jìn)布谷鳥(niǎo)搜索算法中,基于Boltzmann選擇策略的捜索步長(zhǎng)公式為:
(24)
(25)
式(25)中,randn為生成隨機(jī)數(shù)函數(shù)。
基于Boltzmann選擇策略的改進(jìn)布谷鳥(niǎo)算法流程如下:
2)算法運(yùn)行開(kāi)始。
when(K≤Number 1)
進(jìn)行如下判斷:
forj=1:Number 2
end
一部分適應(yīng)度較差的鳥(niǎo)巢以概率Pa被拋棄并在相應(yīng)位置生成新解;
適應(yīng)度較優(yōu)的鳥(niǎo)巢延續(xù)到下一次迭代;
記錄種群中的最優(yōu)鳥(niǎo)巢及適應(yīng)度值;
K=K+1
end
3)輸出最優(yōu)解。
分布式傳感器網(wǎng)絡(luò)在1 000 m×1 000 m的分布位置及目標(biāo)的運(yùn)動(dòng)軌跡如圖3所示。傳感器的探測(cè)半徑和通信半徑均為150 m,目標(biāo)初始時(shí)刻位置為(510,190)。
圖3 傳感器分布及目標(biāo)運(yùn)動(dòng)軌跡Fig.3 Distribution of sensor networks and the motion trajectory of the target
在初始時(shí)刻,采用本文提出的改進(jìn)布谷鳥(niǎo)算法計(jì)算傳感器調(diào)度方案,并與其他算法進(jìn)行對(duì)比,傳感器調(diào)度方案的生成過(guò)程如圖4所示。其中,改進(jìn)算法記為算法1,基本布谷鳥(niǎo)算法記為算法2,狼群算法[20]記為算法3,粒子群算法[21]記為算法4。
圖4 優(yōu)化算法對(duì)比Fig.4 Comparison of optimization algorithms
由圖4可知,與其他三種算法相比,改進(jìn)布谷鳥(niǎo)算法收斂速度明顯提升,且具有較好的求解質(zhì)量。
采用短時(shí)調(diào)度方法對(duì)傳感器進(jìn)行調(diào)度。在目標(biāo)運(yùn)動(dòng)過(guò)程當(dāng)中,當(dāng)需要調(diào)度傳感器對(duì)目標(biāo)進(jìn)行觀測(cè)時(shí),采用本文提出的改進(jìn)布谷鳥(niǎo)算法生成傳感器調(diào)度方案。對(duì)目標(biāo)的軌跡估計(jì)圖像及目標(biāo)軌跡如圖5所示。
圖5 傳感器調(diào)度方案及目標(biāo)軌跡估計(jì)結(jié)果Fig.5 The sensor scheduling scheme and estimation of target’s motion states
如圖5所示,“+”軌跡為目標(biāo)實(shí)際飛行位置,“◇”軌跡為對(duì)目標(biāo)狀態(tài)的估計(jì)值;“頭領(lǐng)傳感器”為黑色實(shí)心“·”,“成員傳感器”為灰色實(shí)心“·”,“閑置傳感器”為黑色空心“·”。在25個(gè)時(shí)刻中,僅有14個(gè)時(shí)刻傳感器對(duì)目標(biāo)進(jìn)行了觀測(cè),這14個(gè)時(shí)刻分別為:k=1,k=2,k=4,k=6,k=8,k=9,k=14,k=15,k=17,k=18,k=20,k=21,k=23,k=25。
圖6 方法對(duì)比曲線Fig.6 Comparisons of scheduling methods
由圖6可知,與其他兩種方法相比,本文方法在保持較好的目標(biāo)跟蹤效果的同時(shí),能夠大大減小傳感器網(wǎng)絡(luò)能量消耗,從而有效提高傳感器網(wǎng)絡(luò)壽命。
采用長(zhǎng)時(shí)(滾動(dòng)時(shí)域)調(diào)度方法對(duì)傳感器網(wǎng)絡(luò)進(jìn)行調(diào)度,從而對(duì)目標(biāo)進(jìn)行跟蹤。目標(biāo)運(yùn)動(dòng)過(guò)程當(dāng)中,當(dāng)需要調(diào)度傳感器對(duì)目標(biāo)進(jìn)行觀測(cè)時(shí),采用本文提出的改進(jìn)布谷鳥(niǎo)算法生成傳感器調(diào)度方案。
分別取TH=2,TH=3,TH=4三種情況,傳感器調(diào)度過(guò)程中,對(duì)目標(biāo)跟蹤的累積位置誤差、累積能量消耗和平均計(jì)算時(shí)間如表1所示。在仿真過(guò)程中,由于TH=5時(shí),計(jì)算量過(guò)大,在時(shí)間間隔內(nèi)不能及時(shí)計(jì)算出傳感器調(diào)度位置,故不再考慮。TH=1時(shí)即為短時(shí)調(diào)度。
表1 調(diào)度方法對(duì)比結(jié)果Tab.1 The comparison result of sensor scheduling methods
由表1可知,與短時(shí)調(diào)度方法相比,長(zhǎng)時(shí)調(diào)度方法雖然能夠減小對(duì)目標(biāo)狀態(tài)的估計(jì)誤差,降低傳感器網(wǎng)絡(luò)能耗,但是以提高計(jì)算時(shí)間為代價(jià),且計(jì)算時(shí)間大幅增加。一般情況下,為縮短計(jì)算時(shí)間,為其他操作留出響應(yīng)時(shí)間,采用短時(shí)調(diào)度即可滿足相應(yīng)需求。
本文提出基于能量限制的分布式無(wú)線傳感器網(wǎng)絡(luò)調(diào)度方法。該方法同時(shí)考慮傳感器感知能量消耗、傳輸能量消耗以及計(jì)算能力消耗建立傳感器調(diào)度目標(biāo)函數(shù),并采用基于Boltzmann選擇策略的改進(jìn)布谷鳥(niǎo)算法求解傳感器調(diào)度方案。仿真實(shí)驗(yàn)驗(yàn)證結(jié)果表明,為節(jié)省計(jì)算時(shí)間,在目標(biāo)狀態(tài)改變速度較快的情況下,選擇本文提出的短時(shí)調(diào)度方法既能縮短調(diào)度方案的計(jì)算時(shí)間,又能獲得較好的目標(biāo)跟蹤效果。