文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.023
中文引用格式: 王亞娜,蔡成林,李思民,等. 基于行人航跡推算的室內定位算法研究[J].電子技術應用,2017,43(4):86-89,93.
英文引用格式: Wang Yana,Cai Chenglin,Li Simin,et al. The research on indoor positioning algorithm based on pedestrian dead reckoning[J].Application of Electronic Technique,2017,43(4):86-89,93.
0 引言
目前已有大量關于室內定位技術的研究,包括紅外技術IR[1]、無線局域網WLAN[2]、藍牙技術Blue Tooth[3]、計算機視覺Computer Vision[4]等。而基于自包含傳感器的定位技術是近幾年比較熱門的一種室內定位手段,其突出優勢在于可抗干擾地提供實時、連續、精準的位置信息。
目前國內外已有不少對基于自包含傳感器的定位技術的研究。FOXLIN E[5]等人提出基于慣性測量單元(Inertial Measurement Unit,IMU)的傳統導航機制,通過將加速度兩次積分得到行走距離,將陀螺儀積分得到航向變化值,最終得到較為精確的定位結果,然而其高精度性能的基礎是價格昂貴的IMU,在行人定位中并不能普及;LEVI R W和JUDD T[6]提出了行人航跡推算(Pedestrian Dead Reckoning,PDR)算法來實現行人定位,該算法利用加速度信號的周期性來確定用戶的步頻,采用相關模型估計步長,利用從陀螺儀獲得的方向信息推算出行人的速度、位置和距離等信息,算法簡單,比傳統慣性導航機制的定位精度更高。然而,為了得到明顯的行人步頻特性,采集原始數據時需將傳感器固定在腿部,在實際生活中并不實用。
基于上述原因,本文從新的角度提出一種基于PDR的室內定位方法,并且設計了相應的基于Android平臺的數據采集軟件,行走時以正常持手機的方式即可采集到數據,這種手持式的數據采集方式在不影響精度的情況下,可以提高PDR算法的實用性。
1 PDR定位原理
PDR算法的基本原理是利用加速度信號的周期性來確定用戶行走時的步頻,采用相關模型估計步長,結合從角度傳感器獲得的方向信息推算出行人的位置、距離、速度和方向等信息[7]。該算法包含4個核心問題:步頻探測、步長估計、方向確定和位置計算。
2 步頻探測算法
正常人行走時的加速度具有周期性,本文采用峰值探測和零點交叉法來確定行人的步頻。為了避免系統誤差,忽略加速度計具體朝向帶來的影響,計算時采用三軸總加速度,這樣三軸加速度值的波形就保持在一個固定的數值范圍[0,2g]內變化[8]。
步頻探測算法步驟如下:
(1)初始化,獲取加速度數據;
(2)初始化滑動窗口,剔除重力加速度值并平滑;
(3)零點探測;
(4)峰值探測;
(5)如果探測到的峰值大于預設的峰值閾值,且相鄰兩個峰值之間的時間差大于規定時間閾值,該峰值記為有效峰值[9];
(6)探測跨步結束點,統計步頻。
3 步長估計算法
其中,β是比例因子,定位之前將得到的訓練數據經最小二乘法擬合得到。
4 方向估計算法
4.1 陀螺儀估計方向角
表征姿態有很多種方法,本文選取四元數來確定行人方向角。基于四元數的剛體運動學方程如式(3)所示:
假設在一個采樣周期內角速度是常量,對式(4)求差分可得離散域的四元數公式,如式(5)所示:
4.2 擴展卡爾曼濾波器實現
本文用EKF來融合各傳感器數據,以提高方向角的解算精度。EKF模型如式(6)所示[11]:
觀測方程表明,狀態矢量和測量矢量之間的關系是非線性的,將式(8)線性化可求得關系矩陣[12]。
5 位置估計
在二維平面內,行人的運動軌跡可由步長和方向角計算得到。本文簡化了定位問題,將行人運動模型簡化為行人運動方向估計和步長的估計[13]。若已知起始時刻的位置坐標為(E(t0),N(t0)),那么ti時刻的位置坐標為:
6 仿真結論
為了驗證算法的性能,開發了基于Android操作系統的數據采集軟件,并且用MATLAB軟件對上述算法進行仿真實驗。選擇華為手機為數據采集設備,數據的采集頻率是50 Hz。實驗場地選擇大學圖書館四樓的走廊,其平面結構圖如圖1所示,三角形標注為起點,圍繞走廊一圈的虛線是預先設定的參考軌跡,實驗人員手持手機沿著該軌跡進行數據測試,最后將得到的數據信息在MATLAB軟件中利用上述算法進行處理。
6.1 步頻檢測
首先檢測步頻探測算法的性能,本文采用過零點檢測和峰值檢測來確定步頻,最后檢測到的峰值個數即為行人的步頻。對加速度數據處理后的仿真結果如圖2所示,圖2(a)是經處理的加速度波形圖,圖2(b)是圖2(a)的局部放大圖。加速度波形中的小圓圈表示檢測到的峰值。統計圓圈的個數即可得到步頻。該結果表明步頻檢測的準確率接近100%。
6.2 步長估計
本次試驗用8個人的8組數據來檢測步長估計算法的性能,每次測試者行走的總長度是20 m。表1是8組數據分別對應的解算距離以及誤差。表1的數據表明該步長估計算法的精度可以達到1 m。
6.3 航向估計
圖3是由EKF算法得到的行人方向角,圖中虛線表示參考方向,在試驗之前已經確定,實線表示由MATLAB軟件仿真得到的結果。圖3表明經EKF解算得到的方向角與參考方向基本一致,由此表明EKF算法可以解算出較高精度的方向角。
6.4 定位結果
測試之前先在走廊進行磁力計校準和步長估計模型的訓練,完成后沿預定的參考軌跡行走一圈,最終回到起點。將測量到的數據在MATLAB仿真軟件中進行處理,由PDR算法得到的行走軌跡如圖4所示。
圖4中實線表示的是參考軌跡,虛線表示由PDR算法在MATLAB中仿真得到的實際軌跡。由于傳感器和算法等本身存在的誤差,使得解算軌跡(虛線)與參考軌跡(實線)有些許偏差。然而,在精度允許范圍內定位到的軌跡與參考軌跡基本吻合,定位精度優于2 m,從而驗證該算法能夠成功實現室內高精度定位。
7 結論
本文詳細討論了PDR算法的跨步探測、步長估計、方向角以及位置的估算方法,最后開發了基于Android平臺的數據采集軟件。在此基礎上,利用學校圖書館走廊進行了基于手機傳感器的室內定位實驗。實驗結果表明,該種定位方法是可行的,且定位精度優于2 m,有很大的實用價值。
參考文獻
[1] 王小輝,汪云甲,張偉.基于RFID的室內定位技術評述[J].傳感器與微系統,2009,28(2):1-3.
[2] 張明華.基于WLAN的室內定位技術研究[D].上海:上海交通大學,2009.
[3] 陳國平,馬耀輝,張百珂.基于指紋技術的藍牙室內定位系統[J].電子技術應用,2013,39(3):104-107.
[4] 于秀芬,段海濱,龔華軍.移動機器人視覺定位方法的研究與實現[J].數據采集與處理,2004,19(4):433-437.
[5] FOXLIN E.Pedestrian tracking with Shoe-Mounted Inertial sensors[J].IEEE Computer Graphics & Applications,2005,25(6):38-46.
[6] LEVI R W,JUDD T.Dead reckoning navigational system using accelerometer to measure foot impacts[P].US:US5583776,1996.
[7] 陳偉.基于GPS和自包含傳感器的行人室內外無縫定位算法研究[D].合肥:中國科學技術大學,2010.
[8] KANG W,HAN Y.SmartPDR:Smartphone-based pedestrian dead reckoning for indoor localization[J].IEEE Sensors Journal,2014,15(5):1.
[9] TIAN Z,ZHANG Y,ZHOU M,et al.Pedestrian dead reckoning for MARG navigation using a smartphone[J].Eurasip Journal on Advances in Signal Processing,2014(1):1-9.
[10] KAKIUCHI N,SUNAGAWA K,KAMIJO S.Pedestrian dead reckoning for mobile phones using magnetic deviation map[J].Ieice Transactions on Fundamentals of Electronics Communications & Computer Sciences,2015,E98-A(1):313-322.
[11] 周亮,付永濤,李廣軍.無線定位與慣性導航結合的室內定位系統設計[J].電子技術應用,2014,40(4):73-76.
[12] 鄭學理,付敬奇.基于PDR和RSSI的室內定位算法研究[J].儀器儀表學報,2015,36(5):1177-1185.
[13] TIAN Q,SALCIC Z,WANG I K,et al.A multi-mode dead reckoning system for pedestrian tracking using smartphones[J].IEEE Sensors Journal,2016,16(7):2079-2093.
作者信息:
王亞娜,蔡成林,李思民,于洪剛
(桂林電子科技大學 信息與通信學院,廣西 桂林541004)