胡 越, 葉瑋瓊
(湖南工業(yè)大學(xué) 計算機學(xué)院,湖南 株洲 412000)
現(xiàn)今,智能穿戴設(shè)備在運動姿態(tài)檢測的技術(shù)尚未成熟,僅有部分設(shè)備具有檢測足部姿態(tài)的功能。所以,有效地針對跑步時足部的姿態(tài)進行檢測成為今后智能穿戴在運動健康領(lǐng)域的重要應(yīng)用之一。根據(jù)關(guān)鍵跑步法[1],對于長跑新手來說,養(yǎng)成錯誤的跑步習(xí)慣易對身體造成不同程度運動損傷。傳統(tǒng)精度高的步態(tài)分析檢測方式往往需要借助光學(xué)、壓力傳感器,因此多用于康復(fù)治療,即使制作成便攜式檢測設(shè)備的成本也較高,不適用于戶外運動。由于其體積小、成本低、靈活性好,足部姿態(tài)檢測目前主要采用微機電系統(tǒng)(micro-electro-mechanical system,MEMS)慣性傳感器[2]。由于傳感器自身特點,用于檢測姿態(tài)的系統(tǒng)噪聲以及環(huán)境對測量的干擾都會導(dǎo)致檢測精度下降。不同于一般姿態(tài)檢測,適用于長跑足部姿態(tài)檢測會遇到更多外力影響,因此需要算法對于一定周期性變化的足部姿態(tài)有自適應(yīng)性的調(diào)整。
互補濾波[3]利用傳感器自身特性設(shè)置高低通濾波,但未能考慮在運動過程中足部的加速度和震動影響。擴展卡爾曼濾波[4](extended Kalman filtering,EKF)和無跡卡爾曼濾波[5](unscented Kalman filtering,UKF)是非線性濾波器,可用于降低復(fù)雜運動中影響因素的干擾。文獻[6]使用四元數(shù)法設(shè)計了一種融合陀螺儀和加速度計信息的互補濾波器,將加速度計數(shù)據(jù)估計的姿態(tài)轉(zhuǎn)化成線性系統(tǒng)。文獻[7]提出了一種使用梯度下降計算建立誤差函數(shù)修正姿態(tài)四元數(shù)的方法。文獻[8]將加速度計和全球定位系統(tǒng)融合,抑制運動加速度的影響。文獻[9]設(shè)計了一種二段式UKF算法,降低了修正姿態(tài)過程中的互相干擾。
本文提出自適應(yīng)的誤差四元數(shù)的無跡卡爾曼濾波(DAUKF)姿態(tài)檢測算法,考慮到跑步運動中足部受到由腿部提供的外力加速度因素的影響,利用陀螺儀累積產(chǎn)生的漂移誤差模型建立姿態(tài)估計系統(tǒng)中的狀態(tài)方程;利用加速度計和磁力計數(shù)據(jù)建立系統(tǒng)的觀測方程;最后使用UKF算法進行數(shù)據(jù)融合??紤]到動態(tài)過程中,觀測噪聲的變化對狀態(tài)估計產(chǎn)生的影響,自適應(yīng)地調(diào)整觀測噪聲協(xié)方差矩陣,提高足部姿態(tài)的動態(tài)檢測精度以及識別出不良的足部姿態(tài)。
直觀地描述物體在三維空間內(nèi)的姿態(tài)時,歐拉角法需參考坐標系和載體坐標系。如圖1所示,參考坐標系G是以被測物體質(zhì)心為原點,沿著“北、西、天”三個方向為X,Y,Z軸建立坐標系。載體坐標系S以傳感器中心為原點,以“前、右、上”三個方向為x,y,z軸建立坐標系。三個歐拉角:橫滾角(roll)、俯仰角(pitch)和偏航角(yaw),可以看成載體繞x,y,z軸按照右手定則旋轉(zhuǎn)產(chǎn)生的角度。
圖1 空間內(nèi)足部姿態(tài)描述
陀螺儀誤差模型中,ωo為陀螺儀的輸出,ω為角速度值,偏置值εg以及高斯白噪聲ng的總和。對誤差四元數(shù)qe求微分,再根據(jù)四元數(shù)微分方程、運動學(xué)方程和陀螺儀誤差模型[9],得到誤差四元數(shù)的運動學(xué)方程
在式(2)中定義3階運算向量[m×],形式如下
本文將誤差四元數(shù)與陀螺儀在三個軸向的漂移量作為系統(tǒng)的狀態(tài)向量,x=[qe1qe2qe3εgxεgyεgz]。
系統(tǒng)的狀態(tài)轉(zhuǎn)換方程和系統(tǒng)過程噪聲為f(x(k))和w(k),如式(4)
因此,系統(tǒng)協(xié)方差矩陣為
建立誤差四元數(shù)UKF的觀測方程采用加速度計和磁力計輸出。在行進過程中,足部的速度往往處于在一定程度范圍內(nèi)的變加速度變化。依據(jù)加速度計和磁力計的誤差模型,可建立觀測方程
zk=h(xk)+vk
(6)
式中h(xk)為觀測轉(zhuǎn)換函數(shù),由重力分量和地磁場強度與狀態(tài)轉(zhuǎn)換矩陣相乘得到。vk為觀測噪聲,由除重力外加速度與加速度計的零均值白噪聲之和與磁力計的零均值白噪聲構(gòu)成。取加速度計和磁力計的輸出為觀測量,觀測噪聲協(xié)方差矩陣R如式(7)所示
式中Ra和Rm為加速度計和磁力計的測量噪聲協(xié)方差矩陣。Rb為除重力外加速度的協(xié)方差矩陣,主要根據(jù)腿部肌肉對加速度的影響進行調(diào)整。
改進后的自適應(yīng)UKF算法的具體步驟:
1)無跡變換
無跡變換本質(zhì)就是概率分布近似系統(tǒng)中的非線性函數(shù),按照一個選取規(guī)則得出Sigma點集,保證所選點集的均值和方差與原本分布的相等。本文采取對稱取樣的選取規(guī)則,具體的步驟如下:
Sigma點采樣
權(quán)值計算
對無跡變換后的Sigma點進行加權(quán)計算后得出下一時刻的狀態(tài)預(yù)測和協(xié)方差矩陣
2)利用權(quán)值計算出觀測值估計
3)自適應(yīng)調(diào)整觀測噪聲協(xié)方差矩陣
系統(tǒng)內(nèi)部的噪聲取決于傳感器自身,相對比較穩(wěn)定。觀測噪聲因外部環(huán)境的影響,易出現(xiàn)難以估計的變化。為了防止引入觀測量時出現(xiàn)的誤差變化,本文引入漸消記憶思想,根據(jù)與待求觀測噪聲處的距離改變權(quán)重,自適應(yīng)地調(diào)整觀測協(xié)方差矩陣[10]。故設(shè)在計算觀測誤差協(xié)方差時的權(quán)值序列滿足
經(jīng)過等比求和公式與權(quán)值序列的遞推求得
式(13)、式(14)中,β為對應(yīng)時刻的權(quán)重,b為漸消記憶因子。b越大,則前一時刻的k-1在計算中所占的權(quán)重就越大。根據(jù)觀測噪聲在長跑運動中處于在一定范圍內(nèi)的非平穩(wěn)狀態(tài),漸消記憶因子取值范圍需經(jīng)過實際測算得出。
更新預(yù)測協(xié)方差矩陣和觀測協(xié)方差矩陣
更新卡爾曼增益矩陣[11]
更新狀態(tài)值和狀態(tài)方差矩陣
姿態(tài)估計算法流程如圖2所示。
圖2 姿態(tài)檢測算法流程圖
如圖3,實驗選用了Arduino UNO開發(fā)板,MPU9250作為傳感器采集九軸姿態(tài)數(shù)據(jù),并使用串口把數(shù)據(jù)傳至MATLAB 2018b平臺進行仿真實驗。將傳感器模塊置于足部正面前部位置,通過模擬跑步運動中足部的下踏和上抬動作,并從一段5 min連續(xù)過程中選取20 s的時間進行誤差分析。對本文提出的DAUKF與一般的UKF算法進行比較,圖4、表1所示,使用DAUKF算法解算姿態(tài)時產(chǎn)生的橫滾角與俯仰角誤差波動比直接使用UKF算法要小。所以,對于在長跑過程中足部的錯誤姿態(tài)有更佳的識別效果。
圖3 足姿檢測實物
圖4 使用DAUKF與UKF角度誤差比較曲線
表1 DAUKF與UKF比較結(jié)果
外翻角度指足部從開始觸地到蹬踩離開地面的旋轉(zhuǎn)角度,著地方式是足部與地面的接觸方式,都屬于判斷跑步足姿的重要指標。如表2,實驗設(shè)置4組對照,第1組按照關(guān)鍵跑步法提倡的主要由跖球部(前腳掌)完成著地,并保持外翻角度控制在正常范圍內(nèi)(5°~25°)。其余3組分別是對第1組的外翻角度、著地方式以及兩者進行更改。通過對足部開始觸地與離開地面后足部的橫滾角與俯仰角的量化分析,判斷足部姿態(tài)的著地方式與外翻角度是否出現(xiàn)異常。使用俯仰角的變化可以較為準確地描述出運動過程中足部從觸地到騰空擺動,再到觸地的一個完整擺動周期。每組實驗5 min,將每組的橫滾角與俯仰角變化按照擺動周期分析是否超過關(guān)鍵跑步法的推薦范圍并由此提出恰當?shù)母纳谱阕说慕ㄗh。
表2 4組實驗對照結(jié)果
實驗結(jié)果如表2所示,使用DAUKF算法對不良足部姿態(tài)可以達到較佳程度的識別率。當外翻角度超出合理范圍時,識別率可達到84.1 %,當著地方式不正確時,識別率可達到87.9 %,當兩者皆不合理時,識別率達到93.6 %。
通過對長跑中足部運動狀態(tài)和空間內(nèi)動態(tài)姿態(tài)解算等問題的研究,本文設(shè)計了DAUKF算法可將動態(tài)過程中姿態(tài)角誤差控制在一定的范圍內(nèi)。針對長跑運動過程中的觀測噪聲的變化自適應(yīng)地調(diào)整觀測噪聲協(xié)方差,在補償動態(tài)過程中陀螺儀的累積誤差進行姿態(tài)估計的同時,也減少了非平穩(wěn)性觀測噪聲的影響。從而,使得不良足部姿態(tài)識別率達到了較佳的程度。