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