黃有山,候 鳴,徐 玲,秦宏帥,周佩光,漏鳴杰
(1.浙江新納陶瓷新材有限公司,浙江 東陽 322100;2.滁州市質監(jiān)局,安徽 滁州 239000;3.杭州電子科技大學電子信息學院,浙江 杭州 310018)
眾所周知,全球衛(wèi)星導航系統(tǒng)(GNSS,Global Navigation Satellite System)的發(fā)展和應用已經(jīng)非常完善,可以在室外提供準確可靠的定位服務。然而,建筑物對于衛(wèi)星信號的遮擋導致GNSS難以在室內提供定位服務,使得室內成為定位的盲區(qū),亟待開發(fā)能廣泛應用的室內定位系統(tǒng)。例如,在博物館,可以根據(jù)游客的位置為其提供相關展品的信息;對在養(yǎng)老院養(yǎng)老的阿茲海默癥、失智癥患者進行及時定位救助非常有必要;另外對于盲人等殘疾人,實時室內定位系統(tǒng)可以大大提高其行動的自主性和準確性。
目前常見的室內定位方法主要有超聲波、激光、紅外線、RFID、Wi-Fi、ZigBee、圖像視覺等,其中具有低功耗、低成本并且靈活性較高的ZigBee成為近幾年研究的熱點。張鳳英[1]等人設計基于ZigBee及RSSI的養(yǎng)老院室內定位系統(tǒng),采用了二邊定位算法及CC2530模塊。杜雅鋒[2]等人實現(xiàn)了一種基于雙攝線追蹤的室內RSSI指紋空間模型,通過Friis方程與麥克斯韋方程組以射線追蹤的方式追蹤直射路徑上的接收信號強度,結合信號的能量反射系數(shù)計算出經(jīng)反射后信號強度變化情況,利用綜合了直射加單次反射的雙射線RSSI追蹤算法對室內環(huán)境進行“直射+單次反射”雙類型共計七條射線的RSSI追蹤來建立位置指紋數(shù)據(jù)庫。Rana Ramadan[3]等人研究了基于RSSI的室內傳感器定位問題,提出了一種加權系數(shù)法來確定傳感器的位置,實驗表明在定位方面優(yōu)于傳統(tǒng)方法。丁宏偉[4]等人提出了一種基于Wi-Fi與藍牙的室內融合定位方法,以及SVM定位算法與卡爾曼濾波結合的定位算法,有效減少定位誤差。余凱[5]等人設計了一種基于ZigBee的盲人室內定位導航及遠程監(jiān)控系統(tǒng),通過改進加權質心定位算法,設計出RBIWCL算法,誤差減小,精度提升。Y.Alvarez[6]等人提出了一種用于定位和跟蹤的新的算法,使用由一組發(fā)射機節(jié)點收集的相對場級,將這些層次引入到成本函數(shù)中,避免了信號強度波動對系統(tǒng)標定的影響。Daniel Konings[7]等人研究了基于ZigBee的室內定位系統(tǒng)中不同速率的Wi-Fi對RSSI值的影響。
室內無線定位方法雖然進行了比較多的研究,但在定位精度、系統(tǒng)實時性和可操作性方面的不足,導致室內定位系統(tǒng)無法大規(guī)模普及。例如二邊定位算法可以完成室內定位跟蹤的工作,但二邊定位算法定位結果精度較差,難以滿足實際應用需求。另外,國內外大量研究也都是從算法著手來提高室內定位的精度,但這樣往往帶來更加復雜的計算。在未來的研究中,兼顧定位精度和系統(tǒng)的實時性是重要的發(fā)展趨勢。
本文選擇以ZigBee無線通信網(wǎng)絡為核心并采用位置指紋與二角質心算法相結合的定位方案,分析了實驗場景下信號強度的統(tǒng)計特征,從統(tǒng)計結果入手,進行ZigBee信號測距的可行性分析,優(yōu)化了基于接收的信號強度指示(RSSI)的測距方程。進而使用改進的位置指紋法和優(yōu)化的參考節(jié)點布局方案完成定位。最終實現(xiàn)了基于ZigBee的室內定位精度的提升。
RSSI測距原理是根據(jù)無線通信信號強度隨著距離增加逐漸衰弱的規(guī)律,通過測算公式進行距離計算。當發(fā)射功率已知,通過測量收到的信號強度,由數(shù)學模型表述傳播損耗和距離之間的轉換關系,該模型也稱為長期衰落模型,表達式為:
式1中:發(fā)射節(jié)點和接收節(jié)點的距離為d,n為路徑損耗指數(shù),該參數(shù)依賴周圍的環(huán)境和建筑物的類型,表示路徑損耗隨距離的增加而增大的快慢;Xσt是以dB為單位,且標準偏差為零的均值正態(tài)分布隨機變量;Pd為距離為d時接收到信號的功率強度;Pd0是發(fā)射節(jié)點和接收節(jié)點相距為d0的信號強度值,是一個經(jīng)驗參數(shù),通常以測量距離1m處的RSSI值為該參數(shù)大小。設P1為距離1m環(huán)境測量RSSI值大小,則由式1可得距離公式為:
根據(jù)公式2可知Pd0和n取值的不同會影響Pd的值,圖1a)給出了n為常數(shù),Pd0為不同取值條件下Pd和d的關系,圖1b)給出了Pd0為常數(shù),n為不同取值條件下Pd和d的關系。從圖中可以看出,Pd0增加時,相同Pd值對應的d也相應的增加;在Pd值一定時,d與n的關系成反比特性,n越小,RSSI越接近實際值,信號傳播距離可以更遠。
圖1 Pd0和n取值對Pd值的影響
在實際環(huán)境中,對ZigBee路由器的信號強度進行了采樣,采樣頻率為2Hz。間距1m時測得RSSI的值為-46,所以Pd0為-46。同時測量其他點的值,得出n=2.3。所以公式1變?yōu)楣?:
1.2.1 位置指紋算法
位置指紋算法將移動的終端設備在定位區(qū)域內采集到的信號強度作為參數(shù)對移動目標進行定位,其流程如圖2所示,大致分為兩個階段:離線階段和在線階段。在離線階段,為了采集各個位置上的指紋,構建數(shù)據(jù)庫,需要在指定的區(qū)域進行繁瑣的勘測,采集好的數(shù)據(jù)有時也稱為訓練集。在在線階段,系統(tǒng)將估計待定位的移動設備的位置。
圖2 位置指紋定位算法流程圖
(1)離線階段
在定位區(qū)域內設置指定參考節(jié)點,并記錄移動節(jié)點所在位置接收的所有參考節(jié)點設備的信號強度信息。生成各已知位置的參考節(jié)點對應的信號強度表:RSSI=[rssi1,rssi2,…,rssin]。表元素 rssii表示移動節(jié)點測得i點所在參考節(jié)點的信號強度(i=1,…,n)。由所有參考節(jié)點和對應位置組成位置指紋庫。移動節(jié)點的RSSI可建立一個關于信號強度與指紋庫有關的數(shù)據(jù)庫,即移動節(jié)點的路徑。
最典型的場景如圖3所示,地理區(qū)域被一個矩形網(wǎng)格所覆蓋,本場景中為4行8列的網(wǎng)格(共32個網(wǎng)格點),2個Access point。在每一個網(wǎng)格點上,通過一段時間的數(shù)據(jù)采樣(5~15min,約每秒采集一次)得到來自各個Access point的平均RSSI,采集的時候移動設備可能有不同的朝向和角度。該例子中,一個網(wǎng)格點上的指紋是一個二維的向量ρ=[ρ1,ρ2], 其中 ρi是來自第 i個 Access point的平均RSSI。我們記錄RSSI樣本的分布作為指紋。這些指紋是在每個網(wǎng)格點所示的區(qū)域(如圖3)采集到的,這些網(wǎng)格點坐標和對應的指紋組成一個數(shù)據(jù)庫。
圖3 基于信號強度的位置指紋法場景示意圖
圖4 三角質心算法示意圖
(2)在線階段
當來自各個 Access point的RSSI都被測量到的時候,RSSI向量的測量值被傳輸?shù)骄W(wǎng)絡中。設圖4的例子中RSSI向量為r=[r1,r2]。確定移動設備的位置,就是要找到在指紋庫中和r最匹配的指紋ρ。一旦找到了最佳匹配,該最佳匹配的指紋所對應的位置就被估計為移動設備的位置。即首先確定所在局部區(qū)域,并獲取區(qū)域中的參考點,最終采用局部二邊定位算法獲得待測點的位置估計。
在指紋庫的M個指紋中,找到在信號空間中與RSSI觀測值的歐氏距離最近的指紋,然后將它所對應的位置坐標作為移動設備的位置。這個使用歐氏距離的方法也叫做在信號空間中找到最近鄰,因為目標是在信號空間中找到一個離RSSI觀察值最近的指紋。假設位置指紋是N維的,也就是說有N個可見的Access point,M個網(wǎng)格點,這樣指紋庫里面有M個指紋。r和ρ的歐氏距離定義為:
1.2.2 三角質心算法
二角質心算法是對二邊測量法的優(yōu)化?;赗SSI測距方法,受實際環(huán)境影響,通常換算出移動節(jié)點到參考節(jié)點的距離都會大于實際距離。如圖4所示,參考節(jié)點為 C1,C2,C3,移動節(jié)點為 O。已知測得 O 到 C1,C2,C3的距離分別為 r1,r2,r3。分別以 C1,C2,C3為圓心,r1,r2,r3為半徑,得到重疊區(qū)域。二角質心定位算法的基本思想是:計算重疊區(qū)域的二個頂點A,B,C所組成二角形的質心為移動節(jié)點的坐標。
假設移動節(jié)點坐標為O=[x,y]T,參考節(jié)點的坐標為Ci=[xi,yi]T。參考節(jié)點個數(shù)設為N (本例中N=3)。而移動節(jié)點距離參考節(jié)點的距離設為ri,ri為距離第i個參考節(jié)點的距離,則根據(jù)已知條件可得到移動節(jié)點與參考節(jié)點位置關系如下方程組(5)所示:
使用方程組 5可計算出 A,B,C的坐標(x1,y1),(x2,y2),(x3,y3), 得出 O 點 的坐 標為 二角 形ABC 的質心((x1+x2+x3)/3,(y1+y2+y3)/3)。仿真計算可得,圖中移動節(jié)點實際位置為O,二邊測量法估計點為B,而二角質心算法的位置估計為點M。不難發(fā)現(xiàn)二角質心算法有更高的準確度。
實驗選取 8m(W)*12m(L)*3.6m(H)的長方形室內區(qū)域作為實際測試環(huán)境,沒有強烈的電磁干擾。該室內區(qū)域的路由器節(jié)點和參考節(jié)點安置如圖5所示。
圖5 室內路由器節(jié)點和參考節(jié)點安置示意圖
圖6 網(wǎng)絡節(jié)點實物圖
在室內四個角落和室內中央一共設置5個參考路由器節(jié)點,恰好形成了4個等邊二角形區(qū)域(對角線長度為14.4m),即參考節(jié)點間距為7.2m。參考節(jié)點的編號及實際坐標如表1所示。ZigBee網(wǎng)絡節(jié)點實物圖如圖6所示。
表1 參考節(jié)點編號及坐標
表2 三邊定位算法與位置指紋和優(yōu)化的三角質心相結合算法定位結果對比
從表2實驗結果可知,采用傳統(tǒng)的二邊定位算法或本文提出的位置指紋與優(yōu)化的二角質心算法相結合的定位算法,都可以完成室內定位跟蹤的工作。但二邊定位算法所定位的結果精度較差,定位誤差達3m左右,而且坐標浮動較大,基本處于區(qū)域級的定位精度,即只能提供人員所在的房間區(qū)域,無法完整地呈現(xiàn)人員移動路徑。而采用位置指紋和優(yōu)化的二角質心算法相結合的定位算法,能夠比較正確的顯示位置信息,呈現(xiàn)人員的移動路徑,定位誤差通常情況下在1.5m左右。對于對精度要求不是非常苛刻的環(huán)境,是具有一定精度優(yōu)勢的定位方法。
同時,基于ZigBee的室內定位方法不需要額外的傳感器支持,只需要很少的外圍設備即可工作,而且可擴展性強,可根據(jù)需要添加溫濕度傳感器、CO2傳感器、煙霧傳感器等,能夠應用于貴重物品位置檢測、展覽品安放報警等特殊場合。
本文完成了基于ZigBee的室內定位方法的分析和改進,以ZigBee無線通信網(wǎng)絡為核心并采用位置指紋與二角質心算法相結合的定位方案,分析了實驗場景下信號強度的統(tǒng)計特征,優(yōu)化了基于接收的信號強度指示(RSSI)的測距方程。實驗結果表明該室內定位方法具有通用、低成本、高精度的特點。