王 颯,龔凡婷,耿麗麗
(自然資源部 四川基礎地理信息中心,成都 610041)
隨著室內位置的服務在日常生活中需求逐漸增加[1],研究者越來越關注面向室內區域的定位技術。文獻[2]結合紅外線和超聲波技術,設計了實現方案,但需要較高的部署成本。文獻[3]利用RFID技術研究了倉庫安防系統的實現思路。文獻[4]提出了一種基于雙天線的藍牙定位技術。文獻[5]將超寬帶技術應用在室內機器人定位系統中取得預期定位結果。文獻[6]利用不同的無線保真(wireless fidelity,WiFi)定位技術實現單一信號源的人員定位,文獻[7-8]提出多種方法優化WiFi定位的精度。文獻[9]實現了基于ZigBee信號指紋的跟蹤定位方法。文獻[10-11]利用計算機視覺技術實現亞米級的定位精度。但這些定位技術多是單一信號源定位,定位精度無法滿足正常需求,再者,需要額外的硬件平臺,提高了系統部署的成本,因此采用多源信號融合、降低硬件平臺要求成為室內定位技術亟待解決的關鍵問題。
以開源為基礎的 Android智能手機獲得越來越多的應用,除了提供友好的軟件功能外,還包括如無線信號接收器、慣性裝置等硬件模塊[12]。因此結合Android智能手機設計實現一個實現簡單、部署成本低、實用性強的室內定位系統是一個必須和緊迫的任務。本文結合室內普遍應用的WiFi設備以及Android移動設備內嵌的加速度傳感器和方向傳感器信息,設計一種 WiFi信號輔助智能手機的室內融合定位算法,并最終在智能手機平臺上進行融合算法的測試。
WiFi定位一般采用信號強度法實現,該方法分2大類:信號強度衰減模型法和信號強度指紋匹配法。信號強度衰減模型法需要在待定位區域收集相關的信號發射器的位置信息[13],由于該方法獲取結果遠低于指紋匹配法的定位精度,因此采用信號強度指紋匹配法來實現WiFi定位。
指紋匹配法通過計算當前信號強度值與待定位區的參考數據庫對比來估計移動物體可能的位置。該方法包括指紋庫建立階段、數據匹配階段:指紋庫建立階段是在室內待定位區布設的采樣點上逐點采集每個格點上的接收到的所有信號強度值,和該采樣點的坐標值同時保存起來,這些信息被稱為位置指紋;數據匹配過程是把獲取到的信號強度值與指紋庫中的數據逐一計算,取信號值最相似的樣本點的位置信息作為計算結果。
在指紋庫數據記錄中,一個采樣點上記錄接收到的所有 WiFi信號發射器的物理地址(medium access control, MAC)和對應信號強度值。然后基于信號強度最近鄰法[14]實現定位計算。實現思路是:獲取定位點接收到所有信號強度值,讀取每個信號值的 MAC標識,再得出每個信號強度值與數據庫該信號的相似度為

式中:i表示與數據庫中第i個指紋點計算;Smi-Rmi代表接收到的信號發射點和數據庫中第i個具有相同信號發射點對應的信號強度值之差(一共有M個信號來自相同信號發射點,m取值1~M);Dni代表到接受到信號發射點和數據庫中第i個具有不同信號發射點對應的信號強度值(一共有N個信號來自不同發射點,n取值 1~N)。求出全部指紋點匹配度,匹配度最高的指紋點的坐標信息作為計算結果。
由于受到硬件條件的制約,WiFi信號強度值隨時間和周圍環境的變化存在很大的波動性。為了直觀驗證WiFi信號強度波動性,在室內定位區任意選擇一個采樣點連續掃描25次,并選取相同的5個發射點的信號,對應的信號強度變化如圖1所示。

圖1 信號強度
從信號強度圖中可以看出:5個無線網絡接入點(access point, AP)發射的強度大小不一,且都有較大的波動性,這造成不同時刻定位結果差別很大。
為了直觀表示定位結果的跳動現象,在實驗區某一區域建立局部坐標系,正東方向為X軸正方向,正北方向為Y軸正方向,測試點的真實位置在局部坐標系中坐標為(5,5)。圖2為在任意一個位置持續定位40次的效果圖,可知跳動顯著且分布無規律。

圖2 定位結果
行人航位推算(pedestrian dead reckoning, PDR)原理:以行人在較短的采樣時間內做直線運動為前提,當得知行人起點位置信息、行人的朝向以及行人的位移量就可以推算出行人下一時刻的位置。PDR原理如圖3所示。
行人從(x1,y1)到(x2,y2)的計算公式為


圖3 PDR算法原理圖

式中:S12表示從坐標(x1,y1)到(x2,y2)的距離;θ1表示(x1,y1)到(x2,y2)方向與X軸正方向夾角。由推算公式可知整個過程中有2個關鍵因素:行人位移S和行人朝向角θ。位移S可以通過已有的步頻-步長模型法來估算獲取,方向角可以通過手機方向傳感器與陀螺儀組合修正后得到。
在行人的走動過程中,每個邁步周期產生的垂直方向加速度變化過程保持一致,分為以下幾個過程:
1)從腳蹬地離開地面作為一個周期的開始階段,由于地面的反向作用力導致垂向加速度增大;
2)當腳離地面最遠處,垂直方向加速度值增加至最大;
3)腳向下運動過程,垂直加速度值開始逐漸變小;
4)當腳再次著地完成一個邁步周期,垂直方向加速度值減至最小。
前進方向加速度是由雙腳與地面摩擦發生的,它的變化規律為:雙腳同時接觸地面時增大,在一腳離開地面時加速度值減小[15]。圖 4為行人正常步行中3個軸向(X,Y,Z)和整體加速度(α)實際檢測到的變化情況。手機在具體使用時,其放置位置是隨意的,造成單一方向的加速度值無法反映真實的運動狀態,所以使用整體加速度值來進行計步推算。

圖4 加速度
計步算法和步長模型均采用文獻[13]提出的步態檢測算法,通過對23位不同測試者的4 000步數據得出步長模型為

式中:f為步頻;a、b為相關系數。步頻是步態檢測算法中得到每一步時間的倒數。
行人方向角的確定一般通過磁航向角和捷連航向角2種方式實現。磁航向角是通過方向傳感器直接得到相對于地磁北極的絕對方向角hmag(0~360°),計算公式為

式中mx、my為方向傳感器的橫縱軸瞬時值,通過手機磁力計可以直接獲取得到。磁航向角容易獲取,但缺點是易受環境的干擾。
捷連航向角是通過對陀螺儀數據進行積分,結合初始方向角并經過一定角度轉化得到的。捷連航向角為

式中:hk是當前捷連航向角;hk-1是上一時刻的捷連航向角;wt是k時刻的陀螺儀讀數。
本文采用捷連航向角矯正磁航向角后的值作為方向角H,這樣既容易處理,同時減少外界環境干擾,又能一定程度上矯正長時間漂移等帶來的較大位置誤差。方向角為

式中W為權值,采用由Klingbei和Wark[14]總結的權值。
Android智能手機操作系統對WiFi硬件模塊和各種慣性傳感器模塊進行了底層API封裝,開發者可以方便調用。根據實際情況和初步需求分析,選擇室內公眾 WLAN信號輔助手機慣導進行融合定位。選擇單位所在地某一普通辦公樓一層,該環境包括了實驗所需的室內環境和 WiFi無線信號。測試手機采用市場占用率較高的華為手機作為實驗平臺進行定位數據獲取和定位算法計算的平臺。
Android API提供操作WiFi硬件的函數接口:WiFiManager類,使用此接口可以方便開發信號采集軟件。考慮到采集信號的時間成本,在待定位區域共布設采樣點 275個,根據文章[16]實驗結果將平均間距設為2~3.5 m,圖5為指紋點的平面分布圖,將點均勻地布滿整層建筑的過道,在每個采樣點上連續采集 20次 WiFi信號并取均值存入指紋庫中。

圖5 采樣點分布
在實驗場地任意選擇 15個測試點,分別定位10次,計算各點的平均誤差和最大誤差來分析僅采用泛在 WiFi信號的定位效果。圖 6為定位誤差的統計結果,可以看出僅使用WiFi信號作為數據源的算法的定位穩定性非常不好。

圖6 定位誤差
Android系統內嵌了多個函數接口操作傳感器,如圖7所示接口名稱和采樣頻率。

圖7 接口和采樣頻率
由于硬件本身差異性使得加速度計的數據采樣頻率在小范圍內變化。圖8是在測試的手機平臺上進行加速度值采樣并記錄每次數據的采樣時間,圖 8中采樣間隔時間不是固定值而是在固定范圍內上下波動。為了消除這種波動對計步算法的影響,采用更高采樣頻率采集數據。本文采用 50 Hz頻率即SENSOR_DELAY_GAME級別頻率。

圖8 加速度響應間隔時間變化
本文分3步來實現手機慣導定位:行人狀態判別、行走距離計算、坐標計算。
1)行人狀態判別:計算采樣間隔內整體加速度的標準差,若小于閾值說明該采樣間隔內行人運動狀態為靜止狀態,否則為行走狀態。為了獲取標準差先驗閾值,統計若干行人行走和靜止各6 000次的采樣數據,以1 s為計算周期得到標準差σ的分布,圖9是最終的統計結果:當σ<0.5時可以推斷狀態為靜止。

圖9 行走和靜止狀態下加速度標準差比重分布
2)行走距離計算:在行走狀態下,利用波峰檢測算法計算該間隔內的步頻以及利用步長公式計算對應的步長最終計算出行走的距離。
3)坐標計算:結合朝向角,計算行人的位移量。通過位移量和起始位置坐標可以求出行人當前坐標。手機慣導定位需獲取行人的起點坐標信息,圖 10為已知起點坐標時系統的定位結果。定位結果說明:由于手機傳感器的精度不高使得手機慣導定位隨著行走距離變大產生了較大的累計誤差。

圖10 手機慣導定位結果
采用融合算法,將WiFi和手機慣導二者優勢結合。根據慣導定位數據將行人的運動狀態分為2種:靜止和運動。
1)靜止狀態。靜止狀態下對WiFi定位結果進行單點定位濾波優化,使得靜止時 WiFi的單點定位精度有效提高。
在實驗區選擇15個定位點,連續實驗10次,分別進行WiFi單獨定位和WiFi融合手機慣導定位。對10次計算結果誤差取平均進行對比,如圖11所示,可知融合后的計算精度有明顯改善。
2)運動狀態。運動狀態下使用文獻[12]的無跡卡爾曼濾波(unscented Kalman filter, UKF)融合算法對定位結果進行融合計算。
在實驗區從圖 10所示的起點走到終點共計220步,分別求出每一步對應PDR定位結果、WiFi定位結果和UKF融合定位結果,并對這220步的誤差進行統計得出如圖12所示的結果,可知UKF融合后定位誤差明顯優于PDR定位和WiFi定位,實驗結果與文獻[12]的實驗結果基本吻合。

圖11 定位結果對比

圖12 定位誤差分布
在人類活動常在的辦公室內環境中,采用廣泛存在的 WiFi信號融合 Android智能手機內嵌的慣導信息進行了多場景、不同數據源的定位實驗。在智能手機平臺的實驗結果表明,此技術能夠很好融合公共WiFi信號和智能手機的慣導信息,得到滿足室內定位應用要求的結果,提升了泛在無線信號以及智能手機在室內定位中的可用性。