黃有山,候 鳴,徐 玲,秦宏帥,周佩光,漏鳴杰
(1.浙江新納陶瓷新材有限公司,浙江 東陽 322100;2.滁州市質監局,安徽 滁州 239000;3.杭州電子科技大學電子信息學院,浙江 杭州 310018)
眾所周知,全球衛星導航系統(GNSS,Global Navigation Satellite System)的發展和應用已經非常完善,可以在室外提供準確可靠的定位服務。然而,建筑物對于衛星信號的遮擋導致GNSS難以在室內提供定位服務,使得室內成為定位的盲區,亟待開發能廣泛應用的室內定位系統。例如,在博物館,可以根據游客的位置為其提供相關展品的信息;對在養老院養老的阿茲海默癥、失智癥患者進行及時定位救助非常有必要;另外對于盲人等殘疾人,實時室內定位系統可以大大提高其行動的自主性和準確性。
目前常見的室內定位方法主要有超聲波、激光、紅外線、RFID、Wi-Fi、ZigBee、圖像視覺等,其中具有低功耗、低成本并且靈活性較高的ZigBee成為近幾年研究的熱點。張鳳英[1]等人設計基于ZigBee及RSSI的養老院室內定位系統,采用了二邊定位算法及CC2530模塊。杜雅鋒[2]等人實現了一種基于雙攝線追蹤的室內RSSI指紋空間模型,通過Friis方程與麥克斯韋方程組以射線追蹤的方式追蹤直射路徑上的接收信號強度,結合信號的能量反射系數計算出經反射后信號強度變化情況,利用綜合了直射加單次反射的雙射線RSSI追蹤算法對室內環境進行“直射+單次反射”雙類型共計七條射線的RSSI追蹤來建立位置指紋數據庫。Rana Ramadan[3]等人研究了基于RSSI的室內傳感器定位問題,提出了一種加權系數法來確定傳感器的位置,實驗表明在定位方面優于傳統方法。丁宏偉[4]等人提出了一種基于Wi-Fi與藍牙的室內融合定位方法,以及SVM定位算法與卡爾曼濾波結合的定位算法,有效減少定位誤差。余凱[5]等人設計了一種基于ZigBee的盲人室內定位導航及遠程監控系統,通過改進加權質心定位算法,設計出RBIWCL算法,誤差減小,精度提升。Y.Alvarez[6]等人提出了一種用于定位和跟蹤的新的算法,使用由一組發射機節點收集的相對場級,將這些層次引入到成本函數中,避免了信號強度波動對系統標定的影響。Daniel Konings[7]等人研究了基于ZigBee的室內定位系統中不同速率的Wi-Fi對RSSI值的影響。
室內無線定位方法雖然進行了比較多的研究,但在定位精度、系統實時性和可操作性方面的不足,導致室內定位系統無法大規模普及。例如二邊定位算法可以完成室內定位跟蹤的工作,但二邊定位算法定位結果精度較差,難以滿足實際應用需求。另外,國內外大量研究也都是從算法著手來提高室內定位的精度,但這樣往往帶來更加復雜的計算。在未來的研究中,兼顧定位精度和系統的實時性是重要的發展趨勢。
本文選擇以ZigBee無線通信網絡為核心并采用位置指紋與二角質心算法相結合的定位方案,分析了實驗場景下信號強度的統計特征,從統計結果入手,進行ZigBee信號測距的可行性分析,優化了基于接收的信號強度指示(RSSI)的測距方程。進而使用改進的位置指紋法和優化的參考節點布局方案完成定位。最終實現了基于ZigBee的室內定位精度的提升。
RSSI測距原理是根據無線通信信號強度隨著距離增加逐漸衰弱的規律,通過測算公式進行距離計算。當發射功率已知,通過測量收到的信號強度,由數學模型表述傳播損耗和距離之間的轉換關系,該模型也稱為長期衰落模型,表達式為:

式1中:發射節點和接收節點的距離為d,n為路徑損耗指數,該參數依賴周圍的環境和建筑物的類型,表示路徑損耗隨距離的增加而增大的快慢;Xσt是以dB為單位,且標準偏差為零的均值正態分布隨機變量;Pd為距離為d時接收到信號的功率強度;Pd0是發射節點和接收節點相距為d0的信號強度值,是一個經驗參數,通常以測量距離1m處的RSSI值為該參數大小。設P1為距離1m環境測量RSSI值大小,則由式1可得距離公式為:

根據公式2可知Pd0和n取值的不同會影響Pd的值,圖1a)給出了n為常數,Pd0為不同取值條件下Pd和d的關系,圖1b)給出了Pd0為常數,n為不同取值條件下Pd和d的關系。從圖中可以看出,Pd0增加時,相同Pd值對應的d也相應的增加;在Pd值一定時,d與n的關系成反比特性,n越小,RSSI越接近實際值,信號傳播距離可以更遠。


圖1 Pd0和n取值對Pd值的影響
在實際環境中,對ZigBee路由器的信號強度進行了采樣,采樣頻率為2Hz。間距1m時測得RSSI的值為-46,所以Pd0為-46。同時測量其他點的值,得出n=2.3。所以公式1變為公式3:

1.2.1 位置指紋算法
位置指紋算法將移動的終端設備在定位區域內采集到的信號強度作為參數對移動目標進行定位,其流程如圖2所示,大致分為兩個階段:離線階段和在線階段。在離線階段,為了采集各個位置上的指紋,構建數據庫,需要在指定的區域進行繁瑣的勘測,采集好的數據有時也稱為訓練集。在在線階段,系統將估計待定位的移動設備的位置。

圖2 位置指紋定位算法流程圖
(1)離線階段
在定位區域內設置指定參考節點,并記錄移動節點所在位置接收的所有參考節點設備的信號強度信息。生成各已知位置的參考節點對應的信號強度表:RSSI=[rssi1,rssi2,…,rssin]。表元素 rssii表示移動節點測得i點所在參考節點的信號強度(i=1,…,n)。由所有參考節點和對應位置組成位置指紋庫。移動節點的RSSI可建立一個關于信號強度與指紋庫有關的數據庫,即移動節點的路徑。
最典型的場景如圖3所示,地理區域被一個矩形網格所覆蓋,本場景中為4行8列的網格(共32個網格點),2個Access point。在每一個網格點上,通過一段時間的數據采樣(5~15min,約每秒采集一次)得到來自各個Access point的平均RSSI,采集的時候移動設備可能有不同的朝向和角度。該例子中,一個網格點上的指紋是一個二維的向量ρ=[ρ1,ρ2], 其中 ρi是來自第 i個 Access point的平均RSSI。我們記錄RSSI樣本的分布作為指紋。這些指紋是在每個網格點所示的區域(如圖3)采集到的,這些網格點坐標和對應的指紋組成一個數據庫。

圖3 基于信號強度的位置指紋法場景示意圖

圖4 三角質心算法示意圖
(2)在線階段
當來自各個 Access point的RSSI都被測量到的時候,RSSI向量的測量值被傳輸到網絡中。設圖4的例子中RSSI向量為r=[r1,r2]。確定移動設備的位置,就是要找到在指紋庫中和r最匹配的指紋ρ。一旦找到了最佳匹配,該最佳匹配的指紋所對應的位置就被估計為移動設備的位置。即首先確定所在局部區域,并獲取區域中的參考點,最終采用局部二邊定位算法獲得待測點的位置估計。
在指紋庫的M個指紋中,找到在信號空間中與RSSI觀測值的歐氏距離最近的指紋,然后將它所對應的位置坐標作為移動設備的位置。這個使用歐氏距離的方法也叫做在信號空間中找到最近鄰,因為目標是在信號空間中找到一個離RSSI觀察值最近的指紋。假設位置指紋是N維的,也就是說有N個可見的Access point,M個網格點,這樣指紋庫里面有M個指紋。r和ρ的歐氏距離定義為:

1.2.2 三角質心算法
二角質心算法是對二邊測量法的優化。基于RSSI測距方法,受實際環境影響,通常換算出移動節點到參考節點的距離都會大于實際距離。如圖4所示,參考節點為 C1,C2,C3,移動節點為 O。已知測得 O 到 C1,C2,C3的距離分別為 r1,r2,r3。分別以 C1,C2,C3為圓心,r1,r2,r3為半徑,得到重疊區域。二角質心定位算法的基本思想是:計算重疊區域的二個頂點A,B,C所組成二角形的質心為移動節點的坐標。
假設移動節點坐標為O=[x,y]T,參考節點的坐標為Ci=[xi,yi]T。參考節點個數設為N (本例中N=3)。而移動節點距離參考節點的距離設為ri,ri為距離第i個參考節點的距離,則根據已知條件可得到移動節點與參考節點位置關系如下方程組(5)所示:

使用方程組 5可計算出 A,B,C的坐標(x1,y1),(x2,y2),(x3,y3), 得出 O 點 的坐 標為 二角 形ABC 的質心((x1+x2+x3)/3,(y1+y2+y3)/3)。仿真計算可得,圖中移動節點實際位置為O,二邊測量法估計點為B,而二角質心算法的位置估計為點M。不難發現二角質心算法有更高的準確度。
實驗選取 8m(W)*12m(L)*3.6m(H)的長方形室內區域作為實際測試環境,沒有強烈的電磁干擾。該室內區域的路由器節點和參考節點安置如圖5所示。

圖5 室內路由器節點和參考節點安置示意圖

圖6 網絡節點實物圖
在室內四個角落和室內中央一共設置5個參考路由器節點,恰好形成了4個等邊二角形區域(對角線長度為14.4m),即參考節點間距為7.2m。參考節點的編號及實際坐標如表1所示。ZigBee網絡節點實物圖如圖6所示。

表1 參考節點編號及坐標

表2 三邊定位算法與位置指紋和優化的三角質心相結合算法定位結果對比
從表2實驗結果可知,采用傳統的二邊定位算法或本文提出的位置指紋與優化的二角質心算法相結合的定位算法,都可以完成室內定位跟蹤的工作。但二邊定位算法所定位的結果精度較差,定位誤差達3m左右,而且坐標浮動較大,基本處于區域級的定位精度,即只能提供人員所在的房間區域,無法完整地呈現人員移動路徑。而采用位置指紋和優化的二角質心算法相結合的定位算法,能夠比較正確的顯示位置信息,呈現人員的移動路徑,定位誤差通常情況下在1.5m左右。對于對精度要求不是非常苛刻的環境,是具有一定精度優勢的定位方法。
同時,基于ZigBee的室內定位方法不需要額外的傳感器支持,只需要很少的外圍設備即可工作,而且可擴展性強,可根據需要添加溫濕度傳感器、CO2傳感器、煙霧傳感器等,能夠應用于貴重物品位置檢測、展覽品安放報警等特殊場合。
本文完成了基于ZigBee的室內定位方法的分析和改進,以ZigBee無線通信網絡為核心并采用位置指紋與二角質心算法相結合的定位方案,分析了實驗場景下信號強度的統計特征,優化了基于接收的信號強度指示(RSSI)的測距方程。實驗結果表明該室內定位方法具有通用、低成本、高精度的特點。