高華金,江瀟瀟,金 婕,王永琦
(上海工程技術大學電子電氣工程學院,上海 201600)
無線傳感器網(wǎng)絡由于其成本較低,且部署方便,已經(jīng)被越來越廣泛地應用在各個領域,如智能交通系統(tǒng)、災害預防監(jiān)測、生態(tài)環(huán)境監(jiān)管等應用場景中[1-3]。不僅可以節(jié)省大量的人力成本,還可以更高效地完成任務。其中,對移動目標的跟蹤是其最重要的功能之一。然而,傳感器節(jié)點有其自身的局限性。對于傳統(tǒng)的由靜態(tài)節(jié)點組成的傳感器網(wǎng)絡,每個節(jié)點所攜帶的電量有限,這會導致整個網(wǎng)絡的壽命受到影響。因此,在保證網(wǎng)絡跟蹤質(zhì)量的同時,最大限度地減小網(wǎng)絡的能耗成為了一大研究熱點。
近年來,由于移動節(jié)點的能量較之普通節(jié)點不受限制,越來越多的學者開始著眼于研究使用移動節(jié)點來進行目標跟蹤[4-7]。Kumar 等學者在文獻[8]中提出了混合型傳感器網(wǎng)絡的概念,并將移動節(jié)點用于改進對目標位置的估計??琢罡坏葘W者在文獻[9]中研究了基于動態(tài)分簇的多移動機器人數(shù)據(jù)收集問題,提出了分布式的啟發(fā)性WSN 數(shù)據(jù)收集算法。這兩種方法中的移動節(jié)點雖然在整個網(wǎng)絡中起到重要作用,但是并沒有被直接用于跟隨目標實施跟蹤。Tan 等學者在文獻[10]中提出了一種加入移動節(jié)點的協(xié)同目標監(jiān)測方法,該方法通過在網(wǎng)絡中加入?yún)f(xié)同工作的移動節(jié)點來提高目標監(jiān)測的性能,但是該方法只是在發(fā)現(xiàn)目標階段加入移動節(jié)點進行決策,并沒有參與后續(xù)的持續(xù)跟蹤;HanwangQian等學者在文獻[11]中提出了一種在靜態(tài)網(wǎng)絡中加入移動節(jié)點的跟蹤策略,節(jié)點在整個過程中參與跟蹤并減少了參與跟蹤的靜態(tài)節(jié)點的數(shù)量,但只是讓移動節(jié)點向目標靠近,并沒有考慮節(jié)點幾何分布對跟蹤精度的影響。因此,本文在加入移動節(jié)點的基礎上,設計了一種綜合考慮跟蹤精度和能耗的混合網(wǎng)絡進行目標跟蹤。仿真結(jié)果表明,該方案在保證了跟蹤精度的同時降低了網(wǎng)絡能耗,延長了網(wǎng)絡壽命。
為量測方差為σ2的量測噪聲。
CPCRLB 是在已知過去所有k 時刻的量測值z1:k的條件下,得到在k+1 時刻一個新的量測zk+1時,k+1 時刻所要估計的目標狀態(tài)xk+1的性能,即:
CPCRLB 表示的是對目標估計出來的狀態(tài)的一個誤差下界,代表了傳感器節(jié)點能夠得到的最好的估計效果。而且CPCRLB 還表示的是實現(xiàn)目標跟蹤過程中其狀態(tài)的一個比較精準的預測性能邊界,所以,在WSN 中讓其成為節(jié)點選擇的依據(jù)是非常合適的。并且這個指標與濾波器實現(xiàn)的估計誤差有關,所以我們可以把有關x 方向位置和y 方向位置的CPCRLB 矩陣中的跡的逆作為傳感器節(jié)點選擇的準則。定義一個效用函數(shù):
整個網(wǎng)絡由大量靜態(tài)節(jié)點、4 個移動節(jié)點和一個基站構(gòu)成,靜態(tài)節(jié)點采用隨機布設的方式,隨機地分布在整個跟蹤區(qū)域內(nèi)。如圖1 所示,整個區(qū)域被一條水平參考線和一條垂直參考線均勻地分割為4 個矩形部分,左上、右上、左下、右下分別為第1、第2、第3、第4 個區(qū)域,每個區(qū)域的中心位置安置一個移動節(jié)點,每個移動節(jié)點僅負責對其所在區(qū)域中出現(xiàn)的移動目標進行跟蹤,與此同時,其他未出現(xiàn)目標的區(qū)域的移動節(jié)點處于休眠狀態(tài)?;疚恢迷O在整個區(qū)域的中心點。
圖1 節(jié)點布設示意圖Fig.1 Node layout diagram
每一時刻,僅有一個移動節(jié)點和兩個靜態(tài)節(jié)點參與跟蹤,作為當前時刻的任務簇。預測機制被觸發(fā)時,其余3 個移動節(jié)點被喚醒,朝著距離目標下一時刻的預測位置最近的位置移動,但不能超出移動節(jié)點自身所在的范圍。一旦目標越過當前移動節(jié)點所在區(qū)域而到達另一區(qū)域,則由另一區(qū)域的移動節(jié)點接替之前的移動節(jié)點,繼續(xù)參與目標跟蹤,直至完成整個跟蹤任務。采用此方案是為了更高效地進行傳感器管理,提高傳感器的空間利用率。如果不采取分區(qū)域管理的方式,而只是一個移動節(jié)點全程跟蹤目標,很容易造成“空間浪費”,如圖2 所示,即此刻如果移動節(jié)點原來所在的區(qū)域突然出現(xiàn)新的目標,則系統(tǒng)無法及時分配移動節(jié)點去跟蹤目標,造成跟蹤精度的下降,還可能會丟失目標,大大降低了整個系統(tǒng)的空間利用率。而采取此跟蹤策略,可以有效避免這一情況的發(fā)生,移動節(jié)點的分區(qū)域管理可以保證在任何時刻,任何區(qū)域都有移動節(jié)點存在,不會存在“空間浪費”,大大降低了目標丟失的概率。如圖3 所示,即使突然出現(xiàn)新的目標,系統(tǒng)也能及時的為其分配移動節(jié)點來對其進行跟蹤。
圖2 單移動節(jié)點目標跟蹤場景Fig.2 Single mobile node target tracking scenario
圖3 多移動節(jié)點目標跟蹤場景Fig.3 Multiple mobile nodes target tracking scenario
2.2.1 移動節(jié)點控制
對于移動節(jié)點,設定每次時間步長僅有一個移動節(jié)點參與跟蹤,由于假設其能量無限,因此,不必考慮其能耗,僅考慮跟蹤精度這一指標作為其移動位置的依據(jù),這里采用啟發(fā)式方法,如圖2 所示。如果k 時刻第i 個象限內(nèi)移動節(jié)點的實際控制位置為那么k+1 時刻移動節(jié)點控制集合為,則選擇所有可能的移動節(jié)點位置為:
其中,Nθ=16,NR=4 則總共對應65 種控制方案(包括原地不動)。vs,c是移動節(jié)點自身容許的控制速度,設為5 m/s。每一時刻,移動節(jié)點都朝著目標的預測位置移動,盡可能地減少與目標之間的距離。移動節(jié)點與目標預測位置的距離為:
圖4 傳感器運動方向控制示意圖Fig.4 Sensor movement direction control diagram
則移動節(jié)點下一步的控制指令為:
2.2.2 靜態(tài)節(jié)點選擇
目標跟蹤的節(jié)點選擇目的是在更少資源消耗的情況下實現(xiàn)更好跟蹤精度。在實際跟蹤場景中,影響傳感器檢測效率的因素有很多,如傳感器的傳感功率、環(huán)境條件和目標特性等[14]。本文使用了上文中推導出的信息效用函數(shù),見式(14)。
每次時間步長中,對于靜態(tài)節(jié)點,從所有候選節(jié)點集S*中依據(jù)此指標選擇一個節(jié)點子集作為任務簇參與目標跟蹤:
2.2.3 基于運動學的預測機制
在跟蹤過程中引入預測機制,可以更好地實現(xiàn)對目標的跟蹤效果。設置一個閾值,當目標運動到距離水平參考線或垂直參考線的距離小于閾值lr=80 m 時,預測機制被觸發(fā)。此時,基站作為調(diào)度中心開始依據(jù)運動學原理,預測出目標下一個可能到達的位置,提前讓其他區(qū)域的移動節(jié)點向目標的預測位置移動,在不移動出其所監(jiān)測的區(qū)域地條件下,盡可能地離目標更近一些,直到目標離開當前區(qū)域。
其中,Xpre為基于運動學預測的目標下一時刻的位置,Vk,Vk-1分別表示目標當前和上一時刻的速度,t表示采樣周期。移動節(jié)點就會依據(jù)此預測結(jié)果來選擇自己下一時刻的移動位置,使得盡可能地靠近目標的預測位置,即:
其中,d 表示移動節(jié)點的位置距離目標預測位置Xpre的距離。
算法的具體過程如下:
Step1:k=0 時刻,按如圖1 所示結(jié)構(gòu)布設節(jié)點,初始時刻所有節(jié)點均處于休眠狀態(tài),并初始化目標位置;
Step2:計算目標的預測位置,并計算預測位置到各參考線的距離是否小于閾值lr,若小于閾值,則轉(zhuǎn)到Step3,否則轉(zhuǎn)到Step4;
Step3:預測機制被觸發(fā);
Step4:根據(jù)等式(19)來計算并確定移動節(jié)點的運動方位和步長;
Step5:根據(jù)等式(20)來計算并選取靜態(tài)節(jié)點;
Step6:靜態(tài)節(jié)點將量測數(shù)據(jù)發(fā)送給移動節(jié)點,由移動節(jié)點來作為中轉(zhuǎn)節(jié)點,將靜態(tài)節(jié)點和自身的量測數(shù)據(jù)一起發(fā)送給基站,再由基站根據(jù)所獲得的量測數(shù)據(jù)進行粒子濾波,計算得到目標的狀態(tài)估計;
Step7:k=k+1 時刻,重復Step2~Step6。算法流程圖如圖5 所示。
圖5 算法流程圖Fig.5 Algorithm flowchart
本文所采用的能耗模型是基于傳感器、微處理器和收發(fā)器等不同功能模塊的功率和激活時間[15],因此,為任務節(jié)點消耗能量有3 個主要方面,即目標傳感、數(shù)據(jù)處理和數(shù)據(jù)通信[16]。假設靜態(tài)節(jié)點在休眠狀態(tài)下不消耗能量,移動節(jié)點消耗的能量也可以忽略不計,因為它們由于具有移動性,從而可以實現(xiàn)為其充電。
讓Esp表示目標感知和數(shù)據(jù)處理中靜態(tài)節(jié)點Si的能耗,在本工作中視為常數(shù)。對于從Si傳輸?shù)絊j的數(shù)據(jù),其在rij距離上傳輸bc比特數(shù)據(jù)的能耗為:
其中,et和ed為固定參數(shù),由傳感器硬件決定,l 取決于信道特性,假定位常數(shù)。節(jié)點Si從其他節(jié)點接收bc比特數(shù)據(jù)的能耗為:
其中,er也為固定常數(shù),由傳感器硬件部分決定。因此,Si作為簇成員節(jié)點在單位步長時間內(nèi)的總能耗為:
其中,MN 代表了移動節(jié)點,它承擔把靜態(tài)節(jié)點傳輸?shù)臄?shù)據(jù)轉(zhuǎn)發(fā)到基站的任務。
本次實驗針對單目標進行跟蹤,將所提算法與傳統(tǒng)靜態(tài)網(wǎng)絡下的跟蹤進行比較。本次實驗在700 m×700 m 的范圍內(nèi)進行跟蹤,量測模型采用純方位量測模型,角度方差為6°,基站位置為(250,125)。本次實驗采用CV 模型,每個節(jié)點初始狀態(tài)的能量均為2 J,狀態(tài)轉(zhuǎn)移矩陣F、過程噪聲協(xié)方差矩陣Q 分別為:
其中,采樣周期t=1 s。
這里,用粒子濾波器來實現(xiàn)目標跟蹤任務和傳感器管理算法的計算,采用100 次蒙特卡洛仿真來驗證實驗結(jié)果。
目標運動軌跡如圖6 所示。紅色三角形表示目標初始時刻位置,藍色虛線為目標的運動軌跡,在整個運動過程中,目標從第3 個區(qū)域最終運動到第2 個區(qū)域。
圖6 目標運動軌跡圖Fig.6 Target trajectory diagram
將本文算法與不帶預測機制的情形、僅依據(jù)檢測概率、隨機選擇等3 種算法進行對比,100 次蒙特卡洛的實驗結(jié)果如下所示。其中,PreHybrid 表示本文所提算法;Hybrid 表示去掉了預測機制的本文算法,從而進一步體現(xiàn)了預測機制的作用;Pd 表示檢測概率算法,即僅選擇預測概率較高的節(jié)點參與目標跟蹤;Random 表示隨機選擇節(jié)點進行目標跟蹤的算法。
圖6 展示了不同算法對目標運動的跟蹤軌跡。圖7 更直觀地展示了這一過程,展示了不同算法在各個時刻的RMSE,可以看出,由于隨機法每次選擇的節(jié)點不確定,所以其RMSE 波動較大,不太穩(wěn)定,因而其平均RMSE 也明顯大于其他幾種算法。Pd 的跟蹤誤差小于Random,但同樣明顯大于本文提出的算法。本文提出的算法,帶預測機制比不帶預測機制的跟蹤誤差略小。圖9 展示了目標運動過程中能耗的變化,可以明顯看出,Random 的能耗最大,Pd 的能耗略小于Random,而Hybrid 和PreHybrid的能耗遠小于以上兩種算法,并且PreHybrid 的能耗要略優(yōu)于Hybrid。
圖7 不同算法的估計結(jié)果與目標實際軌跡對比Fig.7 Comparison between the estimation results of different algorithms and the actual trajectory of the target
圖8 不同算法的跟蹤誤差Fig.8 Tracking error of different algorithms
圖9 不同算法的能耗對比圖Fig.9 Comparison chart of energy consumption of different algorithms
可以看出,在跟蹤時間t 在0 s~30 s 時,Hybrid和PreHybrid 在RMSE 和能耗上差別很小,而在30 s以后略微有些差別,這是因為在t=30 s 時,本次實驗的目標已運動到下一個區(qū)域,此時,PreHybrid 算法中的預測機制開始顯示其優(yōu)越性。引入了帶預測機制的算法,可以提前喚醒其他區(qū)域的移動節(jié)點,并讓其更早地朝著目標的下一時刻預測位置移動,當目標移動到下一區(qū)域時,該區(qū)域的移動節(jié)點可以距離目標更近,因此,理論上跟蹤誤差和能耗也會更小,圖10 和圖11 為預測機制的觸發(fā)過程。它展示了目標跟蹤過程中移動傳感器的運動路徑,其中紅色方塊為移動傳感器節(jié)點的起始位置,藍色星號標志為傳感器運動的終點,圓圈表示移動傳感器每一步運動的位置,并用綠實線連接。黑色實線表示目標的運動軌跡,紅色三角標志為目標的起始位置。圖9 表示在預測機制被觸發(fā)前,只有一個移動節(jié)點在參與目標的跟蹤,其余3 個移動節(jié)點則在自己的監(jiān)測區(qū)域內(nèi)保持靜止。當目標運動到距離水平中心線或垂直中心線的距離小于閾值時,預測機制被觸發(fā),此時其余移動節(jié)點接收到指令,開始朝向目標的每次預測位置來移動,使得自身的位置距離目標的預測位置最近。如圖10 所示,當目標移動到下一個區(qū)域的時候,移動節(jié)點會距離目標相對較近,從而理論上具有更好的跟蹤效果。因此,在t=22 s 以后,PreHybrid 算法在能耗上和跟蹤精度上都要優(yōu)于Hybrid 算法。
圖10 預測機制觸發(fā)前移動節(jié)點運動軌跡Fig.10 The trajectory of the mobile node before the prediction mechanism is triggered
圖11 預測機制被觸發(fā)后移動節(jié)點運動軌跡Fig.11 The trajectory of the mobile node after the prediction mechanism is triggered
由此可知,與傳統(tǒng)的靜態(tài)網(wǎng)絡相比,由于移動節(jié)點的參與,增加了節(jié)點的靈活性,使跟蹤精度更好,并由移動節(jié)點來充當簇頭節(jié)點承擔與基站通訊任務,可以大大節(jié)約能耗,因此,本文算法在能耗上的表現(xiàn)顯然要更優(yōu)秀,遠遠小于其他算法的能耗。
為了解決無線傳感器網(wǎng)絡在目標跟蹤中存在的能耗問題,將移動節(jié)點引入靜態(tài)網(wǎng)絡組成混合網(wǎng)絡,設計了動、靜節(jié)點之間相互協(xié)同工作的目標跟蹤算法。該方法綜合考慮了跟蹤精度和能耗對跟蹤質(zhì)量的影響,在保證跟蹤精度的同時最大限度節(jié)約了網(wǎng)絡能耗,具有良好的跟蹤效果。