卡爾曼濾波在人體姿態(tài)檢測中的應(yīng)用
杜波,張卓,劉垚
(長春工程學(xué)院電氣與信息工程學(xué)院,長春 130012)
主要研究檢測技術(shù)與自動化裝置。
摘要:為了盡早發(fā)現(xiàn)老人的意外跌倒,避免長躺現(xiàn)象,爭取救護時間,對人體姿態(tài)進行檢測。由控制器STM32F103和傳感器MPU6050構(gòu)成信號采集系統(tǒng),采用無線藍牙模式進行數(shù)據(jù)傳遞,由接收系統(tǒng)進行數(shù)據(jù)分析和顯示。建立人體坐標系,對采集的加速度信號進行卡爾曼濾波,調(diào)節(jié)參數(shù),補償測量誤差,實現(xiàn)最優(yōu)估計。對濾波后的加速度信號進行整合,并以角度信號為輔助,進行姿態(tài)判斷,及時判斷跌倒事故。通過Matlab仿真發(fā)現(xiàn),卡爾曼濾波的使用有效地提高了系統(tǒng)的測量精度,有助于姿態(tài)判斷的實現(xiàn)。
關(guān)鍵詞:卡爾曼濾波;姿態(tài)檢測;加速度信號;Matlab;藍牙
doi:10.3969/j.issn.1009-8984.2015.03.024
收稿日期:2015-06-29
基金項目:吉林省教育廳項目(120140059;12014K013)
作者簡介:杜波(1976-),女(漢),長春,副教授,碩士
中圖分類號:TP29獻標志碼:A
0前言
當今社會老齡化日益嚴重,無人監(jiān)護的居家老人頻發(fā)意外跌倒事故,如果跌倒后躺在地上的時間超過1 h,稱為“長躺”。長躺對于老年人來講很危險,可導(dǎo)致虛弱、疾病,甚至死亡[1]。因此,對人體姿態(tài)的檢測,特別是對跌倒的及時發(fā)現(xiàn)就顯得尤為重要,為意外跌倒患者的進一步救護爭取寶貴時間,意義重大。
人體在運動中會有很多的信息量,比如速度、角度、加速度等,捕捉人體運動中的特征量,并對其進行分析,從而對人體運動狀態(tài)進行判斷。加速度信號能夠體現(xiàn)人體運動的激烈程度,因此,采用加速度傳感器對人體運動中的加速度信號進行采集,并進行分析和處理,從而實現(xiàn)人體姿態(tài)和跌倒的判斷。針對采集的加速度信號進行卡爾曼濾波,使采集波形更加平滑,特征突出,并通過Matlab軟件進行仿真,為姿態(tài)分析和判斷提供準確的數(shù)據(jù)。
1系統(tǒng)組成
整個系統(tǒng)由采集系統(tǒng)和接收顯示系統(tǒng)2部分構(gòu)成。采集系統(tǒng)通過傳感器進行信號采集,并通過無線方式進行數(shù)據(jù)發(fā)送。接收顯示系統(tǒng)通過無線方式接收數(shù)據(jù),進行數(shù)據(jù)處理和分析,并實現(xiàn)顯示和報警。
圖1 系統(tǒng)框圖
控制器采用STM32F103,STM32F103是ARM公司最新推出的基于ARMv7體系架構(gòu)的處理器核,具有高性能、低成本、低功耗的特點。STM32F103RCT6是基于Cortex-M3內(nèi)核的32位微控制器,工作頻率為72 MHz,內(nèi)置高速存儲器(高達128 k字節(jié)的閃存和20 k字節(jié)的SRAM),滿足采集頻率高,處理數(shù)據(jù)量大的要求。[2]
傳感器采用MPU6050(三軸陀螺儀 + 三軸加速度),對加速度和角速度信號進行采集。MPU6050供電電源電壓為3~5 V,標準IIC通信接口,芯片內(nèi)置16 bit AD轉(zhuǎn)換器,16位數(shù)據(jù)輸出,陀螺儀范圍:±250°/s、±500°/s、±1 000°/s與±2 000°/s,加速度范圍:±2g、±4g、±8g、±16g[3]。MPU6050傳感器如圖2所示,圖3為MPU6050三軸方向示意圖,標出了三軸加速度方向和三軸陀螺儀角速度方向,圖4為MPU6050與STM32F103接口電路圖。
圖2 MPU6050傳感器模塊圖
圖3 MPU6050三軸方向示意圖
圖4 MPU6050電路接線圖
為了便于信號的采集和輸出,采用無線方式進行數(shù)據(jù)傳遞,使測量者擺脫導(dǎo)線的束縛,使測量數(shù)據(jù)更加真實??刂破鲗⒉杉降腗PU6050的加速度和角速度信號經(jīng)過藍牙進行無線發(fā)送,可將數(shù)據(jù)發(fā)送到接收系統(tǒng)進行處理和顯示,也可以發(fā)送到PC機進行Matlab仿真。PC機可通過USB 4.0的藍牙適配器接收數(shù)據(jù),并通過上位機記錄測量數(shù)據(jù)。
顯示器采用OLED顯示屏,小巧輕薄,節(jié)省電能。報警電路采用蜂鳴報警。
圖5 藍牙模塊實物圖
圖6 藍牙模塊接口電路圖
圖7 USB 4.0藍牙適配器實物圖
圖8 OLED液晶顯示電路圖
圖9 蜂鳴報警電路圖
2算法實現(xiàn)
通過傳感器采集到的加速度信號一共有3個軸,即X軸、Y軸、Z軸,通過加速度信號可以分析出運動的強度和運動的方向,因此需要建立坐標系。參考Kangas等[4]人的研究結(jié)果,將傳感器佩戴于人體的不同部位進行測試,發(fā)現(xiàn)佩戴于腰部身體中軸時,加速度信號的變化更能夠體現(xiàn)人體運動的變化,因此,將傳感器佩戴于后腰部正中。人體垂直站立于地面時,使傳感器的+Z指向人體的正上方,+Y指向人體的正左側(cè)并平行于地面,+X指向人體的正前方并平行于地面,如圖10所示。當人體進行運動時,X、Y和Z軸的加速度信號將發(fā)生相應(yīng)的變化,角速度信號也會有所變化。
圖10 坐標系三維方向示意圖
卡爾曼濾波是通過系統(tǒng)輸入輸出觀測數(shù)據(jù),對系統(tǒng)狀態(tài)進行最優(yōu)估計的算法。由于輸入數(shù)據(jù)中包括系統(tǒng)中的噪聲和干擾的影響,所以最優(yōu)估計也可看作是濾波過程。數(shù)據(jù)濾波是去除噪聲還原真實數(shù)據(jù)的一種數(shù)據(jù)處理技術(shù),能夠?qū)Σ杉降臄?shù)據(jù)進行實時更新和處理。
按照奈奎斯特抽樣定理,只有當采樣頻率大于被測信號最高頻率的2倍以上時,才能夠完整地、無失真地恢復(fù)原始信號[5]。人體活動頻率不會高于20 Hz,本系統(tǒng)的采樣頻率為50 Hz,即采樣周期為20 ms。系統(tǒng)對采集到的加速度信號進行卡爾曼濾波處理,列寫卡爾曼濾波公式如下:
pre=a0,
(1)
式中:pre為預(yù)測加速度值;a0為上一狀態(tài)最優(yōu)加速度值,假定姿態(tài)變化緩慢或不發(fā)生改變。
covp=cov0+Q,
(2)
式中:covp為pre的協(xié)方差;cov0為a0的協(xié)方差;Q為系統(tǒng)過程偏差協(xié)方差,即預(yù)測偏差協(xié)方差。
a1=pre+kg*(data-pre),
(3)
式中:a1為當前狀態(tài)最優(yōu)加速度值;data為采集加速度值。
kg=covp/(covp+R),
(4)
式中:kg為卡爾曼增益,R為測量過程偏差協(xié)方差。
cov1=(1-kg)*covp,
(5)
式中cov1為a1的協(xié)方差。
通過調(diào)節(jié)預(yù)測偏差和測量偏差,從而使數(shù)據(jù)達到最優(yōu)。
從檢測到的三軸加速度信號直接判別跌倒和姿態(tài)并不明顯,也并不直觀,因此需要對采集信號進行分析和處理。定義AX、AY、AZ為經(jīng)過卡爾曼濾波的MPU6050輸出的三軸加速度信號,對數(shù)據(jù)進行初步整合:
(6)
SVM表征了人體運動的劇烈程度[6],不同的運動姿態(tài),計算得到的SVM值也將不同,因此,將SVM值當成判斷是否跌倒的一個重要依據(jù),表1對快走、慢走、站立和跌倒的SVM進行了整理,當?shù)拱l(fā)生時,SVM值將迅速增大。
表1 SVM值
通過SVM值對姿態(tài)和跌倒進行判斷還不夠準確,因此,以MPU6050輸出的三軸陀螺儀信號為輔助,對人體的角速度進行采集和處理,從而通過對角度的變化,進一步判斷姿態(tài)和跌倒,提高準確度。
3Matlab仿真
Matlab是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境。采用Matlab仿真軟件實現(xiàn)對采集數(shù)據(jù)進行卡爾曼濾波,然后計算SVM值,并輸出波形。
分別對快走、慢走、站立和跌倒這4種姿態(tài)進行數(shù)據(jù)采集,進行Matlab仿真,并輸出波形,如圖11~14所示。測試者為男性,22歲,身高180 cm,體重66 kg。一幅圖分為3欄,分別為:濾波前和濾波后2個波形的混合輸出波形圖、濾波前波形圖、濾波后波形圖。從圖形對比,可看出,在進行卡爾曼濾波后,波形形狀變得平滑、清晰,濾波效果良好,對后續(xù)數(shù)據(jù)處理和判斷很有幫助。
圖11 快走波形圖
圖12 慢走波形圖
圖13 站立波形圖
圖14 跌倒波形圖
4結(jié)語
將卡爾曼濾波應(yīng)用在人體姿態(tài)檢測當中,對加速度信號進行濾波處理,經(jīng)Matlab仿真實現(xiàn),波形變得平滑,濾波效果明顯,達到最優(yōu)估計,為后續(xù)的姿態(tài)判斷提供了有效的數(shù)據(jù)保證,提高姿態(tài)判斷準確性。
Matlab軟件的應(yīng)用,為后續(xù)設(shè)計提供更加直觀的參考數(shù)據(jù)。藍牙傳輸模式的應(yīng)用,使姿態(tài)數(shù)據(jù)的采集擺脫連線的束縛,使數(shù)據(jù)更加真實可靠。
系統(tǒng)利用STM32F103和MPU6050構(gòu)成信號采集系統(tǒng),對加速度和角速度信號進行采集,通過無線藍牙方式進行數(shù)據(jù)傳遞,接收顯示系統(tǒng)接收數(shù)據(jù)并進行濾波和數(shù)據(jù)處理,通過SVM和角度值對姿態(tài)進行判斷,及時發(fā)現(xiàn)跌倒現(xiàn)象,具有應(yīng)用前景。
參考文獻
[1] 李春蓮.老人跌倒后怎樣起身[J].長壽, 2006(12):17.
[2] ST company. STM32F103[M/OL].[2007-01-01].http://www.ALLDATASHEET.com.
[3] InvenSense Inc. MPU-6000 and MPU-6050 Product Specification Revision 3.2[M/OL]. [2011-07-01].http://www.invensense.com.
[4] Kangas M, Konttila A, Winblad I,et al. Determination of simple thresholds for accelerometry-based parameters for fall detection[C]// Engineering in Medicine and Biology Society, 2007. EMBS 2007. 29th Annual International Conference of the IEEE .Lyon:IEEE,2007:1367-1370.
[5] McEwen J, Wiaux Y. A novel sampling theorem on the sphere[J].IEEE Transactions on Signal Processing,2011,59(12):7876-5887.
[6] Jeon A Y ,Ye S Y ,Park J M ,et al. Emergencydetection system using PDA based on self-response algorithm[C]// International Conference on Convergence Information Technology,2007:1207-1212.
[7] 張團善,何穎.卡爾曼濾波在兩輪自平衡代步車姿態(tài)檢測中的應(yīng)用[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014(5):33-35.
[8] 朱巖,付巍.基于無跡卡爾曼濾波的四旋翼無人飛行器姿態(tài)估計算法[J].測試技術(shù)學(xué)報,2014,28(3):194-197.
[9] 趙祥欣.基于三維加速度傳感器的跌倒檢測研究[D].杭州:浙江大學(xué),2008:29-32.
[10] 曹玉珍,蔡偉超,程旸.基于MEMS加速度傳感器的人體姿態(tài)檢測技術(shù)[J].納米技術(shù)與精密工程,2010,8(1):37-41.
[11] 王婷,馮文武,羅德超.無線傳感器在人體關(guān)節(jié)運動姿態(tài)檢測中的應(yīng)用[J].自動化技術(shù)與應(yīng)用, 2009,28(8): 83-86.
The application of Kalman filter in body posture detection
DU Bo,et al.
(SchoolofElectrical&InformationEngineering,ChangchunInstituteofTechnology,
Changchun130012,China)
Abstract:Human body posture should be detected in order to find senior people falling accident early and avoid long time lying-down, also for saving time for emergency treatment. The signal collecting system composed of controller STM32F103 and sensor MPU6050 uses wireless bluetooth mode to make data transmission. The receiving system can make data analysis and display, and set up the human body coordinates. The system can compensate the measurement error and get optimal estimating for collected acceleration signals that through Kalman filtering and parameters adjustment. It can analyze posture and detect falling accident earlier by integration of filtered acceleration signal, along with Angle signal assist. Through Matlab simulation test, the application of Kalman filtering can improve system measurement precision effectively and be helpful for detection to body posture.
Key words:Kalman filter; posture detecting; acceleration signal; Matlab; bluetooth