曹 峻,余科根,文 鎧
(1.中國礦業大學環境與測繪學院,徐州 221116; 2.武漢大學測繪學院,武漢 430072)
基于位置的服務(Location Based Services,LBS)為個人定位和導航等帶來了極大的便利。智能手機內的慣性測量單元(Inertial Measurement Unit,IMU)可以為不同環境下的行人跟蹤提供自主解決方案[1]。由于智能手機內置微機電系統的IMU通常精度較差,因此,使用行人航位推算(Pedestrian Dead Reckoning,PDR)方法生成磁場序列的輪廓特征。
地球磁場由于信息量豐富、可以實時方便匹配、精度高、穩定性好、成本低等,適合作為一種位置指紋來使用。基于磁場的室內定位存在以下問題[2]:1)目前使用的指紋采集方法普遍無法滿足快速建庫的要求,需要一種高效、可靠的室內磁性指紋數據庫構建方法;2)與WIFI定位和藍牙定位相比,地磁定位中由于智能移動設備的任意姿態,可用的磁場特征從原來的三維特征變為一維特征,匹配特征較少,如何快速進行匹配操作是研究難點。國內外基于慣性導航和地磁信息的室內定位技術研究中,文獻[3]提出了基于磁約束的IMU定位算法,采用多級傅立葉變換方法提取特征,降低了軌跡累積誤差且提高了精度;文獻[4]則利用擴展Kalman濾波器(Extended Kalman Filter,EKF)融合不同類型的數據,提出了精確區分姿態相位的聚類算法,采用零速更新方法最小化積分誤差。
本文IMU的輸出可用于設置慣性導航系統(Inertial Navigation System,INS)機械編排并檢測運動步數,如果步伐檢測成功,則執行步長估計來計算當前步長和行人的步行速度。基于INS的PDR通過分別積分來自陀螺儀和加速度計的角速度和比力計算用戶的位置[5]。該方法使用估計的步長和估算的航向產生移動速度更新和位置增量更新,以改善PDR導航性能。前進速度作為INS的速度更新,而位置增量則作為INS的位置更新,以改進位置和航向精度。磁力計的測量結果與來自INS的軌跡輪廓相結合,被輸入到數據緩沖區中以設置磁場序列(Magnetic Field Sequence,MFS)[6]。如果磁場數據的緩沖長度超過預設閾值,則對測量MFS進行重新采樣,并使用高斯牛頓迭代法在磁場圖中找到與測量MFS具有最高相似性的參考MFS;如果地磁匹配定位算法成功,則參考MFS的位置將用作位置更新,以控制INS的導航誤差并提高軌跡輪廓的準確性[7]。本文提出的C-INS方法可以很好地解決基于智能手機的PDR中未對準角度估計的問題。
通過載體坐標系(簡稱b系)和導航坐標系(簡稱n系)描述載體的運動狀態。在進入解算前,先確立n系和b系的對應關系,實現載體運動狀態從b系向n系的轉換。在初始對準中,由于MEMS-IMU內置移動設備的陀螺精度較低,因此利用加速度計的輸出計算俯仰角和橫滾角,磁力計輸出的磁場強度計算航向角[8]。IMU的漂移誤差模型可采用一階馬爾科夫誤差模型,修正b系下的陀螺儀和加速度計的原始誤差[9],測得載體相對慣性空間的角速度和比力數據;再通過解算常微分方程組,對加速度計和陀螺儀提供的加速度和角速度數據進行多次積分,根據n系下的速度和時間間隔累計求得運動載體在n系中的姿態、位置及速度信息。

(1)
式中
(2)
由式(2)可以看出,當姿態角已知并給定初值后即可求解。考慮到載體的姿態變化快,利用四元數法表示b系相對n系的轉動,進行姿態解算
Q=q0+q1ib+q2jb+q3kb
(3)
式中,ib、jb、kb與b系的基底相同。
其微分方程為
(4)

(5)
當載體和地球有相對運動時,加速度計計算的比力方程如下
(6)
式中,f為加速度計的數據值;ven表示載體和地球間的相對運動速度;wen×ven表示載體在地球表面運動時形成的向心加速度; 2wie×ven表示哥式加速度的數值。
因加速計測量值實際是沿b系的,所以要轉換到n系下[11]。設加速度計的輸出比力為
fb=[fx,fy,fz]T
(7)
則
(8)

(9)
(10)
導航坐標系(即n幀)中離散INS機械編排算法方程的簡化形式為
(11)

為了滿足行人導航應用的需要,將步態模型中的前向行走速度和運動約束作為三維速度更新和二維位置增量應用,以提高慣性導航系統的速度[12],稱為C-INS。
n幀中速度觀測方程由式(12)給出
(12)


(13)

(14)

(15)
航向角即為
(16)
式中
c32φy)+b13(c13+c23φZ-c33φy)
(17)
c12φZ)+b13(c23+c33φX-c13φZ)
(18)
n幀中的航向觀測方程由式(19)給出
(19)

(20)
(21)
(22)
使用基于INS的PDR具有更高的輸出頻率,可以提供相對軌跡輪廓替代方案,以改善磁場指紋的辨別力。陀螺儀和加速度計的測量值積分后會導致位置誤差,為此,基于IMU的誤差模型,在n系中利用速度誤差矢量、姿態誤差角矢量以及位置誤差矢量,使用EKF融合多源觀測量進行濾波和狀態估計,繼而修正系統誤差。所提出的方法中狀態變量定義如下[13]

(23)

δxk|k-1=φk-1δxk-1|k-1+wkδzk=Hkδxk|k-1+vk
(24)
式中,δxk-1|k-1、δxk|k-1代表先前的誤差狀態向量和預測的誤差狀態向量,下標k-1和k代表時期;δzk代表測量誤差矢量;wk代表過程噪聲;Hk代表設計矩陣;vk代表測量噪聲;φk-1是15×15的量測矩陣,表示為
(25)

1)離線階段
為確保磁力計的輸出真實反映周圍環境的磁場,必須在使用磁力計感知磁場之前,利用開發的安卓應用程序執行傳感器校準過程。在離線數據收集階段,使用INS機械編排產生的橫滾角和俯仰角獲得磁場強度的水平和垂直分量[14]。已知點(Known Points,KPs)的坐標和在KPs處的磁場觀測是影響磁場圖精度的2個主要因素。為了平衡制圖精度、效率和人工成本,利用步行測量方法(WS)沿著與房間的x軸平行的線或與y軸平行的線收集磁場數據,以提高構建磁場圖的工作效率[15]。使用由許多直線組成的路徑以確保KPs的測量密度,同時利用稀疏的具有已知坐標的點和恒定的行走速度進行約束,記下經過每個指定點的時間,并在測試期間將它們寫入文件,此外,在高精度地圖上選擇相應的點來獲得上述點的坐標。最后,通過時間線性插值計算出相鄰指定點之間的KPs坐標,生成分辨率為0.2m的柵格磁場圖。其中,Gi代表拐角點或支柱點,KPi代表KP位置,FMi={Pi,Mi}代表KP的磁場指紋。G1和G2之間的KPi坐標計算公式如下,其中T表示經過路點的時間。
(26)
2) 在線定位階段
在線匹配時,最多3個分量不足以實現磁場指紋的精確匹配定位,使用歷史磁場數據和相應的相對坐標來構造MFS,如下
(27)
式中,k代表磁場數據的長度,而i是MFS的紀元。使用高斯牛頓迭代法執行磁場輪廓匹配定位[16],該算法不需要在磁場圖中遍歷一個固定的區域,可以根據磁場梯度快速找到最優的轉換參數。
假定剛性變換為
ε=[px0,py0,Δφ]T
(28)

(29)
地磁匹配定位算法在n幀中的定位結果的誤差由式(30)給出
(30)

為了評估所提出的室內定位算法的性能,實驗人員在武漢大學珞珈創意園16樓遵循預定軌跡進行了實驗。軌跡位于典型的室內辦公樓環境(約300m2)中,走廊狹窄。實驗人員手持小米8智能手機按標紅路線走動,并將智能手機保持在距離地面約1.2m的高度。智能手機的前進方向和參與者的步行方向之間角度差小于10°。
1)磁場圖
利用磁場序列與軌跡相結合的方法,構造了一種新的磁場特征以實現更好的磁場匹配。智能手機的內置磁力計具有很高的采樣率,并且行人的正常步行速度通常約為1.2m/s。所以在在線定位階段可以用較低的計算成本,重新采樣所收集的磁場數據以生成稀疏的MFS。在本文中,使用長度為10m的MFS進行位置估計。如圖1所示,磁場強度在0.2m范圍內的變化可以忽略不計。與動態時間規整(Dynamic Time Warping,DTW)[8,13]算法相比,該算法使用了網格磁場圖,因此對用戶行走軌跡不敏感,而且結合來自PDR的軌跡輪廓具有更高的磁場指紋識別能力。該算法與基于粒子濾波(Particle Filter,PF)的定位算法精度接近,但計算復雜度低、收斂速度快。

圖1 磁場強度基準圖Fig.1 Reference diagram of magnetic field intensity
2)位置估算效果分析
在試驗區域進行了實驗軌跡測試,位置估計結果如圖2所示,累積誤差百分比(Cumulative Error Percentages,CEPs)如圖3所示。圖2中,紅色、藍色、綠色和紫色實線分別表示參考軌跡、INS、MM和MM/INS的位置軌跡。對于CEP圖形,天藍色、綠色和藍色線分別表示INS、MM和MM/INS。MM和MM/INS集成方法通過使用基于INS的PDR的軌跡輪廓改善MFS的識別。

圖2 位置估計結果Fig.2 Result of position estimation

圖3 累積誤差百分比(CEPs)Fig.3 Cumulative error percentage (CEPs)
所提出的MM算法可以在走廊環境中實現高精度的位置估計,測試的INS、MM、MM/INS集成方法的位置誤差如表1所示。基于MEMS-IMU的INS解決方案的均方根(Root Mean Square,RMS)位置誤差為3.65m。

表1 測試實驗中的位置誤差
所提出的基于磁場指紋的MM解決方案在測試中的RMS位置誤差為1.64m,而匹配成功率為95.19%。匹配成功率指的是成功匹配的總數除以匹配的總數。集成解決方案的RMS位置誤差為1.52m。根據測試的結果,提出的MM算法具有良好的位置估計性能和較高的匹配成功率。
實驗環節設計了步行測試,并分析了所提出的C-INS算法與現有的E-PDR算法在手持設備、打電話模式和放在褲子口袋中3個基本位置的位置估計和航向估計方面的性能。
1)C-INS和E-PDR方法之間的航向估計
表2說明了這兩種算法在3個位置具有一致的統計航向性能。E-PDR方法的RMS航向誤差保持位置分別為3.43°、6.22°和17.65°,而C-INS方法的保持位置分別為3.74°、6.52°和16.86°。C-INS方法因使用步態模型獲得了更好的航向估計。圖4所示為相應的航向累積誤差百分比圖。

表2 E-PDR和C-INS在不同位置的航向角誤差
2)C-INS和E-PDR方法之間的位置估計
圖5和圖6顯示了C-INS和E-PDR解決方案實驗中,3個位置的估計結果和位置累積誤差百分比。紅色、綠色和藍色實線分別表示參考軌跡、C-INS方法的軌跡和E-PDR方法的軌跡。E-PDR方法在不同位置的統計定位誤差分別為2.15m、1.94m和1.73m,C-INS方法的統計定位誤差分別為1.15m、1.84m和1.73m,如表3所示。因C-INS方法使用步態模型來提高滾轉角和俯仰角的精度,故在位置估計方面表現出了更好的性能。

(a)手持模式

(b)電話模式

(c)口袋模式圖4 航向角累積誤差百分比Fig.4 Cumulative error percentage of heading

表3 E-PDR和C-INS解決方案在3個不同 電話保持位置的定位誤差

(a)手持模式

(b) 電話模式

(c) 口袋模式圖5 E-PDR和C-INS在3個位置的估計結果Fig.5 Estimation results of two methods in three positions

(a)手持模式

(b) 電話模式

(c) 口袋模式圖6 E-PDR和C-INS在3個位置的累積誤差百分比Fig.6 Cumulative error percentage of E-PDR and C-INS in three positions
1)基于環境磁場圖的匹配定位方法,提高了磁場匹配定位的位置估計精度。將磁場序列與來自基于INS的PDR的估計軌跡結合使用,提高了磁場指紋的可分辨性,并設計了高斯牛頓迭代法進行磁場輪廓匹配定位。
2)基于智能手機內置傳感器,利用步態模型和運動約束提供偽測量的C-INS方法,提供了更高頻率的輸出、更豐富的三維速度信息,以及更可靠的位置估計和航向估計。實際的步行測試證明了利用C-INS方法可以很好地解決基于智能手機的PDR中未對準角度估計的問題。