劉小園
(羅定職業(yè)技術(shù)學院電子信息系,廣東 羅定 527200)
目前,無線傳感網(wǎng)絡(luò)(WSN)的定位算法主要有2大類:需要測距的和無需測距的.需要測距的定位算法主要有基于信號到達時間(TOA)算法[1]、基于不同信號到達時間差(TDOA)算法[2]、基于信號到達角度(AOA)算法[3]和基于接收信號強度指示(RSSI)算法[4];無需測距的定位算法主要有求解鄰居節(jié)點構(gòu)成的多邊形幾何重心的質(zhì)心算法[5]、基于節(jié)點間跳數(shù)信息(DV-Hop)算法[6]和基于多尺度規(guī)劃(MDS-MAP)算法[7],這些多是固定節(jié)點的定位算法.最早的基于WSN的移動節(jié)點定位算法,是由美國Hu和Evans等2004年提出的蒙特卡羅定位(MCL)算法.由于車間資源具有廣泛的移動特征,而基于RSSI的MCL算法存在計算量較大、計算時間較長、節(jié)點能量損耗大和無運動預(yù)測性等不足[4,7],因此筆者提出一種基于改進的RSSI的車間移動節(jié)點MCL算法(簡稱R-MCL算法).事實上,因為車間制造資源的運動軌跡一般都是有規(guī)律的,即其運動參數(shù)一般不會改變,所以可以利用移動節(jié)點前幾個時間點的數(shù)據(jù)來預(yù)測移動節(jié)點當前時間點的運動軌跡,通過減少取樣區(qū)域來提高取樣效率和定位精度.
經(jīng)典MCL算法是在機器人定位算法的基礎(chǔ)上提出的,后來出現(xiàn)多種提高定位精度的改進算法[8-9],并廣泛應(yīng)用于WSN的移動節(jié)點定位中.經(jīng)典MCL算法基于以下假設(shè):樣本節(jié)點和未知節(jié)點都是移動的;時間被均分為若干離散間隙,每個時間點獲取1次節(jié)點位置信息;未知節(jié)點最大移動速度記作Vmax;節(jié)點通信范圍半徑記作R.經(jīng)典MCL算法的核心思想是,在貝葉斯濾波位置估計的基礎(chǔ)上,將未知的移動節(jié)點(車間移動資源)下一個時間點估計位置用加權(quán)樣本集表達為后驗概率密度分布.經(jīng)典MCL算法主要有3步:初始化、取樣和結(jié)果輸出.其中取樣是核心步驟,分為3個階段:預(yù)測、濾波和重要性取樣.經(jīng)典MCL算法流程如圖1所示.
圖1 經(jīng)典MCL算法流程Fig. 1 Flow Chart of Monte Carlo Localization Algorithm
經(jīng)典MCL算法的最大優(yōu)點是,在存儲有限、錨點分布密度低的情況下,能實現(xiàn)較高的定位精度和取樣效率;缺點是必須取得足夠多的分布在狀態(tài)后驗密度取值較大的區(qū)域,才能獲得較好的定位效果.
在本研究的車間環(huán)境中,定義R為接收信號的強度,T為距離信號發(fā)射節(jié)點1.2 m處的信號強度,m為未知節(jié)點與信號發(fā)射節(jié)點的距離,則車間模型為R=T-10nlgm.
RSSI的信號衰減受外界環(huán)境影響較大,同一RSSI值在相同的WSN中節(jié)點間的距離卻經(jīng)常不同,導致最后估計的距離與實際距離誤差很大.為了修正此誤差,將參考節(jié)點之間的距離和RSSI這2個信息作為參考來校正未知節(jié)點的距離.
圖2 一跳參考節(jié)點與未知節(jié)點和鄰近參考節(jié)點的通信過程Fig. 2 Communication Process Between a Hop Reference Node and an Unknown Node and Other Neighboring Reference Nodes
未知節(jié)點W接收到參考節(jié)點I的RSSI的平均值RI(單位:dBm),與未知節(jié)點W接收到參考節(jié)點I的信號強度平均值PI(單位:mW)的轉(zhuǎn)換關(guān)系為PI=10RI/10;參考節(jié)點I接收到的另一個參考節(jié)點J的RSSI的平均值RIJ(單位:dBm),與參考節(jié)點I接收到的另一個參考節(jié)點J的信號強度平均值PIJ(單位:mW)的轉(zhuǎn)換關(guān)系為PIJ=10RIJ/10.那么,
(1)
其中:DWI為未知節(jié)點W與參考節(jié)點I的距離;DIJ為參考節(jié)點I與參考節(jié)點J的距離.
一跳參考節(jié)點與未知節(jié)點和鄰近參考節(jié)點的通信過程如圖2所示.圖2中:實心圓表示未知節(jié)點;空心圓表示參考節(jié)點;J為未知節(jié)點W一跳參考節(jié)點;J1和J2是J通信范圍內(nèi)的參考節(jié)點;J向通信范圍內(nèi)的W,J1和J2發(fā)射信號,并收到它們的反饋數(shù)據(jù)包(包括信號強度).那么,由(1)式可得W與J的距離
(2)
圖3 基于未知節(jié)點RSSI模型構(gòu)建的取樣區(qū)域Fig. 3 A Sampling Region Constructed Based on an Unknown Node RSSI Model
(ⅱ)測距預(yù)測和取樣.為了獲取當前時間點t的樣本集Kt,需要以上一時間點t-1的樣本集Kt-1的位置為圓心,以最大速度Vmax為半徑,以一跳參考節(jié)點的通信半徑R為約束條件(為了減少計算量,當參考節(jié)點過多時,取最近3個參考節(jié)點的測距信息;為了方便取樣算法,取通信圓的外切正方形代替有效通信圓形).基于未知節(jié)點RSSI模型構(gòu)建的取樣區(qū)域如圖3所示.圖3中陰影部分顯示的是有效取樣區(qū)域,其中Wt-1和Wt分別為W前一時間點和當前時間點的位置,J1和J2為一跳參考節(jié)點的最近參考節(jié)點.若因RSSI測距誤差而出現(xiàn)無重疊有效取樣區(qū)域,則迭代選擇其他2個最近參考節(jié)點,直至出現(xiàn)有效取樣區(qū)域位置.
(ⅲ)粒子過濾.在濾波階段,從預(yù)測位置樣本集中通過偵聽廣播信息排除那些完全不可能的樣本.采用經(jīng)典MCL濾波算法思想,當未知節(jié)點與一跳、二跳參考節(jié)點的距離大于節(jié)點自身通信半徑的樣本時就丟掉,符合(2)式的樣本就保留,直至符合濾波條件的樣本數(shù)達到N個.否則重復步驟(ⅱ).
(ⅳ)權(quán)重分配和位置估計.根據(jù)節(jié)點的通信原理,樣本節(jié)點距離參考節(jié)點越近,則信號衰減越少,受外界干擾越少,RSSI測距誤差越小,說明該樣本的測距精度越高,分配的權(quán)重比例越大,因為該樣本的預(yù)測位置與未知節(jié)點的真實位置越近.由前面3個步驟,取樣本集K={K1,…,KN},其坐標相應(yīng)地記作(x1,y1),…,(xN,yN),未知節(jié)點W與一跳參考節(jié)點J1,…,JM的距離記作R1,…,RM,則樣本Ki的權(quán)重
(3)
由(3)式得到N個帶權(quán)重的樣本,則當前時間點未知節(jié)點W的位置坐標為可表示為
為了方便數(shù)據(jù)統(tǒng)計和性能對比,假設(shè)所有未知節(jié)點(車間移動資源)均服從隨機移動模型,即未知節(jié)點下一時間點的移動軌跡未知,但未知節(jié)點的最大速度是確定的.在初始化階段,所有節(jié)點隨機分布在半徑為200 m的圓形區(qū)域,時間間隔T=1 s,樣本總數(shù)M=50,參考節(jié)點密度sd=1個/m2,未知節(jié)點密度nd=10個/m2.考慮車間節(jié)點間障礙物的個數(shù)和障礙物對信號的影響閾值,現(xiàn)場實驗結(jié)果顯示,RSSI測距模型中的實際與估計路徑損耗的誤差Xσ=-35 m,信號損耗系數(shù)n=2.6.現(xiàn)從時間、參考節(jié)點密度、未知節(jié)點密度和RSSI測距誤差等4個方面在Matlab系統(tǒng)平臺上進行仿真實驗.
圖4 定位精度誤差隨時間的變化關(guān)系Fig. 4 Relationship Between Location Error of R-MCL and MCL Algorithm over Time
R-MCL算法和MCL算法的仿真結(jié)果如圖4所示.由圖4可知,不管是R-MCL算法還是MCL算法,在系統(tǒng)初始化后的短時間內(nèi),定位精度均大幅度提高且穩(wěn)定在一定范圍內(nèi)波動.R-MCL算法的定位精度誤差在0.2 m附近波動,MCL算法的定位精度誤差在0.31 m附近波動,前者的平均定位精度相比后者的提高了45%左右.圖4中定位精度波動較大的原因是,當RSSI測距誤差非常大時,測距超過了節(jié)點自身的通信范圍,直接修正為滿足節(jié)點連通性約束條件值,即R-MCL算法退化為經(jīng)典MCL算法.
圖5 參考節(jié)點密度對定位精度誤差的影響Fig. 5 Influence of Reference Node Density on Location Accuracy
參考節(jié)點密度對定位精度誤差的影響如圖5所示.由圖5可知:在參考節(jié)點密度取0~1個/m2時,定位精度誤差快速降低;當參考節(jié)點密度增加到一定值(大于2個/m2)之后,定位精度誤差隨密度的變化不明顯.這是因為對于移動節(jié)點來說,只要有3個有效參考節(jié)點就能達到R-MCL算法的濾波條件,大大減小了取樣范圍;同時,RSSI測距誤差使得參考節(jié)點增加過多,增大了計算量,但對定位精度誤差提高不大.因此,為了節(jié)約硬件投入成本,R-MCL算法與MCL算法一樣,參考節(jié)點密度一般取1~2個/m2.
圖6 未知節(jié)點密度對定位精度誤差的影響Fig. 6 Influence of Unknown Node Density on Location Accuracy
未知節(jié)點密度對定位精度誤差的影響如圖6所示.由于在RSSI模型測距預(yù)測過程中主要是以一跳參考節(jié)點的信息來確定取樣區(qū)域,以二跳參考節(jié)點在R-MCL算法粒子濾波時作為參考,因此,當未知節(jié)點密度增加時二跳參考節(jié)點增多,在一定程度上定位精度誤差還是隨之減小,但幅度不大.因為仿真過程中沒有增加參考節(jié)點密度,所以定位精度隨著未知節(jié)點密度的增加而整體提高不大.
圖7 RSSI測距誤差對定位精度誤差的影響Fig. 7 Effect of RSSI Ranging Error on Positioning Accuracy
由于R-MCL算法是以RSSI模型測距為基礎(chǔ)的,因此RSSI測距誤差將直接影響到R-MCL算法的定位精度.RSSI測距誤差對定位精度誤差的影響如圖7所示.由圖7可知,R-MCL算法的定位精度誤差隨著RSSI測距誤差的增大而增大.仿真實驗結(jié)果還顯示,當參考節(jié)點密度減小到一定程度,RSSI測距誤差Xσ>10 m時,RSSI測距信息完全不滿足濾波條件.此時如果不能增加參考節(jié)點,就只能考慮退化為經(jīng)典MCL算法,或采用其他非測距定位算法.
根據(jù)制造車間移動資源的定位需求,考慮車間移動資源的移動特點,提出了一種基于改進的RSSI的車間移動節(jié)點MCL算法.R-MCL算法的核心思想是利用加權(quán)樣本集來估計未知節(jié)點位置的后驗概率密度分布,并不斷迭代更新樣本集,最后取加權(quán)平均值來估計未知節(jié)點位置.引入RSSI模型并進行校正處理,能有效地縮小取樣區(qū)域,使得R-MCL算法在定位精度、收斂速度和計算量等方面的性能均有提升.R-MCL算法是基于測距的,對于定位精度要求較低的應(yīng)用,將結(jié)合無需測距定位算法另開展相關(guān)研究.
參考文獻:
[1] JAMALABDOLLAHI MOHSEN,ZEKAVAT SEYED.Time of Arrival Estimation in Wireless Sensor Networks via OFDMA[C].2015 IEEE 82nd Vehicular Technology Conference.Boston,MA,USA:IEEE,2015:1-5.
[2] WANG Yue,HO K C.TDOA Source Localization in the Presence of Synchronization Clock Bias and Sensor Poition Erors[J].IEEE Transactions on Signal Processing,2013,61(18):4 532-4 544.
[3] CUI Wei,WU Shaochuan,WANG Yuze.A Gossip-Based AOA Distributed Localization Algorithm for Wireless Sensor Networks[J].Applied Mechanics and Materials,2014,577:841-846.
[4] YAGHOUBI FOROUGH,ABBASFAR ALI-AZAM,MAHAM BEHROUZ.Energy-Efficient RSSI-Based Localization for Wireless Sensor Networks[J].IEEE Communications Letters,2014,18(6):973-976.
[5] BAI Yun,LI Chunming,XUE Yuan.A Centroid Localization Algorithm for Wireless Sensor Networks Based on RSSI[J].Applied Mechanics & Materials,2013,303;197-200.
[6] AGASHE ANIL A,AGASHE AMRITA A,PATIL R S.Evaluation of DV Hop Localization Algorithm in Wireless Sensor Networks[C].2012 International Conference on Advances in Mobile Network,Communication and Its Applications.IEEE,2012:79-82.DOI:10.1109/mncapps.2012.21.
[7] YI JIYOUNG,YANG SUNGWON,CHA HOJUNG.Multi-Hop-Based Monte Carlo Localization for Mobile Sensor Networks[C].2007 4th Annual IEEE Communications Society Conference on Sensor,Mesh and Ad Hoc Communications and Networks.IEEE,2007:162-171.
[8] DIL BRAM JEROEN,DULMAN STEFAN,HAVINGA PAUL.Range-Based Localization in Mobile Sensor Networks[C]∥R?MER KAY,KARL HOLGER,MATTERN FRIEDEMANN.EWSN'06 Proceedings of the Third European Conference on Wireless Sensor Networks.Berlin,Heidelberg:Springer-Verlag,2006:164-179.
[9] WANG W D,ZHU Q X.RSS-Based Monte Carlo Localization for Mobile Sensor Networks[J].IET Communications,2008,2(5):673-681.