鐘亞洲, 吳 飛, 任師濤
(上海工程技術(shù)大學 電子電氣工程學院,上海 201620)
室內(nèi)復雜多變環(huán)境下,利用信號強度進行定位時,易致電磁波信號產(chǎn)生衰減、多徑和干擾[1]?;谥讣y數(shù)據(jù)庫的無線室內(nèi)定位方法需要在目標環(huán)境中選取若干參考點進行采樣并通過指紋數(shù)據(jù)庫作為目標環(huán)境特征進行位置估計。無線接入點的性能和分布決定了定位的精度,如果想要在大區(qū)域級進行人員定位,大規(guī)模基礎(chǔ)設(shè)施建設(shè)導致基于指紋數(shù)據(jù)庫的無線室內(nèi)定位方案優(yōu)勢并不明顯。而智能手機感知環(huán)境的能力已經(jīng)非常強大。因此,基于行人航跡推算(pedestrian dead reckoning,PDR)的定位和導航方式將帶來新的機遇[2~4]。文獻[3]提出了利用加速度和角速度建立行人運動模型,采用足綁式(Foot-mounted)方法和擴展卡爾曼濾波對導航參數(shù)誤差進行估計和補償;文獻[4]為了提高人員動作分類的準確率,提出了利用慣性數(shù)據(jù)特征,通過支持向量機理論構(gòu)建行進動作分類器;文獻[5]針對人體三維坐標精準定位,提出了三維復雜運動模式航跡推算算法,通過有效跨步求解人體位置的三維坐標。但以上文獻均未利用環(huán)境信息來提高定位精度。
本文設(shè)計了粒子濾波(particle filtering,PF)器并且融合室內(nèi)平面地圖和PDR信息,提出一種基于PF的PDR定位算法,提高了室內(nèi)環(huán)境下用戶定位精度。
系統(tǒng)整體框架如圖1所示,首先使用手機內(nèi)置的加速度計進行步伐檢測和計步,陀螺儀和磁力計進行方向估計;然后結(jié)合地圖匹配信息,使用PF算法對得到的定位數(shù)據(jù)進行濾波融合。
圖1 基于地圖匹配的室內(nèi)定位流程
行人行走一步時,PDR算法需進行方向和步長估計。根據(jù)行人初始位置,可以推算出之后時刻行人的位置[6]。設(shè)坐標系為東北坐標系,行人位置更新為
(1)
式中xk為第k步時行人的東西坐標;yk為第k步時行人的南北坐標;SLk為第k步時的步長;θk為第k步時相對于北向的夾角。
行人實際的室內(nèi)運動中一般包含著多種運動模式,通過PDR,可以將行人的行走運動模式建立為一個三維運動模型[7]。PDR需要步伐和頻率檢測,如果步伐檢測出現(xiàn)錯誤或者丟失步伐數(shù)值,將導致步行距離與實際行走的長度偏差較大。本文選用零點交叉法來檢測步伐。
使用加速度傳感器進行步伐檢測和計步時,會產(chǎn)生一些測量噪聲[8],將會導致步伐檢測和計步出現(xiàn)錯誤,影響步長估計的精度。用高通濾波器濾除重力加速度,即
aavg=a×0.1+aavg×0.9,ah=a-aavg
(2)
式中a,aavg,ah分別為加速度測量值、均值和經(jīng)高通濾波后的值。
輸出的過零點加速度計檢測使用此信號。步伐檢測算法的結(jié)果如圖2所示。
圖2 加速度值零點交叉法
由于步長受線性模式的影響[9],使用式(3)~式(5)確定行走頻率與加速度方差
SL=α·WF+β·AV+γ
(3)
WF=1/(tk-tk-1)
(4)
(5)
式中α,β和γ參數(shù)根據(jù)環(huán)境進行設(shè)定;WF為行走頻率;AV為加速度方差。通過式(6)計算步行距離
(6)
取粒子數(shù)為N=100,對用戶的行走方向進行濾波。設(shè)定權(quán)值初始值為1/N,根據(jù)系統(tǒng)設(shè)定可知粒子的權(quán)值之和為1,每個粒子代表用戶的一個可能的運動狀態(tài),即用戶的一個可能的位置。
通過粒子狀態(tài)不斷轉(zhuǎn)移,用戶的位置隨著時間的推移不斷更新。PF算法需要考慮到行人運動過程中的誤差控制, PDR算法中通過矢量疊加,不同的粒子權(quán)重在運動中將產(chǎn)生不同的路徑[10]。隨著時間和位置距離的累加,會導致位置信息的累計偏差增大。因此,將粒子權(quán)重w作為路徑航向平滑因子
(7)
式中θt為t時刻行人位置信息中方向信息,為引入平滑因子后第i個粒子代表的行走方向。圖3為粒子平滑示意。
圖3 粒子平滑示意
PF算法通過不斷更新粒子的位置和權(quán)重值來逼近系統(tǒng)的真實后驗概率分布。權(quán)重值越大,系統(tǒng)在該狀態(tài)的可能性越大。通過運動模型,粒子不斷更新位置,同時,通過量測模型粒子更新權(quán)重值。PDR算法需要考慮定位實時性問題,所以PF算法的計算量需要滿足硬件的需求,在智能手機硬件的基礎(chǔ)上盡可能提高PF算法的實時性[11]。為降低PF算法的計算量,選擇地圖匹配的PF算法。主要思路是充分利用環(huán)境信息,將地圖信息導入PDR系統(tǒng)中,利用地圖中的障礙物來更新粒子權(quán)重。設(shè)定當粒子遇到墻壁或者家居等障礙物時,粒子滅亡,粒子的權(quán)重變?yōu)榱?否則,粒子存活并更新粒子的位置和權(quán)重。
重采樣能夠抑制退化現(xiàn)象[12],減少權(quán)值較小的粒子數(shù)目,對具有較大權(quán)值得粒子增加粒子數(shù)目,但會導致粒子多樣性降低,同時,增加粒子數(shù)目會導致PF算法的計算復雜度增加,從而消耗更多的計算時間。本文選擇權(quán)值選擇的PF算法[13],通過選出權(quán)值較大的粒子來估計行人的運動位置和狀態(tài)。結(jié)合地圖匹配的PF算法,可以提高PDR系統(tǒng)的重采樣效率,同時也解決了粒子退化問題。
實驗場地是一個70 m×50 m 的長方形區(qū)域,平面圖如圖4所示,圖中主要有走廊AB和走廊BC,走廊兩側(cè)的墻壁和門視為障礙物。本次仿真實驗按照正常速度行走進行測試。要求測試人員以A點為起點,沿著走廊AB從正西方向朝著正東方向行走,到達走廊BC之后立刻右轉(zhuǎn)彎,從B點沿著走廊BC從正北方向朝著正南方向行走,C點為單次實驗終點。
圖4 實驗場地平面
(8)
式中σv為高斯噪聲。設(shè)置高斯噪聲為零均值,標準差為0.08 m/s。
通過在室內(nèi)環(huán)境下進行仿真實驗,比較了使用PF的PDR算法前后的定位精度誤差。仿真實驗要求測試人員以空心圓為起點,空心矩形為終點。使用的PDR算法記為PDR+PF_Method,使用PF的PDR算法記為PDR_Method。對于2種方法分別進行10次行走測試。通過對行人的行走過程進行軌跡分析和標定,將行人最終定位軌跡繪制在實驗平面圖中,為定位誤差分析提供了參考。圖5為仿真實驗平面示意。
圖5 仿真實驗平面
將2種方法計算的總距離與實際行走的距離進行比較,得到圖6所示的實驗誤差比較。
圖6 實驗誤差比較
由圖6可知,測試10次之后,PDR_Method算法計算出的總距離和實際軌跡距離誤差較大,誤差范圍大于等于5 %,占比70 %以上,而PDR+PF_Method測試10次的誤差范圍均在5 %以內(nèi)。仿真實驗結(jié)果表明:本文基于PF的PDR定位算法提高了行人室內(nèi)定位的精度。
本文針對目前PDR定位精度不高的缺點,提出一種基于PF的PDR定位算法。仿真實驗結(jié)果表明,使用PF算法輔助PDR之后,提高了定位精度。