一種基于雙軸mems陀螺儀的計步裝置及實現方法
【專利說明】一種基于雙軸MEMS陀螺儀的計步裝置及實現方法
[0001]
技術領域
[0002]本發明屬于行人導航技術領域,特別涉及了基于雙軸MEMS陀螺儀的計步裝置及實現方法。
【背景技術】
[0003]傳統計步裝置的設計思想是利用固定與人體腰、背部等部位的3軸加速度計測量行人行進時的加速度信號,然后通過算法足夠識別出行人行走的站立期和邁步期,同時實現行走的步數的計算,利用加速度計傳感器進行計步是目前最常用技術,但由于行人步行形態的不確定性,若要準確實現計步就需要高精度的傳感器和復雜的軟件算法來精確檢測真實的步伐,對CPU和成本提出了較高的要求。本專利提出了一種新的基于雙軸MEMS陀螺儀的計步方法,但與加速度計計步不同的是,它是利用人行走過程中腳部的周期性抬起和落下帶動陀螺儀輸出角速度繞軸向前后周期性擺動進行計步的,本專利實現的算法簡單,對硬件要求低,易于推廣。
【發明內容】
[0004]本發明的目的:
為了解決現有技術中存在的技術問題,本發明專利提出了一種以雙軸MEMS陀螺儀為核心的新的計步實現方法,它利用人行走過程中足部的周期性抬起落下的特征,使用MEMS陀螺儀感知角速度的變化進行計步,同時感知行人的轉動來辨識行人是轉彎的角度和方向,算法簡單,成本低,計步更加準確,而且易于實現。
[0005]為了實現上述技術目的,本發明的技術方案為:
一種基于雙軸MEMS陀螺儀的計步裝置,其特征是,包括:
測試模塊,用于感知行人的步態,并解析行人的步數和行走狀態后發送至顯示模塊; 顯示模塊,用以實時顯示測試模塊所發送的行人的步數和行進軌跡;
測試模塊包括感知行人步態的MEMS陀螺儀、解析行人的步數和行走狀態的CPU和將CPU的解析信息發送至顯示模塊的無線發送模塊;
顯示模塊包括接收測試模塊所發送信息的無線接收模塊和用于顯示信息的LCD液晶顯示屏。
[0006]進一步,以人的腳踝為原點建立坐標系,設人的正前方為坐標系的X軸,人體的豎直向下為坐標系的Y軸,人的正右側且同時垂直于X、Y軸的方向為Z軸方向;測試模塊中的MEMS陀螺儀放置于行人的腳踝部位,且與坐標系的三軸重合。
[0007]進一步,MEMS陀螺儀為雙軸或三軸數字輸出的MEMS陀螺儀;雙軸數字輸出的MEMS陀螺儀的軸向分別與坐標系的Y、Z軸重合。
[0008]所述的基于雙軸MEMS陀螺儀的計步裝置的計步實現方法,其特征是,包括以下步驟:
(1)MEMS陀螺儀采集數據
MEMS陀螺儀放置在人體的腳踝部位,并以人的腳踝為原點建立坐標系,設人的正前方為坐標系的X軸,人體的豎直向下為坐標系的Y軸,人的正右側且同時垂直于X、Y軸的方向為Z軸方向,MEMS陀螺儀的軸向與坐標系的Y、Z軸或三軸重合,分別用于測試人行走時的航向與角速度;獲取步伐計數和運動方向改變值;
(2)根據Z軸向MEMS陀螺儀數據的角速度周期性進行計步
(2)根據Z軸向MEMS陀螺儀數據的角速度周期性進行計步
對采集到CPU中的Z軸向的MEMS陀螺儀數據首先進行降采樣頻率和平滑處理,濾除部分高頻噪聲和毛刺;然后通過檢測波形上升沿或下降沿的個數確定周期波的個數,人行走的步數即為周期波個數的兩倍;
(3)根據Y軸向MEMS陀螺儀數據的角速度周期性進行方向計算
對采集到CPU中的Y軸向MEMS陀螺儀數據,首先進行降采樣頻率和平滑處理,濾除部分高頻噪聲和毛刺;
再根據Y軸向數據的突變數據進行步伐方向的判斷和計算;
(4)計算行人運動里程
對計步數、運動方向以及運動里程進行實時的更新,設L為步長值,計算出運動距離增量值Λ SX、A Sy,設第1-1次里程更新時人的運動里程為SX1 1、Syl i,則第i次里程更新的運動里程為Sxl= Λ Sx + SX1 1; Syl= Λ Sy + Syl 1;從而依次推算出行人的運動里程。
[0009]進一步,步驟(2)中,
周期波的個數的檢測包括以下步驟:
首先所檢測波形幅值的絕對值是否大于閾值K ;
然后判斷該幅值是不是極大值;
最后判斷兩個檢測波形有效振動之間的數據之差是否大于門限值M,且小于門限值N;其中,閾值K是行人行走時的腳抬起和下落時的最小角速度;門限值Μ是行人以最慢速度行走時的步速;Ν是行人以最快速度行走時的步速。
[0010]采用數組data[3]存放3個連續的Z軸數據,其中data[l]是當前要判斷處理的數據,具體要滿足的條件是:
①data[l]>K ;
②data[l]>data[0] && data[l]>data[2]。
[0011]如果上述條件同時滿足則計步有效標志flag=l ;
當判斷下一組數據時,對數據data[3]進行移位,即data[0]=data[l],data[l]=data[2],data[2]中存放最新采集的陀螺數據;
③(T-t)> M &&(T-t) < No
[0012]如果條件①、②、③同時成立,則行人行走的總步伐數為Step=Step+flag*2 ;
其中T為當前有效振動步伐總更新數據,t為前一刻有效振動步伐總更新數。
[0013]進一步,步驟(3)中,
步伐方向的判斷包括以下步驟:
第一步,步伐方向改變時陀螺數據突變的幅值檢測; 第二步,判斷MEMS陀螺儀Y軸向數據的幅值在相鄰兩側的兩個數據中是不是最大值; 第三步,使用數據窗口濾除無效的方向改變。
[0014]進一步,步驟(4)中,
運動距離增量值Λ Sx=flag*2*L*sin (angle),Δ Sy=flag*2*L*cos (angle)
式中,flag為計步有效標志,angle為寄存器存放的步伐方向改變值。
[0015]本發明創造的優點以及達到的效果:
(1)實現本專利的算法簡單,降低了傳統計步裝置的軟件復雜度,減少了對高性能CPU的依賴,可以有效降低能耗和成本。
[0016](2)本專利使用陀螺儀感知行人的運動狀態,可以作為計步裝置設計中步伐檢測和計步的一種全新的實現方法,而且對傳感器精度要求低,易于實現。
[0017](3)本專利進一步應用于導航定位系統中,可以省去專門用于計步的加速度計,對簡化系統和節省成本具有重要意義。
【附圖說明】
[0018]圖1計步裝置原理框圖;
圖2雙軸陀螺儀數據變化圖;
圖3計步裝置參數算法流程圖。
【具體實施方式】
[0019]下面結合附圖對本發明作進一步描述。以下實施例僅用于更加清楚地說明本發明的技術方案,而不能以此來限制本發明的保護范圍。
[0020]圖1為計步裝置原理圖,它由測試模塊和顯示模塊組成。測試模塊感知行人的步態,并按照算法解析行人的步數和行走狀態,由MEMS陀螺儀、CPU、無線發送模塊構成;顯示模塊有無線接收模塊和LCD液晶顯示屏組成,用以實時顯示行人的步數和行進軌跡,本專利實施中采用4.2寸液晶IXD模塊(800*400),也可以采用其他同類型液晶顯示屏。
[0021]CPU模塊包括嵌入式處理器及外圍電路,CPU實時采集陀螺儀輸出的數據,首先對數據進行濾波預處理,然后進行解算得到行人的行進狀態,最后將結果發送到輸出顯示模塊。本專利中采用ST公司的高性能低功耗產品SMT32L151型ARM處理器,實施中也可以采用同等性能的其他產品,如各種類型的單片機等。
[0022]無線收發模塊實現計步端與顯示端的數據通信。本專利實施中選用支持Zigbee技術的低功耗2.4GHz雙向無線模塊JF24C,實施中也可以采用同等性能的其他產品。
[0023]( 1)雙軸陀螺儀數據的采集
MEMS陀螺儀選用雙軸或三軸數字輸出的MEMS陀螺儀,每個軸向量程大于200dps,本專利實施中采用ST公司的L2G2IS型雙軸陀螺儀,實施中也可以采用同等性能的其他產品。計步裝置放置在人體的腳踝部位,并以人的腳踝為原點建立坐標系,設人的正前方為坐標系的X軸,人體的豎直向下為坐標系的Y軸,人的正右側且同時垂直于X、Y軸的方向為Ζ軸方向,此時雙軸陀螺儀的軸向與Υ、Ζ軸重合,分別用于測試人行走時的方向與角速度。行人在步行、跑步以及運動過程的轉向都會帶動腳踝部位的雙軸陀螺儀繞著相應的軸向做轉動,形成相應的角速度如圖2所示,通過相關算法處理可以獲取步伐計數和運動方向改變值,圖中實線為用來測量步數的陀螺儀輸出數據,虛線為測量轉動的陀螺儀輸出數據。
[0024]放置測試模塊時需保證模塊的軸向與以上坐標系重合,這樣Y軸向陀螺儀感知行人的運動方向,Z軸向陀螺儀感知行人的步態以計步。
[0025](2)根據Z軸陀螺儀數據的角速度周期性進行計步
對采集到CPU中的Z軸MEMS陀螺儀數據首先要進行降采樣頻率和平滑處理,濾除部分高頻噪聲和毛刺;然后通過檢測波形上升沿或下降沿的個數來確定周期波的個數,人行走的步數即為周期波個數的兩倍。周期波個數的檢測主要分成3步,首先所檢測波形幅值的絕對值大于閾值K,然后判斷該幅值是不是極大值。采用數組data[3]存放3個連續的Z軸陀螺數據,其中data[l]是我們當前要判斷處理的數據,具體要滿足的條件是:
①data[l]>K;
②data[l]>data[0] && data[l]>data[2]。
[0026]如果上述條件同時滿足則計步有效標志flag=l。當判斷下一組數據時,需要對數M data[3]進行移位,即 data[0]=data[l],data[l]=data[2],data[2]中存放最新采集的陀螺數據。如果止于這兩步雖然計步裝置已經能夠完成計數功能,但是當計步裝置中的陀螺儀因為行人步行或者跑步以外的原因而非常迅速或者緩慢的振動時,計步裝置也會認為這是有效的,為了能夠真正有效的計步,必須排除這些無效的振動,這樣就必須使用“數據窗口”來解決這一問題,即根據實際情況規定兩個有效振動之間的數據之差應該大于門限值M,且小于門限值N,同時門限值Μ小于門限值Ν。
[0027]③(T-t)> M &&(T-t) < No