陳 均,王憶文
(電子科技大學(xué) 微電子與固體電子學(xué)院,四川 成都 610054)
老年人由于身體虛弱、平衡能力差以及自我保護(hù)能力低等因素,很容易發(fā)生意外跌倒。如果跌倒后沒有得到及時的救助和處理,將會導(dǎo)致嚴(yán)重的后果,甚至危及到生命安全。因此,開發(fā)一個集跌倒監(jiān)測、跌倒定位和遠(yuǎn)程報(bào)警為一體的監(jiān)控系統(tǒng)具有很重要的意義。
近年來,MEMS(Micro-Electro-Mechanical Systems)加速度傳感器的發(fā)展為基于三軸加速度傳感器的跌倒監(jiān)測創(chuàng)造了可能。在參考文獻(xiàn)[1]中,采用通過加速度傳感器監(jiān)測人體姿態(tài)的方法來監(jiān)測跌倒;在參考文獻(xiàn)[2-3]中,采用基于加速度向量幅值SVM(Signal Vector Magnitude)和微分加速度幅值的絕對平均值MAVD(Mean Absolute Value of Differential)作為跌倒判斷標(biāo)準(zhǔn)的檢測方法。本文提出一種基于人體跌倒過程中加速度變化趨勢的檢測算法,該算法實(shí)現(xiàn)簡單并且具有很高的精度。
人體跌倒時,提供精確的跌倒位置為及時救助提供了方便。常見的基于ZigBee的定位方法有:基于接收信號強(qiáng)度值RSSI的測距算法[4]、基于到達(dá)時間 TOA的測距算法、基于到達(dá)角度AOA的測距算法以及基于質(zhì)心算法和DV-HOP算法的估計(jì)距離定位算法。但這些算法不是精度低,就是算法復(fù)雜,或者成本偏高。本文提出一種基于RSSI查找表和方差分析的定位算法,并采用硬件加速的方法予以實(shí)現(xiàn),不但滿足了實(shí)時定位的要求,并且具有很高的定位精度。跌倒報(bào)警采用移動手機(jī)作為監(jiān)控終端,ZigBee網(wǎng)絡(luò)將跌倒信息傳到本地監(jiān)控中心,監(jiān)控中心完成定位算法后將跌倒坐標(biāo)通過GSM無線網(wǎng)絡(luò)發(fā)送到醫(yī)護(hù)人員的移動手機(jī)上,方便醫(yī)護(hù)人員第一時間為跌倒者提供救助。
系統(tǒng)主要由三大部分組成:可穿戴檢測終端、ZigBee傳感器網(wǎng)絡(luò)和監(jiān)控中心,如圖1所示??纱┐鳈z測終端由ZigBee無線模塊、ARM處理器和三軸加速度傳感器構(gòu)成,三軸加速度傳感器監(jiān)測人體跌倒過程中的加速度值并產(chǎn)生與跌倒相關(guān)的中斷,ARM通過I2C總線對三軸加速度傳感器進(jìn)行配置并接收中斷進(jìn)而實(shí)現(xiàn)跌倒檢測算法,ZigBee無線模塊負(fù)責(zé)數(shù)據(jù)傳輸。ZigBee傳感器網(wǎng)絡(luò)由攜帶在人體上的移動盲節(jié)點(diǎn)、固定在環(huán)境中的參考節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)組成,負(fù)責(zé)傳遞跌倒信息和生成用于定位的原始數(shù)據(jù);監(jiān)控中心利用ZigBee網(wǎng)絡(luò)生成的定位原始數(shù)據(jù)實(shí)現(xiàn)高精度定位并將跌倒信息和跌倒坐標(biāo)利用GSM無線模塊發(fā)送至醫(yī)護(hù)人員的移動手機(jī)上。
無線傳感器網(wǎng)絡(luò)采用的網(wǎng)絡(luò)類型為網(wǎng)狀網(wǎng),網(wǎng)絡(luò)中有協(xié)調(diào)器、路由器和終端三種設(shè)備。在該系統(tǒng)中,除了協(xié)調(diào)器節(jié)點(diǎn)外,移動盲節(jié)點(diǎn)和固定在環(huán)境中的參考節(jié)點(diǎn)都是路由器。在網(wǎng)絡(luò)組建成功之后,協(xié)調(diào)器將查詢移動盲節(jié)點(diǎn),接著盲節(jié)點(diǎn)將以單跳方式廣播8次blast信息,參考節(jié)點(diǎn)接收到8次盲節(jié)點(diǎn)的接收信號強(qiáng)度值RSSI(Received Signal Strength Indication)并求平均值之后發(fā)送給協(xié)調(diào)器節(jié)點(diǎn),協(xié)調(diào)器節(jié)點(diǎn)將這些信號強(qiáng)度值發(fā)給監(jiān)控中心作為定位的原始數(shù)據(jù)。另外,在監(jiān)測到人體跌倒之后,盲節(jié)點(diǎn)將通過傳感器網(wǎng)絡(luò)把跌倒信息發(fā)送到監(jiān)控中心。
室內(nèi)定位問題一直是個難點(diǎn)。由于室內(nèi)環(huán)境的復(fù)雜性很高,信號在傳播過程中,反射、多徑傳播、非視距、天線增益等問題都會對信號強(qiáng)度的損耗造成影響。所以,對RSSI進(jìn)行數(shù)學(xué)建模需要加入大量的修正因子,由此也加大了算法實(shí)現(xiàn)難度或者不能保證實(shí)時定位的要求。另外,大量文獻(xiàn)中采用的基于RSSI測距再通過三邊測量的定位法精度都很難保證。基于這個原因,本文提出了一種根據(jù)實(shí)際環(huán)境構(gòu)造RSSI查找表、利用方差分析的定位算法。
如圖2所示,將參考節(jié)點(diǎn)范圍內(nèi)的區(qū)域劃分成大小相同的若干小正方形區(qū)域。構(gòu)建好傳感器網(wǎng)絡(luò)之后,將移動盲節(jié)點(diǎn)放置到每個小正方形區(qū)域的中心,測量各個參考節(jié)點(diǎn)接收到的移動盲節(jié)點(diǎn)的RSSI值;通過多次測量求平均值得到該小正方形區(qū)域的RSSI值,同時記錄該區(qū)域的中心坐標(biāo),這樣便構(gòu)建了一個帶坐標(biāo)值的RSSI查找表。這種方法不僅避免了對復(fù)雜環(huán)境進(jìn)行RSSI信號建模,同時提高了測量精度。在定位過程中,將移動盲節(jié)點(diǎn)的RSSI值與帶坐標(biāo)值的RSSI查找表進(jìn)行遍歷方差計(jì)算,找到最小方差值的那個RSSI值對應(yīng)的坐標(biāo)即可得到移動盲節(jié)點(diǎn)的位置坐標(biāo)。在實(shí)驗(yàn)中,將一個8 m×8 m的房間劃分成64個小正方形區(qū)域,通過實(shí)測構(gòu)建RSSI查找表,查找表中包括了坐標(biāo)值和對應(yīng)該坐標(biāo)的每個參考節(jié)點(diǎn)的RSSI值?;贑語言的定位算法描述如下:
該算法中有大量的加/減法和乘/除法計(jì)算,如果采用嵌入式軟件方法進(jìn)行實(shí)現(xiàn),將會花費(fèi)大量的計(jì)算時間,不能滿足實(shí)時定位的要求。為此,針對該算法設(shè)計(jì)了一個基于FPGA的硬件加速器,該加速器采用并行計(jì)算和流水線的方式實(shí)現(xiàn),其硬件框圖如圖3所示。
基于硬件加速的定位算法實(shí)現(xiàn)流程:將RSSI查找表平均分成8組并行計(jì)算;每一組通過減法、乘累加和移位操作計(jì)算方差值,并通過比較器找出組內(nèi)最小方差值和對應(yīng)標(biāo)號;8組并行計(jì)算得出的最小方差值再通過比較器找到相對于整個RSSI查找表的最小方差和對應(yīng)的標(biāo)號,通過標(biāo)號就可以在RSSI查找表中得到移動盲節(jié)點(diǎn)此時的位置坐標(biāo)。整個流程由控制器控制。
ADXL345三軸加速度傳感器內(nèi)置有運(yùn)動檢測功能和中斷系統(tǒng)。ARM處理器通過I2C總線接口對傳感器的內(nèi)部寄存器進(jìn)行配置來設(shè)定產(chǎn)生各種中端的加速度和時間閾值;ARM處理器同時接收加速度傳感器的中斷并通過I2C總線讀取跌倒過程中的運(yùn)動狀態(tài)來實(shí)現(xiàn)跌到檢測。
跌倒檢測算法主要是研究人體跌倒過程中加速度的變化特性[5]。人體跌倒過程中的加速度變化曲線如圖4所示。通過與人體正?;顒樱ㄉ舷聵?、起立、坐下、跳起、下蹲)過程中的加速度的變化特性相比較,可以得到人體跌倒過程中的4種關(guān)鍵特性(失重、撞擊、靜止和跌倒后)與初始狀態(tài)的差異性。對這4種關(guān)鍵特性的檢測可以作為檢測到人體跌倒的標(biāo)準(zhǔn)。該算法可以很精確地監(jiān)測到人體跌倒,同時不會將人體正常起居活動誤判為跌倒。
人體跌倒過程分析:正常情況下,加速度傳感器的矢量和一般大于1 g;失重現(xiàn)象會發(fā)生在跌倒之初,此時加速度的矢量和降低至0 g的水平;發(fā)生失重后,人體將于地面相撞擊,在加速度曲線中表現(xiàn)為劇烈沖擊;一般地,跌倒并撞擊地面后,人體無法立即站起來,人體會在短時間內(nèi)保持靜止;在跌倒之后,加速度傳感器3個軸的值與初始狀態(tài)相比有很大不同。上述4種情況共同構(gòu)成了整個跌倒算法。圖5所示為在ARM處理器上實(shí)現(xiàn)的算法流程。
圖5 人體跌倒算法流程圖
檢測到人體跌倒之后,監(jiān)控中心實(shí)時地計(jì)算出跌倒位置坐標(biāo)并通過向GSM無線模塊發(fā)送AT命令來發(fā)送報(bào)警短信。跌倒位置坐標(biāo)轉(zhuǎn)化成Unicode代碼后以PDU格式發(fā)送中文短信。接收報(bào)警短信的號碼可隨意設(shè)置,比如發(fā)送給不同的醫(yī)護(hù)人員、救護(hù)中心以及家屬,以便最大程度地監(jiān)控老人跌倒和提供及時救助。
為了驗(yàn)證本方案的可靠性,進(jìn)行了充分的實(shí)驗(yàn)。在參考節(jié)點(diǎn)覆蓋的區(qū)域內(nèi)隨意移動盲節(jié)點(diǎn),本系統(tǒng)測試得到的位置坐標(biāo)和實(shí)際位置坐標(biāo)的誤差在1 m以內(nèi);在人體向前、向后、向左和向右4個方向跌倒時,均可以100%檢測到人體跌倒;每次發(fā)生跌倒之后,監(jiān)控手機(jī)均能在5 s之內(nèi)接收到跌倒報(bào)警和跌倒位置信息。同時,還測試了本系統(tǒng)對偽跌倒的區(qū)分度,人體在正常行走、跑步、起跳、坐下、下蹲和上下樓梯時均不會出現(xiàn)檢測到偽跌倒的狀況。
本文提出并實(shí)現(xiàn)了一個具有定位和遠(yuǎn)程報(bào)警功能的無線人體跌倒監(jiān)測系統(tǒng)。定位功能以ZigBee無線傳感器網(wǎng)絡(luò)中參考節(jié)點(diǎn)接收到的盲節(jié)點(diǎn)的RSSI值為基礎(chǔ),建立RSSI查找表和方差分析的定位算法,并用硬件加速器實(shí)現(xiàn)。系統(tǒng)定位實(shí)時性高,精度達(dá)到1 m。通過研究人體跌倒過程中加速度變化特性,采用三軸加速度傳感器和ARM處理器實(shí)現(xiàn)了高精度的人體跌倒監(jiān)測功能。遠(yuǎn)程報(bào)警終端采用常見的移動手機(jī),在被監(jiān)控者發(fā)生意外跌倒時,將發(fā)送跌倒報(bào)警和跌倒位置信息。
[1]MOSTRAC P,ROMAN M,JURCEVIC M,et al.System for monitoring and fall detection if patients using mobile 3-axis accelerometer sensors[C].2011 IEEE International Workshop on MemeA,Bari,2011:456-459.
[2]CHEN T C.Fall detection and location using ZigBee sensor network[C].Cross Strait Quad-Regional Radio Science and Wireless Technology Conference,Harbin,2011,2:937-941.
[3]Gao Yang,Gao Jingmin,Wang Jiuhe.Research of humen fall detection algorithm based on tri-axis accelerometer[J].International Conference on Remote Sensing,2012,500:623-628.
[4]Zhang Tong,Wang Jue,Liu Ping,et al.Fall detection by wearable sensor and one-class SVM algorithm[J].Lecture Notes in Control and Information Sciences,2006,345:858-863.
[5]Ning Jia.Fall detection application by using 3-axis accelerometer ADXL345[Z].Analog Devices,Application Note:AN-1023,2009.