張贏,張政,許夢余,郭晗,冷秀娟
(青島黃海學院,山東 青島 266427)
根據國家衛生部門的統計,我國盲人超過了1 400 萬,每年新增的盲人和弱視群體就超過40 萬人,出行問題無疑成為當下熱點。隨著科學技術的快速發展,盲人對智能輔助設備的應用降低了對傳統盲杖的依賴。雖然為部分盲人帶來便利,但在總體上智能設備實際應用性和可操作性較低,根本無法防止盲人摔倒。根據調查顯示,現階段我國市場上盲人智能出行產品的研發還處于前期發展階段。為此,我們致力于設計出一款基于防摔倒監測功能的智能盲杖,保障盲人的安全,讓家人放心。
盲人獨自出行摔倒的原因根據個人因素與環境因素分析結果如下,除去視覺通道的缺失的其他個人因素主要有以下幾點:(1)部分平衡感較差的盲人在行走的過程中更易跌倒;(2)從未或鮮少行走過的路段加大了摔倒的可能性;(3)內心對迷茫和黑暗的恐懼和心理壓力。而環境因素主要是路況設施較差,盲道被等占比比皆是,以及一些其他原因,比如街上行人較多、雜物障礙也較多、車流量大、道路坑坑洼洼等。
盲人摔倒事件不僅發生次數多,造成的后果往往也比較嚴重,加上盲人呼救不便可能在救助的過程中會有一定的困難。跌倒對于盲人出行是一大障礙,其后果有失去方向感、不同程度的受傷、陷入昏迷、跌入深坑或下水道中等。身體任意部位都有可能出現系統性碰撞損傷。而骨折、肌肉挫傷、淤血、內出血和顱內出血是摔傷的主要癥狀而往往這些癥狀會導致腦震蕩、休克和死亡。由于身體不同部位的抗性不同,不同的摔倒姿勢造成的傷勢也不盡相同。對于獨居或外出的盲人而言,及時被發現跌倒并自動呼救,是有效減少盲人的傷害和減少醫療費用的好方法。
針對人體運動的高度的復雜性和不確定性的特點,我們把摔倒過程分為:安全狀態、失衡狀態與輕微碰撞狀態和下落后相對穩定的運動狀態。摔倒這一狀態包括兩個主要特征:身體姿勢的變化以及周圍物體對身體的影響。我們識別人體跌落的基礎運動學信息是跌倒過程以及跌倒過程中每個運動狀態所呈現的。人體跌倒預測的研究則需要判斷低勢物體在首次撞擊前的運動狀態。
為了計算人體摔倒時相關的運動參數,擬定義了每一部位的坐標和旋轉方向。設水平面坐標系為OXZY。其中Z 軸垂直于地面,OXYZ 隨軀干運動而改變對應方向,坐標系OXYZ 與坐標系OXYZ 平行時當身體為正常直立的狀態,X軸為前方,Y 軸為左邊,Z 軸為右邊。
摔倒時身體的姿勢會有一定程度的變化。一般來說,身體在跌倒時接近垂直,摔倒后接近水平。摔倒情況因人而異,當盲人在不同的生活行為中,會有一些類似摔倒的行動,例如下蹲這類運動。因此,識別跌倒行為可以通過肢體變化來實現。
軀干方向的變化可以用軀干的角度來表示。如圖1所示,軀干相對于地面坐標系OXYZ 的角度1、2 和3 按照“身體軸1-2-3”的順序定義式中,1 是滾動角度,繞X 軸旋轉;2 是俯仰角,繞Y 軸旋轉。3 是自旋角,繞Z 軸旋轉。

圖1 人體軀干旋轉角的定義
在人體墜落的過程中,橫滾角1 或俯仰角2,或兩者都有很大的變化。此外,角速度&;1 和&;2 的變化比盲人日常生活中的變化更為嚴重。旋轉角3 在人類墜落期間沒有顯著變化,因此不能用作墜落的特征。
信息獲取、計算機與自動化、通信和網絡作為信息科學的三大支柱通過信息技術識別人體摔倒時的運動狀態,首要的是要識別倒地過程中的信息并獲取可利用的細節并分析其運動的特征。
在人體正常進行運動時,加速度處于一個限定的閾值內。然而,當跌倒發生時,它通常只持續很短的時間,大約1 ~2秒。在人身體失衡的瞬間,會突然傾斜,加速度會隨著身體的劇烈運動急劇變化。人體的身體姿勢下跌倒后會發生變化,一般是由站立狀態變為坐姿或平躺或者趴伏,身體各個部位也會發生很大的加速度變化。一般用加速度變化閾值來確定盲人是否摔倒。
智能導盲杖可以通過加速度傳感器、角運動檢測裝置、差壓傳感器等多個內置傳感器獲得人當前的狀態信息,并通過逐層檢測獲得盲人當前運動狀態,并通過三者的相應變化來綜合判斷盲人是否摔倒。若超過設定的閾值,則生成摔倒報警信號觸發語音報警模塊。
多樣性和不確定性是人體運動過程具有的,不同的運動具卻有不同典型的特征,因此提取姿態特征向量來區分不同的運動類型,包括速度、加速度和信號向量SVM(SVM)幅值和MADS(差加速度幅值的平均絕對值)。人跌倒是一種瞬間的劇烈活動,這一過程可分為幾種狀態:初始安全、失去平衡、撞擊地面、跌倒地面、保持平衡和休息。
從安全狀態到下降狀態,加速度和加速度矢量差SVM的變化過程從零開始先大后小,MADS 的平均值的變化過程從零開始先大后小。垂直偏航角偏航是指人體與地面之間的角度遠大于或遠小于90°,正常垂直角度約為90°;系統采用三級閾值判斷人體的墜落狀態,將人體垂直地面方向定義為Z 軸,前后方向定義為X 軸,左右方向定義為Y 軸,如下所示:

其中,m、m、m分別為X 軸、Y 軸加速度與Z 軸的加速度。

其中:為時間周期。

系統軟件設計,主要包括Arduino 芯片開發部分和智能安卓手機軟件開發部分。Arduino 的片上開發部分使用類C語言開發數據采集、數據處理、數據封裝和藍牙傳輸控制等功能。對于Android 手機,它負責接收通過藍牙發送的信號,并將接收到的數據轉換為以下算法可用的數據類型,數據類型保存在日志中。Xml 文件在Android 手機上的SD 卡上,也可以處理數據。通過閾值分析算法,可以發現盲人是否摔倒,識別嚴重程度,若是嚴重摔倒及時發送給家人手機的小程序,并且發出警報,尋求路人的幫助。
Arduino開發板主要對傳感器采集的數據進行初步處理,并用藍牙連接智能安卓手機進行數據傳輸。
第一步是通過Arduino 開發板控制兩個傳感器的數據采集頻率,并控制藍牙以相同的頻率發送數據。此外,由三軸加速度傳感器采集的數據,即三軸加速度和三軸加速度數據,進行了局部數據處理。需要使用的機械啟動,設置和轉換為角速度。角速度的轉換不是以他的速度,而是以角速度的線性關系。處理這些數據只獲得合理的速度最后,所有的數據處理后,Arduino 開發團隊將藍牙傳感器的數據在同一頻率范圍。使用藍牙傳感器進行數據移動和數據傳輸,Arduino 開發板流程如圖2所示。首先,系統初始化。初始化后,加載加速度和角速度傳感器驅動器。加載驅動器后,采集加速度和角速度數據,并傳輸數據。

圖2 Arduino 開發板流程圖
Android 程序主要負責接收藍牙傳入的數據,并對數據進行進一步的分析和計算,并根據的算法判斷人體的當前狀態。該軟件將控制手機在檢測到墜落時發出警報。具體的報警類型可以是發出警報聲、呼叫幫助、發送緊急求助信息等。
開發了安卓平臺應用軟件,可以簡化軟件輕松安裝在安卓操作系統智能導盲杖上,一方面方便用戶,用戶無須使用額外的單功能設備,增強了系統的實用性和可移植性;另一方面,手機強大且相對成熟的通信技術也可以極大地幫助求救信息的傳輸,提高系統的可用性。Android 系統流程如圖3所示。

圖3 Android 系統流程圖
本文提出了一種基于物聯網的盲人意外摔倒報警導盲杖系統的設計,生產成本低,精度高,實用性強,硬件產品設計科學,攜帶方便,符合當前市場趨勢,未來,許多盲人家庭用戶將關注智能防摔倒報警系統的研究與實現,這將在一定程度上緩解我國視障人士的出行壓力。提高盲人的生活質量在家庭忙于工作時,利用智能技術幫助他們,可以為盲人提供更全面的關愛。