李曉鵬 王 玫,2 周 陬* 羅麗燕 宋浠瑜
1(桂林電子科技大學認知無線電與信息處理教育部重點實驗室 廣西 桂林 541004) 2(桂林理工大學信息科學與工程學院 廣西 桂林 541007)
行人航跡推算(PDR)是一種相對定位技術。其原理是利用加速度傳感器估計走路時的步數和步長,利用陀螺儀和指南針估計前進方向,最后根據上一步的位置計算當前時刻的位置。相較于Wi-Fi指紋定位[1]和藍牙三邊定位[2],PDR既不需要耗時費力地構建指紋庫,也不需要建立精確的無線信號傳播模型,僅利用日常生活中的智能手機就能完成定位與跟蹤[3],因而受到人們的廣泛關注。但由于每一步的步長和方向估計都存在偏差,PDR只能短時間內達到較好的定位效果,隨著時間的推移,誤差會越來越大,直至影響使用。
為了減小PDR的累積誤差,研究人員提出利用貝葉斯濾波器將PDR與其他定位技術融合。文獻[4]采用粒子濾波算法融合PDR和磁場指紋,文獻[5]采用擴展卡爾曼濾波算法將PDR與Wi-Fi指紋定位結果相融合,文獻[6]使用無跡卡爾曼濾波算法將PDR與藍牙三邊定位結果相融合。但是這些糾正方法仍需要建立指紋庫或無線信號傳播模型,因而系統(tǒng)的搭建成本并沒有降低。此外,對于強非線性、非高斯噪聲系統(tǒng),卡爾曼濾波算法應用范圍有限。粒子濾波雖適用于一切非線性、非高斯噪聲系統(tǒng),但其運算量相對偏大。過程噪聲和測量噪聲的均值和協(xié)方差估計也是一個難點[7]。
另一種思路是利用PDR瞬時定位精度高的優(yōu)勢,通過融合其他觀測手段對PDR進行定時糾正。文獻[8]利用藍牙三邊定位結果間歇地糾正PDR位置,從而減少藍牙基站的數量,同時保證定位精度。但基于三邊法的藍牙定位僅適用于空曠無遮擋的場地,室內場景下多徑效應顯著,藍牙三邊定位精度有限。文獻[9]把房門、電梯和走廊拐角等特殊地點當作“天然地標”,通過觀察傳感器數據的變化來判斷用戶是否經過地標。但是這些“天然地標”缺少獨特的ID,因而不太容易區(qū)分??紤]到藍牙基站會周期性地廣播帶有唯一編碼UUID(Universally Unique Identifier)的信號強度值RSS(Received Signal Strength)。文獻[10]將單個藍牙基站視作“人工地標”,一旦發(fā)現接收的藍牙信號強度值大于預設閾值,就意味著用戶進入了藍牙的糾正范圍。預設閾值越高,糾正范圍越小。然而,藍牙信號強度的大小與藍牙基站的發(fā)射功率、安裝高度、藍牙天線方向和手機型號有關[11-12],導致各藍牙基站的預設閾值必須在單獨測量的基礎上分別設置,不利于大規(guī)模工程應用。
本文在已有研究的基礎上,通過自適應檢測RSS峰值來判斷行人是否經過藍牙基站,然后利用事先已知的基站位置和走廊朝向校正PDR的位置、步長和方向,從而抑制PDR的累積誤差。
行人航跡推算(PDR)通過步伐檢測方法來判斷行人是否走了一步,然后估計這一步的步長和行走方向,最后結合上一步的位置坐標,推算出這一步的位置坐標,原理如下:
(1)
式中:[xi,yi]T為第i步的位置坐標;[xi+1,yi+1]T為第i+1步的位置坐標;Li+1為第i+1步的估計步長;θi+1為第i+1步的估計方向。
因此PDR主要包括四個部分:初始位置的確定、步伐檢測、步長估計和方向估計。
PDR無法為自己提供初始位置,通常由其他定位技術提供(例如Wi-Fi初定位)或者人為選擇某處作為基準點[13]。
由于人的行走狀態(tài)是一個周期性過程,因而加速度也呈現出明顯的周期性。目前最為流行的步伐檢測方法是峰值計步法,即每一個波峰對應走的一步,波峰的總個數就是行走的步數。但因傳感器測量的加速度數據存在噪聲,導致眾多偽峰干擾計步(如圖1所示),因此先用濾波器濾除掉噪聲??紤]到人正常行走時一秒內最多走三步(對應加速度波形一秒內有三個波峰),因此選用截止頻率為3 Hz的巴特沃斯低通濾波器,最后統(tǒng)計出的波峰的個數即為行走步數。
圖1 PDR計步
目前,步長估計方法有多種,但大都需要建立數學模型來描述步長與步態(tài)特征之間的關系,比較成熟的步長模型主要有:
(1) 非線性步長模型[14]。加速度變化越大,步長L越大,公式如下:
(2)
式中:amax和amin分別為一步中加速度數據的最大值和最小值;k為模型參數。
(2) 線性步長模型[15]。走路速度越快(單位時間內走的步數越多,即步頻越大),步長L越大,公式如下:
L=a×f+b
(3)
式中:f為步頻;a和b為模型參數。
PDR的方向來源主要是智能手機內置的陀螺儀和指南針。陀螺儀可以測量運動時的角速度,進行一次積分運算即可得到m時刻的相對角度θm,公式如下:
(4)
式中:wi為i時刻的角速度;Δt為wi和wi+1的時間間隔(即采樣頻率的倒數)。但由于陀螺儀傳感器的精度和采樣頻率有限(wi包含大量噪聲),長時間的積分運算會導致陀螺儀的估計方向與真實方向的偏差越來越大。此外,陀螺儀只能得到一段時間后方向的改變量,需要指南針為其提供初始方向。
指南針由加速度傳感器和磁力計構成[16],由于計算航向角需要用到磁力計測量的磁場強度,因而指南針易受室內環(huán)境中異常磁場(如鋼筋、鐵門、電梯和電子設備等)的干擾。但由于指南針不存在誤差累積的問題,因此短時間內陀螺儀的精度比指南針高,長時間后指南針表現更好。
由于手機傳感器精度有限,測量數據包含噪聲,估計步長和方向必定存在一定的誤差,步伐檢測也存在漏檢或誤檢現象,因此經過式(1)的迭代后PDR的定位誤差會逐漸變大。
研究表明,理論上無線信號強度與傳播距離成對數關系[13],公式如下:
Px=P0+10λlg(x/x0)
(5)
式中:x0為參考距離(通常選為1 m);P0為x0處的接收信號強度(RSS,單位:dBm);Px為x處的RSS值;λ為路徑損耗因子(通常在2~4之間)。
假設行人途經一個藍牙基站(如圖2所示),行人與基站之間的距離應隨時間的推移先逐漸減小,而后逐漸增大。
圖2 用戶從走廊的一端走向另一端
理論上,距離的改變會導致手機接收到的RSS先增大,后減小,僅有一個峰值,如圖3所示。
圖3 理論上藍牙信號強度的變化
顯然,峰值出現時刻用戶距離藍牙最近(位于正下方附近)。因此,一旦檢測出RSS峰值就可以用事先已知的藍牙基站坐標糾正PDR的位置,從而立刻減小PDR的累計誤差。當滿足下面的條件時,RSSt被初步定義為峰值。
RSSt>RSSt-1且RSSt>RSSt+1
(6)
式中:RSSt為t時刻的接收信號強度。
由2.1節(jié)分析可知,理論上,行人途徑一個藍牙基站時應只有一個波峰。然而,由于室內環(huán)境下存在嚴重的多徑效應,實際測量的RSS值與距離并不滿足嚴格的單調遞減關系,從而導致RSS曲線通常有多個波峰(如圖4所示),如何及時且準確地檢測出真正的波峰對藍牙定位至關重要。
圖4 實際RSS曲線存在多個波峰
傳統(tǒng)的峰值檢測方法為滑動窗法[17-18](如圖5矩形窗所示)。首先采用移動平均算法對RSS曲線進行平滑濾波,盡量減少偽峰的個數;然后根據式(6)的定義檢測峰值,一旦檢測到一個峰值A時,先繼續(xù)觀察一段時間T,倘若沒有出現新的峰值或者新的峰值比A小,那么A就被認定為真正的峰值。然而,不同場地的RSS干擾不同,用戶每次的行走速度也不同,導致RSS曲線中波峰的個數和距離并不固定,因此滑動窗的寬度T無法提前確定。
圖5 滑動窗檢測法
本文的做法是,第一步仍采用移動平均算法對RSS曲線進行平滑濾波,減少偽峰個數;第二步只存儲所有的RSS值與對應的時間戳,直到無法接收到藍牙信號或RSS低于設定閾值;第三步,遍歷第二步中存儲的RSS序列,尋找最大值來作為峰值,這樣就能確保識別出的峰值的正確性。
此外,傳統(tǒng)的滑動窗法檢測峰值存在一定的時間延遲,導致峰值出現時刻到峰值被檢測出時刻期間行人已經走過一段距離,如圖6所示。倘若直接用基站位置坐標糾正PDR的位置,會產生一定的誤差。
圖6 峰值檢測延遲引起的位移
本文利用PDR方法估計RSS峰值檢測期間行人的位移,然后將估計出的位移與藍牙基站位置坐標B相加,從而得到峰值被檢測出時用戶所在位置C的坐標,見式(7)。
(7)
針對PDR短期定位精度高、長時間后累積誤差太大的特點,2.2節(jié)提出利用藍牙地標的位置來校正PDR的估計位置,從而減小累積誤差。此外,還能利用室內特殊地段(如走廊)對人行走方向的約束,校正PDR的步長和方向,進一步提高PDR的定位精度。
2.3.1PDR步長糾正
傳統(tǒng)PDR需要構建數學模型來描述步長與步態(tài)特征(如1.3節(jié)的兩種步長模型)之間的關系,但模型的構建存在誤差;此外,模型的參數需要離線階段采集加速度數據與步長數據來確定,但不同用戶的模型參數并不相同[1]。
由于人在行走過程步長變化不大,可近似統(tǒng)一為固定步長。如圖7所示,假設S為兩個藍牙基站之間的距離,N為步態(tài)檢測統(tǒng)計的步數,則平均步長L可表示為:
(8)
圖7 平均步長估計示意圖
2.3.2PDR方向糾正
由1.4節(jié)知,雖然陀螺儀長期效果不如指南針好,但其短期內定位精度高,同時不受異常磁場的干擾,因此每隔一段時間用可靠的方向糾正陀螺儀能夠抑制陀螺儀的誤差累積??紤]到室內條件下走廊和墻壁對人行走方向的約束(只有正與反兩個前進方向),當檢測到藍牙RSS峰值時,首先根據UUID判斷出用戶在哪個藍牙基站附近,再獲取該藍牙基站所在走廊的朝向,最后根據陀螺儀的估計方向與走廊朝向的差值判斷行人是正向還是反向,如圖8所示。
圖8 利用走廊朝向糾正陀螺儀的示意圖
假設陀螺儀的估計方向為θg,走廊的朝向為α(正向)和α+180°(方向),則糾正后行人的前進方向θ可表示為:
(9)
圖9所示為利用藍牙基站和走廊朝向糾正陀螺儀估計的方向的結果,與糾正前相比,估計方向與真實方向的偏差明顯減小。由于陀螺儀短時間內定位精度很高,且不受異常磁場的影響,糾正越頻繁,估計方向也會越接近真實值。
圖9 走廊朝向糾正陀螺儀的效果圖
為了測試本文方法的定位性能,在走廊場景下進行了下面的實驗。實驗者手持手機行走在2.4 m寬的走廊中央,手機以20 Hz的采樣頻率收集加速度、角速度和磁場強度等數據。走廊的天花板上安裝有5個藍牙基站(平均每隔20 m布設一個),廣播頻率為10 Hz。行走距離為144 m,重復多次,平均用時2分6秒。
(1) 將改進PDR與傳統(tǒng)PDR對比。根據步長和方向的估計方法不同,傳統(tǒng)PDR總共有3個方案,分別為:
方案1:利用加速度的大小變化計算步長(式(2)所示),利用指南針計算方向,最后用傳統(tǒng)的PDR方法得到每一步的位置。
方案2:利用步頻(式(3))計算步長,利用指南針計算方向,最后用傳統(tǒng)的PDR方法得到每一步的位置。
方案3:利用步頻計算步長,利用陀螺儀(式(4))計算方向,最后用傳統(tǒng)的PDR方法得到每一步的位置。
方案4:本文的改進PDR,利用5個藍牙基站糾正PDR的位置、步長和方向,從而減小PDR的累積誤差。
圖10所示為估計的軌跡??梢钥吹蕉ㄎ怀跗谒姆N方案的效果都很好,但隨著時間的推移,基于傳統(tǒng)PDR的定位方案由于誤差積累導致估計軌跡逐漸偏離真實軌跡,而方案4(本文改進的PDR)利用藍牙基站間歇地糾正PDR,從而保證了估計軌跡始終接近真實軌跡。此外,對比傳統(tǒng)PDR方案可以看到,方案1和方案2的方向估計都來源于指南針,但方案1的定位精度高于方案2,說明基于步頻的步長估計模型好于基于加速度大小的步長估計模型;相較于方案2,方案3在定位初期表現更好,但隨著陀螺儀誤差的累積,定位效果逐漸不如采用指南針估計方向的方案3,進一步驗證了前面所提的觀點——長時間后指南針的定位精度高于陀螺儀。
圖10 4種方案估計軌跡對比
圖11展示了實驗中每一步的定位誤差,可以看到,方案4的定位誤差每隔一段時間被糾正一次,總共糾正了5次(分別發(fā)生在第18步、第68步、第104步、第138步和第198步),有效地將最大定位誤差控制在5 m以內。圖12展示了定位誤差的累積分布曲線(即定位誤差小于特定值的概率),表1總結了四種方案的平均定位誤差、最大定位誤差和均方誤差,可以看到藍牙峰值糾正能有效減小PDR的定位誤差。
圖11 每一步的誤差
圖12 定位誤差的累積概率分布曲線
表1 定位誤差對比
(2) 步長糾正、方向糾正、位置糾正對定位性能的影響。圖12中定位性能是由PDR的位置糾正、方向糾正和步長糾正所共同提升,無法判斷三種糾正分別帶來的提升。圖13為缺少某個糾正所造成的定位性能下降的情況??梢钥吹剑恢眉m正對定位精度的提升最大,方向糾正次之,步長糾正所帶來的提升最小。
圖13 步長糾正、方向糾正、位置糾正對定位性能的影響
(3) 藍牙基站數量對定位性能的影響。
本文將藍牙基站作為個數,分析了藍牙基站個數不同時(分別為0、2、3、4、5個),所提出的定位方法的性能差異。為了計算步長,最少需要2個藍牙基站,因此這里不考慮1個藍牙基站的情況。結果如圖14所示。
圖14 藍牙基站數量對定位誤差的影響
傳統(tǒng)PDR不依賴任何基礎設施,能提供連續(xù)穩(wěn)定的定位結果,但存在累積誤差的問題,本文提出基于藍牙峰值糾正的改進PDR定位方法,從位置、步長和方向三個方面對PDR進行糾正,有效地抑制了PDR的累積誤差。
(1) 根據行人經過藍牙基站時會出現RSS峰值的特點來定位,并補償峰值檢測期間用戶的位移,最后糾正PDR的估計位置。
(2) 考慮到走廊場景中人的前進方向受墻壁的約束僅存在正向和反向兩種情況,利用已知的走廊朝向糾正陀螺儀的估計方向。
(3) 人的身高、性別、走路方式不同導致傳統(tǒng)步長模型的參數不適用于所有人,本文利用藍牙基站的定位結果,結合統(tǒng)計的行走步數,在線估計平均步長,從而無需離線訓練就能得到針對每個用戶的模型參數。
實驗結果證明,利用藍牙峰值糾正傳統(tǒng)PDR的位置、步長和方向后,定位精度提升了80%,平均定位誤差為2.2 m。下一步可以通過融合粒子濾波算法,增加室內地圖作為約束條件,進一步提高定位精度。