彭 慧,向高軍,方 針,嚴隆輝,方海斌
(1.中國電子科技集團公司第二十六研究所,重慶 400060; 2.重慶郵電大學 智能傳感技術與微系統重慶市高校工程研究中心,重慶400065)
隨著微機電系統(MEMS)技術的發展,基于微慣性傳感器組合的慣性定位技術已成為人們研究的熱點[1]。慣性定位技術是一種不依賴外界環境,憑借自身慣性傳感器實現人員自主定位的技術,由于可滿足特定環境要求,該技術被廣泛應用在消防應急救援等領域[2]。其中,慣性定位技術的核心部件微型慣性測量單元(MIMU)是一種集成微加速度計、微陀螺儀的MIMU,具有成本低及體積小等優點[3]。基于MIMU的行人航跡推算(PDR)算法通過對行人步態、步長和航向等信息進行計算,進而提供位置信息,實現了行人自主定位。其中,步數計算準確與否直接影響著導航精度,如何分析行人的運動特征,實現步數的精確統計,學者們展開了大量的研究。
目前,對于行人步數檢測的研究方法典型的有固定閾值檢測算法、時間閾值檢測法、自適應閾值檢測法、基于零速檢測計步法及一些采用多源信息融合的計步算法等[4-9]。
固定閾值法[4]針對單一步態檢測效果好,而對于行人多種運動步態時檢測效果較差。時間閾值檢測法[5]對行人單一步態下檢測效果進一步提高,對于行人多運動模式,如由慢走變為快走甚至跑動時,未進行探討。自適應波峰檢測算法[6]是在慣性測量單元多種佩戴模式下,計步精度為99%以上,卻將正常和非正常計步分開進行。多源信息融合計步算法[7]通過引入角速度、加速度等多元信息進行步數檢測,對多種步態的步數檢測精度為98%以上,但只針對慣性測量單元佩戴在腳尖部位姿態下進行計步,不符合使用可穿戴設備習慣;文獻[8]通過將慣性測量單元佩戴在腳背上進行零速檢測來計步,然而將慣性測量單元配搭在其他位置時將會導致算法失效;文獻[9]通過主成分分析對特征數據進行選取,實現了三軸加速度傳感器計步精度達到96.13%,但算法只針對佩戴褲子口袋時進行實驗,未進行多種佩戴模式驗證算法精度。
為實現MIMU多種佩戴方式下及行人多運動模式時的精確計步,本文提出了一種基于可穿戴式MIMU的波峰-雙閾值步數檢測算法。
為降低由慣性傳感器隨時間變化引入的累積誤差,提高定位精度,根據行人運動特點,將行走過程中行走的距離等價于求解行人步數乘以對應步數的步長,結合航向信息實現定位。
PDR算法從確定位置開始,結合行人航向、步態、步長對下一時刻位置進行推算,則有
(1)
式中(xk,yk)、θi、di分別為第i步的位置、航向角和步長。當檢測步數變化時,運用式(1)對行人進行位置解算,可見對行人步數精確統計在定位過程中至關重要。
行走是人類生活中最常見和最頻繁的運動,行走時,左、右腿會周期性交替支撐,身體各部位產生相應的運動,這些運動產生的加速度、角速度等會隨之發生變化。行人的行走是有規律的,采集行人載體坐標系下三軸加速度數據,如圖1所示。由圖可知,行走過程中加速度計數據存在明顯的變化規律,且呈現周期性變化趨勢。

圖1 行人加速度變化情況
根據行走時加速度數據周期性變化的特性,對加速度等數據特征提取,進而實現步數統計。經典的波峰閾值檢測法通過統計加速度波峰數目,并對其大小進行判斷,進而實現計步。同時為消除偽波峰的影響,常見的方法是結合時間閾值判定對計步策略進行改進,然而行人運動速度是隨意變換的,行走速度的任意變化使時間閾值判定法常會出現漏檢的情況。基于此,本文在波峰閾值檢測計步法的基礎上,增加加速度閾值判別策略對步數進行輔助判斷。
行走時加速度出現周期性正弦波的特性,可以通過檢測加速度正弦波的波峰或波谷個數實現步數統計。波峰檢測算法正是通過檢測加速度波峰來實現計步,當連續檢測到兩個波峰時計步成功。
設載體坐標系下x、y和z軸加速度分別為axk、ayk、azk,對應合加速度有:
(2)
選取相連3個合加速度進行波峰檢測,判斷方法如下:

(3)
式中ak-1,ak,ak+1分別為k-1時刻、k時刻和k+1時刻的合加速度模值。當檢測到C(k)=1時,表示波峰檢測成功,否則未檢測到波峰,同時檢測到峰值加速度達到某一閾值時即計步成功。
傳統的閾值算法計步中,常采用單一閾值大小,固定時間長度對行人正常行走下的步數進行統計,對于行人行走狀態發生改變,如運動過程由慢走變為快走甚至跑動時,由于運動特征變化劇烈,使傳統波峰閾值計步算法精度降低,圖2為慢走、正常走、快走、跑動時經過10個歷元的滑動窗函數濾波后的合加速度變化情況。

圖2 不同步態下加速度變化情況
由圖2可知,當行人速度由快到慢的過程中合加速度幅值變化劇烈,同時相連波峰由稀疏變密集,顯然單一閾值和固定時間長度檢測算法的檢測效果將受到極大的影響,甚至導致定位失敗。針對復雜步態變換下的步數統計,提出了一種基于可穿戴式MIMU的波峰-雙閾值步數檢測算法,以滿足多運動步態條件下步數精確統計,提高步數檢測算法對行人運動狀態的適應性,進而提高定位精度。
2.2.1 雙閾值判定
設定判別高閾值A,低閾值B,將ak依次與A、B進行比較,并將比較結果存入數組T中,判斷方法如下:
(4)
2.2.2 波峰-雙閾值計步策略
利用式(3)、(4)對合加速度的波峰、閾值大小進行判定,可得到波峰檢測結果C(k)、閾值判斷結果T(k)。對步數綜合識別方法如下:
1) 當C(mi) &T(mi)=1時,記M={m1,m2,…,mi}時,表示在采樣點mi時合加速度滿足波峰條件,且ak≥A。
2) 當C(mi) &T(mi)=1時,存在T(n)=-1 &T(o)=-1,mi-1 3) 當檢測到合加速度波峰值均滿足判定方法1)、2)時,可得出: (5) 通過式(3)~(5)找出滿足條件采樣點mi,通過統計mi的個數即可完成行人步數統計。 圖3 計步算法流程圖 基于可穿戴式MIMU的波峰-雙閾值步數檢測算法流程如圖3所示,通過采集三軸加速度信號進行窗函數濾波并計算合加速度,接著對合加速度信號進行波峰檢測和閾值判定,利用本文提出的波峰-雙閾值計步策略進行計步統計,直到導航結束。 針對本文提出的基于可穿戴式MIMU的波峰-雙閾值步數檢測算法,采用實驗室自主研發的MIMU(集成三軸MEMS加速度計、三軸MEMS陀螺儀等傳感器)作為實驗硬件平臺(見圖4)進行測試。 圖4 實驗硬件設備 實驗過程中,始終以MIMU載體坐標系z軸指向上,y軸指向前,x軸指向行進右方向的方式進行佩戴,且分別佩戴在上衣口袋C1、右衣口袋C2、右前褲口袋C3,右后褲口袋C4等位置(見圖5),以采樣頻率為50 Hz,采集多種行走步態(包括慢走、常規行走、快走、慢跑、快跑等)狀態下三軸加速度數據,并進行步數檢測分析。 圖5 MIMU佩戴模式示意圖 針對 MIMU 4種佩戴模式下采集得到的數據,選用傳統波峰-閾值檢測計步算法和本文提出的波峰-雙閾值步數檢測算法進行分析。選取A=10.4 m/s2,B=10.3 m/s2,圖6為MIMU分別配帶在C1、C2、C3、C4等位置時合加速度變化情況,以及選用傳統波峰閾值檢測算法和本文提出的波峰-雙閾值步數檢測效果。為便于觀察,已將閾值判定結果T(k)在圖中進行了上移。 圖6 各種佩戴方式下計步檢測效果 從圖6可看出,不同步態下加速度幅值變化明顯且圖像緊密程度存在差異,將檢測結果與傳統波峰-閾值計步算法進行對比分析,實驗結果如表1所示。 表1 檢測結果分析 實驗結果表明,本文提出的波峰-閾值步數檢測算法可以在多步態情況下進行精確計步,當MIMU分別配帶在C1、C2、C3、C4等位置,準確率高于98%,具有較高精度,由于傳統算法,有效增強了慣性定位技術在可穿戴式MIMU中的適應性。 傳統波峰閾值檢測算法對行人運動狀態適應性差及存在偽波峰干擾問題,本文提出了一種基于MIMU加速度計的波峰-雙閾值步數檢測算法,采集每一步合加速度波峰并對合加速度進行判斷,實現行人多種運動狀態和MIMU多種佩戴模式下行人步數統計。算法首先對合加速度計信號進行窗函數濾波處理,接著對合加速度信號進行波峰檢測,結合行人運動合加速度上、下閾值對行人步數進行檢測。實驗結果表明,本文提出的基于可穿戴式MIMU的波峰-雙閾值步數檢測算法,當MIMU分別佩戴在C1、C2、C3、C4等多種位置時,計步精度均高于98%。可見,本文提出的算法復雜度小,能夠較好地應用于實際中,進而輔助慣性定位,增加可穿戴設備適應性,提高定位精度

3 實驗分析
3.1 實驗設計


3.2 結果分析


4 結束語