張贏,張政,許夢(mèng)余,郭晗,冷秀娟
(青島黃海學(xué)院,山東 青島 266427)
根據(jù)國(guó)家衛(wèi)生部門(mén)的統(tǒng)計(jì),我國(guó)盲人超過(guò)了1 400 萬(wàn),每年新增的盲人和弱視群體就超過(guò)40 萬(wàn)人,出行問(wèn)題無(wú)疑成為當(dāng)下熱點(diǎn)。隨著科學(xué)技術(shù)的快速發(fā)展,盲人對(duì)智能輔助設(shè)備的應(yīng)用降低了對(duì)傳統(tǒng)盲杖的依賴(lài)。雖然為部分盲人帶來(lái)便利,但在總體上智能設(shè)備實(shí)際應(yīng)用性和可操作性較低,根本無(wú)法防止盲人摔倒。根據(jù)調(diào)查顯示,現(xiàn)階段我國(guó)市場(chǎng)上盲人智能出行產(chǎn)品的研發(fā)還處于前期發(fā)展階段。為此,我們致力于設(shè)計(jì)出一款基于防摔倒監(jiān)測(cè)功能的智能盲杖,保障盲人的安全,讓家人放心。
盲人獨(dú)自出行摔倒的原因根據(jù)個(gè)人因素與環(huán)境因素分析結(jié)果如下,除去視覺(jué)通道的缺失的其他個(gè)人因素主要有以下幾點(diǎn):(1)部分平衡感較差的盲人在行走的過(guò)程中更易跌倒;(2)從未或鮮少行走過(guò)的路段加大了摔倒的可能性;(3)內(nèi)心對(duì)迷茫和黑暗的恐懼和心理壓力。而環(huán)境因素主要是路況設(shè)施較差,盲道被等占比比皆是,以及一些其他原因,比如街上行人較多、雜物障礙也較多、車(chē)流量大、道路坑坑洼洼等。
盲人摔倒事件不僅發(fā)生次數(shù)多,造成的后果往往也比較嚴(yán)重,加上盲人呼救不便可能在救助的過(guò)程中會(huì)有一定的困難。跌倒對(duì)于盲人出行是一大障礙,其后果有失去方向感、不同程度的受傷、陷入昏迷、跌入深坑或下水道中等。身體任意部位都有可能出現(xiàn)系統(tǒng)性碰撞損傷。而骨折、肌肉挫傷、淤血、內(nèi)出血和顱內(nèi)出血是摔傷的主要癥狀而往往這些癥狀會(huì)導(dǎo)致腦震蕩、休克和死亡。由于身體不同部位的抗性不同,不同的摔倒姿勢(shì)造成的傷勢(shì)也不盡相同。對(duì)于獨(dú)居或外出的盲人而言,及時(shí)被發(fā)現(xiàn)跌倒并自動(dòng)呼救,是有效減少盲人的傷害和減少醫(yī)療費(fèi)用的好方法。
針對(duì)人體運(yùn)動(dòng)的高度的復(fù)雜性和不確定性的特點(diǎn),我們把摔倒過(guò)程分為:安全狀態(tài)、失衡狀態(tài)與輕微碰撞狀態(tài)和下落后相對(duì)穩(wěn)定的運(yùn)動(dòng)狀態(tài)。摔倒這一狀態(tài)包括兩個(gè)主要特征:身體姿勢(shì)的變化以及周?chē)矬w對(duì)身體的影響。我們識(shí)別人體跌落的基礎(chǔ)運(yùn)動(dòng)學(xué)信息是跌倒過(guò)程以及跌倒過(guò)程中每個(gè)運(yùn)動(dòng)狀態(tài)所呈現(xiàn)的。人體跌倒預(yù)測(cè)的研究則需要判斷低勢(shì)物體在首次撞擊前的運(yùn)動(dòng)狀態(tài)。
為了計(jì)算人體摔倒時(shí)相關(guān)的運(yùn)動(dòng)參數(shù),擬定義了每一部位的坐標(biāo)和旋轉(zhuǎn)方向。設(shè)水平面坐標(biāo)系為OXZY。其中Z 軸垂直于地面,OXYZ 隨軀干運(yùn)動(dòng)而改變對(duì)應(yīng)方向,坐標(biāo)系OXYZ 與坐標(biāo)系OXYZ 平行時(shí)當(dāng)身體為正常直立的狀態(tài),X軸為前方,Y 軸為左邊,Z 軸為右邊。
摔倒時(shí)身體的姿勢(shì)會(huì)有一定程度的變化。一般來(lái)說(shuō),身體在跌倒時(shí)接近垂直,摔倒后接近水平。摔倒情況因人而異,當(dāng)盲人在不同的生活行為中,會(huì)有一些類(lèi)似摔倒的行動(dòng),例如下蹲這類(lèi)運(yùn)動(dòng)。因此,識(shí)別跌倒行為可以通過(guò)肢體變化來(lái)實(shí)現(xiàn)。
軀干方向的變化可以用軀干的角度來(lái)表示。如圖1所示,軀干相對(duì)于地面坐標(biāo)系OXYZ 的角度1、2 和3 按照“身體軸1-2-3”的順序定義式中,1 是滾動(dòng)角度,繞X 軸旋轉(zhuǎn);2 是俯仰角,繞Y 軸旋轉(zhuǎn)。3 是自旋角,繞Z 軸旋轉(zhuǎn)。
圖1 人體軀干旋轉(zhuǎn)角的定義
在人體墜落的過(guò)程中,橫滾角1 或俯仰角2,或兩者都有很大的變化。此外,角速度&;1 和&;2 的變化比盲人日常生活中的變化更為嚴(yán)重。旋轉(zhuǎn)角3 在人類(lèi)墜落期間沒(méi)有顯著變化,因此不能用作墜落的特征。
信息獲取、計(jì)算機(jī)與自動(dòng)化、通信和網(wǎng)絡(luò)作為信息科學(xué)的三大支柱通過(guò)信息技術(shù)識(shí)別人體摔倒時(shí)的運(yùn)動(dòng)狀態(tài),首要的是要識(shí)別倒地過(guò)程中的信息并獲取可利用的細(xì)節(jié)并分析其運(yùn)動(dòng)的特征。
在人體正常進(jìn)行運(yùn)動(dòng)時(shí),加速度處于一個(gè)限定的閾值內(nèi)。然而,當(dāng)?shù)拱l(fā)生時(shí),它通常只持續(xù)很短的時(shí)間,大約1 ~2秒。在人身體失衡的瞬間,會(huì)突然傾斜,加速度會(huì)隨著身體的劇烈運(yùn)動(dòng)急劇變化。人體的身體姿勢(shì)下跌倒后會(huì)發(fā)生變化,一般是由站立狀態(tài)變?yōu)樽嘶蚱教苫蛘吲糠?,身體各個(gè)部位也會(huì)發(fā)生很大的加速度變化。一般用加速度變化閾值來(lái)確定盲人是否摔倒。
智能導(dǎo)盲杖可以通過(guò)加速度傳感器、角運(yùn)動(dòng)檢測(cè)裝置、差壓傳感器等多個(gè)內(nèi)置傳感器獲得人當(dāng)前的狀態(tài)信息,并通過(guò)逐層檢測(cè)獲得盲人當(dāng)前運(yùn)動(dòng)狀態(tài),并通過(guò)三者的相應(yīng)變化來(lái)綜合判斷盲人是否摔倒。若超過(guò)設(shè)定的閾值,則生成摔倒報(bào)警信號(hào)觸發(fā)語(yǔ)音報(bào)警模塊。
多樣性和不確定性是人體運(yùn)動(dòng)過(guò)程具有的,不同的運(yùn)動(dòng)具卻有不同典型的特征,因此提取姿態(tài)特征向量來(lái)區(qū)分不同的運(yùn)動(dòng)類(lèi)型,包括速度、加速度和信號(hào)向量SVM(SVM)幅值和MADS(差加速度幅值的平均絕對(duì)值)。人跌倒是一種瞬間的劇烈活動(dòng),這一過(guò)程可分為幾種狀態(tài):初始安全、失去平衡、撞擊地面、跌倒地面、保持平衡和休息。
從安全狀態(tài)到下降狀態(tài),加速度和加速度矢量差SVM的變化過(guò)程從零開(kāi)始先大后小,MADS 的平均值的變化過(guò)程從零開(kāi)始先大后小。垂直偏航角偏航是指人體與地面之間的角度遠(yuǎn)大于或遠(yuǎn)小于90°,正常垂直角度約為90°;系統(tǒng)采用三級(jí)閾值判斷人體的墜落狀態(tài),將人體垂直地面方向定義為Z 軸,前后方向定義為X 軸,左右方向定義為Y 軸,如下所示:
其中,m、m、m分別為X 軸、Y 軸加速度與Z 軸的加速度。
其中:為時(shí)間周期。
系統(tǒng)軟件設(shè)計(jì),主要包括Arduino 芯片開(kāi)發(fā)部分和智能安卓手機(jī)軟件開(kāi)發(fā)部分。Arduino 的片上開(kāi)發(fā)部分使用類(lèi)C語(yǔ)言開(kāi)發(fā)數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)封裝和藍(lán)牙傳輸控制等功能。對(duì)于Android 手機(jī),它負(fù)責(zé)接收通過(guò)藍(lán)牙發(fā)送的信號(hào),并將接收到的數(shù)據(jù)轉(zhuǎn)換為以下算法可用的數(shù)據(jù)類(lèi)型,數(shù)據(jù)類(lèi)型保存在日志中。Xml 文件在Android 手機(jī)上的SD 卡上,也可以處理數(shù)據(jù)。通過(guò)閾值分析算法,可以發(fā)現(xiàn)盲人是否摔倒,識(shí)別嚴(yán)重程度,若是嚴(yán)重摔倒及時(shí)發(fā)送給家人手機(jī)的小程序,并且發(fā)出警報(bào),尋求路人的幫助。
Arduino開(kāi)發(fā)板主要對(duì)傳感器采集的數(shù)據(jù)進(jìn)行初步處理,并用藍(lán)牙連接智能安卓手機(jī)進(jìn)行數(shù)據(jù)傳輸。
第一步是通過(guò)Arduino 開(kāi)發(fā)板控制兩個(gè)傳感器的數(shù)據(jù)采集頻率,并控制藍(lán)牙以相同的頻率發(fā)送數(shù)據(jù)。此外,由三軸加速度傳感器采集的數(shù)據(jù),即三軸加速度和三軸加速度數(shù)據(jù),進(jìn)行了局部數(shù)據(jù)處理。需要使用的機(jī)械啟動(dòng),設(shè)置和轉(zhuǎn)換為角速度。角速度的轉(zhuǎn)換不是以他的速度,而是以角速度的線性關(guān)系。處理這些數(shù)據(jù)只獲得合理的速度最后,所有的數(shù)據(jù)處理后,Arduino 開(kāi)發(fā)團(tuán)隊(duì)將藍(lán)牙傳感器的數(shù)據(jù)在同一頻率范圍。使用藍(lán)牙傳感器進(jìn)行數(shù)據(jù)移動(dòng)和數(shù)據(jù)傳輸,Arduino 開(kāi)發(fā)板流程如圖2所示。首先,系統(tǒng)初始化。初始化后,加載加速度和角速度傳感器驅(qū)動(dòng)器。加載驅(qū)動(dòng)器后,采集加速度和角速度數(shù)據(jù),并傳輸數(shù)據(jù)。
圖2 Arduino 開(kāi)發(fā)板流程圖
Android 程序主要負(fù)責(zé)接收藍(lán)牙傳入的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的分析和計(jì)算,并根據(jù)的算法判斷人體的當(dāng)前狀態(tài)。該軟件將控制手機(jī)在檢測(cè)到墜落時(shí)發(fā)出警報(bào)。具體的報(bào)警類(lèi)型可以是發(fā)出警報(bào)聲、呼叫幫助、發(fā)送緊急求助信息等。
開(kāi)發(fā)了安卓平臺(tái)應(yīng)用軟件,可以簡(jiǎn)化軟件輕松安裝在安卓操作系統(tǒng)智能導(dǎo)盲杖上,一方面方便用戶,用戶無(wú)須使用額外的單功能設(shè)備,增強(qiáng)了系統(tǒng)的實(shí)用性和可移植性;另一方面,手機(jī)強(qiáng)大且相對(duì)成熟的通信技術(shù)也可以極大地幫助求救信息的傳輸,提高系統(tǒng)的可用性。Android 系統(tǒng)流程如圖3所示。
圖3 Android 系統(tǒng)流程圖
本文提出了一種基于物聯(lián)網(wǎng)的盲人意外摔倒報(bào)警導(dǎo)盲杖系統(tǒng)的設(shè)計(jì),生產(chǎn)成本低,精度高,實(shí)用性強(qiáng),硬件產(chǎn)品設(shè)計(jì)科學(xué),攜帶方便,符合當(dāng)前市場(chǎng)趨勢(shì),未來(lái),許多盲人家庭用戶將關(guān)注智能防摔倒報(bào)警系統(tǒng)的研究與實(shí)現(xiàn),這將在一定程度上緩解我國(guó)視障人士的出行壓力。提高盲人的生活質(zhì)量在家庭忙于工作時(shí),利用智能技術(shù)幫助他們,可以為盲人提供更全面的關(guān)愛(ài)。