王思奇,王致杰
(上海電機(jī)學(xué)院,電氣學(xué)院,上海 201306)
人口老齡化已經(jīng)被認(rèn)為是一個(gè)極其嚴(yán)重的社會(huì)問(wèn)題,因?yàn)槲覈?guó)的人口老齡化是存在惰性的,雖然每對(duì)夫婦的子女?dāng)?shù)量一直很少,但由于育齡夫婦的人口老齡化程度仍然非常高,我國(guó)人口將在15年后快速達(dá)到30億保持不變。根據(jù)國(guó)家的人口普查技術(shù),截至2014年為止,我國(guó)老年人口已經(jīng)占總?cè)丝诘?4%,已經(jīng)成為世界上老人人口最多的國(guó)家。
老人由于機(jī)體退化骨質(zhì)疏松非常容易摔倒,摔倒會(huì)帶來(lái)一系列的疾病甚至?xí)?dǎo)致死亡。除了可能導(dǎo)致人體死亡外,跌倒受到撞擊或物體墜落等還可能會(huì)給人帶來(lái)更多的其他嚴(yán)重后果,如重度殘疾、機(jī)體活動(dòng)功能嚴(yán)重?fù)p壞、身體活動(dòng)持續(xù)時(shí)間受限。因此降低老年人摔倒帶來(lái)的傷害或及時(shí)救助是目前國(guó)內(nèi)外最新的研究熱點(diǎn)。在不影響老年人的正常活動(dòng)的情況下,摔倒時(shí)及時(shí)發(fā)出預(yù)警告知監(jiān)護(hù)人,這樣老年人能夠第一時(shí)間被救治,減少了老年人摔倒時(shí)產(chǎn)生的醫(yī)療費(fèi)用和死亡率。
國(guó)內(nèi)外主要有三個(gè)研究方向分別為老人自主啟動(dòng)報(bào)警設(shè)備、視頻監(jiān)控設(shè)備、易攜帶式老人摔倒檢測(cè)定位系統(tǒng)。第一種裝置局限性較大,因?yàn)樗荒茏约簣?bào)警,必須摔倒后老人自己按報(bào)警健,可是大多數(shù)時(shí)候老人摔倒以后都是處在昏迷狀態(tài),無(wú)法自主報(bào)警,所以這種設(shè)備的實(shí)用性非常差,而且設(shè)備過(guò)于簡(jiǎn)單,不具備本文的參考性。第二種設(shè)備局限性也很大,這種設(shè)備一般裝在家中和病房中,這樣可控范圍就很小,而且需要大量的人力和物力。第三種就是本文研究的這種,由于上述產(chǎn)品的限制,出現(xiàn)了一些可穿產(chǎn)品。這個(gè)裝置不是由老年人自己操作的,地域也很廣,不僅可以在室內(nèi),也可以在室外,不需要人員去監(jiān)控,只要老人一摔倒就會(huì)馬上判斷并且發(fā)出警報(bào),成本低,實(shí)用性非常高。
針對(duì)上述問(wèn)題,本文提出了基于STM32單片機(jī)老人摔倒檢測(cè)定位系統(tǒng)設(shè)計(jì)。首先,對(duì)各硬件做出簡(jiǎn)單的介紹,對(duì)實(shí)物電路原理圖做出描述。其次,用模擬摔倒實(shí)驗(yàn)得出加速度值和角速度值再運(yùn)用SVM得出判斷摔倒閥值。再次,運(yùn)用KEIL程序開(kāi)發(fā)編寫程序以及用FlyMcu程序燒錄軟件。最后,實(shí)物功能展示。
(1)硬件系統(tǒng)在通常情況下垂直放置在腹部口袋里(ADXL 345垂直站立),傾斜角傳感器比較數(shù)據(jù)和用 SVM算法設(shè)計(jì)的閥門值進(jìn)行比較來(lái)判斷摔倒,如果判斷摔跤、蜂鳴器警報(bào)、倒地的時(shí)間超過(guò)15 s就會(huì)向監(jiān)護(hù)人發(fā)短信(15 s是用來(lái)讓老人反應(yīng)是否嚴(yán)重,能不能自己站起來(lái)報(bào)警,或者是不是誤報(bào)警,可以自己按取消鍵)。
(2)啟動(dòng)GSM800發(fā)送短信給監(jiān)護(hù)人,發(fā)送的內(nèi)容有help me!包括經(jīng)度信息和緯度信息。
(3)當(dāng)要發(fā)短信時(shí)狀態(tài)指示燈就會(huì)不斷閃爍。
如果硬件太大就不適合老年人日?;顒?dòng)攜帶,所以本文采用了集成化思想來(lái)設(shè)計(jì)硬件。硬件系統(tǒng)主要可以分為五個(gè)模塊:STM32主板模塊,ADXL345加速度傳感器信號(hào)采集器模塊,定位GPS模塊,報(bào)警器模塊,SIM800發(fā)短信模塊。五大模塊互相結(jié)合組成了硬件系統(tǒng)。將GPS模塊的TXD串口接在單片機(jī)的TXD串口就可以傳送數(shù)據(jù),RXD模塊串口發(fā)送腳接單片機(jī)串口 RXD接收數(shù)據(jù);GSM模塊RXD串口和單片機(jī)的PA9串口相連就可以接收數(shù)據(jù),TXD串口發(fā)送端與單片機(jī)的PA10串口相連就可以發(fā)送數(shù)據(jù);采用的報(bào)警模塊為5 V 有源蜂鳴器模塊,采用三極管 8050來(lái)驅(qū)動(dòng),只要單片機(jī)控制引腳為高電平,蜂鳴器就會(huì)鳴叫報(bào)警,反之則不鳴叫。圖1為電路原理圖。
要檢測(cè)摔倒就要把摔倒和非摔倒時(shí)的運(yùn)動(dòng)特征區(qū)別開(kāi)來(lái)。非摔倒時(shí)人的某一方向上的加速度和角加速度都不會(huì)有很大的變化,而摔倒情況下,人在某一方向上的加速度和角加速度都會(huì)有短時(shí)間的極快變化。人在摔倒時(shí)身體的各部位受力情況都會(huì)不同,加速度也不同。摔倒主要分為三個(gè)狀態(tài):不穩(wěn)定狀態(tài),倒地狀態(tài),躺倒?fàn)顟B(tài)。
圖2為人體運(yùn)動(dòng)的抽象圖,將人的運(yùn)動(dòng)方向分為 xyz三個(gè)方向。人在平常運(yùn)動(dòng)時(shí) xoy面與地面平行,xyz三方向上的加速度也不會(huì)短時(shí)間改變。但由于老人和年輕人不一樣,大部分老人都會(huì)駝背,所以一開(kāi)始的 xoy面與地面就有一個(gè)傾角。從而加速度和 xoy與地面就可以明顯反應(yīng)出老人的運(yùn)動(dòng)情況。當(dāng)老人摔倒時(shí)腰部會(huì)有明顯的受力變化,假設(shè)腰部質(zhì)量為m,xyz軸合并的加速度為a,腰部受力F為:
圖3根據(jù)笛卡爾系建立的 xyz軸坐標(biāo)系能很好的反應(yīng)出加速度和角度變化,設(shè)x方向的加速度為ax,y方向的加速度為ay,z方向的加速度為az,這可以得到合加速度a為:
根據(jù)笛卡爾坐標(biāo)系也可以很容易觀察到老人在摔倒時(shí)的角度變化,如圖 3,當(dāng)老人摔倒是側(cè)倒下時(shí),y軸偏轉(zhuǎn)角度為θy,當(dāng)老人摔倒是前倒,則z軸與豎直方向上形成角度θz,當(dāng)老人摔倒時(shí)是后仰,則x軸偏轉(zhuǎn)角度為θx,當(dāng)老人摔倒時(shí)旋轉(zhuǎn)也會(huì)形成一個(gè)偏轉(zhuǎn)角度θ。這些偏轉(zhuǎn)角度有時(shí)是單獨(dú)出現(xiàn),但絕大多數(shù)情況下都同時(shí)出現(xiàn)。
要想判斷老人是否摔跤就必須把摔跤和非摔跤區(qū)分開(kāi)來(lái),根據(jù)第二章的笛卡圖坐標(biāo)系來(lái)采集人體的運(yùn)動(dòng)學(xué)信息樣本。
如圖3我們可以知道xyz各方向上的加速度ax,ay,az,現(xiàn)在就要根據(jù)各方向的加速度求出合加速度a=(ax,ay,az):
設(shè)角速度w1為x軸的偏轉(zhuǎn)角速度,w2為y軸的角度變化速度,定義w=(w1,w2)為合角速度:
實(shí)際采用的傳感器采集到的角加速度都是離散分量,所以要求出x軸的角度變化θ1,y軸的角度變化θ2不能用積分計(jì)算而用累加計(jì)算:
由上文我們就得到了合加速度和合偏轉(zhuǎn)角,但是這只是角度傳感器所測(cè)得的初步數(shù)據(jù)不夠準(zhǔn)確還需要STM32的預(yù)處理。
由上文我們得到了合加速度和合偏轉(zhuǎn)角,此時(shí)我們就要確定一個(gè)閾值來(lái)判斷摔跤與否。本文的閾值確定運(yùn)用的是機(jī)械學(xué)習(xí)中的SVM算法。
SVM(代碼全名:矢量機(jī)支持)支持矢量機(jī),SVM最基本的應(yīng)用就是對(duì)矢量機(jī)進(jìn)行分類,解決最佳的分類表面,然后將其應(yīng)用到各種矢量機(jī)中。對(duì)于SVM,有一個(gè)被稱為分類表面,兩個(gè)點(diǎn)組被設(shè)置為到該平面的最低距離,以及從兩個(gè)點(diǎn)組的邊緣點(diǎn)到該平面的最高距離。SVM使用軸心損失功能計(jì)算經(jīng)驗(yàn)風(fēng)險(xiǎn),向解決方案提供系統(tǒng)添加監(jiān)督條款,優(yōu)化系統(tǒng)的結(jié)構(gòu)風(fēng)險(xiǎn)。SVM可以通過(guò)核訓(xùn)練法進(jìn)行非線性分類,這也是核訓(xùn)練的一般方法之一。
用SVM來(lái)求閾值,就要對(duì)老人的日常生活過(guò)程中的信息進(jìn)行分類,需要?jiǎng)?chuàng)造出訓(xùn)練樣本集和實(shí)驗(yàn)樣本集:
y1:訓(xùn)練樣本集,獲得最優(yōu)分類界面。則要完成40次模擬摔跤實(shí)驗(yàn)獲得摔跤數(shù)據(jù)樣本,完成40次行走過(guò)程摔跤,40次行走轉(zhuǎn)身模擬,40次坐下起立模擬,40次蹲下模擬。共獲得200組模擬數(shù)據(jù)樣本。
y2:實(shí)驗(yàn)樣本集,用來(lái)檢驗(yàn)所設(shè)閥值的準(zhǔn)確性:完成 10次模擬摔跤,10次行走過(guò)程摔跤,10次行走過(guò)程蹲下模擬,10次轉(zhuǎn)身模擬,10次自立坐下模擬。運(yùn)用上面的訓(xùn)練樣本集來(lái)測(cè)試檢測(cè)系統(tǒng)的準(zhǔn)確性。
部分轉(zhuǎn)身數(shù)據(jù)獲取,見(jiàn)表1。
表1 轉(zhuǎn)身數(shù)據(jù)Tab.1 turn round and data
部分蹲下數(shù)據(jù)獲取,見(jiàn)表2。
表2 蹲下數(shù)據(jù)Tab.2 squat down data
部分坐下數(shù)據(jù)獲取,見(jiàn)表3。
表3 坐下數(shù)據(jù)Tab.3 sit down and data
部分摔倒數(shù)據(jù)獲取,見(jiàn)表4。
表4 摔倒數(shù)據(jù)Tab.4 fall data
此時(shí)我們運(yùn)用libsvm程序來(lái)得出我們想要的閾值。將上文中的數(shù)據(jù)以 libsvm的格式輸入到libsvm中,在python中將下文的程序輸入就可以調(diào)用libsvm,從而得到最優(yōu)分類面和想要的閥值。
最后得出我們合加速度的閾值和合偏轉(zhuǎn)角的閾值,X=650,y=490。
由此可以得出比較閥值。
程序部分主要開(kāi)發(fā)了一個(gè)主程序和七個(gè)子程序,子程序分別是:按鍵初始化子程序 key;通用定時(shí)器子程序 timer;ADXL345檢測(cè)角度加速度變化;延時(shí)子程序 delay;led驅(qū)動(dòng)子程序;系統(tǒng)中斷設(shè)置化子程序sys;收發(fā)經(jīng)緯度日期信息子程序usart。圖4為程序流程圖。
當(dāng)老人摔倒時(shí)首先蜂鳴器會(huì)報(bào)警,當(dāng)15 s以后沒(méi)有按下暫停鍵就會(huì)發(fā)短信給家人,短信內(nèi)容包含經(jīng)緯度。因?yàn)橛布⑽窗惭b電池但是外接USB,只需要將數(shù)據(jù)線插在一般的充電寶上就可以實(shí)現(xiàn)功能,但是因?yàn)镚PS的局限性,定位功能并不能完全準(zhǔn)確,且在高樓多的地方和陰雨天不太靈敏,在室內(nèi)是無(wú)法定位的。圖5和圖6為功能演示圖,板子直立模擬老人未摔倒時(shí),平躺模擬老人摔倒時(shí)。
隨著老齡化社會(huì)的不斷加劇,我國(guó)空巢老人日益增多。每年因?yàn)樗さ苟劳龅睦先艘踩找嬖龆啵绻苎芯砍隼先怂さ箼z測(cè)定位系統(tǒng),會(huì)減少因?yàn)樗さ苟a(chǎn)生的醫(yī)療費(fèi)和死亡率,對(duì)老人看護(hù)和健康管理有重要作用。研究的主要結(jié)論如下:
(1)獲取數(shù)據(jù)的過(guò)程,區(qū)分出老人摔倒和老人正常運(yùn)動(dòng)特征的區(qū)別,從而得到兩者加速度和角速度的區(qū)別。其后設(shè)計(jì)采集加速度和角速度的易攜帶設(shè)備。實(shí)驗(yàn)中采集了200組數(shù)據(jù),旋轉(zhuǎn)、蹲下、坐下各40組,跌倒80組包括步行跌倒和直立跌倒在內(nèi),共獲得200組數(shù)據(jù)。
(2)大部分的老人摔倒檢測(cè)定位大多是使用三軸加護(hù)速度傳感器去檢測(cè),也有用6050去檢測(cè)的。本系統(tǒng)用加速度和角加速度變化來(lái)和SVM算法設(shè)計(jì)的閥值進(jìn)行比較。用 SVM取得最優(yōu)分類界面,選擇最優(yōu)分類界面上的值來(lái)區(qū)別老人是否摔倒,這就大大降低了誤判可能。
(3)運(yùn)用STM32硬件去開(kāi)發(fā)傳感器檢測(cè)到的加速度和角速度與閥值比較來(lái)判斷摔倒,再通過(guò)SIM800發(fā)短信給手機(jī)。
(4)該裝置通過(guò)物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,具有實(shí)時(shí)性強(qiáng),使用簡(jiǎn)單,效率高的特點(diǎn),市場(chǎng)前景廣闊。