徐魏超,王冠凌,陳孟元
(安徽工程大學(xué) 安徽省電氣傳動(dòng)與控制重點(diǎn)實(shí)驗(yàn)室,安徽 蕪湖 241000)
無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)是一種能夠在未知環(huán)境中對(duì)特定的未知區(qū)域檢測(cè)、采集和傳輸信息的一種新興的技術(shù)。目前在國(guó)防、醫(yī)療衛(wèi)生以及日常生活等領(lǐng)域扮演著越來(lái)越重要的角色。WSN節(jié)點(diǎn)位置信息在很多WSN的應(yīng)用場(chǎng)合都是極其重要的。WSN所收集的數(shù)據(jù)信息都是建立在已知節(jié)點(diǎn)位置信息的基礎(chǔ)上展開(kāi)的[1]。
由于在現(xiàn)實(shí)的使用過(guò)程中為了節(jié)省成本,所以不適合在所有的WSN節(jié)點(diǎn)中裝載全球定位系統(tǒng)模塊(global positioning system,GPS)[2]?,F(xiàn)在的WSN節(jié)點(diǎn)定位方法中有蒙特卡洛法、DVHOP法和三邊定位法等[3-5]。文獻(xiàn)[6]針對(duì)三維DV-HOP WSN定位算法在實(shí)際地形中定位時(shí)誤差較大的問(wèn)題,提出了一種非測(cè)距定位算法,實(shí)驗(yàn)表明該算法減小了定位誤差。文獻(xiàn)[7]針對(duì)WSN中傳感器節(jié)點(diǎn)的初始位置未知的問(wèn)題,提出了一種通信損耗小,設(shè)計(jì)簡(jiǎn)單的三維定位算法,最后的仿真結(jié)果表明,該算法具有較小的節(jié)點(diǎn)定位誤差。文獻(xiàn)[8]針對(duì)標(biāo)準(zhǔn)粒子群算法進(jìn)化后期收斂速度,容易陷入局部極小點(diǎn)等問(wèn)題,提出了一種農(nóng)業(yè)WSN三維定位算法。仿真結(jié)果表明,該方法的穩(wěn)定性和定位精度均優(yōu)于標(biāo)準(zhǔn)粒子群算法。文獻(xiàn)[9]針對(duì)目前WSN三維空間定位算法精度不高,穩(wěn)定性差等問(wèn)題,創(chuàng)建了一種三維定位算法3D-LE-LPCCA。最后的仿真結(jié)果表明,該算法有良好的定位精度和穩(wěn)定性。文獻(xiàn)[10]提出了一種基于移動(dòng)信標(biāo)的加權(quán)最小二乘距離估計(jì)法。仿真結(jié)果表明,該方法提高了定位精度。
文獻(xiàn)[11]通過(guò)神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)未知節(jié)點(diǎn)進(jìn)行定位,實(shí)驗(yàn)表明RBF神經(jīng)網(wǎng)絡(luò)具有較好的定位精度,MLP神經(jīng)網(wǎng)絡(luò)具有最佳的計(jì)算和存儲(chǔ)資源。文獻(xiàn)[12]提出了一種新的目標(biāo)跟蹤雙分布式傳感器定位系統(tǒng),結(jié)果表明在一定程度上提高了定位精度。文獻(xiàn)[13]通過(guò)一種基于共面度單位的三維定位算法來(lái)實(shí)現(xiàn)定位的準(zhǔn)確性。文獻(xiàn)[14]通過(guò)不相似矩陣來(lái)表示每個(gè)節(jié)點(diǎn)到其他節(jié)點(diǎn)的距離,最后的仿真結(jié)果證明了算法的有效性。文獻(xiàn)[15]通過(guò)引入3D Voronoi圖來(lái)劃分3D位置空間,構(gòu)建虛擬信標(biāo)節(jié)點(diǎn)的秩序來(lái)實(shí)現(xiàn)定位。仿真實(shí)驗(yàn)表明,它可以提高復(fù)雜三維空間節(jié)點(diǎn)的定位精度,減少測(cè)量和計(jì)算成本。文獻(xiàn)[16]通過(guò)使用模糊邏輯系統(tǒng)(FLS)對(duì)接收信號(hào)強(qiáng)度(RSS)和距離之間的非線性進(jìn)行建模以降低計(jì)算復(fù)雜度,并通過(guò)混合粒子群算法(HPSO)和基于生物地理學(xué)優(yōu)化(BBO)進(jìn)一步優(yōu)化,從而最大限度的減少誤差。文獻(xiàn)[17]為了提高未知節(jié)點(diǎn)的定位精度,提出了一種基于CKF的無(wú)線傳感器網(wǎng)絡(luò)分布式節(jié)點(diǎn)定位算法。仿真結(jié)果表明,該算法具有優(yōu)良的定位性能。
本文借鑒孫堯[18]所提出的用無(wú)人機(jī)作為輔助工具,結(jié)合一定的算法給WSN節(jié)點(diǎn)進(jìn)行室外的精確定位。利用無(wú)人機(jī)在三維空間靈活的機(jī)動(dòng)性和強(qiáng)大的計(jì)算能力,將一般利用信標(biāo)節(jié)點(diǎn)-節(jié)點(diǎn)之間進(jìn)行定位的方式變成了無(wú)人機(jī)-節(jié)點(diǎn)協(xié)作的定位方式。由于無(wú)人機(jī)的引入,會(huì)產(chǎn)生一定的過(guò)程噪聲,為避免濾波的發(fā)散和魯棒性的降低。本文對(duì)文獻(xiàn)[17]的算法進(jìn)行了改進(jìn),增加了閾值選擇的更新策略。提出了一種改進(jìn)的SR-CKF濾波算法。由此形成了一種在無(wú)人機(jī)協(xié)助下,利用SR-CKF對(duì)WSN節(jié)點(diǎn)進(jìn)行精確定位的模式。
在初步定位模型中,UAV攜帶GPS定位系統(tǒng)在三維空間中以一個(gè)固定的高度、軌跡和速度飛行。作為一個(gè)移動(dòng)的信標(biāo)節(jié)點(diǎn),UAV在和未知節(jié)點(diǎn)建立互相通信的同時(shí),可以周期性的發(fā)射自身的位置數(shù)據(jù),通過(guò)RSSI測(cè)距數(shù)學(xué)模型來(lái)獲取UAV和m個(gè)未知節(jié)點(diǎn)之間的相對(duì)距離數(shù)據(jù),最后未知節(jié)點(diǎn)的初步定位數(shù)據(jù)可以通過(guò)極大似然估計(jì)法(maximum likelihoodestimation,MLE)來(lái)獲取,初步定位系統(tǒng)模型如圖1所示。
圖 1 初步定位系統(tǒng)模型Fig. 1 Preliminary positioning system model
RSSI測(cè)距數(shù)學(xué)模型的建立需要將UAV和未知節(jié)點(diǎn)之間互相通信,UAV作為一個(gè)三維空間的移動(dòng)信標(biāo),可以假設(shè)它的最大通信范圍為R。在通信范圍內(nèi),UAV周期性的發(fā)射虛擬信標(biāo)信息,未知節(jié)點(diǎn)接收信息。計(jì)算出UAV和未知節(jié)點(diǎn)之間的相對(duì)距離信息 l, 并 滿足 l ≤ R,根據(jù)傳播損耗模型建立的測(cè)距模型可表示為:
式中: d 表示發(fā)射器和接受器之間的相對(duì)測(cè)量距離; Pr(d) 為 接收器接收到的實(shí)際信號(hào)強(qiáng)度; di為近地的參考距離; Pi(di) 為 在 di處接收到的信號(hào)強(qiáng)度;γ 為信號(hào)在路徑中的衰減因子,它的大小取決于信號(hào)傳播的具體環(huán)境; Wδ為一個(gè)正態(tài)分布的高斯隨機(jī)變量。通過(guò)此模型來(lái)計(jì)算出無(wú)人機(jī)與未知節(jié)點(diǎn)之間的相對(duì)距離。
當(dāng)無(wú)人機(jī)飛行到未知傳感器節(jié)點(diǎn)區(qū)域時(shí),無(wú)人機(jī)以設(shè)定好的高度 z 和速度 v 在未知傳感器垂直上方移動(dòng),如圖2所示。
圖 2 無(wú)人機(jī)和未知傳感器節(jié)點(diǎn)的垂直平面圖Fig. 2 The vertical plane of UAV and unknown sensor nodes
圖2中 R 為無(wú)人機(jī)的通信半徑,其通信半徑的大小取決于信號(hào)發(fā)射器功率的大小和具體環(huán)境。令無(wú)人機(jī)每隔固定的周期T廣播自身的位置信息,即每經(jīng)過(guò)周期T無(wú)人機(jī)產(chǎn)生一個(gè)虛擬信標(biāo)。 S 為無(wú)人機(jī)廣播虛擬信標(biāo)過(guò)程中所飛行的距離,虛擬信標(biāo)包含無(wú)人機(jī)在該時(shí)刻的實(shí)際位置。從圖中可以看出,所有的虛擬信標(biāo)的通信范圍都滿足它的通信半徑不小于虛擬信標(biāo)到未知傳感器之間的相對(duì)距離,即 l ≤ R 。 假設(shè)無(wú)人機(jī)經(jīng)過(guò) n 個(gè)虛擬信標(biāo),即設(shè)為 { M1,M2,···,Mn}。則無(wú)人機(jī)在每個(gè)虛擬信標(biāo)對(duì)應(yīng)未知傳感器節(jié)點(diǎn)的垂直坐標(biāo)為(x1,y1,z1),(x2,y2,z2),···,(xn,yn,zn)。由圖中 可 以看 出l1,l2,···,ln為虛擬信標(biāo)到未知傳感器之間的相對(duì)距離。通過(guò)1.1節(jié)的RSSI測(cè)距模型可以測(cè)得它們的相對(duì)距離。由于無(wú)人機(jī)機(jī)載GPS模塊在未知傳感器節(jié)點(diǎn)上空飛行,無(wú)人機(jī)在未知傳感器節(jié)點(diǎn)的垂直坐標(biāo) ( x1,y1,z1),(x2,y2,z2),···,(xn,yn,zn) 是已知的。另外可知當(dāng)無(wú)人機(jī)在未知傳感器節(jié)點(diǎn)正垂直上空所產(chǎn)生的虛擬信標(biāo)到未知傳感器節(jié)點(diǎn)之間的距離 l3是已知的。假設(shè)未知傳感器節(jié)點(diǎn)的坐標(biāo)為(x,y,z0), 由于無(wú)人機(jī)的垂直海拔高度 z1是已知的,則未知傳感器節(jié)點(diǎn)的高度 z0是已知的,即為z0=z1-l3。其他未知傳感器節(jié)點(diǎn)的高度也可依此推出。只需要求得未知傳感器節(jié)點(diǎn)的 ( x ,y) 坐標(biāo)就可以確定未知傳感器節(jié)點(diǎn)的初步位置。經(jīng)過(guò)RSSI測(cè)距后,令無(wú)人機(jī)和未知傳感器節(jié)點(diǎn)D的相對(duì)距離分別是 d1, d2,···,dn,根據(jù)歐氏距離公式有如下關(guān)系式:
容積卡爾曼濾波器(CKF)是一種新型的非線性高斯濾波算法,它的核心思想是通過(guò)時(shí)間更新和量測(cè)更新2個(gè)基本步驟來(lái)達(dá)到后驗(yàn)概率密度的不斷更新。
通過(guò)在第1節(jié)中用無(wú)人機(jī)和未知節(jié)點(diǎn)之間建立的模型對(duì)未知節(jié)點(diǎn)的位置進(jìn)行粗略的估計(jì),本節(jié)在未知節(jié)點(diǎn)初步定位的基礎(chǔ)上通過(guò)平方根容積卡爾曼濾波算法對(duì)未知節(jié)點(diǎn)的位置進(jìn)行更加精確的定位。在定位系統(tǒng)中設(shè)有 M (i=1,2,···,10) 個(gè)未知WSN節(jié)點(diǎn),則可考慮該離散非線性系統(tǒng)模型為
式中: xk為 k 時(shí) 刻系統(tǒng)所在的狀態(tài)向量; zk為 k 時(shí)刻系統(tǒng)狀態(tài)所在的量測(cè)值; f (·) 為非線性系統(tǒng)所在的狀態(tài)方程; h ( ·) 為非線性系統(tǒng)的量測(cè)方程。Wk-1~N(0,R) 和 Vk~N(0,R) 分別為系統(tǒng)噪聲和觀測(cè)噪聲。
最后通過(guò)公式(8)可以得到未知節(jié)點(diǎn)的觀測(cè)更新,由于引入了UAV作為信號(hào)發(fā)射源,因此會(huì)產(chǎn)生一定的高斯噪聲,為了保證整個(gè)系統(tǒng)中未知節(jié)點(diǎn)的定位精度,因此加入了一種基于閾值選擇的更新策略,即將公式(6)中 χ?k|k-1上的值在更新時(shí) 設(shè) 置 一 個(gè) 閥 值 α , 當(dāng)上 的 值 設(shè) 為 Dj,當(dāng)Dj≥α 時(shí) ,可令該數(shù)值保留,繼續(xù)更新。當(dāng) Dj<α,則令 Dj=0 , 即對(duì)上的值不進(jìn)行更新。通過(guò)加入這種策略,有效的減少了算法運(yùn)算時(shí)間,提高了未知節(jié)點(diǎn)定位精度和可靠性。
當(dāng)無(wú)人機(jī)以設(shè)定好的航跡、速度和高度飛行并周期的廣播自身的位置信息,從而和未知節(jié)點(diǎn)之間建立起足夠多的觀測(cè)約束,通過(guò)RSSI測(cè)距和極大似然估計(jì)獲得未知節(jié)點(diǎn)的近似位置,再通過(guò)SR-CKF濾波算法對(duì)未知節(jié)點(diǎn)進(jìn)行精確定位。算法流程圖如圖3所示。
通過(guò)平均定位誤差(mean positioning error,MPE)對(duì)未知傳感器節(jié)點(diǎn)的定位精度進(jìn)行相關(guān)的分析:
式中:n為未知傳(感器)節(jié)點(diǎn)的個(gè)數(shù); ( xi,yi) 為未知節(jié)點(diǎn)的實(shí)際位置;為未知傳感器節(jié)點(diǎn)的估計(jì)位置。圖4分別仿真了MLE、CKF、SR-CKF 3種算法,從圖中的結(jié)果可以看出CKF的定位精度明顯優(yōu)于MLE,而SR-CKF的定位精度優(yōu)于CKF。
圖 3 基于SR-CKF定位算法流程圖Fig. 3 Flow chart based on SR-CKF location algorithm
圖 4 MLE、CKF、SR-CKF定位精度對(duì)比Fig. 4 MLE、CKF、SR-CKF positioning accuracy comparison
本文的仿真環(huán)境為90 m×70 m的室外環(huán)境,在這個(gè)環(huán)境中隨機(jī)的部署8個(gè)未知傳感器節(jié)點(diǎn),無(wú)人機(jī)以1 m/s的速度,10 m的高度垂直在未知傳感器節(jié)點(diǎn)的上空移動(dòng),無(wú)人機(jī)每隔1 s的周期散播自身的位置信息,并和未知節(jié)點(diǎn)進(jìn)行通信。其中測(cè)距誤差為 [ r - s·r,r+s·r],s=0.15,圖5仿真了在無(wú)人機(jī)協(xié)助下通過(guò)極大似然法對(duì)未知傳感器節(jié)點(diǎn)進(jìn)行定位(UAV-WSN-MLE),其中“”表示未知節(jié)點(diǎn)的實(shí)際位置,“”表示未知節(jié)點(diǎn)每次采樣的估計(jì)位置。
圖 5 WSN節(jié)點(diǎn)自定位結(jié)果Fig. 5 WSN node self-location result
圖6仿真了在WSN節(jié)點(diǎn)初步定位的基礎(chǔ)上,引入CKF對(duì)未知節(jié)點(diǎn)精確定位(UAV-WSN-MLECKF),其中星號(hào)“”是作為CKF算法不同迭代次數(shù)的狀態(tài)位置估計(jì)。因此從圖6中可以觀察出在相同參數(shù)下與仿真圖5中UAV-WSN-MLE算法相比,圖6中未知節(jié)點(diǎn)位置與實(shí)際位置的距離更小。
圖7在相同仿真參數(shù)的情況下引入了閾值選擇的更新策略,并采用了SR-CKF算法對(duì)未知節(jié)點(diǎn)進(jìn)行了更加精確的定位(Unmanned Aerial Vehicle-Wireless Sensor Network-Maximum Likelihood Estimation-Square Root Cubature Kalman Filtering,UAV-WSN-MLE-SRCKF)。從仿真圖中可以觀察到,該算法的定位精度高于前兩者的定位精度。
圖 6 UAV-WSN-MLE定位結(jié)果Fig. 6 UAV-WSN-MLE positioning results
圖 7 UAV-WSN-MLE-SRCKF定位結(jié)果Fig. 7 UAV-WSN-MLE-SRCKF positioning results
通過(guò)對(duì)定位均方誤差進(jìn)行分析,對(duì)以上3種方法在相同的仿真條件下進(jìn)行了定位均方誤差的對(duì)比。
圖8仿真了3種算法以無(wú)人機(jī)作為移動(dòng)信標(biāo)節(jié)點(diǎn),其中測(cè)距誤差為S=0.15的情況下獲得的8個(gè)未知節(jié)點(diǎn)定位誤差的55次蒙特卡羅實(shí)驗(yàn)的對(duì)比圖,其中 為MLE(單純的極大似然估計(jì))的定位均方誤差, 為MLE-CKF(極大似然估計(jì)初定位下的容積卡爾曼)定位均方誤差, 為MLE-SRCKF(極大似然初定位下的平方根容積卡爾曼)定位均方誤差。從圖8中可以看出來(lái)MLESRCKF的定位均方誤差均要小于MLE-CKF和MLE,其中MLE-CKF的定位均方誤差要小于MLE。
圖 8 3種方法的誤差對(duì)比Fig. 8 The error comparison of the three methods
本文提出了一種無(wú)人機(jī)協(xié)助下對(duì)未知傳感器節(jié)點(diǎn)的定位方法,充分地利用了無(wú)人機(jī)在三維空間靈活的機(jī)動(dòng)性和強(qiáng)大的計(jì)算能力,為三維復(fù)雜地形下實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位提供了很大可能。另一方面,采用閾值選擇的更新策略,進(jìn)一步減小了非線性因素的影響。仿真實(shí)驗(yàn)表明所采用的UAV-WSN-MLE-SRCKF算法有效地解決了無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在三維地形的定位問(wèn)題,大量減少了裝載GPS模塊所帶來(lái)的成本,所用到的平方根容積卡爾曼濾波算法不但增強(qiáng)了數(shù)值的魯棒性,確保了狀態(tài)協(xié)方差矩陣的正定性,減小了系統(tǒng)濾波發(fā)散導(dǎo)致的誤差,也同時(shí)提高了定位的精度。
本文目前只是在仿真上驗(yàn)證了該算法在三維地形中實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位的合理性與可行性。在實(shí)際應(yīng)用中,驗(yàn)證本文所述算法,是接下來(lái)的重點(diǎn)工作,正在深入研究中。