《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > 基于手持设备的室内定位系统设计与实现
基于手持设备的室内定位系统设计与实现
来源:微型机与应用2012年第13期
胡天琨,叶建芳
(东华大学 信息与科学技术学院,上海 210620)
摘要: 为解决无法在室内使用GPS的问题,设计并实现了基于常用手持设备(如手机、平板电脑)的室内定位系统。系统融合了传统的惯性定位方法和基于WiFi信号强度定位方法,易于搭建,仅需一个包含惯性传感器、电子罗盘、WiFi扫描的手持设备。提出了惯性定位中的路径匹配算法和WiFi信号定位方法中的位置估计算法。经实际测试,系统定位精度小于4 m。
Abstract:
Key words :

摘  要: 為解決無法在室內(nèi)使用GPS的問題,設計并實現(xiàn)了基于常用手持設備(如手機、平板電腦)的室內(nèi)定位系統(tǒng)。系統(tǒng)融合了傳統(tǒng)的慣性定位方法和基于WiFi信號強度定位方法,易于搭建,僅需一個包含慣性傳感器、電子羅盤、WiFi掃描的手持設備。提出了慣性定位中的路徑匹配算法和WiFi信號定位方法中的位置估計算法。經(jīng)實際測試,系統(tǒng)定位精度小于4 m。
關鍵詞: 室內(nèi)定位;慣性定位;WiFi信號定位;路徑匹配

 位置信息在人們的日常生活中扮演著重要的作用。目前全球定位系統(tǒng)GPS是獲取室外環(huán)境位置信息的最常用方式。但由于衛(wèi)星信號容易受到各種障礙物遮擋,使GPS衛(wèi)星定位技術并不適用于室內(nèi)或高樓林立的場合。目前無線室內(nèi)定位技術迅速發(fā)展,已成為GPS 的有力補充。
本文使用WiFi信號強度、電子羅盤和慣性(加速度)傳感器這三個信息來完成室內(nèi)定位。這三種信息可以輕易地從一個手持設備(如手機、平板電腦)上獲取。使用慣性傳感器和電子羅盤進行的慣性定位最大的不足在于難以消除累積誤差,而現(xiàn)階段單純使用WiFi信號強度進行定位則存在分辨率太低以及無法連續(xù)定位的缺陷。本系統(tǒng)則融合了慣性定位和以WiFi定位這兩種方法以彌補彼此的缺陷。
1 系統(tǒng)原理
 系統(tǒng)原理如圖1所示。Open Street Map網(wǎng)站能提供類似于Google地圖的服務,其最大特點在于允許用戶使用XML語言編輯地圖,并且生成大小與實際經(jīng)緯度成比例的PNG格式的地圖背景圖片[1]。本文使用Josm來編寫適用于該網(wǎng)站的XML文件并上傳,用戶可在遠端通過手持設備從該網(wǎng)站上下載XML文件與PNG地圖背景。其中,XML文件包含地圖信息用于實際定位,PNG圖片用于界面顯示及用戶交互。在手持設備中,慣性傳感器可用來判斷用戶是否運動,電子羅盤可獲取移動方向,通過這兩個信息以及用戶的步長便可實現(xiàn)慣性定位。系統(tǒng)中的WiFi信號用于獲取用戶當前位置信息以及消除慣性定位中的累積誤差。

2 慣性定位
 傳統(tǒng)的慣性定位系統(tǒng)通過目標的初始位置、運動方向以及運動速度來實現(xiàn)目標的定位[2]。在本文中初始位置通過WiFi信號獲得,運動方向通過電子羅盤獲得,運動速度通過用戶是否運動以及運動的步長來代替。其中步長由用戶的身高來估計,而用戶是否運動則由慣性傳感器來獲取。
2.1 運動檢測
 手持設備中的慣性傳感器可分別檢測X、Y、Z方向上加速度的大小與持續(xù)時間。本文使用Z方向的數(shù)值來檢測運動,因為其在用戶運動時變化最顯著,其典型變化值如圖2所示。當加速度峰值的持續(xù)時間、間隔時間以及峰值大小均達到一定數(shù)值時則可認為用戶進行了一次移動。通過合理設置這三個數(shù)值可消除抖動干擾。通過實驗發(fā)現(xiàn),間隔時間>333 ms、持續(xù)時間>165 ms、峰值大小>2 m/s2,較為接近實際情況。

2.2 路徑匹配算法
 在獲取用戶的當前位置以及目標位置之后,系統(tǒng)通過從Open Street Map上下載的包含地圖信息的XML文件計算出最佳路徑,并在PNG格式的地圖背景圖片上繪制出最佳路徑。當用戶沿著該最佳路徑移動時,系統(tǒng)使用路徑匹配算法將用戶的位置顯示在地圖背景圖片上,并通過判斷用戶是否移動來實時地更新顯示位置。
系統(tǒng)首先根據(jù)XML地圖信息文件、用戶的起始位置和選擇的終點位置以及用戶的步長來生成一個最佳路徑數(shù)據(jù)結構,該數(shù)據(jù)結構包含了用戶需要移動的期望步數(shù)和期望方向。當用戶沿著最佳路徑移動時,系統(tǒng)通過電子羅盤和慣性傳感器獲取用戶實際的移動步數(shù)和方向,如圖3所示。根據(jù)實際經(jīng)驗,當系統(tǒng)檢測到用戶移動且方向與最佳方向的夾角<40°時,則直接估算用戶位置并顯示到地圖背景上。但是由于用戶的步長是根據(jù)用戶的身高來估計的,這會導致用戶的實際步數(shù)和計算出來需要走的步數(shù)不一致。本文通過以下方法來解決此問題:當連續(xù)檢測到多個步長的方向與期望步長方向不一致時,在最佳路徑數(shù)據(jù)結構中向前搜索。若找到多段預期路徑,則選步數(shù)最長的期望路徑與檢測路徑匹配,此情況表明估計步長過小,期望步數(shù)多于實際步數(shù);若無法找到期望路徑,則放棄當前的檢測路徑,此情況表明估計步長過大,實際步數(shù)多于期望步數(shù)。

3 基于WiFi信號定位
 本文采用基于WiFi信號強度的“指紋”匹配定位方法來確定慣性定位導航的初始位置以及消除其累積誤差,此方法需要知道各WiFi接入點在地圖中參考節(jié)點的信號強度RSSI(Received Signal Strength Indicator),參考節(jié)點的選取決定了定位精度。實際中某一固定點的WiFi信號強度的概率分布接近于高斯分布,因此,可在參考節(jié)點多次測量信號強度并取平均來建立地圖的WiFi信號強度指紋庫[3-4]。
 目前指紋匹配定位方法大多基于貝葉斯估計理論,根據(jù)選擇不同的似然函數(shù)來計算目標位置的后驗概率,后驗概率最大的即為估計位置。這種方法精確度高,但是計算量大。而本系統(tǒng)所有的計算工作均需要在手持設備上完成,因此本文提出了一種兼顧精確度和計算量的定位算法,其偽碼描述如下:
        n=0,Sum_L_P=0;
     For Each APi:
        For Each Lj:
         If Object_APi_RSSI∈(Lj_APi_RSSI-σ,
Lj_APi_RSSI+σ);
                n=n+1;
                Lj_APi_Selected=True;
         End If
        End For;
        For Each Lj:
            If Lj_APi_Selected==True;
                Sum_Lj_P=Sum_Lj_P+1/n;
        End For;
        n=0;
    End For;
    Return Max(Sum_L_P);
這里假設地圖上有m個WiFi信號源(AP),信號強度指紋庫有n個參考點。Object_APi_RSSI表示當前位置第i(i=1,2,3…m)個信號源的信號強度,Lj_APi_RSSI表示第j(j=1,2,3…n)個參考點中第i個信號源的信號強度。對每個Object_APi_RSSI,在指紋庫中依次對比各參考點所對應的信號源,若有n個參考點與Object_APi_RSSI的差值小于一個經(jīng)驗值σ,則將這些參考點的權值Lj_APi_P設為1/n。對所有信號源做如上處理后,選出累加權值Sum_Lj_P最大的參考點為估計位置。如有多個參考點權值一樣,則取這幾個點的平均為估計位置。
4 兩種方法的融合

 


 本文在三個方面將慣性定位法和WiFi定位法進行了融合:
?。?)基于WiFi信號的定位法的精確度反比于指紋庫中參考點的間隔距離,但是由于WiFi信號強度的類正態(tài)分布特性導致其精確度不能無限大。實際中參考點的間隔距離應大于3 m,因此,單純地使用WiFi信號定位方法會給用戶視覺上認為存在延時與不連續(xù),而慣性定位方法能根據(jù)慣性傳感器的移動檢測來實時更新用戶位置,同時WiFi信號定位法則為慣性定位法提供用戶的起始位置。
?。?)慣性定位法需要知道用戶的步長,而此參數(shù)是靠用戶輸入身高來確定的。本文雖然在路徑匹配算法中對此進行了補償,但是通過實驗發(fā)現(xiàn)當用戶的行走距離超過50 m時,用戶位置和估計位置差會大于5 m。因此,當系統(tǒng)檢測到用戶的位移超過50 m時,則自動調(diào)用WiFi定位法來估計用戶當前位置,并將其作為新的起始位置重新啟動慣性導航。
?。?)本文的路徑匹配算法的前提在于用戶需要按照系統(tǒng)給出的最佳路徑進行移動,否則該算法無效。因此,在路徑匹配算法中連續(xù)出現(xiàn)20個檢測方向與期望方向不匹配時,則認為用戶沒用按照最佳路徑移動,此時則啟動WiFi定位法來估計用戶當前位置,并將其作為新的起始位置重新啟動慣性導航。
 本文融合慣性定位法和WiFi定位法設計了一個的室內(nèi)定位系統(tǒng),提出了慣性定位方法中的路徑匹配算法和WiFi定位方法中的位置估計算法,內(nèi)部算法兼顧了定位的精確度和算法復雜性。該系統(tǒng)易于實現(xiàn),并在Android手機上實現(xiàn)了該系統(tǒng)。經(jīng)多次測試,系統(tǒng)的精確度小于4 m。
參考文獻
[1] 陳維克,李文鋒,首晰,等.基于RSSI的無線傳感器網(wǎng)絡加權質(zhì)心定位算法[J].武漢理工大學學報,2006(2):55-59.
[2] 韓霜,羅海勇,陳穎,等.基于TDOA的超聲波室內(nèi)定位系統(tǒng)的設計與實現(xiàn)[J].傳感技術學報,2010,23(3):347-353.
[3] 趙方,馬嚴,羅海勇,等.基于核函數(shù)法及馬爾可夫鏈的節(jié)點定位技術[C].第三屆中國傳感器網(wǎng)絡學術會議,2009.
[4] 任維政,徐連明,鄧中亮,等.基于RSSI的測距差分修正定位算法[J].傳感技術學報,2008,21(7):1247-1250.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。

相關內(nèi)容