李思民,蔡成林,王亞娜,邱云翔,黃艷虎
(桂林電子科技大學信息與通信學院,廣西 桂林 541004)
隨著全球衛星導航系統GNSS(Global Navigation Satellite System)技術日益成熟,它已成為室外定位的最佳選擇,在測繪、航空、航海、交通、氣象等諸多室外環境中被廣泛應用。但在建筑物、礦井、隧道、地下、水下等室內環境中,由于信號的遮擋,存在GNSS不可用的問題[1]。室內定位作為導航定位的“最后一公里”,近年已成為導航界研究熱點,也是導航與位置服務的核心問題。
目前主流室內定位技術大都需要部署足夠多的節點才能確保定位的精確性和穩定性,其中最具代表性的有WIFI[2]、UWB[3]、藍牙[4]和RFID[5]室內定位方法,由于它們需要部署額外的設備導致部署成本太高,不適合大規模使用。地磁定位無需部署任何信標節點,具有全天候、低成本等特征,其原理是地球磁場受到室內鋼筋混泥土、電纜、各類電磁設備等影響,使其產生異常,造成室內磁場高度不均勻,地磁定位就是利用室內異常磁場進行定位[6]。
近年來,國內外對地磁定位的研究已經取得了一定的成果,宋鏢[7]等人設計了慣導輔助地磁的手機室內定位系統,以最小距離度量法校正慣導的累積誤差,并達到了1 m的定位精度。但在地磁指紋庫的采集方法上有不足之處,需要在劃分的每個網格上單獨采集地磁指紋信息,在大范圍的室內環境中十分耗時;楊增瑞[8]等人和謝宏偉[9]等人設計了磁場指紋輔助的手機室內定位系統,通過波峰檢測、粒子濾波等方法,實現了室內2 m的定位精度。但由于行人在不同行走狀態下的加速度峰值不同,使用波峰檢測法探測步頻具有局限性;Subbu[10]等人在研究不同結構的磁場模型的基礎上,提出了LocateMe室內定位系統,但是只能夠粗略定位用戶在哪一個房間。Haverinen[11]等人設計了一種粒子濾波融合的室內定位方法,能夠同時應用于機器人和行人定位,但是這個方法有較大的局限性,要求設備朝向和建筑物的方向相同;Bilke[12]等人設計了一種能夠應用任何二維空間的地磁定位系統,實現了室內平均4 m的定位精度,但地磁指紋精度受設備姿態影響較大,且需要收集每一點各個方向的地磁讀數,實用性較低。
針對上述問題,本文設計了一種基于地磁指紋和PDR融合的手機室內定位方法。采用自相關法探測行人不同步態下的步頻,在每個完整步態周期內采用粒子濾波估計當前位置。該方法能夠滿足室內定位的精度要求,具有實際應用價值。
本文主要是利用地磁指紋和PDR融合的方法實現室內定位。傳統的慣性導航是通過測量載體的加速度,經過二次積分得到相對位置,再采用零速修正法(ZUPT)對誤差進行修正。但由于手機內置的慣性傳感器精度較低及行人行走步態的不穩定性,無法準確探測零速區間,這會使得定位誤差隨著時間的平方增加,即使目標不移動,誤差也會一直累積。行人航跡推算(PDR)是根據行人的步態特征進行位置估計,它通過探測步頻判斷行人是否在移動,相比傳統的慣性導航,其定位誤差只與行人的行走距離有關,與時間無關。

圖1 地磁指紋和PDR融合的室內定位系統框圖
地磁匹配是利用地磁指紋庫進行定位,分為離線階段與在線階段兩個部分[13]。在離線階段,首先采集載體活動區域內的地磁信息,通過插值算法建立高精度地磁指紋庫,并保存在計算機中;在線階段,首先通過PDR估計出粗略位置,并采集前后兩步的地磁數據,然后將采集到的地磁數據與地磁指紋庫進行比較,并求解出最優匹配位置。地磁指紋和PDR融合的室內定位系統框圖如圖1所示。
PDR定位原理就是通過采集手機內置的加速度計、陀螺儀和磁力計信息,獲取行人的步頻、步長及航向,再根據前一時刻行人的位置推算出當前時刻載體的位置,原理框圖如圖2所示。假設行人初始位置P(t0)的坐標為(E(t0),N(t0)),跨步后的步長為L(t0),航向角為γ0,則可以按照式(1)推算出從初始位置到第n步的軌跡[14]。
(1)
式中:E(tn)和N(tn)分別表示行人在ENU坐標系下的東向和北向坐標,Li表示從ti-1到ti的步長,γi表示單個跨步內的航向角,在實際使用過程中,通常假設行人在單步之內的航向角是不變的,根據經驗可知,這個假設是合理的。

圖2 PDR原理框圖

圖3 不同行走狀態加速度波形
由于行人行走時的加速度波形會呈現出周期性特征,因此可以利用加速度探測行人的步頻。目前常用方法是過零點峰值檢測法,通過設置零點閾值和峰值閾值判斷行人是邁出該步,該方法實現簡單、復雜度低[15]。但行人行走時會將手機放置在身上的不同部位,且不同部位呈現出來加速度的零點閾值和峰值閾值不同。圖3是行人在不同行走狀態下通過平滑濾波之后的三軸總加速度波形,通過波形可以看出如果使用固定的零點閾值和峰值閾值將無法準確探測步頻。
行人的運動狀態可以分為行走和空閑。行走狀態是指將手機放在口袋、拿在手上行走或使用的狀態下行走??臻e狀態是指行人位置沒有變化的一種運動,包括坐立、身體旋轉、使用手機的基本手勢動作等等。
本文采用的自相關法探測步頻,主要分為兩個步驟:標準差計算和自相關系數計算。其原理是通過式(2)和式(3)計算標準差判斷行人是否為空閑狀態,若為行走狀態,則利用式(4)和式(5)求出加速度序列的相關性判斷行人是否跨出該步。

(2)
(3)
式(2)中:a表示三軸總加速度,ax、ay、az分別表示x,y,z3個軸的加速度值。式(3)中:σ、u分別表示總加速度序列{a1,a2,…,aN}的標準差和均值。根據總加速度標準差可以判斷行人的狀態是否為空閑狀態。圖4是在手機采樣頻率20 Hz的情況下,以1 s為周期統計行走和空閑兩種狀態的標準差5 000次的分布圖??梢钥闯霎敇藴什畹陀?.5時,行人的處于空閑狀態下的概率大于90%。

圖4 行走與空閑狀態的整體加速度標準差分布圖
在計算標準差之后,如果行人處于行走狀態,再利用式(4)求解整體加速度的自相關系數[16]:
(4)
式中:u(m,t)和σ(m,t)表示總加速度序列{ak,ak+1,…,ak+t-1}的均值與標準差。當時間t接近行人的步態周期時,x(m,t)的值接近1。然而不同的行人的跨步周期不同,需要設置一個加框算法求解出最佳的相關系數。根據行人的運動特征,正常行人的步頻為1 Hz~3 Hz,因此本文設置t的范圍為0.3 s~1.0 s。
(5)
圖5是在手機采樣頻率20 Hz的情況下,以1 s為周期統計行走和空閑兩種狀態的相關系數各5 000次的分布圖。可以看出,當相關系數大于0.7時行人處于運動狀態的概率大于97%。

圖5 行走與空閑狀態的整體加速度自相關系數分布圖
綜上所述,相關法檢測法探測主要分為兩個步驟:首先檢測一個步態周期內總加速度的標準差σ,如果小于0.5,則不做計步處理;若標準差σ大于0.5,則需要判斷相關系數ρ(m,t),若ρ(m,t)大于0.7則跨步有效并記錄該步,否則不做計步處理。
表1比較了相關系數和過零點峰值檢測兩種方法步頻探測的準確性,從實驗結果可以看出,當運動狀態為手中擺動時,由于實際數據的零點比預設的零點閾值要高,采用過零點峰值檢測法會導致探測失敗。相比而言,相關系數法能夠準確的探測行人不同狀態下的步頻。

表1 步頻實驗結果
目前常用的步長估計模型可以分為兩類:線性步長估計模型和非線性步長估計模型。本文采用的非線性步長估計模型[17]如式(6)所示。
(6)
式中:Amax和Amin分別表示一步內的加速度最大值和最小值,K是模型系數,在定位之前需要離線對系數K進行訓練。該模型只有一個參數,其系數K不需要經過復雜的處理獲得,較容易在實時估計算法中實現。
為了驗證步長估計模型的有效性,實驗者首先在20 m的直線上分別以慢、中、快的速度行走9次,利用最小二乘法訓練系數K。接著在30 m的直線行走4次,實驗結果如表2所示,從表中可以看出步長估計模型精度較高。

表2 步長實驗結果
使用磁力計直接解算航向角,具有結構簡單、抗過載能力強、低功耗,航向誤差不隨時間累積等優點[18]。但是,磁力計在使用過程中容易受到外界壞境的干擾,比如在室內、礦區、車庫等鐵磁物質較多的地方,會使磁力計的精度急劇下降。為了提高航向精度,本文采用擴展卡爾曼濾波EKF(Extended Kalman Filter)融合三軸加速度、陀螺儀和磁力計數據估計出行人的航向角。
本文采用四元數去表征手機的姿態,基于四元數的剛體運動方程如式(7)所示,其矩陣形式可以表示為式(8),載體的橫滾角(roll)、俯仰角(pitch)和航向角(yaw)可以由式(9)表示[19]。

(7)

(8)
(9)
式中:?為四元數乘數運算,Q=[q0,q1,q2,q3]T,q0是四元數的實部,q1、q2、q3是四元數的虛部,ω=[ωx,ωy,ωz]表示陀螺儀3個軸的數值。
擴展卡爾曼濾波的狀態方程和量測方程分別表示為式(10)和式(11),狀態向量是用四元數Q來表示,測量方程是加速度和磁力計測量數據的組合。
Qk+1=FQk+wk
(10)

(11)
圖6是分別比較了手機方向傳感器的航向角及擴展卡爾曼濾波之后的航向角,圖7是兩種方式的誤差圖,可以看出,經過擴展卡爾曼濾波之后的航向能夠有效的減小航向誤差。

圖7 航向誤差
地磁定位是通過選擇地球磁場的某個或者多個地磁要素作為特征量,再利用相關匹配算法進行定位的一個過程。目前常用的是使用地磁強度作為地磁的特征量,它不需要考慮手機的姿態,避免了坐標轉換之后帶來的誤差[20]。相關匹配算法主要是基于最小距離度量法,利用實測的地磁信息和地磁指紋庫的地磁信息之差的最小值作為匹配準則。
室內地磁主要是由地球磁場和室內異常磁場組成。本文使用地磁強度作為特征量,在實驗之前,應該對地磁強度穩定性進行研究。圖8是在在同一條路徑下不同時間的地磁強度值,可以看出,某個位置的磁場強度在不同的時間會發生變化,但變化趨勢基本是一致的。因此在匹配算法中,使用單個跨步內的地磁強度與地磁指紋庫之差的最小值作為匹配準則是不可取的,本文采用兩步測量數據之差與地磁指紋庫之差的最小值作為匹配準則。

圖8 室內地磁特性(同一地點,時間間隔一周)
粒子濾波屬于非參數化濾波算法,它是基于蒙特卡洛的思想,以樣本均值代替積分運算,以有限的粒子數表示狀態的后驗分布,從而獲得狀態最小方差估計的過程[21]。由于能夠有效處理非線性、非高斯系統,已被廣泛應用到各種領域。
粒子濾波主要包括狀態方程、量測方程和重采樣3個部分[22]。本文室內定位中的系統狀態分別為用戶位置和航向角,如式(12)所示。
s=(x,y,γ)
(12)

(13)
在所有的粒子都有權重之后,需要濾掉權重低的粒子,這些粒子被認為是與用戶真實狀態較遠。重采樣的目的就是為了將粒子都集中到高權重粒子附近區域中,使得粒子群收斂。實際應用中,會有一部分粒子的位置出現在用戶不可達的位置上,這種現象稱為“穿墻”,在重采樣之前,應該剔除“穿墻”的粒子。
最后,通過式(14)對所有粒子的狀態加權平均作為用戶當前的真實狀態。
(14)

圖9 粒子濾波算法流程圖
為了驗證本文提出的基于地磁指紋和PDR融合的手機室內定位系統的定位性能,本文在實際室內環境中進行實驗。實驗場景選擇在桂林電子科技大學圖書館4樓的走廊進行室內定位導航。
在進行室內定位實驗之前,需要離線采集實驗區域的地磁數據作為地磁指紋庫。本文的采集方式是把實驗區域劃分為若干條直線行走路線,用戶在每條直線上勻速行走,記錄下行走直線的起點和終點的位置坐標,同時記錄下行人的步數,然后將直線劃分為若干個點,每個點代表的是一個跨步,跨步內地磁數據為該網格點的地磁指紋。與傳統的采集方式相比,不需要在劃分好的每個網格內進行采集,能夠節約大量時間。圖10是自主開發的數據采集應用程序及實驗場景圖,其中數據采集程序能實時采集三軸加速度計、陀螺儀、磁力計并以excel格式存儲在手機。
本文首先設置手機采樣頻率為20 Hz,然后將實驗走廊劃分為4個區域,每個區域分別按照圖11所示的采集路徑分別采集3次。最后,采用三次樣條插值對數據進行0.2 m間隔的空間插值,插值后的走廊地磁指紋圖如圖12所示。其中,黑色的點代表采樣點,顏色的深淺代表地磁強度的大小。

圖10 數據采集界面及實驗場景

圖11 地磁指紋采集路徑圖

圖12 地磁指紋圖
實驗過程中,假設用戶的初始位置已知,用戶水平手持手機以20 Hz的采樣頻率沿長90 m的走廊行走一圈,并將實時采集到的加速度、陀螺儀和磁力計數據存儲在手機中。最后將數據導入MATLAB中,并在MATLAB平臺上實現地磁指紋和PDR融合的手機室內定位算法的仿真分析。實驗對比了PDR的定位結果以及地磁指紋和PDR融合之后的定位結果,如圖13所示,從圖中可以看出,PDR定位誤差隨著行走距離的增加逐漸累積,最終嚴重偏離實際軌跡。本文提出的地磁指紋和PDR融合算法能夠實時校正PDR的誤差,圖14為反復實驗20次得出的定位誤差分布圖,從圖中可以看出,定位精度在2 m以內的概率達到了95%,滿足室內定位精確的需求。

圖13 室內定位效果圖

圖14 定位誤差分布圖
本文提出的地磁指紋和PDR融合的手機室內定位算法無需部署任何信標節點,由于使用地磁地磁場進行導航定位,在導航過程不會向外發射能量,因此具有全天候、隱蔽性高、低成本等特征。在步頻探測算法上,采用相關法提高了不同步態下步頻探測的準確率;在航向估計上,采樣擴展卡爾曼濾波提高了航向精度;與傳統的地磁指紋庫采集方式相比,本文提出的采集方式更加方便快捷。在實際使用中可能會存在較大的地磁平穩區域,這會導致定位精度下降,甚至使定位結果發散,通常采用磁標對地磁平穩區域進行干擾,使室內地磁異常,但這會使成本增加。在未來的研究中,可以使用多個地磁要素作為特征量,在成本不變的情況下提高了指紋的唯一性,同時也解決了初始化位置的問題,進一步提高了系統的穩定性及定位精度。
[1] 王楊,趙紅東. 室內定位技術現狀和發展趨勢[J]. 測控技術,2016,35(7):1-8.
[2] Hong F,Zhang Y,Zhang Z,et al. WaP:Indoor Localization and Tracking Using Wifi-Assisted Particle Filter[C]//2014 IEEE 39th Conference on Local Computer Networks(LCN). IEEE,2014:210-217.
[3] 楊狄,唐小妹,李柏渝,等. 基于超寬帶的室內定位技術研究綜述[J]. 全球定位系統,2015,40(5):34-40.
[4] 陳國平,馬耀輝,張百珂. 基于指紋技術的藍牙室內定位系統[J]. 電子技術應用,2013,39(3):104-107.
[5] 劉曉葉,徐玉斌. 基于自適應射頻指紋地圖的WSN室內定位算法研究[J]. 傳感技術學報,2015,28(8):1215-1220.
[6] 郭才發,胡正東,張士峰,等. 地磁導航綜述[J]. 宇航學報,2008,30(4):1314-1319.
[7] 宋鏢,程磊,周明達,等. 基于慣導輔助地磁的手機室內定位系統設計[J]. 傳感技術學報,2015,28(8):1249-1254.
[8] 楊增瑞,段其昌,毛明軒,等. 基于磁場指紋輔助的手機室內定位系統[J]. 傳感技術學報,2016,29(9):1441-1448.
[9] Xie H,Gu T,Tao X,et al. A Reliability-Augmented Particle Filter for Magnetic Fingerprinting Based Indoor Localization on Smart-Phone[J]. IEEE Trans on Mobile Computing,2016,15(8):1877-1892.
[10] Subbu K P,Gozick B,Dantu R. Locateme:Magnetic-Fields-Based Indoor Localization Using Smartphones. TIST 4,2013:73.
[11] Haverinen J,Kemppainen A. Global Indoor Self-Localization Based on the Ambient Magnetic Field[J]. Robotics and Autonomous System,2009,57(10):1028-1035.
[12] Bilke A,Sieck J. Using the Magnetic Field for Indoor Localisation on a Mobile Phone[M]//Progress in Location-Based Services. Springer Berlin Heidelberg,2013:195-208.
[13] 劉飛,周賢高,楊曄,等. 相關地磁匹配定位技術[J]. 中國慣性技術學報,2007,15(1):59-62.
[14] 陳興秀,張金藝,晏理,等. 三維復雜運動模式航跡推算慣性導航室內定位[J]. 應用科學學報,2014,32(4):349-356.
[15] Lan K C,Shih W Y. Using Smart-Phones and Floor Plans for Indoor Location Tracking[J]. IEEE Transactions on Human-Machine System,2014,44(2):211-221.
[16] 陳國良,張言哲,楊洲. 一種基于手機傳感器自相關分析的計步器實現方法[J]. 中國慣性技術學報,2014,22(6):794-798.
[17] Fang L,Antsaklis P,Montestruque L,et al. Design of a Wireless Assisted Pedestrian Dead Reckoning System—The NavMote Experience[J]. IEEE Trans Instrum and Meas,2005,54(6):2342-2358.
[18] 陳潔,黃慶安,秦明. MEMS磁場傳感器的研究進展[J]. 電子器件,2006,29(4):1384-1388.
[19] 米剛,田增山,金悅,等. 基于MIMU和磁力計的姿態更新算法研究[J]. 傳感技術學報,2015,28(1):43-48.
[20] Chung J,Donahoe. Indoor Location Sensing Using Geomagne-Tism[C]//Mobisys,ACM,2011:141-154.
[21] 程水英,張劍云. 粒子濾波評述[J]. 宇航學報,2008,29(4):1099-1108.
[22] 胡士強,敬忠良. 粒子濾波算法綜述[J]. 控制與決策,2005,20(4):361-371.
[23] Le Grand E,Thrun S. 3-Axis Magnetic Field Mapping and Fusion for Indoor Localization[C]//MFI,IEEE,2012:358-364.