劉志強,吳曉雄+,沈廼桐,張 旭
(1.內(nèi)蒙古工業(yè)大學(xué) 信息工程學(xué)院,內(nèi)蒙古 呼和浩特 010080;2.內(nèi)蒙古建筑職業(yè)技術(shù)學(xué)院 建筑與規(guī)劃學(xué)院,內(nèi)蒙古 呼和浩特 010070)
在水下目標(biāo)跟蹤技術(shù)[1-5]應(yīng)用場景中,經(jīng)常會使用到移動的水下自主巡航器(autonomous underwater vehicles,AUV)進行監(jiān)測與目標(biāo)跟蹤。該種巡航器通常是由負(fù)責(zé)監(jiān)測環(huán)境和感知目標(biāo)的監(jiān)測感知部分、負(fù)責(zé)控制巡航器移動和姿態(tài)的動力部分,以及遠(yuǎn)程通訊和節(jié)點組網(wǎng)的通訊部分構(gòu)成。在實際部署時,為了節(jié)省AUV能量,通常將巡航器進行組網(wǎng)通訊,僅由一臺設(shè)備將數(shù)據(jù)進行上傳。因此在特定海域中每個部署的AUV均為無線傳感器網(wǎng)絡(luò)中的一個傳感器節(jié)點,利用多個AUV組成無線傳感器網(wǎng)絡(luò),對目標(biāo)進行跟蹤是移動的水下自主巡航器的一個重點研究方向。
目前利用無線傳感器對目標(biāo)追蹤的主要思想是利用傳感器捕獲到的目標(biāo)移動信息,對目標(biāo)移動路徑加以預(yù)測,結(jié)合預(yù)測結(jié)果調(diào)度傳感器節(jié)點,以達到最佳的追蹤效果。文獻[6]提出一種知識感知主動節(jié)點選擇(knowledge-aware proactive nodes selection,KPNS)系統(tǒng),根據(jù)目標(biāo)軌跡的預(yù)測精度動態(tài)地調(diào)整主動節(jié)點的數(shù)量,提高了監(jiān)測質(zhì)量與跟蹤性能。文獻[7]通過模擬退火算法對區(qū)域傳感器節(jié)點追蹤方案進行優(yōu)化,以平衡每個簇首節(jié)點的剩余能量、承受負(fù)載比例,從而延長節(jié)點在網(wǎng)時間。文獻[8]提出基于簇狀網(wǎng)絡(luò)的追蹤算法(dynamic cluster detection and tracking,DCDT),以被監(jiān)測的節(jié)點為研究對象,根據(jù)收集到的目標(biāo)信息對所有節(jié)點進行分簇,構(gòu)建動態(tài)追蹤簇,進而形成對目標(biāo)的分布式追蹤。文獻[9]提出了一種基于分區(qū)的目標(biāo)跟蹤框架,該框架采用改進的連續(xù)蟻群優(yōu)化算法,在每個時刻自適應(yīng)地調(diào)整跟蹤系統(tǒng)的參數(shù),使跟蹤系統(tǒng)的能量消耗最小,并獲得較高的跟蹤精度。文獻[10]提出了區(qū)域內(nèi)傳感節(jié)點基于密度的部署機制,傳感器節(jié)點通過感知鄰近節(jié)點,計算鄰近節(jié)點與自身距離,推測周邊節(jié)點部署密度,進而調(diào)整自身位置,保證局部傳感節(jié)點數(shù)量,實現(xiàn)對目標(biāo)的持續(xù)追蹤。該方案沒有充分考慮到傳感器節(jié)點之間的位置關(guān)系(拓?fù)潢P(guān)系),仍然存在節(jié)點部署的冗余及空洞。
綜上,以上目標(biāo)追蹤方案沒有充分考慮目標(biāo)移動的隨機性以及節(jié)點之間的拓?fù)潢P(guān)系,傳感器節(jié)點部署不夠合理,容易出現(xiàn)丟失目標(biāo)和無效調(diào)度問題。本文將針對這些問題,在現(xiàn)有基于密度方案[11,12]的基礎(chǔ)上,利用拓?fù)潇貙?jié)點間位置關(guān)系進行建模,實現(xiàn)傳感器節(jié)點位置的自適應(yīng)調(diào)度,使傳感器節(jié)點在目標(biāo)追蹤路徑上及時完成合理部署,實現(xiàn)對目標(biāo)持續(xù)有效的追蹤。
本文考察傳感器節(jié)點追蹤算法,在此認(rèn)為傳感器具有良好的運動執(zhí)行能力,其系統(tǒng)可以依照收到的命令進行準(zhǔn)確的移動。當(dāng)移動目標(biāo)深度一定時,可類似為二維平面運動模型,忽略由于水的阻力等外界因素對運動的影響。
綜上所述,傳感器的運動模型可以表示為如下形式
(x′,y′)=(cos(θ)·vt+x,sin(θ)·vt+y)
(1)
其中,(x′,y′) 為傳感器節(jié)點運動后的位置,(x,y) 為傳感器節(jié)點運動前的位置,θ為傳感器節(jié)點運動方向角,v為傳感器節(jié)點速度。
在目標(biāo)感知過程中,感知精度與目標(biāo)和傳感器節(jié)點的距離有關(guān)。傳感器概率感知模型如圖1所示。
圖1 傳感器概率感知模型
概率感知模型可表示為
P(c,p)={1|c-p|
(2)
其中,c為傳感器節(jié)點位置,p為目標(biāo)位置,P為傳感器節(jié)點發(fā)現(xiàn)目標(biāo)的概率,α為衰減系數(shù),r為概率感知半徑最小值,R為概率感知半徑最大值。為了有效調(diào)度傳感器,還需要分析傳感器之間的通信過程。
在理想空間中,無線信號受傳播距離影響,符合Friis公式,即
PRPT=GRGT(λ4πd)η
(3)
距離發(fā)射點d處的信號衰減Ld的分布為
Ld=10lg(PRPT)
(4)
其中,PR與PT分別為接收端與發(fā)射端功率,GR與GT分別為接收端與PT發(fā)射端信號增益值,λ為波長,η為無線信號在該類介質(zhì)中傳播的衰減系數(shù)。假設(shè)本文傳感器節(jié)點為同構(gòu)節(jié)點,即GR=GT增益值相等,信號衰減Ld可以表示為
Ld=20lgGT-10ηlgλ4πd
(5)
令A(yù)′=20lgGT-10ηlgλ4π, 其中GT以及λ4π均為傳感器節(jié)點的自身屬性,可得
Ld=A′+10ηlgd
(6)
RSSI=PT+GT-Ld
(7)
A=PT+GT-A′
(8)
整理可得對信號衰減的一般形式為
RSSI=A-10ηlgd
(9)
基于此通信模型,傳感器節(jié)點可以通過其自身接收到的信號強度判斷該信號源與自身之間的近似距離。
為了有效描述節(jié)點間位置關(guān)系,本節(jié)將利用拓?fù)潇乩碚搶?jié)點間位置關(guān)系進行建模。
h*(f)=supAh*(f,A)
(10)
其中,h*(f) 為開覆蓋熵,即拓?fù)潇亍?/p>
定義2 設(shè)X為一個拓?fù)淇臻g,如果?x,y∈X且x≠y,點x和y分別有各自的開鄰域U和V使得U∩V=?, 則稱X為一個Hausdorff空間,簡稱為T2拓?fù)淇臻g。由Hausdorff空間定義可知,包含不少于兩個歐式空間下點的離散空間是Hausdorff空間。又根據(jù)其空間性可知,當(dāng)Hausdorff空間為閉集時,該空間為緊致空間。
根據(jù)上一節(jié)傳感器通信模型的分析可知,基于信號衰減的傳感器間距離感知為傳感器節(jié)點間自映射,可令f(x)=x, 并根據(jù)Hausdorff空間性質(zhì)以及緊致空間性質(zhì)可知該映射為連續(xù)映射,而映射序列 {f,f2,f3,…,fn,…} 為X上由連續(xù)映射f經(jīng)迭代而生產(chǎn)的離散拓?fù)浒鍎恿ο到y(tǒng),即拓?fù)鋭恿ο到y(tǒng)或緊致系統(tǒng),記為 (X,f)。 不同傳感器節(jié)點可以在Hausdorff空間下根據(jù)該拓?fù)鋭恿ο到y(tǒng)感知周邊節(jié)點元素所在位置,其拓?fù)潇氐木唧w計算過程如下所示:
設(shè)定自映射為f(θ,r)=(θ,r), 由此映射產(chǎn)生n次復(fù)合映射fn(θ,r)=f°f°…°f°fn(θ,r)=(θ,r)。
定義3 設(shè)(X,T) 是Hausdorff空間,B∈T, 如果?A∈T,?BA?B,s.t.A=∪B∈BAB, 則稱B是Hausdorff空間的基。
因此根據(jù)上述Hausdorff空間基的定義可知,可令歐式空間X中的傳感器節(jié)點組成的集合作為描述不同節(jié)點間位置概念性的Hausdorff空間的基。在此種基選擇方法下,N(Af,n) 在每個子覆蓋Af,n下的最少基個數(shù)為ni, 即該子覆蓋下傳感器節(jié)點數(shù)。
將感知半徑等距劃分組成的同心圓環(huán)內(nèi)的點作為子覆蓋。因此上述公式可以變形成
supAlimn→∞1nlogN(Af,n)=-∑Ni=1niN(1NlogN(Af,n))=-∑Ni=1niN(logN(Af,n)N)=-∑Ni=1PilogniN=-∑Ni=1PilogPi
即
E(P)=-∑ni=1Pilog2Pi
(11)
其中,Pi=NiN,Ni為落在距離劃分內(nèi)的傳感器節(jié)點數(shù)量,N為樣本內(nèi)總節(jié)點數(shù)。
定理1 當(dāng)傳感器節(jié)點均勻分布時,各個傳感器節(jié)點感知到拓?fù)潇氐竭_最大。
證明:利用拉格朗日乘子法構(gòu)造上述函數(shù)E(P)的構(gòu)造函數(shù)
G(p1,p2,…,pn,λ)=-∑ni=1pilnpi+λ(∑ni=1pi-1)
(12)
由于∑ni=1pi-1=0, 分別對pi和λ求導(dǎo),并令其為0,可以得到
?G?pi=-lnpi-1+λ=0,i=1,2,…,n
(13)
可得:p1=p2=…=pn=1n時,即周邊傳感器節(jié)點均勻分布時,感知到的拓?fù)潇剡_到最大值。
利用拓?fù)潇貋砗饬恐苓吂?jié)點分布情況,進而優(yōu)化節(jié)點部署,實現(xiàn)對目標(biāo)的持續(xù)追蹤。
本節(jié)根據(jù)上文所述傳感器節(jié)點拓?fù)潇啬P偷南嚓P(guān)理論,提出動態(tài)調(diào)整傳感器節(jié)點部署方案,主要有3個階段:
第一階段:傳感器節(jié)點對目標(biāo)進行感知,監(jiān)測其感知范圍內(nèi)是否存在目標(biāo)節(jié)點,進而判斷是否需要進行移動;
第二階段:感知到目標(biāo)的傳感器節(jié)點與鄰近節(jié)點進行通信,計算當(dāng)前節(jié)點與周邊節(jié)點之間的拓?fù)潇?,用于評估周邊節(jié)點分布是否均勻;
第三階段:根據(jù)得到的拓?fù)潇叵蛲負(fù)潇卦黾拥姆较蛞苿?,對目?biāo)進行持續(xù)追蹤。
在傳感器節(jié)點部署到觀測水域前,依據(jù)節(jié)點自身硬件特點對傳感器節(jié)點的信號強度進行劃分,劃分間隔與信號強度的關(guān)系如圖2所示。
圖2 傳感器節(jié)點感知信號強度
根據(jù)距離間隔對傳感器節(jié)點通信強度進行分類,測量出相等距離下信號強度差,以便劃分子覆蓋,計算拓?fù)潇亍=Y(jié)合目標(biāo)運動情況,感知拓?fù)潇刈兓⒀赝負(fù)潇卦龃蠓较蛞苿?。具體過程如時序圖3所示。
圖3 拓?fù)潇赜嬎銜r傳感器節(jié)點工作時序圖
算法1:拓?fù)潇厮惴?/p>
(1) Input:COM//傳感器節(jié)點通信常數(shù)
(2) Input:RSSI[] //傳感器節(jié)點感知到信號強度
(3) Input:n//感知到的信號數(shù)量
(4) Input:k//強度分級數(shù)
(5) Input:η//當(dāng)前介質(zhì)通信衰減系數(shù)
(6) Input:distancemax//最大感知半徑
(7) Input:distancemin//當(dāng)前強度劃分下, 第一層感知半徑
(8) Output:E//目標(biāo)臨近傳感器節(jié)點的拓?fù)潇?/p>
(9) for i=1 to n do
(10)distance[i]=10COM-RSSI[i]10η
(11) end for
(12) for i=1 to n
(13) switch|distance[i]-distancemindistancemax-distancemink|
(14) case 0:distance0++;count0++;
(15) case 1:distance1++;count1++;
(16) …
(17) case k:distancek++;countk++;
(18) default: Error
(19) end switch
(20) end for
(21) for i=1 to k
(22)Pi=countin
(23)E=E+Pi·log2Pi
(24) end for
算法1是傳感器節(jié)點拓?fù)潇赜嬎氵^程,結(jié)合距離distancemax和distancemin將得到的多組鄰近節(jié)點距離進行分類,最后根據(jù)式(8)計算拓?fù)潇刂怠?/p>
為了得到新的運動方向和速度需要對傳感器節(jié)點間的距離矢量進行分析。根據(jù)傳感器節(jié)點同周邊節(jié)點信號交互方向及強度,通過幾個觀測周期的趨勢累加,確定新的移動方向和速度??紤]到目標(biāo)移動具有一定的不確定性(延遲和誤差),利用衰減函數(shù)對此前得到的移動速度及方向進行衰減計算,來降低之前數(shù)據(jù)對當(dāng)前時刻的影響,保證傳感器節(jié)點及時確定最佳移動方式。
本文利用常用的指數(shù)衰減函數(shù)的變形形式作為歷史數(shù)據(jù)的衰減函數(shù),如式(14)所示
d=∑NT=t(e-T∑Ni,j=1&i≠j(i-j))
(14)
當(dāng)傳感器節(jié)點被喚醒且感知范圍內(nèi)未感知到目標(biāo)時,傳感器節(jié)點會根據(jù)其喚醒信號來源判斷其運動速度。
在圖4中,由于目標(biāo)P1進入傳感器節(jié)點A1和A2的感知半徑內(nèi),傳感器節(jié)點B1被初次喚醒。喚醒后,節(jié)點B1將持續(xù)記錄其接收到的通信范圍內(nèi)的所有喚醒信號,直到一定時間后不再產(chǎn)生新的喚醒信號。節(jié)點B1將記錄A1和A2所發(fā)送的喚醒信號。此后被喚醒節(jié)點將跟據(jù)喚醒信號中的喚醒信息計算自身與喚醒信號發(fā)生節(jié)點之間的矢量,并計算矢量和,進而得到節(jié)點自身的移動方向。B1處實線即為傳感器節(jié)點的移動方向。目標(biāo)繼續(xù)移動,形成一段時間的持續(xù)追蹤后,到達P2位置,由于節(jié)點B2在前一時刻已經(jīng)接收到喚醒信號,并作出了響應(yīng)移動,即B2存在前一時刻信號來源矢量V1、V2,將V1、V2通過式(14)求得衰減后的前次信號源矢量和作為修正矢量。最終在計算傳感器節(jié)點移動方向時,將傳感器節(jié)點喚醒的信號來源位置矢量與衰減后得到的修正矢量相加得到當(dāng)前周期傳感器節(jié)點的運動方向。
綜上,節(jié)點運動速度大小與拓?fù)潇刈兓约皢拘研盘栐次恢糜嘘P(guān),將拓?fù)潇貙νㄐ啪嚯x進行量化分析可以得到節(jié)點的運動速度式(15)
v=|ΔSSmax+dlmax|·vmax,Smax=∑ni=11klog21k
(15)
其中,v為傳感器節(jié)點的速度大小,ΔS為拓?fù)潇卦隽浚琹max為最大通信半徑,Smax為當(dāng)前區(qū)域節(jié)點最大拓?fù)潇?,d為信號源與接收端之間的距離,vmax為傳感器節(jié)點最大速度,n為當(dāng)前傳感器節(jié)點感知范圍內(nèi)節(jié)點數(shù)量,k為信號強度確定的子覆蓋數(shù)量。速度調(diào)整方案的時序圖如圖5所示。
圖5 計算傳感器節(jié)點移動速度時傳感器節(jié)點工作時序圖
算法2:傳感器節(jié)點運動調(diào)整方案算法
(1)Input: 傳感器當(dāng)前位置 (x,y)
(2)Output: 傳感器下一時刻位置 (x′,y′)
(3)If|(xA,yA)-(x,y) (4)If|(xA,yA)-(xB,yB)|