劉小園
(羅定職業(yè)技術(shù)學(xué)院電子信息系,廣東 羅定 527200)
目前,無(wú)線傳感網(wǎng)絡(luò)(WSN)的定位算法主要有2大類:需要測(cè)距的和無(wú)需測(cè)距的.需要測(cè)距的定位算法主要有基于信號(hào)到達(dá)時(shí)間(TOA)算法[1]、基于不同信號(hào)到達(dá)時(shí)間差(TDOA)算法[2]、基于信號(hào)到達(dá)角度(AOA)算法[3]和基于接收信號(hào)強(qiáng)度指示(RSSI)算法[4];無(wú)需測(cè)距的定位算法主要有求解鄰居節(jié)點(diǎn)構(gòu)成的多邊形幾何重心的質(zhì)心算法[5]、基于節(jié)點(diǎn)間跳數(shù)信息(DV-Hop)算法[6]和基于多尺度規(guī)劃(MDS-MAP)算法[7],這些多是固定節(jié)點(diǎn)的定位算法.最早的基于WSN的移動(dòng)節(jié)點(diǎn)定位算法,是由美國(guó)Hu和Evans等2004年提出的蒙特卡羅定位(MCL)算法.由于車間資源具有廣泛的移動(dòng)特征,而基于RSSI的MCL算法存在計(jì)算量較大、計(jì)算時(shí)間較長(zhǎng)、節(jié)點(diǎn)能量損耗大和無(wú)運(yùn)動(dòng)預(yù)測(cè)性等不足[4,7],因此筆者提出一種基于改進(jìn)的RSSI的車間移動(dòng)節(jié)點(diǎn)MCL算法(簡(jiǎn)稱R-MCL算法).事實(shí)上,因?yàn)檐囬g制造資源的運(yùn)動(dòng)軌跡一般都是有規(guī)律的,即其運(yùn)動(dòng)參數(shù)一般不會(huì)改變,所以可以利用移動(dòng)節(jié)點(diǎn)前幾個(gè)時(shí)間點(diǎn)的數(shù)據(jù)來(lái)預(yù)測(cè)移動(dòng)節(jié)點(diǎn)當(dāng)前時(shí)間點(diǎn)的運(yùn)動(dòng)軌跡,通過(guò)減少取樣區(qū)域來(lái)提高取樣效率和定位精度.
經(jīng)典MCL算法是在機(jī)器人定位算法的基礎(chǔ)上提出的,后來(lái)出現(xiàn)多種提高定位精度的改進(jìn)算法[8-9],并廣泛應(yīng)用于WSN的移動(dòng)節(jié)點(diǎn)定位中.經(jīng)典MCL算法基于以下假設(shè):樣本節(jié)點(diǎn)和未知節(jié)點(diǎn)都是移動(dòng)的;時(shí)間被均分為若干離散間隙,每個(gè)時(shí)間點(diǎn)獲取1次節(jié)點(diǎn)位置信息;未知節(jié)點(diǎn)最大移動(dòng)速度記作Vmax;節(jié)點(diǎn)通信范圍半徑記作R.經(jīng)典MCL算法的核心思想是,在貝葉斯濾波位置估計(jì)的基礎(chǔ)上,將未知的移動(dòng)節(jié)點(diǎn)(車間移動(dòng)資源)下一個(gè)時(shí)間點(diǎn)估計(jì)位置用加權(quán)樣本集表達(dá)為后驗(yàn)概率密度分布.經(jīng)典MCL算法主要有3步:初始化、取樣和結(jié)果輸出.其中取樣是核心步驟,分為3個(gè)階段:預(yù)測(cè)、濾波和重要性取樣.經(jīng)典MCL算法流程如圖1所示.
圖1 經(jīng)典MCL算法流程Fig. 1 Flow Chart of Monte Carlo Localization Algorithm
經(jīng)典MCL算法的最大優(yōu)點(diǎn)是,在存儲(chǔ)有限、錨點(diǎn)分布密度低的情況下,能實(shí)現(xiàn)較高的定位精度和取樣效率;缺點(diǎn)是必須取得足夠多的分布在狀態(tài)后驗(yàn)密度取值較大的區(qū)域,才能獲得較好的定位效果.
在本研究的車間環(huán)境中,定義R為接收信號(hào)的強(qiáng)度,T為距離信號(hào)發(fā)射節(jié)點(diǎn)1.2 m處的信號(hào)強(qiáng)度,m為未知節(jié)點(diǎn)與信號(hào)發(fā)射節(jié)點(diǎn)的距離,則車間模型為R=T-10nlgm.
RSSI的信號(hào)衰減受外界環(huán)境影響較大,同一RSSI值在相同的WSN中節(jié)點(diǎn)間的距離卻經(jīng)常不同,導(dǎo)致最后估計(jì)的距離與實(shí)際距離誤差很大.為了修正此誤差,將參考節(jié)點(diǎn)之間的距離和RSSI這2個(gè)信息作為參考來(lái)校正未知節(jié)點(diǎn)的距離.
圖2 一跳參考節(jié)點(diǎn)與未知節(jié)點(diǎn)和鄰近參考節(jié)點(diǎn)的通信過(guò)程Fig. 2 Communication Process Between a Hop Reference Node and an Unknown Node and Other Neighboring Reference Nodes
未知節(jié)點(diǎn)W接收到參考節(jié)點(diǎn)I的RSSI的平均值RI(單位:dBm),與未知節(jié)點(diǎn)W接收到參考節(jié)點(diǎn)I的信號(hào)強(qiáng)度平均值PI(單位:mW)的轉(zhuǎn)換關(guān)系為PI=10RI/10;參考節(jié)點(diǎn)I接收到的另一個(gè)參考節(jié)點(diǎn)J的RSSI的平均值RIJ(單位:dBm),與參考節(jié)點(diǎn)I接收到的另一個(gè)參考節(jié)點(diǎn)J的信號(hào)強(qiáng)度平均值PIJ(單位:mW)的轉(zhuǎn)換關(guān)系為PIJ=10RIJ/10.那么,
(1)
其中:DWI為未知節(jié)點(diǎn)W與參考節(jié)點(diǎn)I的距離;DIJ為參考節(jié)點(diǎn)I與參考節(jié)點(diǎn)J的距離.
一跳參考節(jié)點(diǎn)與未知節(jié)點(diǎn)和鄰近參考節(jié)點(diǎn)的通信過(guò)程如圖2所示.圖2中:實(shí)心圓表示未知節(jié)點(diǎn);空心圓表示參考節(jié)點(diǎn);J為未知節(jié)點(diǎn)W一跳參考節(jié)點(diǎn);J1和J2是J通信范圍內(nèi)的參考節(jié)點(diǎn);J向通信范圍內(nèi)的W,J1和J2發(fā)射信號(hào),并收到它們的反饋數(shù)據(jù)包(包括信號(hào)強(qiáng)度).那么,由(1)式可得W與J的距離
(2)
圖3 基于未知節(jié)點(diǎn)RSSI模型構(gòu)建的取樣區(qū)域Fig. 3 A Sampling Region Constructed Based on an Unknown Node RSSI Model
(ⅱ)測(cè)距預(yù)測(cè)和取樣.為了獲取當(dāng)前時(shí)間點(diǎn)t的樣本集Kt,需要以上一時(shí)間點(diǎn)t-1的樣本集Kt-1的位置為圓心,以最大速度Vmax為半徑,以一跳參考節(jié)點(diǎn)的通信半徑R為約束條件(為了減少計(jì)算量,當(dāng)參考節(jié)點(diǎn)過(guò)多時(shí),取最近3個(gè)參考節(jié)點(diǎn)的測(cè)距信息;為了方便取樣算法,取通信圓的外切正方形代替有效通信圓形).基于未知節(jié)點(diǎn)RSSI模型構(gòu)建的取樣區(qū)域如圖3所示.圖3中陰影部分顯示的是有效取樣區(qū)域,其中Wt-1和Wt分別為W前一時(shí)間點(diǎn)和當(dāng)前時(shí)間點(diǎn)的位置,J1和J2為一跳參考節(jié)點(diǎn)的最近參考節(jié)點(diǎn).若因RSSI測(cè)距誤差而出現(xiàn)無(wú)重疊有效取樣區(qū)域,則迭代選擇其他2個(gè)最近參考節(jié)點(diǎn),直至出現(xiàn)有效取樣區(qū)域位置.
(ⅲ)粒子過(guò)濾.在濾波階段,從預(yù)測(cè)位置樣本集中通過(guò)偵聽(tīng)廣播信息排除那些完全不可能的樣本.采用經(jīng)典MCL濾波算法思想,當(dāng)未知節(jié)點(diǎn)與一跳、二跳參考節(jié)點(diǎn)的距離大于節(jié)點(diǎn)自身通信半徑的樣本時(shí)就丟掉,符合(2)式的樣本就保留,直至符合濾波條件的樣本數(shù)達(dá)到N個(gè).否則重復(fù)步驟(ⅱ).
(ⅳ)權(quán)重分配和位置估計(jì).根據(jù)節(jié)點(diǎn)的通信原理,樣本節(jié)點(diǎn)距離參考節(jié)點(diǎn)越近,則信號(hào)衰減越少,受外界干擾越少,RSSI測(cè)距誤差越小,說(shuō)明該樣本的測(cè)距精度越高,分配的權(quán)重比例越大,因?yàn)樵摌颖镜念A(yù)測(cè)位置與未知節(jié)點(diǎn)的真實(shí)位置越近.由前面3個(gè)步驟,取樣本集K={K1,…,KN},其坐標(biāo)相應(yīng)地記作(x1,y1),…,(xN,yN),未知節(jié)點(diǎn)W與一跳參考節(jié)點(diǎn)J1,…,JM的距離記作R1,…,RM,則樣本Ki的權(quán)重
(3)
由(3)式得到N個(gè)帶權(quán)重的樣本,則當(dāng)前時(shí)間點(diǎn)未知節(jié)點(diǎn)W的位置坐標(biāo)為可表示為
為了方便數(shù)據(jù)統(tǒng)計(jì)和性能對(duì)比,假設(shè)所有未知節(jié)點(diǎn)(車間移動(dòng)資源)均服從隨機(jī)移動(dòng)模型,即未知節(jié)點(diǎn)下一時(shí)間點(diǎn)的移動(dòng)軌跡未知,但未知節(jié)點(diǎn)的最大速度是確定的.在初始化階段,所有節(jié)點(diǎn)隨機(jī)分布在半徑為200 m的圓形區(qū)域,時(shí)間間隔T=1 s,樣本總數(shù)M=50,參考節(jié)點(diǎn)密度sd=1個(gè)/m2,未知節(jié)點(diǎn)密度nd=10個(gè)/m2.考慮車間節(jié)點(diǎn)間障礙物的個(gè)數(shù)和障礙物對(duì)信號(hào)的影響閾值,現(xiàn)場(chǎng)實(shí)驗(yàn)結(jié)果顯示,RSSI測(cè)距模型中的實(shí)際與估計(jì)路徑損耗的誤差Xσ=-35 m,信號(hào)損耗系數(shù)n=2.6.現(xiàn)從時(shí)間、參考節(jié)點(diǎn)密度、未知節(jié)點(diǎn)密度和RSSI測(cè)距誤差等4個(gè)方面在Matlab系統(tǒng)平臺(tái)上進(jìn)行仿真實(shí)驗(yàn).
圖4 定位精度誤差隨時(shí)間的變化關(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)初始化后的短時(shí)間內(nèi),定位精度均大幅度提高且穩(wěn)定在一定范圍內(nèi)波動(dòng).R-MCL算法的定位精度誤差在0.2 m附近波動(dòng),MCL算法的定位精度誤差在0.31 m附近波動(dòng),前者的平均定位精度相比后者的提高了45%左右.圖4中定位精度波動(dòng)較大的原因是,當(dāng)RSSI測(cè)距誤差非常大時(shí),測(cè)距超過(guò)了節(jié)點(diǎn)自身的通信范圍,直接修正為滿足節(jié)點(diǎn)連通性約束條件值,即R-MCL算法退化為經(jīng)典MCL算法.
圖5 參考節(jié)點(diǎn)密度對(duì)定位精度誤差的影響Fig. 5 Influence of Reference Node Density on Location Accuracy
參考節(jié)點(diǎn)密度對(duì)定位精度誤差的影響如圖5所示.由圖5可知:在參考節(jié)點(diǎn)密度取0~1個(gè)/m2時(shí),定位精度誤差快速降低;當(dāng)參考節(jié)點(diǎn)密度增加到一定值(大于2個(gè)/m2)之后,定位精度誤差隨密度的變化不明顯.這是因?yàn)閷?duì)于移動(dòng)節(jié)點(diǎn)來(lái)說(shuō),只要有3個(gè)有效參考節(jié)點(diǎn)就能達(dá)到R-MCL算法的濾波條件,大大減小了取樣范圍;同時(shí),RSSI測(cè)距誤差使得參考節(jié)點(diǎn)增加過(guò)多,增大了計(jì)算量,但對(duì)定位精度誤差提高不大.因此,為了節(jié)約硬件投入成本,R-MCL算法與MCL算法一樣,參考節(jié)點(diǎn)密度一般取1~2個(gè)/m2.
圖6 未知節(jié)點(diǎn)密度對(duì)定位精度誤差的影響Fig. 6 Influence of Unknown Node Density on Location Accuracy
未知節(jié)點(diǎn)密度對(duì)定位精度誤差的影響如圖6所示.由于在RSSI模型測(cè)距預(yù)測(cè)過(guò)程中主要是以一跳參考節(jié)點(diǎn)的信息來(lái)確定取樣區(qū)域,以二跳參考節(jié)點(diǎn)在R-MCL算法粒子濾波時(shí)作為參考,因此,當(dāng)未知節(jié)點(diǎn)密度增加時(shí)二跳參考節(jié)點(diǎn)增多,在一定程度上定位精度誤差還是隨之減小,但幅度不大.因?yàn)榉抡孢^(guò)程中沒(méi)有增加參考節(jié)點(diǎn)密度,所以定位精度隨著未知節(jié)點(diǎn)密度的增加而整體提高不大.
圖7 RSSI測(cè)距誤差對(duì)定位精度誤差的影響Fig. 7 Effect of RSSI Ranging Error on Positioning Accuracy
由于R-MCL算法是以RSSI模型測(cè)距為基礎(chǔ)的,因此RSSI測(cè)距誤差將直接影響到R-MCL算法的定位精度.RSSI測(cè)距誤差對(duì)定位精度誤差的影響如圖7所示.由圖7可知,R-MCL算法的定位精度誤差隨著RSSI測(cè)距誤差的增大而增大.仿真實(shí)驗(yàn)結(jié)果還顯示,當(dāng)參考節(jié)點(diǎn)密度減小到一定程度,RSSI測(cè)距誤差Xσ>10 m時(shí),RSSI測(cè)距信息完全不滿足濾波條件.此時(shí)如果不能增加參考節(jié)點(diǎn),就只能考慮退化為經(jīng)典MCL算法,或采用其他非測(cè)距定位算法.
根據(jù)制造車間移動(dòng)資源的定位需求,考慮車間移動(dòng)資源的移動(dòng)特點(diǎn),提出了一種基于改進(jìn)的RSSI的車間移動(dòng)節(jié)點(diǎn)MCL算法.R-MCL算法的核心思想是利用加權(quán)樣本集來(lái)估計(jì)未知節(jié)點(diǎn)位置的后驗(yàn)概率密度分布,并不斷迭代更新樣本集,最后取加權(quán)平均值來(lái)估計(jì)未知節(jié)點(diǎn)位置.引入RSSI模型并進(jìn)行校正處理,能有效地縮小取樣區(qū)域,使得R-MCL算法在定位精度、收斂速度和計(jì)算量等方面的性能均有提升.R-MCL算法是基于測(cè)距的,對(duì)于定位精度要求較低的應(yīng)用,將結(jié)合無(wú)需測(cè)距定位算法另開(kāi)展相關(guān)研究.
參考文獻(xià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.