摘 要: 為解決當今人口老齡化社會所帶來的老人跌倒事件頻發,以及為防止老人、兒童、智障者走失,研發了一種基于九軸慣性傳感器的跌倒監測系統。該系統采用了三軸加速度計、三軸磁力計和三軸陀螺儀集成的九軸慣性傳感器檢測人體運動產生的加速度、磁場強度和角速度數據,以MSP430F2418PM作為系統控制器,利用GSM/GPRS模塊SIM908進行地理信息采集和短信/電話通信,并將報警等信息發到遠程監控平臺,實現任何時間、地點獲取老人跌倒的相關信息,以便進行遠程報警、定位和跌倒事件的處理。試驗結果表明,跌倒檢測終端達到將跌倒行為與正常行為區分開,準確率達98%,同時能準確地定位跌倒發生的位置,并通過手機短信發送給監護人,具有廣闊的實用價值。
隨著我國老齡化社會的到來,65歲及以上老年人已達1.5億,按30%的發生率估算每年將有4 000多萬老年人至少發生1次跌倒,如果跌倒的老年人不能得到及時的救援,傷殘和死亡的比率會大大增加,據衛生部統計,跌倒成為了威脅老年人生命安全和增加社會負擔的第一因素。因此在不影響老年人正常生活的情況下,研發一種可以檢測老年人行為并能及時將信息反饋的智能化跌倒檢測裝置具有重要現實意義。目前國內外的相關人體跌倒識別方法種類較多,根據其研究中獲取信息的來源和類型不同,主要可分為以下三種:
(1)基于視頻和模式識別的方法。通過攝像裝置實時監測區域內的人體運動,當人體在非正常位置臥倒過長時間,判斷為跌倒。有部分研究者利用圖像中的人體部位異常動作來判斷是否跌倒,如ROUGIE C通過計算頭部移動速率等參量跟蹤頭部軌跡檢測跌倒[1]。
(2)基于振動分析的方法。當跌倒發生時,振動傳感器會探測到相應振動的波形,通過分析對比波形可檢測出人體跌倒行為。
(3)基于慣性傳感器的可穿戴式人體跌倒監測系統。此類裝置可以自動檢測人體摔倒行為并利用無線通信裝置報警。
前兩種方法都受到空間上的限制,只能檢測特定區域內的跌倒,而且視頻監測可能會因隱私問題而使用戶產生排斥心理。第三種方法與前兩種方法相比有很大的優勢,更實用,有更廣闊的應用前景。目前國內外有很多此類研究裝置及方法,但很多都采用單一的三軸角速度傳感器或者結合壓力傳感器輔助檢測。如BIANCHI F等介紹了一種使用壓力傳感器和加速度傳感器檢測人體跌倒的方法,系統把一個三軸加速度計和壓力傳感器置于腰間,通過判斷加速度數據和壓力數據識別跌倒[2];在國內,孫新香等人介紹過一種基于加速度傳感器的跌倒探測器[3];陳煒、佟麗娜等設計了一種基于慣性傳感器件的跌倒檢測系統[4]。結合國內外的研究現狀,本文將九軸慣性傳感器作為跌倒檢測終端,實現遠程定位報警等功能。
基于九軸慣性傳感器的跌倒監測系統可以在任何時間、地點和環境下監測并獲取跌倒警報信息,通過GPS與GSM集成的模塊端口將采集到的地理信號和報警信號通過移動網絡發送到遠程監控平臺。平臺查詢事件人基本信息通過短信通知監護人,以達到及時救治的目的。
1 系統構架
跌倒監控系統設計平臺主要是穿戴式的跌倒檢測終端、手機、遠程監護平臺三者間進行通信的移動網絡,系統總體方案結構如圖1所示。
跌倒檢測終端主要負責對人體加速度、角速度和姿態角的數據采集,并具有地理信息采集和遠程通信等功能。當檢測到佩戴者發生跌倒時,終端會發出聲光報警,同時將跌倒報警信號傳送到遠程服務器端和手機客戶端,以便通知監護人提供及時的救治。終端還具有主動/取消報警、電量監測和低電量提示等功能。
遠程監護平臺由手機和監控服務器組成。手機主要用于及時接收短信或電話報警,并將接收的地理信息在手機地圖中顯示。遠程監護服務器運行于PC端,基于MFC開發,主要功能是事件處理和用戶管理,用于醫院及社區對跌倒事件進行更有效的處理,以及對跌倒檢測終端進行更有效的管理。跌倒事件發生時,由終端向PC監護平臺發送一條跌倒事件,PC監護平臺接收到事件后以彈出對話框和聲音警告的方式提示操作人員有緊急情況發生。
通信網絡由GPRS組成。GPRS 網絡主要負責將報警信息以短信或電話的方式通知監護人。
2 跌倒監測系統構架
2.1 硬件設計
硬件部分主要是跌倒檢測終端,該終端由電源單元、跌倒檢測、微處理器、GPS/GSM 、聲光報警、“清除/求助”按鈕組成。各模塊在MSP430F2418單片機的控制下相互配合,實現系統的各種功能,系統硬件連接原理框圖如圖2所示。跌倒檢測模塊采用 ADXL345 三軸加速度傳感器、三軸磁力計MAG3110和三軸陀螺儀集成的九軸慣性傳感器,用于實時監測人體角速度和加速度參數。三軸陀螺儀能夠測量沿一個軸或幾個軸運動的角速度,可與ADXL345形成優勢互補,而加速度計和陀螺儀這兩種傳感器能夠更好地跟蹤并捕捉三維空間的完整運動,當GPS在室內無法搜索到足夠衛星信號時使用。
衛星定位模塊采用西門子公司的 SIM908,該模塊集成了GPS+GSM+GPRS功能,通過AT指令完成與核心處理器配置,實時監測老年人跌倒時所處位置的經緯度,跌倒事件發生后將地理位置信息發送到遠程監護平臺同時接收用戶監護人的查詢請求。
2.2 跌倒檢測算法
基于運動的跌倒檢測算法主要依據傳感器輸出的加速度和角速度信號。加速度信號表征了人體的移動快慢及方向等信息,是穿戴式跌倒檢測的主要特征信號量。角速度信號表征人體姿態信息。由于傳感器采集到的是3個正交方向的加速度和角速度信號,而單一方向的信號難以表征整體的運動,因此取其和的平方根:
其中,Acc_x、Acc_y、Acc_z分別表示3個正交方向的加速度信號,Gyr_x、Gyr_y、Gyr_z是三軸陀螺儀正交角速度信號。人體倒地后,從剛接觸地面到相對靜止于地面,此過程為“沖擊過程”。在這個過程中,人體的加速度從最大突變到接近重力加速度,在波形上形成一個向上的尖峰,通過對此尖峰進行檢測從而判定跌倒的發生。人體在執行日常行為(ADL)動作時,都沒有“失重過程”和“沖擊過程”。通過檢測加速度和角速度的尖峰,即可判斷跌倒事件的發生,確認跌倒事件發生后啟用GPS定位和GSM通信,將報警信號和地理位置信號通過短信方式發送到服務端和手機端。圖3所示為判斷跌倒發生的軟件流程圖。
首先單片機要進行串口通信模塊、系統時鐘及I/O端口的初始化,對各個控制寄存器進行參數設置。讀取九軸慣性傳感器采集運動信息(即加速度和角速度的值),當合加速度和合角速度超出閾值時,觸發報警器,開始報警音提示以及LED閃爍,提示時間持續20 s,在無人觸動求助/解除按鈕的情況下,通過GSM或GPRS發出報警短信到監護平臺和指定監護人員手機。當緊急情況主動報警,通過觸動求助/解除按鈕,持續20 s,在無人觸動求助/解除按鈕的情況下,啟動GPS定位和GPRS通信將跌倒信號以短信方式發送到監測終端和監護人的手機。
3 基于MFC構架遠程監控平臺
遠程監控平臺基于Visual Studio 2010開發環境,利用 MFC構架開發,為操作人員提供系統錄入,事件發生以彈出對話框和聲音警告的方式提示操作人員有緊急情況發生。系統人員查看事件相關信息,包括跌倒事件發生人員、跌倒時間、發生地點、跌倒事件的可信程度和預處理方案等。遠程監護不僅可以實時監控老年人的健康狀況、記錄監護人信息、接受并處理跌倒事件,而且還有健康信息推送、天氣預報、短新聞、故事笑話、周邊社區生活信息播報等功能。該監控平臺根據跌倒事件信息做出實施救助的方案,并立即展開救助活動,最大程度地對需要救助的人員實施最快的救助。
3.1 ADO接口訪問SQL Server數據庫
Window系統上常見的數據庫接口包括:ODBC(開放數據庫互連)、DAO(數據訪問對象)、OLE DB(對象連接嵌入數據庫)、ADO(ActiveX數據對象)。在各種訪問數據庫技術中,ADO是最新的訪問技術,建立在OLE DB之上,屬于高層的數據庫。ADO支持任何的OLE DB服務器,并提供更多的編程語言。ADO提供自動化接口,還支持COM的數據擴展類型。故本文采用ADO組件訪問SQL Server 2008數據庫。
在使用ADO對象之前必須先初始化COM環境。ADO庫包含3個基本接口:ConnectionPtr接口、CommandPtr接口、RecordsetPtr接口。 ConnectionPtr創建一個數據連接或執行一條不返回任何結果的SQL語句。CommandPtr接口返回一個記錄集,提供了一種簡單的方法來執行返回記錄集的存儲過程和SQL語句。RecordsetPtr是一個記錄集對象,與前兩種對象相比,它對記錄集提供了更多的控制功能,如記錄鎖定、游標控制等。
首先要建立Connection連接,接口通過Connection對象中的Execute方法建立對象的指針_bstr_t,strConnect設置連接字符串,利用Connection對象Open方法建立數據庫連接。Recordset 對象由記錄和列(字段)組成,用于容納數據庫表的記錄集。使用Recordset函數創建記錄集對象,使用記錄集對象中的Open方法取得表中的記錄。ExecuteSQL函數直接執行SQL語句獲取表中的數據。m_pConnection檢查是否已經連接數據庫,利用Connection對象的Execute方法查詢語句。CommandText是命令字串,通常是SQL命令。使用ExitConnect()函數即可完成數據集的關閉、斷開數據庫連接、釋放環境等功能。
3.2 Socket網絡通信
本文采用Windows Socket API函數編寫Windows Socket網絡通信程序 。當跌倒報警信息發生時,基于MFC構架跌倒監控平臺按照Windows的消息驅動機制把消息發送給相應的套接字對象,并調用作為該對象成員函數的事件處理——函數套接字類的通知函數(notification functions)。如果調用成功或者發生了WSAEWOULDBLOCK錯誤,當調用結束返回時,都會發生FD_CONNECT事件,MFC框架會自動調用客戶端套接字的OnConnect()事件處理函數,并將錯誤代碼作為參數傳送給它。服務器接受跌倒監測終端的連接請求,使用CAsyncSocket流式套接字對象。
4 測試與結果分析
為了驗證系統及跌倒算法的有效性, 動作主要分為兩類:日常行為ADL和跌倒行為FALL。本實驗設計了四類實驗:正常行走或站立;跑步;行走跑步變化;向前、向后、側向跌倒。在跌倒實驗測試時,將該系統束在腰部,執行設定好的動作。實驗結果顯示,當合加速度與合角速度的閾值分別設置為20 m/s2和2 rad/s時,測得一組各個行為的合加速度和合角速度實驗結果分別如圖4、圖5所示,跌倒檢測均能準確識別并進行相應的報警(無漏報警)。
進行20次實驗,結果如表1所示,該跌倒檢測原型系統能正確地區分絕大多數的跌倒事件,可識別出無跌倒事件發生,無警報發出,基本達到了預期效果。
由于該實驗中跌倒事件是由學生模擬測試來完成的,不能完全模擬老人跌倒行為,在實際應用中可能需要根據不同人的個體差異進行調整參數,以適應不同個體、不同年齡段的用戶需要。
本文介紹的系統集成度高、體積小、智能化、可靠性強,利用Internet 網絡實現位置信息等信號的傳輸以及診斷信息反饋,具有不受患者活動狀態、活動地點和活動時間的限制,老年人之間能夠及時溝通等優點;實現了遠程數據的傳輸、回放和人體狀態的快速分析診斷以及醫患之間的信息交互,最大限度地減少由跌倒造成的傷殘甚至死亡,具有十分重要的社會價值和經濟價值。
參考文獻
[1] WOON S B,DONG M K,FAISAL B,et al.Real life appli-cation fall detection system based on wireless body area network[C].the 10th IEEE CCNC-eHealth,2013:62-67.
[2] BIANCHI F,REDMOND S J,NARAYANAN M R,et al.Barometric pressure and triaxial accelerometry-based falls event detection[C].IEEE Transactions on Neural Systems andRehabilitation Engineering,2010,18(6):619-627.
[3] 孫新香.基于三軸加速度傳感器的跌倒檢測技術的研究與應用[D].上海:上海交通大學,2008.
[4] 陳煒,佟麗娜,宋全軍,等.基于慣性傳感器件的跌倒檢測系統設計[J].傳感器與微系統,2010,29(8):117-125.