柴曉榮,雷雪梅
(內(nèi)蒙古大學(xué),內(nèi)蒙古 呼和浩特 010000)
?
基于加速度計(jì)和陀螺儀的計(jì)步算法研究
柴曉榮,雷雪梅
(內(nèi)蒙古大學(xué),內(nèi)蒙古 呼和浩特 010000)
摘要:本文主要應(yīng)用加速度和陀螺儀對(duì)人體行走時(shí)手腕的加速度和角速度進(jìn)行分析、處理實(shí)現(xiàn)計(jì)步,并利用MATLAB對(duì)實(shí)際步行中加速度和角速度測(cè)量值進(jìn)行算法仿真,得到了很好的效果。本文中介紹的計(jì)步算法結(jié)合加速度和角速度共同檢測(cè)步數(shù)。
關(guān)鍵詞:計(jì)步算法;加速度;角速度;MATLAB
引言
隨著可穿戴設(shè)備的發(fā)展,智能手表、智能手環(huán)的紛紛推出,通過(guò)手腕式穿戴設(shè)備進(jìn)行計(jì)步也是一個(gè)重要的研究課題。一般的計(jì)步算法主要是根據(jù)加速度信號(hào)的變化來(lái)反應(yīng)人體的步行。加速度和角速度是反映人體運(yùn)動(dòng)最直接的信息,這些信息與人體運(yùn)動(dòng)密切相關(guān)。本文對(duì)計(jì)步的研究主要是對(duì)人體行走時(shí)手臂的加速度和角速度進(jìn)行檢測(cè),通過(guò)采集處理這些信號(hào)實(shí)現(xiàn)計(jì)步,并用MATLAB軟件對(duì)實(shí)際步行時(shí)手臂加速度、角速度信號(hào)進(jìn)行處理,并對(duì)計(jì)步算法其進(jìn)行了分析、仿真。
1人體步行模型
人體歩行是通過(guò)雙腳的交互動(dòng)作移行機(jī)體的活動(dòng)。在一個(gè)歩態(tài)周期內(nèi),身體的加速度和角速度隨時(shí)間不斷變化。行走時(shí),手臂和腿部的擺動(dòng)近似于鐘擺運(yùn)動(dòng),有正負(fù)加速度交替變化的過(guò)程,另外人體行走時(shí)手臂和腿部不會(huì)作定軸的旋轉(zhuǎn)運(yùn)動(dòng)。通過(guò)對(duì)步態(tài)加速度和角速度信號(hào)提取人步行的特征參數(shù)是一種簡(jiǎn)便、可行的步態(tài)分析方法。
人行走一步,腿出現(xiàn)蹬地、擺動(dòng)、觸地的運(yùn)動(dòng)過(guò)程,而手臂出現(xiàn)最高點(diǎn)、最低點(diǎn)、最高點(diǎn)的擺動(dòng)過(guò)程,整個(gè)過(guò)程中手臂不會(huì)有旋轉(zhuǎn)產(chǎn)生。在這個(gè)變化過(guò)程中,速度和加速度都將隨時(shí)間變化,而手臂的角速度卻始終保持在一定范圍。行走時(shí),每步開(kāi)始會(huì)產(chǎn)生一個(gè)比較大的加速度,在下肢初始接地、緩沖以及蹬地發(fā)力等吋刻,歩態(tài)加速度信號(hào)會(huì)出現(xiàn)極大值和極小值的轉(zhuǎn)折點(diǎn)。
2加速度和角速度信號(hào)的處理
人體運(yùn)動(dòng)時(shí)身體的振動(dòng)頻率范圍在0~20Hz之間,為了準(zhǔn)確捕捉人體步行的細(xì)節(jié)信息,設(shè)置采樣頻率為50Hz,采樣出來(lái)的加速度和角速度數(shù)據(jù)能夠反映人體的步行情況。本次數(shù)據(jù)采集實(shí)驗(yàn)采用MPU6050傳感器測(cè)量人體行走時(shí)的三軸加速度和三軸角速度,利用單片機(jī)讀取傳感器的測(cè)量數(shù)值并存儲(chǔ),進(jìn)而導(dǎo)入MATLAB進(jìn)行分析。
在步行中,加速度傳感器檢測(cè)到X、Y、Z軸的加速度變化情況多樣,無(wú)法識(shí)別出那個(gè)軸有明顯周期性變化,所以采用三軸融合的方法來(lái)解決此問(wèn)題,經(jīng)三軸融合后的和加速度信號(hào)也具有明顯的周期性。角速度傳感器檢測(cè)手臂在X、Y、Z軸的旋轉(zhuǎn)角速度,在人體行走過(guò)程中,三軸融合的角速度會(huì)保持在一定值并作波動(dòng)。三軸融合算法采用公式1所示。
|ACCsum|=|ACCX|+|ACCY|+|ACCZ|(公式1)
將加速度信號(hào)和角速度信號(hào)經(jīng)過(guò)三軸融合后的數(shù)據(jù)會(huì)夾雜許多噪聲并且X、Y、Z軸的加速度和角速度信號(hào)相位不同步,疊加后造成波形不平滑,不利于檢測(cè)。所以需要將數(shù)據(jù)進(jìn)行平滑濾波處理,本次算法中采用滑動(dòng)均值濾波方法來(lái)處理三軸融合的原始數(shù)據(jù)。滑動(dòng)均值濾波的基本算法是對(duì)滑動(dòng)窗口的數(shù)據(jù)求平均值,其算法的主要因素是滑動(dòng)窗口的大小。
3計(jì)步檢測(cè)算法
對(duì)行走時(shí)加速度變化曲線進(jìn)行分析,可以看出在一定時(shí)問(wèn)間隔內(nèi)會(huì)有一個(gè)加速度波峰和波谷。此外,計(jì)步因步行之外的原因而迅速或緩慢振動(dòng)時(shí),也會(huì)被計(jì)數(shù)器誤認(rèn)為是步伐。在步行時(shí),速度慢時(shí)一個(gè)步伐所占的時(shí)間隔長(zhǎng),走的快時(shí)時(shí)間間隔短,但都應(yīng)在動(dòng)態(tài)頻率范圍確定時(shí)間窗口內(nèi),所以利用這個(gè)時(shí)間窗口就可以有效地減小無(wú)效振動(dòng)對(duì)步伐判斷造成的影響。步行中人體的手臂不會(huì)做出旋轉(zhuǎn)動(dòng)作,所以其三軸的角速度應(yīng)保持在一定的范圍內(nèi)。根據(jù)以上分析,可以確定邁步周期中加速度變化情況具備以下特點(diǎn):(1)一個(gè)邁步周期中僅出現(xiàn)一次加速度極大值、極小值,有一個(gè)上升區(qū)間和下降區(qū)間。(2)相鄰步之間的時(shí)間間隔為0.2s-2s之間。(3)行走時(shí),加速度極大值與極小值是交替出現(xiàn)的,且其差的絕對(duì)值在預(yù)設(shè)的閾值范圍之內(nèi)。(4)行走中手臂角速度會(huì)保持在一定數(shù)值,并且在某一數(shù)值上下作微小波動(dòng)。
通過(guò)認(rèn)識(shí)人行走時(shí)的步態(tài)特征,我們可以設(shè)置時(shí)間窗口、極大值值與極小值的最值之差以及判斷極值點(diǎn)的查找窗口,來(lái)找出極值點(diǎn),并判斷極值點(diǎn)之差是否在預(yù)設(shè)的閾值范圍之內(nèi)。如果最值之差不在閾值范圍內(nèi),則舍去極值點(diǎn),繼續(xù)進(jìn)行檢測(cè)。如果最值之差在閾值范圍內(nèi),則進(jìn)入計(jì)步狀態(tài),進(jìn)而進(jìn)行下一次的計(jì)步檢測(cè),等到下一次檢測(cè)到滿足閾值的點(diǎn)后,再與第一次檢測(cè)到的點(diǎn)進(jìn)行時(shí)間間隔的判斷,如果時(shí)間間隔在步態(tài)周期內(nèi)(0.2s-2s),則計(jì)步有效。如果不在則繼續(xù)進(jìn)行檢查。在計(jì)步的整個(gè)過(guò)程中都判斷角速度的值是否在一定范圍內(nèi)波動(dòng)。如果是則計(jì)步有效,否則計(jì)步無(wú)效。計(jì)步算法的程序流程圖如圖3.1所示。
圖3.1 計(jì)步算法程序流程圖
圖3.2 利用MATLAB仿真計(jì)步算法結(jié)果圖
利用MATLAB軟件對(duì)一次步行的局部加速度和角速度信號(hào)進(jìn)行處理分析。通過(guò)MATLAB程序,將上述算法進(jìn)行仿真測(cè)試。在MATLAB程序中,查找算法設(shè)計(jì)的查找窗口設(shè)置為7。經(jīng)過(guò)程序查找的極大值和極小值如圖3.2所示,從圖中我們可以看出該程序可以較好的查找到極大值點(diǎn)和極小值點(diǎn)。此局部數(shù)據(jù)中查找計(jì)步為4步,而實(shí)際為5步,所以此算法存在一定的誤差,但滿足要求。
4總結(jié)
此計(jì)步算法通過(guò)對(duì)人行走時(shí)的加速度和角速度數(shù)據(jù)進(jìn)行分析、處理可以很好地達(dá)到計(jì)步效果,誤差控制在5%左右。此計(jì)步算法可以用于可穿戴設(shè)備中計(jì)步功能的實(shí)現(xiàn)。
參考文獻(xiàn):
[1]謝如花.步數(shù)檢測(cè)方法及在手腕式計(jì)步器中的應(yīng)用研究[D].蘭州交通大學(xué),2013.4.
[2]Kim J W,Jang H J,Hwang D H et a1.A Step,Stride and Heading Determination for the Pedestrian Navigation System.Journal ofGlobal Positioning Systems.2004,3(1):273-279.
[3]Jang H J,Kim J W,Hwang D H.Robust step detection method for pedestrian navigation systems.Electronics Letters,2007,43(14):1-2.
[4]王博,張洪斌,謝德華.基于ADXL362的運(yùn)動(dòng)監(jiān)測(cè)及傾角測(cè)量系統(tǒng)的設(shè)計(jì)[J].電子質(zhì)量,2013,09:33-34.
中圖分類號(hào):TP212
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1671-1602(2016)06-0273-02
作者簡(jiǎn)介:柴曉榮,男,漢,山西原平,內(nèi)蒙古大學(xué),在讀碩士,電子與通信工程。