張 偉
(1.北京奇虎科技有限公司360未來安全研究院,北京 100015;2.揚州大學(xué) 信息工程學(xué)院,江蘇 揚州 225001)
隨著便攜式智能設(shè)備的廣泛普及,人們可以通過便攜式設(shè)備獲取個人定位及目標物體(車輛、商品、包裹等)的位置信息。然而,相較室外定位技術(shù)發(fā)展的成熟,室內(nèi)定位技術(shù)一直處于欠發(fā)展的階段。從目前來看,室內(nèi)定位技術(shù)的多樣性不能與定位算法的優(yōu)點有效結(jié)合起來,還存在較多問題,例如功耗低但實現(xiàn)過于復(fù)雜等。
本文采用基于BLE接收信號強度指示的位置指紋定位法與最小二乘法相融合的方式來實現(xiàn)室內(nèi)定位(本文命名為“F-LS方法”),并通過構(gòu)建的定位系統(tǒng)驗證了該融合算法,能夠提高定位精度,也較容易實現(xiàn)。
根據(jù)實際定位場景下的具體環(huán)境,目前的定位方法一般包括位置估計和位置跟蹤兩大類,并且都包含物理測量、數(shù)據(jù)預(yù)處理、算法選擇三個環(huán)節(jié),如圖1所示。本文所提出的測距定位方法中,物理測量采用基于BLE接收信號強度的測量及數(shù)值優(yōu)化方法實現(xiàn),數(shù)據(jù)預(yù)處理和算法選擇是本文的核心。
圖1 定位實現(xiàn)流程
最小二乘定位通過最小化誤差的平方和來尋找數(shù)據(jù)的最佳匹配,從而達到優(yōu)化結(jié)果的目的。以信標節(jié)點數(shù)=4為例(如圖2所示),采用最小二乘方法,得到被測定位點的最終位置計算式為:
圖2 最小二乘定位(4個Beacon參考點)
其中[,], [,], ..., [x,y]為個Beacon對應(yīng)的位置坐標。根據(jù)信號強度的對數(shù)衰減模型得到相應(yīng)距離為:(,, ...,d)。
信號在空間中的多徑傳播依賴于環(huán)境本身的特性,因此每個位置的多徑結(jié)構(gòu)都是唯一確定的,進而形成特殊的位置“指紋”。由此產(chǎn)生了位置指紋(Location Fingerprint, LF)定位法,它的實現(xiàn)過程分為離線訓(xùn)練和在線定位兩個階段,如圖3所示。
圖3 位置指紋定位法原理
在定位區(qū)域內(nèi)完成對Beacon信標節(jié)點的合理布局后,采集區(qū)域內(nèi)樣本點的指紋信息得到指紋庫:
式中:(,)為一維空間位置指紋庫;(,)為二維空間位置指紋庫;為定位區(qū)域內(nèi)布設(shè)的Beacon信標節(jié)點個數(shù);為采樣點的個數(shù);(,;,)為坐標(,)位置的信號強度。
最終目標定位點的位置表達式為:
式中,(,)為某坐標位置下的信號強度,與該點信號強度的多徑相角分量(,)對應(yīng)。
圖4 建立的位置指紋
在定位區(qū)域內(nèi)布設(shè)×個Beacon信標網(wǎng)格節(jié)點,由式(2)可得,被測定位點的位置坐標為:
最終,位置指紋-最小二乘融合定位法F-LS測定位置坐標為:
誤差累積概率(;,)為 :
式中:為所測結(jié)果的標準差;為總體標準差;為期望值。
建立設(shè)備無關(guān)指紋數(shù)據(jù)庫時,在空曠的室內(nèi)環(huán)境內(nèi)的同一平面均勻設(shè)計采樣點,采樣間隔為邊長0.5 m的方形地磚;然后定位被測目標位置,對每個采樣點采集一次數(shù)據(jù)并記錄;最后使用位置指紋-最小二乘融合(F-LS)建立位置指紋數(shù)據(jù)庫。
根據(jù)藍牙信號強弱測距、位置估計優(yōu)化的設(shè)計思路,在實際的實驗機房完成Android程序的設(shè)計,實現(xiàn)Beacon參考點的測距。Android程序?qū)崿F(xiàn)如圖5所示。
圖5 藍牙測距定位Android程序結(jié)構(gòu)示意圖
通過Android Studio創(chuàng)建二維圖形Android應(yīng)用程序,將圖片bluetooth.png復(fù)制到AS的“res/drawable”目錄;修改前面的定位程序,將定位結(jié)果以二維圖形方式顯示,如圖6所示。
圖6 Android二維顯示界面
手機或開發(fā)板屏幕對應(yīng)整個室內(nèi)定位空間,布局文件activity_main.xml包括2D圖形和控件,MainActivity訪問MyView以傳送定位點坐標。在activity_main的MyView中增加屬性android:id="@+id/myview",在MainActivity中使用findViewById(R.id.myview)訪問MyView。
實驗環(huán)境為機房室內(nèi)(6.51 m×10.12 m),將4個Beacon布置在機房的四個角落,如圖7所示。本文從測試區(qū)域中選取中軸線上的11個點,使用最小二乘法、位置指紋法和本文提出的F-LS方法統(tǒng)計各個采樣點的測定結(jié)果,并以Android界面像素值的0.001記入,見表1所列。從測試結(jié)果可以看出,最小二乘定位和位置指紋法的平均誤差相差不大,定位精度不穩(wěn)定,誤差波動較大;而通過位置指紋-最小二乘融合(F-LS)方法能夠有效地規(guī)避定位誤差的波動,提高結(jié)果的穩(wěn)定性和定位精度。
表1 三種定位方法測試結(jié)果對比
圖7 測試環(huán)境示意圖
從圖8中定位結(jié)果的誤差累積分布可以看出,F(xiàn)-LS方法的定位誤差均小于位置指紋定位法,定位精度的穩(wěn)定性優(yōu)于最小二乘法,說明了該方法的有效性。
圖8 誤差累積分布
本文提出的室內(nèi)測距定位方法,主要通過位置估計、模型優(yōu)化,在Android上實現(xiàn)了室內(nèi)準確定位,并將結(jié)果以二維圖像形式顯示出來。經(jīng)實際測定,該方法在6.51 m×10.12 m的室內(nèi)環(huán)境下,定位精度優(yōu)于75 cm,完全可以滿足日常的目標定位功能。該方法已經(jīng)在Android上實現(xiàn),可參考程序地址為:https://github.com/Charmve/Bluetooth-Location_2D。