理論上,當(dāng)人跌倒經(jīng)過(guò)一段時(shí)間后,人體會(huì)處于靜止?fàn)顟B(tài),此時(shí)人體和地面應(yīng)處于水平狀態(tài),Z軸加速度為0。同時(shí)當(dāng)人體向前或向后跌倒后,人體X軸角度應(yīng)在-90o和90o附近;當(dāng)人體向左或向右跌倒后,人體Y軸角度應(yīng)在-90o和90o附近浮動(dòng)。通過(guò)實(shí)驗(yàn),我們選取±70o作為第二個(gè)判定條件閾值。從圖7和圖8可以看出雖然人體正常姿態(tài)有時(shí)能在劇烈運(yùn)動(dòng)時(shí)達(dá)到閾值,但是肯定不能持續(xù)維持這個(gè)值。所以我們選取要求3s內(nèi)都保持這個(gè)值,這樣就可以短時(shí)間內(nèi)判斷跌倒情況且不耽誤營(yíng)救。
圖7 ?跑步的三軸角度曲線圖
圖8 ?跌倒后靜止?fàn)顟B(tài)下的三軸角度
2.2、算法實(shí)現(xiàn)
系統(tǒng)通過(guò)IIC形式將數(shù)據(jù)從MPU6050傳送到STM32單片機(jī),STM32單片機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)行跌倒算法運(yùn)算和判斷。整個(gè)的實(shí)現(xiàn)過(guò)程可分為以下三個(gè)部分:
(1)檢測(cè)當(dāng)前和加速度SVM是否大于閾值2.5g,若小于2.5g,則返回繼續(xù)采樣測(cè)量;若大于2.5g,則認(rèn)為疑似跌倒。
(2)若檢測(cè)到疑似跌倒,延時(shí)3s,進(jìn)入二次判斷,檢測(cè)人體角度是否在閾值范圍內(nèi)。若在這個(gè)范圍
內(nèi),同時(shí)要求3s內(nèi)保持這個(gè)范圍。
(3)如果系統(tǒng)檢測(cè)到人體運(yùn)動(dòng)狀態(tài)同時(shí)滿足以上兩個(gè)條件,此時(shí)蜂鳴器鳴叫,提醒老人和老人身邊行人。接著延時(shí)等待30s,如果30s內(nèi)用戶沒(méi)有按鍵取消報(bào)警,則認(rèn)為老人跌倒。此時(shí)將報(bào)警信號(hào)通過(guò)藍(lán)牙4.0設(shè)備傳送給手機(jī),手機(jī)進(jìn)行語(yǔ)音報(bào)警,并打開GPS定位,打電話和發(fā)消息通知醫(yī)院和家人。