徐甲棟, 陳 強, 徐一雄, 楊文龍, 張新宇, 梁明遠(yuǎn)
(1.上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620; 2.上海航天控制技術(shù)研究所,上海 201620)
隨著社會的發(fā)展進(jìn)步,我國老齡化問題越來越嚴(yán)重[1]。因為年齡增長,老年人身體素質(zhì)變差,容易摔倒,得不到及時救護(hù)時,易引發(fā)安全事故。基于視覺的跌倒監(jiān)測系統(tǒng),不利于保護(hù)隱私[2],設(shè)備昂貴而且容易有監(jiān)控死角,做不到時刻監(jiān)護(hù)老人身體健康;基于環(huán)境的跌倒檢測系統(tǒng),受環(huán)境因素干擾大,例如基于聲波的跌倒檢測系統(tǒng),因房屋材料的不同,檢測效果差異大,且容易受到噪聲影響。
本文基于微機電系統(tǒng)(micro-electro-mechanical system,MEMS)傳感器[3]設(shè)計了一種可穿戴式的實時跌倒檢測系統(tǒng),選用了MPU6050傳感器、SIM900A模塊和ATGM332D模塊采集和傳輸數(shù)據(jù),通過加速度計補償陀螺儀數(shù)據(jù)的方法,減小了陀螺儀誤差,結(jié)合改進(jìn)的多級閾值跌倒檢測算法,設(shè)計了可穿戴裝置和工程大智能看護(hù)小程序,實時監(jiān)測老人是否跌倒。若檢測到老人跌倒,及時發(fā)出警報并通知監(jiān)護(hù)人,同時監(jiān)護(hù)人可隨時實時查看到老人的身體狀態(tài)和實時位置,便于及時救助跌倒老人。
本文設(shè)計的跌倒檢測系統(tǒng)主要以老人群體為服務(wù)對象,實現(xiàn)功能主要包括有:跌倒檢測、實時報警、實時查看老人狀態(tài)。集成的可穿戴設(shè)備放在腰部,系統(tǒng)組成結(jié)構(gòu)如圖1所示。通過MPU6050傳感器內(nèi)置的陀螺儀和加速度計實時采集老年人身體的角速度和加速度數(shù)據(jù),微處理器STM32F103VET6實時計算并監(jiān)測加速度和角速度數(shù)據(jù)是否異常,當(dāng)檢測到加速度數(shù)據(jù)異常時,用角速度數(shù)據(jù)作為輔助檢測手段判斷跌倒行為是否發(fā)生,若檢測到跌倒行為,通過SIM900A將報警信息發(fā)送給監(jiān)護(hù)人。同時ATGM332D實時采集老年人的位置數(shù)據(jù),通過4G模塊實時傳送到監(jiān)護(hù)端,監(jiān)護(hù)人接到報警信息時,可以通過監(jiān)護(hù)終端更直觀的看到老年人的位置信息便于及時救助。
圖1 檢測系統(tǒng)結(jié)構(gòu)
檢測跌倒行為,先要設(shè)立一個合理的人體坐標(biāo)系[4],本文以人正常站立時的重心坐標(biāo)為坐標(biāo)原點建立一個三維人體坐標(biāo)系如圖所示2所示。人體摔倒屬于一種短暫性的劇烈活動[5],正常情況下,人體重心在三維坐標(biāo)系下的加速度矢量和約1gn(1gn約等于9.8 m/s2,),但當(dāng)?shù)剐袨榘l(fā)生時,人體會依次發(fā)生失重、撞擊地面、靜止等行為,人體重心的加速度變化依次為:1)失重:即人體的重心加速度矢量和小于1gn;2)人體重心加速度大于某個值N,N數(shù)值需經(jīng)實驗分析得出;3)靜止:人體重心加速度矢量和約1gn。但是僅用加速度變化作為判斷依據(jù)易產(chǎn)生誤判,因此,需要用角速度矢量和進(jìn)行輔助判斷。
圖2 人體坐標(biāo)系
由于MPU6050內(nèi)置陀螺儀會隨時間漂移,且時間越長,漂移越大,因此,本文提出使用加速度計補償陀螺儀誤差的方法,矯正陀螺儀的漂移誤差。人某些正常活動,例如,轉(zhuǎn)身或者躺下翻身,可能會導(dǎo)致繞Z軸的角速度變化較大而產(chǎn)生誤判。而且人體跌倒時,主要是與繞X軸和Y軸的角速度變化量相關(guān),因此,計算角速度矢量和應(yīng)忽視繞Z軸方向角的角速度變化量。根據(jù)使用手冊,先將MPU6050采集的三軸加速度和三軸角速度數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換,然后根據(jù)歐拉角旋轉(zhuǎn)矩陣結(jié)合加速度補償角速度的算法,減小姿態(tài)角誤差,再根據(jù)姿態(tài)角求得角速度矢量和[6]。角速度數(shù)據(jù)作為輔助判據(jù),能大大提高跌倒檢測的準(zhǔn)確性,降低誤報率[7]。
如圖2所示,圍繞X軸、Y軸、Z軸的旋轉(zhuǎn)的角分別為橫滾角φ、俯仰角θ和方向角γ。求加速度計N時刻測得的姿態(tài)角,設(shè)重力加速度矢量β=[0,0,-gn]T為參考向量,人體摔倒的過程中,人重心三軸加速度矢量和Ai的方向和重力加速度矢量β處于非垂直狀態(tài),可以根據(jù)重力加速度矢量β和重力加速度gn計算出加速度計N時刻測得的橫滾角φacc和俯仰角θacc。解算過程如下:
繞X軸、Y軸、Z軸的歐拉角旋轉(zhuǎn)矩陣分別為
(1)
解算出加速度計測得的橫滾角φacc和俯仰角θacc分別為
(2)
(3)
得出了加速度計測得的N時刻繞X軸和Y軸的角度,再讀出N時刻陀螺儀的繞X軸的橫滾角和繞Y軸的俯仰角分別為θgvro和φgvro,則n+1時刻修正后的橫滾角φn+1和俯仰角θn+1分別為
(4)
(5)
(6)
三軸加速度值分別為ax,ay,az加速度矢量和a為
(7)
為提高檢測準(zhǔn)確性和降低誤報率,采集了志愿者的正?;顒有袨楹偷剐袨榈募铀俣群徒撬俣葦?shù)據(jù)[8],通過實驗數(shù)據(jù)的分析對比,得出更合理的窗口時間和多級閾值設(shè)定值。
通過對靜止、行走、坐下、躺下,跌倒等行為數(shù)據(jù)采集分析得圖3。正?;顒訒r,加速度矢量和a峰值不超過2.5gn,其中跌倒行為的加速度變化和其他正?;顒有袨槊黠@不同,首先加速度矢量和數(shù)值先減小,然后經(jīng)過短暫時間會出現(xiàn)一個較大的峰值,峰值最大達(dá)5gn,之后數(shù)值會迅速降到1gn左右。經(jīng)過大量實驗分析得出,失重后的檢測時間窗口設(shè)為2 s較合理,準(zhǔn)確度最高。對于X軸和Y軸的角速度矢量和進(jìn)行分析,跌倒時最大角速度矢量和ω峰值能達(dá)到6 rad/s,其他行為最大角速度矢量和ω峰值最大不超過4 rad/s,設(shè)置合理的閾值可以區(qū)分兩種動作行為。綜上,使用加速度多級閾值檢測法,并以角速度作為輔助判別手段,可以較為準(zhǔn)確的區(qū)分跌倒行為和其他行為。
圖3 實驗數(shù)據(jù)采集
根據(jù)上述分析,基于改進(jìn)的多級閾值跌倒檢測算法流程如下:
1)判斷是否發(fā)生失重:跌倒時,身體重心首先會失衡,即人體重心加速度小于1gn,本文系統(tǒng)中以加速度矢量和a<1gn并持續(xù)0.5 s為失重判別條件,若檢測到失重行為發(fā)生時,進(jìn)行第二步檢測。
2)判斷三軸加速度矢量和a是否出現(xiàn)大于2.5gn的峰值:當(dāng)人體失重后,大約2 s內(nèi)人體會跌落到地面,落地時會產(chǎn)生不小于2.5gn的加速度[7]峰值,本文以三軸加速度矢量和超過2gn為人體跌到地面的標(biāo)志。若檢測到人撞擊地面后,則進(jìn)入下一步檢測,否則退出。
3)判斷重心加速度是否接近1gn且持續(xù)3 s:當(dāng)人跌落到地面后,加速度矢量和會降1gn為左右,若檢測到人跌倒后的加速度特征變化,則進(jìn)入下一步檢測,否則退出。
4)通過角速度矢量和ω來做輔助判斷:當(dāng)檢測到失重后,系統(tǒng)會連續(xù)采集2 s內(nèi)X軸、Y軸的角速度和加速度數(shù)據(jù),采集頻率為100 Hz,即分別采集200個角速度和加速度數(shù)據(jù)。計算矯正過更準(zhǔn)確的X軸和Y軸的角速度數(shù)據(jù),當(dāng)角速度矢量和ω超過4 rad/s,則更新位置并短信報警。算法流程圖如圖4所示。
圖4 跌倒檢測算法流程
ATGM332D定位模塊可以實時獲取老人的位置信息,當(dāng)系統(tǒng)檢測到老人跌倒時,會發(fā)短信給監(jiān)護(hù)人報警,監(jiān)護(hù)人登錄工程大智能看護(hù)系統(tǒng)微信小程序,可以實時看到老人所在位置,及時進(jìn)行救助。監(jiān)護(hù)端功能實現(xiàn)主要分三部分:1)用GPS模塊采集WGS84坐標(biāo)系下的定位數(shù)據(jù)上傳到云數(shù)據(jù)庫;2)申請百度地圖API,小程序獲取云數(shù)據(jù)庫數(shù)據(jù)并將WGS84坐標(biāo)系下的定位數(shù)據(jù)轉(zhuǎn)換成BD09坐標(biāo)系下定位數(shù)據(jù),根據(jù)百度反地理編碼API將經(jīng)緯度坐標(biāo)轉(zhuǎn)換成能看懂的地理位置;3)將老人身體信息和定位信息的實時定位顯示在小程序上。監(jiān)護(hù)端測試如圖5所示,其中位置信息圖里老人定位是空心圓點,監(jiān)護(hù)人定位為為實心圓點。
圖5 智能監(jiān)護(hù)系統(tǒng)測試
為測試本系統(tǒng)跌倒檢測的準(zhǔn)確性和誤報率,分別找了5名男性和5名女性志愿者模擬測試。對步行、跑步、坐下、躺下4種日常行為和向前、向后、向左、向右4種跌倒姿態(tài)進(jìn)行測試[6],每名志愿者每個動作重復(fù)10次,共800次實驗數(shù)據(jù)。記錄并統(tǒng)計相關(guān)測試數(shù)據(jù)如表1所示。
表1 跌倒檢測實驗數(shù)據(jù)
根據(jù)實驗數(shù)據(jù),共實驗800次,誤報漏報18次,準(zhǔn)確檢測782次,日常活動準(zhǔn)確率為99 %,跌倒行為檢測準(zhǔn)確率96.5 %,整體誤報率為2.25 %,整體準(zhǔn)確率為97.75 %。實驗結(jié)果表明基于改進(jìn)的多級閾值跌倒檢測算法誤差較小,準(zhǔn)確率較高。
本文設(shè)計的跌倒檢測系統(tǒng)基于改進(jìn)的多級閾值跌倒檢測算法,采用了MEMS傳感器MPU6050、ATGM332D定位模塊和SIM900A采集和傳輸數(shù)據(jù),通過歐拉角旋轉(zhuǎn)矩陣,利用加速度數(shù)據(jù)補償陀螺儀漂移誤差,計算出更準(zhǔn)確的姿態(tài)角, 有效提高了跌倒檢測的準(zhǔn)確率和系統(tǒng)的可靠性。ATGM332D定位模塊實時將定位數(shù)據(jù)傳輸?shù)皆茢?shù)據(jù)庫,微信小程序?qū)崿F(xiàn)了實時查看被監(jiān)護(hù)人的位置信息和狀態(tài)信息的功能,若檢測到跌倒時,能及時短信報警,便于被監(jiān)護(hù)人得到及時救助。實驗結(jié)果表明:本系統(tǒng)報警準(zhǔn)確率97.75 %,可靠性高,系統(tǒng)穩(wěn)定,隱私保護(hù)性好,穿戴便捷,基本滿足對老年人進(jìn)行實時監(jiān)測的需求,達(dá)到預(yù)期效果。