張 磊,李自成,吳 卓
(武漢工程大學(xué) 電氣信息學(xué)院,武漢 430205)
據(jù)世界衛(wèi)生組織數(shù)據(jù)顯示,目前我國(guó)至少有1400萬(wàn)盲人,在出行方面面臨著巨大的挑戰(zhàn)[1]。視力障礙導(dǎo)致他們的機(jī)動(dòng)性降低、獨(dú)立出行能力受限,增加了受到意外傷害的可能性。為了改善盲人的生活,人們運(yùn)用現(xiàn)代電子和計(jì)算機(jī)技術(shù),開(kāi)發(fā)了多種幫助盲人出行的產(chǎn)品。包括電子導(dǎo)盲器、電子導(dǎo)盲輪椅、電子導(dǎo)盲拐杖、導(dǎo)盲機(jī)器人等。電子導(dǎo)盲器在早期導(dǎo)盲設(shè)備中較為常見(jiàn),包含多個(gè)超聲波測(cè)距模塊,可探測(cè)各個(gè)方向的障礙物,通過(guò)語(yǔ)音播報(bào)模塊進(jìn)行反饋[2]。電子導(dǎo)盲輪椅包含避障模塊、循跡模塊,可探測(cè)各個(gè)方向的障礙物,通過(guò)APP 可進(jìn)行遠(yuǎn)程控制[3];電子導(dǎo)盲拐杖具有傳統(tǒng)導(dǎo)盲拐杖的外觀,集成了GPS 模塊、語(yǔ)音播報(bào)模塊等,具有障礙探測(cè)、語(yǔ)音提示、跌倒報(bào)警等功能[4-6];導(dǎo)盲機(jī)器人具有獨(dú)立行走的能力,主要原理是機(jī)器人對(duì)前方環(huán)境進(jìn)行監(jiān)測(cè)分析,然后將分析結(jié)果再對(duì)盲人進(jìn)行提示[7-9]。
這些電子導(dǎo)盲產(chǎn)品的種類較多,但具有實(shí)用性和價(jià)格優(yōu)勢(shì)的較少。針對(duì)上述問(wèn)題,本項(xiàng)目旨在結(jié)合各種方案的優(yōu)點(diǎn)和長(zhǎng)處,結(jié)合TOF(time of flight)測(cè)距技術(shù)、USB 數(shù)據(jù)傳輸技術(shù),設(shè)計(jì)開(kāi)發(fā)出一種價(jià)格低、功耗小、易攜帶、且功能完備的穿戴式導(dǎo)盲設(shè)備,為盲人的日常出行保駕護(hù)航。
本文系統(tǒng)按照功能可劃分為運(yùn)動(dòng)感知、數(shù)據(jù)采集與處理、數(shù)據(jù)傳輸、數(shù)據(jù)顯示、結(jié)果反饋5 個(gè)部分,系統(tǒng)的整體框架如圖1 所示。
圖1 系統(tǒng)框架Fig.1 System framework
運(yùn)動(dòng)感知部分負(fù)責(zé)通過(guò)三軸加速度傳感器對(duì)視障使用者進(jìn)行運(yùn)動(dòng)狀態(tài)識(shí)別;數(shù)據(jù)采集部分利用激光測(cè)距傳感器對(duì)使用者前方障礙物的距離進(jìn)行初步的測(cè)量;數(shù)據(jù)傳輸部分通過(guò)USB 有線傳輸?shù)姆绞綄?duì)數(shù)據(jù)進(jìn)行發(fā)送以及接收;數(shù)據(jù)顯示部分主要負(fù)責(zé)對(duì)處理后的數(shù)據(jù)在手機(jī)界面進(jìn)行實(shí)時(shí)顯示;結(jié)果反饋部分通過(guò)震動(dòng)、響鈴或語(yǔ)音播報(bào)的方式對(duì)視障使用者進(jìn)行提醒。整套硬件設(shè)備具有體積小、功耗低等特點(diǎn)。系統(tǒng)采用手機(jī)供電,選用的各個(gè)硬件均為低功耗模塊,同時(shí)也采用了低功耗處理,可以實(shí)現(xiàn)長(zhǎng)時(shí)間使用。
硬件工作流程如圖2 所示。硬件通過(guò)對(duì)使用者的運(yùn)動(dòng)狀態(tài)進(jìn)行檢測(cè)來(lái)判斷是否喚醒設(shè)備,當(dāng)設(shè)備啟動(dòng)后進(jìn)行距離檢測(cè),并向主控芯片發(fā)送實(shí)時(shí)數(shù)據(jù)。
圖2 硬件工作流程Fig.2 Hardware work flow chart
LIS2DW12TR 是一種超低功耗的高性能三軸線性加速度計(jì),由于其超小的尺寸和超低的功耗,廣泛應(yīng)用于物聯(lián)網(wǎng)連接設(shè)備以及穿戴設(shè)備等。運(yùn)動(dòng)檢測(cè)部分電路具體設(shè)計(jì)如圖3 所示。
圖3 運(yùn)動(dòng)檢測(cè)電路Fig.3 Motion detection circuit
當(dāng)視障人群佩戴硬件設(shè)備,LIS2DW12TR 檢測(cè)三軸加速度值的變化,與設(shè)定的閾值進(jìn)行比較進(jìn)而分析佩戴者的運(yùn)動(dòng)狀態(tài)。計(jì)算閾值的公式如下所示:
式中:TH 表示閾值;FS 為初始化時(shí)設(shè)置的值。當(dāng)傳感器實(shí)時(shí)測(cè)得加速度值大于計(jì)算得到的閾值,判斷用戶當(dāng)前為運(yùn)動(dòng)狀態(tài);反之則處于靜止?fàn)顟B(tài)。
TOF 傳感器具有體積小、誤差低、工作距離遠(yuǎn)等特點(diǎn)。VL53L1X 可在4 m 范圍內(nèi)精確測(cè)距,距離檢測(cè)電路如圖4 所示。
圖4 距離檢測(cè)電路Fig.4 Distance detection circuit
激光測(cè)距傳感器主要有3 種測(cè)距模式,長(zhǎng)距離測(cè)距模式下最遠(yuǎn)測(cè)量距離360 cm,中距離測(cè)距模式下最遠(yuǎn)測(cè)量距離290 cm,短距離測(cè)距模式下最遠(yuǎn)測(cè)量距離136 cm。3 種模式中,不同的測(cè)距模式可以適應(yīng)不同的光照情況,測(cè)距范圍越小,受光照影響程度越小。
為了盡可能地降低設(shè)備的成本以及設(shè)備的功耗,系統(tǒng)采用STM32F042G6U6 單片機(jī)對(duì)數(shù)據(jù)進(jìn)行傳輸和處理[10]。在同樣的時(shí)鐘8 MHz 下,STM32F042 芯片電流只有4 mA,STM32F103 芯片電流達(dá)到9 mA以上。數(shù)據(jù)采集與傳輸電路如圖5 所示。
圖5 數(shù)據(jù)采集與傳輸電路Fig.5 Data acquisition and transmission circuit
傳感器測(cè)得的數(shù)據(jù)通過(guò)I2C 協(xié)議進(jìn)行傳輸,統(tǒng)一發(fā)送至主控芯片進(jìn)行處理和保存。由于測(cè)距傳感器測(cè)得的數(shù)據(jù)量較大,防止終端數(shù)據(jù)顯示出現(xiàn)突變,采用均值濾波的方法對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,公式如下所示:
最終,單片機(jī)通過(guò)USB 串口將均值濾波后的數(shù)據(jù)發(fā)送至手機(jī)APP 中,完成硬件與軟件之間的通信。
盲人運(yùn)動(dòng)感知系統(tǒng)的軟件部分是由Android Studio 開(kāi)發(fā)的一款手機(jī)APP[11]。該系統(tǒng)軟件平臺(tái)可實(shí)時(shí)接收和顯示硬件數(shù)據(jù)并且通過(guò)對(duì)數(shù)據(jù)分析向使用者做出反饋。為滿足使用者的多樣性,軟件部分設(shè)置了正常模式和特殊模式,家屬可以選擇功能齊全的正常模式,視力障礙群體使用時(shí)則可以選擇已經(jīng)設(shè)定好功能的特殊模式,手機(jī)APP 的操作流程如圖6 所示。
整個(gè)軟件程序按功能可分為5 個(gè)界面,設(shè)備識(shí)別界面、用戶模式選擇界面、特殊模式界面、正常模式界面以及正常模式-模式選擇界面。界面展示如圖7 所示。
圖7 軟件界面Fig.7 Software interface
硬件識(shí)別界面的主要功能是對(duì)插入的硬件設(shè)備進(jìn)行識(shí)別,通過(guò)檢測(cè)硬件設(shè)備的VID(vender ID)和PID(product ID)是否與設(shè)定的參數(shù)相同來(lái)判斷所插入的硬件設(shè)備。若相同,則屏幕上會(huì)顯示對(duì)應(yīng)硬件設(shè)備的PID 和VID;反之,屏幕上的信息都會(huì)顯示為空值,同時(shí)手機(jī)會(huì)發(fā)出警告語(yǔ)音提示使用者正確插入設(shè)備。
該界面下有正常模式和特殊模式2 個(gè)按鍵。正常模式操作復(fù)雜,但是適應(yīng)環(huán)境能力強(qiáng),可根據(jù)當(dāng)前環(huán)境狀況操作者自行修改工作模式;特殊模式功能簡(jiǎn)單,但適應(yīng)環(huán)境能力弱。
特殊模式是供視力障礙人群直接使用的一種模式,特殊模式下設(shè)置默認(rèn)的硬件工作模式為長(zhǎng)距離測(cè)距,測(cè)距頻率為200 Hz,震動(dòng)反饋。沒(méi)有復(fù)雜的模式選擇界面,因此操作簡(jiǎn)便。
正常模式功能完整,有多種工作模式可供使用者選擇。按下模式選擇按鍵后進(jìn)入模式選擇界面,用戶可在模式選擇界面手動(dòng)選擇所需要的硬件工作模式。
進(jìn)入正常模式的模式選擇界面后,可根據(jù)提示選擇測(cè)距模式,頻率模式以及反饋模式,測(cè)距模式分為長(zhǎng)距離模式、中距離模式和短距離模式,不同的測(cè)距模式具有不同的測(cè)量范圍,光照對(duì)激光測(cè)距傳感器的精度影響較大,在長(zhǎng)距離模式下受光照影響最強(qiáng),中距離模式次之,短距離模式則幾乎無(wú)影響。使用者可根據(jù)不同的光照情況選擇對(duì)應(yīng)的測(cè)距模式。除此之外,還有3 種頻率模式和3 種反饋形式可搭配使用。
本實(shí)驗(yàn)采用正常光照條件下的試驗(yàn)場(chǎng)地,實(shí)驗(yàn)人員佩戴硬件設(shè)備,使用者根據(jù)語(yǔ)音提示在APP 上設(shè)置完成硬件工作模式,系統(tǒng)進(jìn)入運(yùn)行狀態(tài)。其中硬件設(shè)備如圖8 所示。
圖8 硬件設(shè)備Fig.8 Hardware devices
當(dāng)LIS2DW12TR 三軸加速度傳感器采集到實(shí)驗(yàn)人員的運(yùn)動(dòng)信息后,向STM32 發(fā)送運(yùn)動(dòng)狀態(tài)指令,STM32 根據(jù)接收到的狀態(tài)指令控制VL53L1X激光測(cè)距傳感器啟動(dòng),開(kāi)始測(cè)量實(shí)驗(yàn)人員與障礙物間的距離。與此同時(shí),硬件部分通過(guò)USB 接口實(shí)時(shí)向Android 設(shè)備發(fā)送距離數(shù)據(jù),Android APP 根據(jù)接收到的距離數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示。
隨著實(shí)驗(yàn)人員移動(dòng),距離障礙物的距離也越來(lái)越近,當(dāng)距離小于警告閾值且大于危險(xiǎn)閾值時(shí),手機(jī)會(huì)根據(jù)用戶設(shè)置的反饋模式進(jìn)行相應(yīng)的警告提醒,當(dāng)實(shí)驗(yàn)人員與墻面的距離小于危險(xiǎn)閾值時(shí),手機(jī)則會(huì)進(jìn)行對(duì)應(yīng)的危險(xiǎn)提醒。本實(shí)驗(yàn)設(shè)置的警告范圍為500 mm~1000 mm,危險(xiǎn)范圍為0 mm~500 mm,在一段時(shí)間內(nèi),時(shí)間與距離的部分?jǐn)?shù)據(jù)如表1 所示。
表1 測(cè)距實(shí)驗(yàn)記錄Tab.1 Distance measurement experiment records
根據(jù)實(shí)驗(yàn)數(shù)據(jù)可以看出,此系統(tǒng)只有在檢測(cè)到使用者的運(yùn)動(dòng)狀態(tài)后才開(kāi)始工作,當(dāng)使用者向前運(yùn)動(dòng)時(shí)能夠?qū)崟r(shí)檢測(cè)與前方障礙物的距離,當(dāng)使用者停止運(yùn)動(dòng)超過(guò)一段時(shí)間后硬件部分會(huì)自動(dòng)關(guān)閉激光測(cè)距模塊,同時(shí)關(guān)閉硬件系統(tǒng)與軟件系統(tǒng)之間的數(shù)據(jù)傳輸,同時(shí),整個(gè)系統(tǒng)將進(jìn)入低功耗模式。
本文設(shè)計(jì)實(shí)現(xiàn)了一種基于STM32 的盲人運(yùn)動(dòng)感知避障系統(tǒng),該系統(tǒng)將硬件與軟件相結(jié)合。利用STM32 低功耗處理器,LIS2DW12TR 低功耗三軸加速度傳感器,VL53L1X 激光測(cè)距傳感器,實(shí)現(xiàn)了低功耗智能化動(dòng)態(tài)距離檢測(cè)。整套系統(tǒng)具有易攜帶、功耗低、操作簡(jiǎn)單、可靠性高的特點(diǎn),可大大減少視力障礙人群出行所消耗的人力物力,提高出行效率。在后續(xù)的研究中,將對(duì)手機(jī)端進(jìn)行優(yōu)化,將視障群體的實(shí)時(shí)狀態(tài)反饋到家人,進(jìn)一步提高該系統(tǒng)智能化能力。