藍芳萍+張文錦+殷旭東
摘 要:移動終端室內定位技術需求日益增加,解決方案多種多樣,但已有技術存在實現困難、硬件功耗大、環境變化不適應等問題。闡述了基于ZigBee協議和RSSI測距算法實現室內定位的基本原理,并以此理論為基礎設計了室內定位系統。設計了室內定位系統整體架構,闡述了室內定位系統關鍵技術,包括RSSI測距模型、參數優化、節點RSSI閾值處理、盲節點坐標計算及ZigBee自組網。選取實驗樓進行測試,結果表明,基于該技術的定位系統精確度較高,且具有節能和環境適應性好等優點。
關鍵詞:室內定位;ZigBee技術;RSSI測距
DOIDOI:10.11907/rjdk.172262
中圖分類號:TP319
文獻標識碼:A 文章編號:1672-7800(2018)002-0105-03
0 引言
室內定位技術[1]蓬勃發展,技術方案有基于測距技術和基于非測距技術兩大類。基于測距技術的算法有AOA、TOA、TDOA和RSSI;基于非測距技術的算法有DV-HOP、質心算法等[2] 。
室內定位技術多樣、室內環境復雜,對該技術的研究較多。如唐銘等[3]研究比較了TDOA與TOA這兩種基于測距技術的方法,得出TDOA的定位精度更高但實現難度較大的結論;魏培等[3-4]將三角形質心算法改進為內三角形質心算法,用以解決基于非測距質心算法定位精度低、穩定性差等問題,但算法流程多,實現較復雜;干建勇等[5]為了解決DV-HOP算法精度低的問題,提出改進算法ECDV-HOP,但改進后存在通信量和計算量明顯增大,算法代價高等問題。RSSI測距[6]算法難度較低,易于實現,不需要額外增加硬件設施,是大多數室內定位系統的首要選擇。
在藍牙、WiFi、超聲波、ZigBee等短距離無線通信技術中,藍牙通信技術雖然成本功耗低,但傳輸性能差穩定性差;WiFi在生活中常見,用于室內定位可說是一舉兩得,但現有的WiFi定位技術依賴于熱點位置,若要實現較準確的定位,需布置充足的WiFi熱點,成本高功耗大;超聲波技術用于室內定位準確度高,但易受障礙物影響且設備成本高。ZigBee[7]作為一種低成本、低功耗、低速率的短距離無線傳感網絡技術,信號傳輸不受視距影響,用于室內定位系統有獨特優勢。因此,本系統采用具有低成本、低功耗的ZigBee通信協議和RSSI測距技術,實現室內定位。
1 系統整體設計
系統由ZigBee無線傳感器網絡、上位機和用戶定位導航APP三部分組成。ZigBee無線傳感器網絡主要是收集和形成用于實現盲節點定位的數據信息,并傳送給上位機;上位機則負責處理ZigBee無線傳感器網絡傳送過來的數據包,用定位算法計算出盲節點坐標。
系統處理流程: ZigBee盲節點廣播的RSSI信號值,通過ZigBee自組網中的ZigBee參考節點將其收集并發送給協調器,協調器通過WPAN(無線個人局域網)傳送給上位機,上位機將從ZigBee自組網內接收到的數據包交給數據處理程序,計算出盲節點位置坐標。系統架構如圖1所示。
2 關鍵技術
本系統定位采用RSSI測距算法。定位算法分兩步:①使用RSSI測距算法測距;②根據測得的距離以及從ZigBee節點收集到的數據,計算出盲節點位置。
2.1 RSSI測距模型
信號在傳播過程中,由于外界環境的復雜性會在一定程度上造成信號衰弱,而且傳播距離越大,信號衰弱越大,根據這個規律可以得出信號強度的衰減與距離的關系。目前工業中采用最多的無線信號傳輸理論模型為shadowing模型[8]:
2.2 參數優化
A和n的值對能否實現精準定位起著至關重要的作用,為了提高RSSI信號值的準確度,參數A和n的取值需要在實際定位環境中多次測量計算取得。
2.3 盲節點RSSI閾值處理
所謂盲節點RSSI閾值[10],用來排除受環境干擾比較嚴重的參考節點接收到的RSSI信號值,是衡量RSSI信號值的一個標準量。
設閾值為RRSSI,參考節點的定位半徑為r,首先參考節點在距離盲節點為r處接收多個RSSI信息包,然后通過參考節點RSSI值濾波處理的優化步驟得到一個RSSI值,該值可作為閾值RRSSI。為了提高定位的準確性,需多次測量,最后取所有RSSI值的平均值作為閾值。
假設盲節點接收到一跳范圍內n個參考節點的RSSI值RSSIi,i=0,1,…,n,x為RSSIi≥RRSSI的個數。如果x≥3,則這x個參考節點所接收的RSSI信號值說明,該參考節點的數據受障礙物影響小,可以使用;如果x<3,即參考節點受障礙物影響大,但所接收的RSSI仍具有參考意義。所以,將一部分參考節點接收到的RSSI信號值與參考節點位置信息打包發送給協調器。
2.4 盲節點坐標計算
2.5 ZigBee自組網
ZigBee網絡最大的特點就是在ZigBee啟動后將自動形成ZigBee局域網絡。ZigBee的網絡類型分為星型網、樹狀網和網狀網。組建一個ZigBee網狀網分為兩步:①協調器初始化;②ZigBee節點加入網絡。
2.5.1 協調器初始化網絡
協調器初始化網絡步驟:①檢測協調器。由具有ZigBee協調器功能的節點發起建立一個新網絡;②信道掃描。網絡層實體選出一個網絡數目最少、符合要求的信道。若沒有,則進程終止,初始化失敗;③配置網絡參數。網絡管理層實體隨機分配一個唯一的PAN描述符給這個新網絡。若沒有符合條件的PAN描述符則進程終止,初始化失敗;④運行新網絡。MAC層啟動并運行新網絡;⑤允許設備加入網絡,由ZigBee協調器或路由器來設置網絡狀態。
通過上述步驟,協調器建立一個新的網絡并允許ZigBee節點加入。endprint
2.5.2 節點加入網絡
節點加入網絡有兩種方法:①通過使用MAC層關聯進程加入網絡;②通過與先前指定的父節點連接加入網絡,本文采用后一種方法。
(1)父節點處理子設備直接加入網絡。父節點對請求加入的子節點進行判斷,確定它不存在于新的網絡中;確認后為其分配一個網絡地址,并在節點信息表中登記。
(2)子節點連接父節點確認父子關系。子節點要向父節點發起建立父子關系,此時網絡層實體管理將會掃描信道,確認父節點信息。確認完畢后,通知父節點允許子節點加入,此時子節點與父節點之間建立了父子關系,即成功加入ZigBee網絡。
經過上述步驟,ZigBee節點在協調器的作用下即可自動加入ZigBee自組網絡中。
3 測距定位流程
ZigBee協調器啟動后,與室內所設置的ZigBee參考節點自動組成網路,并通過WPAN與上位機建立連接。用戶進入室內前,工作人員為其分配一個手持電子標簽(盲節點)。進入室內后,電子標簽將自動加入ZigBee協調器組成的網絡并不斷發送RSSI信號,開始向網絡廣播數據包;參考節點接收到廣播數據包后,處理廣播包中的RSSI值,將RSSI值與自身的位置信息整合,并將處理后的數據包發送到協調器;ZigBee協調器接收參考節點發送的數據包并發送至上位機;上位機處理接收到的數據包并計算出盲節點坐標。圖3為定位流程。
4 系統測試
4.1 數據包說明
定位數據由ZigBee節點收集,以比特流的形式傳輸至上位機。表1、表2為一個數據包實例。
4.2 上位機軟件運行實測
上位機將接收到的數據包進行處理,最終由上位機定位軟件顯示,圖4為測試結果。圖中藍色框帶有標簽號的為參考節點,黑色框帶有標簽號的為盲節點。以N6一樓為實驗環境,設置3個參考節點和一個盲節點進行測試。
5 結語
本文論述了基于ZigBee技術和RSSI測距算法的室內定位技術,詳細說明了室內定位系統的基本架構和原理,優化了RSSI測距,提出了RSSI閾值處理方法,計算出盲節點與參考節點之間的準確距離;同時提出一種盲節點計算方式,利用最小二乘法準確計算出盲節點坐標。最后在上位機中編寫出測試軟件,利用實驗樓環境實測室內定位技術,結果顯示效果理想。但由于參考節點數量少,實驗環境中畫圈區域的定位由于非視距、信號強度等因素,會影響到定位準確度。今后將增加參考節點數,實現整個樓層的精準定位。
參考文獻:
[1] 趙旋旋,韓李濤,鄭瑩,等.室內導航模型研究綜述[J].軟件導刊,2016(5):1-3.
[2] 劉夢君,曾帥.室內定位導航技術[J].科技展望,2017(6):140-141.
[3] 唐銘,張志穎.基于TDOA室內定位算法的研究[J].科技與企業,2016(2):225-226.
[4] 魏培,姜平,賀晶晶,等.基于內三角形質心算法的超寬帶室內定位[J].計算機應用,2017(1):289-298.
[5] 干建勇,張靜.一種基于DV-Hop節點的室內定位改進算法[J].上海師范大學學報:自然科學版,2017(1):48-53.
[6] 陶佳峰,楊曉洪,王劍平,等.基于RSSI的室內測距模型優化技術[J].傳感器與微系統,2017(1):24-30.
[7] 陳偉.基于ZigBee網絡的路由算法研究[J].軟件導刊,2017(3):42-44.
[8] 付雄,彭冰.基于Shadowing模型的無線入侵主機物理定位研究[J].微電子學與計算機,2010(12):4-9.
[9] 朱明輝,張會清.基于RSSI的室內測距模型的研究[J].傳感器與微系統,2010(8):19-22.
[10] 王鵬,施偉斌,孫鳳.基于RSSI值的室內定位系統算法研究[J].數據通信,2014(2):30-33.endprint