吳煜霞, 吳宇輝, 杜海英, 張峰瑀, 許帥康, 叢麗穎, 孫鵬程
(大連民族大學機電工程學院, 遼寧 大連116600)
據(jù)世界衛(wèi)生組織統(tǒng)計,截止2021年底,我國盲人數(shù)量達1 700萬,占世界盲人總數(shù)的18%[1].如今交通狀況日趨復雜, 城市無障礙設(shè)施已無法滿足盲障人士出行的基本需求.隨著無線通信和傳感器技術(shù)的飛速發(fā)展,隨著傳感和顯示技術(shù)的進步, 電子導盲輔助設(shè)備逐步取代了傳統(tǒng)導盲工具,從聽覺和觸覺通道為盲障人士呈現(xiàn)了豐富的環(huán)境信息.現(xiàn)有電子導盲輔助設(shè)備按功能可分為導航輔助和移動輔助兩類[2-3], 其中導航輔助功能通過全球定位系統(tǒng)(global positioning system, GPS)、激光測距或射頻識別等技術(shù)提供定位信息, 規(guī)劃最佳出行路線[4-5]; 移動輔助功能通過聲音和觸覺導引裝置, 判斷行進路徑的安全性[6].還有些導盲輔助設(shè)備具有語音報警系統(tǒng), 根據(jù)行進路徑中的障礙物信息等發(fā)出相應(yīng)的語音報警信號, 預(yù)防危險碰撞[7-9].但現(xiàn)有電子導盲輔助設(shè)備往往存在功能單一, 不便攜帶和檢測速度慢等問題,影響出行體驗.為解決上述問題, 本文基于STM32單片機, 擬設(shè)計一款多功能智能導盲手杖, 手杖集全球定位系統(tǒng)、無線呼救、紅外循跡、語音交互和超聲波避障等功能于一體, 從盲人制定出行計劃開始, 提供全程導航定位,行進過程盲道紅外尋跡, 中遠距離超聲波避障,實時語音播報,防丟失、防摔倒提示以及智能呼救等移動輔助功能,為盲障人士出行提供便利.
智能導盲手杖主要包括手柄、圖像識別傳感器、語音播報傳感器、手杖支架、陀螺儀、連接盒、底輪、紅外傳感器和照明燈等, 具體如圖1所示.手柄前部內(nèi)置顏色識別裝置、振動馬達和語音識別系統(tǒng),外部采用軟橡膠材質(zhì),舒適防滑; 手杖支架為高硬度鋁合金材質(zhì),輕便且不易折斷; 控制系統(tǒng)和電源置于手杖底部連接盒內(nèi),連接盒前部設(shè)有超聲波避障傳感器, 底部設(shè)有紅外傳感器,以此進行循跡任務(wù).
圖1 智能導盲手杖外觀設(shè)計圖
本研究采用STM32F103ZET6單片機作為主要控制芯片,具體設(shè)計方案包括超聲波避障系統(tǒng)、導航與定位系統(tǒng)、紅外循跡系統(tǒng)、摔倒檢測系統(tǒng)、語音系統(tǒng)、運動系統(tǒng)六部分.智能導盲手杖系統(tǒng)主要硬件電路圖如圖2所示.
1) 超聲波避障系統(tǒng).采用4個SSD-ME007TX超聲波傳感器組成2×2的傳感器檢測陣列, 檢測手杖周圍2~3.5 m以內(nèi)的障礙物.超聲波模塊分別與地和電源相接, 給脈沖觸發(fā)引腳(trig)輸入一個20 μs的高電平方波, 模塊會自動發(fā)射8個40 kHz的聲波, 回波引腳(echo)端的電平由0變?yōu)?, 定時器開始計時; 當超聲波返回被模塊接收時, 回波引腳端的電平由1變?yōu)?, 定時器停止計時.由定時器得到超聲波從發(fā)射到返回的總時長t, 結(jié)合聲音在空氣中的傳播速度va=344 m·s-1, 計算測試距離S=va×t.完成測距后, 以串口形式輸出距離值, 并將信號同步至語音輸出.
圖2 控制器系統(tǒng)主要硬件電路圖
2) 導航與定位系統(tǒng).GPS系統(tǒng)選用ATK-NEO-6M-V12模塊(星翼電子科技有限公司, 廣州), 該模塊由具有167個通道的S1216F8-BD模塊組成, 追蹤靈敏度達-165 dB·m, 測量輸出頻率20 Hz.GPS模塊與MCU為串口通信, GPS模塊獲取手杖所在經(jīng)緯度、高度和行進速度后,與MCU串口3相接實現(xiàn)數(shù)據(jù)的存儲與通信.持杖人通過WEGASUN-M6模塊語音交互確定行進目標位置后,導航與定位系統(tǒng)進行路線優(yōu)化選擇及語音播報.工作時啟動GPS實時定位,實現(xiàn)手杖位置信息共享,親友可通過手機終端實時獲取手杖位置信息,預(yù)防持杖人走失.
3) 紅外循跡系統(tǒng).采用TCRT5000紅外傳感器,接收不同反射光檢測信號,控制器根據(jù)電平信號控制電機轉(zhuǎn)速和方向,實現(xiàn)手杖的紅外循跡功能.行進過程中,行人遇到交通信號燈時,TCS230顏色識別模塊自動開啟,光接收元件CMOS成像傳感器將接收的光信息分析為三原色(RGB)后識別各自的灰度級,轉(zhuǎn)換成電平信號傳輸給TCS230顏色識別模塊,辨別交通信號燈顏色信息,判斷是否可通過路口.
4) 摔倒檢測系統(tǒng).采用MPU6050陀螺儀完成持杖人的摔倒檢測.MPU6050陀螺儀是一款集三軸MEMS陀螺儀、三軸MEMS加速度計和1個可擴展的數(shù)字運動處理器(digital motion processor, DMP)于一體的九軸運動傳感器.通過三軸陀螺儀和三軸MEMS加速度計分別測量手杖的角速度和加速度,判斷手杖具體方向,以此檢測持杖人是否摔倒.
5) 語音系統(tǒng).采用集語音識別、語音合成、語音點播、射頻功能、紅外功能于一體的WEGASUN-M6模塊, 通過TTL串口(UATR)方式接受指令并返回結(jié)果, 實現(xiàn)語音功能.該模塊支持擴展紅外編碼學習功能,通過識別特定語音完成相應(yīng)指令,達到控制效果.內(nèi)置語音識別和語音播報模塊可實現(xiàn)人機交互,如在判斷持杖人摔倒后詢問是否需要聯(lián)系緊急聯(lián)系人等.
6) 運動系統(tǒng).手杖輪轂采用高硬度鋁合金材質(zhì), 輪寬30 mm, 外側(cè)凸起5 mm, 凸起部分寬1 cm, 底輪向內(nèi)傾斜80°, 與盲道吻合度高,確保行進過程更加平穩(wěn).行進過程中采用兩輪差速運動方式實現(xiàn)轉(zhuǎn)彎, 前進時底輪逆時針旋轉(zhuǎn),后退時順時針旋轉(zhuǎn).行進過程中,通過控制器將目標速度傳輸給控制電機,保證兩個底輪在直行過程中同時同速行進.當手杖轉(zhuǎn)彎或者出現(xiàn)循跡偏差時, 通過改變其中一個電機的速度,實現(xiàn)轉(zhuǎn)彎或調(diào)整.
智能導盲手杖系統(tǒng)通過調(diào)用STM32庫函數(shù)和操作寄存器對超聲波避障模塊、紅外尋跡模塊和GPS定位模塊等進行模塊化編程.圖3為智能導盲手杖系統(tǒng)主程序流程圖.
超聲波避障過程中,由超聲波探頭檢測信號經(jīng)控制器傳給霍爾直流編碼電機, 通過主控STM32定時器編碼, 結(jié)合M法測速, 每隔10 ms讀取一次電機編碼器的數(shù)值, 將底輪速度作為實際值.根據(jù)增量式PID速度控制算法[10-11], 調(diào)整電機目標速度pw=KP·Bi+Ki·Id+Kd·(Bi-LB), 通過兩個電機的差速控制實現(xiàn)轉(zhuǎn)彎或調(diào)整, 其中KP為比例系數(shù),Ki為積分系數(shù),Kd為微分系數(shù),Bi為變差,Id為累積偏差,LB為上次偏差.
紅外循跡過程采用路徑搜索算法,根據(jù)模擬量對盲線位置進行定位.由于不同環(huán)境下接收信號的傳感器不同,循跡前須標定激光管,定義傳感器對盲線的敏感度.紅外循跡系統(tǒng)由左、中、右3個激光管組成,選用差比和計算方法,存儲循跡過程中每個激光管輸出的最大值和最小值,最大值減去最小值得到傳感器在盲道上的輸出范圍,每個激光管的輸出信號減去最小值后除以輸出范圍即可得到其相對輸出值,輸出值最大時盲線比例最大,根據(jù)3個激光管的輸出值可計算盲線的準確位置P=Pj·Wj+Pj+1·Wj+1+Pj-1·Wj-1, 其中Pj為所占盲線百分比,Wj為傳感器所在位置,j為激光管序號.結(jié)合初始值X, 得到盲線偏移量ΔX, 采用增量式PID速度控制算法調(diào)整速度, 控制位移, 確保導盲手杖處于盲線中間位置.行進過程中遇到交通燈時,顏色識別模塊開啟, 當檢測到交通燈為綠色時, 檢測信號經(jīng)控制器傳給電機驅(qū)動模塊及語音播報系統(tǒng),提示前進;當檢測到交通燈為紅色、黃色或黑色時,判斷不能前進,驅(qū)停電機,重復交通燈檢測動作.
摔倒檢測過程中, STM32單片機每隔10 ms讀取一次陀螺儀數(shù)據(jù),對原始數(shù)據(jù)進行四元數(shù)解計算歐拉角[12], 判斷是否摔倒.摔倒檢測系統(tǒng)通過陀螺儀MPU6050讀取三軸角速度值和三軸加速度值,分析Z軸的加速度和角速度,加速度滿量程范圍為±2g, 其中g(shù)為重力加速度.當Z軸的加速度達到±0.5g, 偏轉(zhuǎn)角速度達到±0.5π rad·s-1時, 啟動語音模塊詢問是否摔倒, 若回答:“是”, 則立即驅(qū)停電機, 并詢問是否上傳坐標信息,否則重復計算角速度變化等檢測動作.
圖3 智能導盲手杖系統(tǒng)主程序流程圖
圖4 智能導盲手杖現(xiàn)場測試場景
為初步試驗智能導盲手杖在小范圍內(nèi)的超聲避障、紅外循跡、摔倒檢測語音交互、導航與定位效果, 在完成整個系統(tǒng)的設(shè)計后進行了相關(guān)測試.圖4為智能導盲手杖現(xiàn)場測試場景.選擇一條直線盲道作為測試路線,路途設(shè)置靜止障礙物, 定義試驗者初始位置到障礙物的距離為起始距離, 實際停止位置與障礙物之間的距離為終止距離.通過采集軌跡信號, 指引試驗者沿盲道行走,設(shè)定不同行走速度,在起始距離150~600 cm之間每隔25 cm進行避障和循跡測試.測試過程試驗者完成前摔、橫摔、后摔等不同姿勢的摔倒行為和蹲起、坐起、行走、跳躍等4種其他行為,進行摔倒檢測及語音交互功能測試.導航與定位功能測試在校園內(nèi)指定位置進行, 參照GPS NMEA-0183標準, 設(shè)置定位誤差范圍為1.54~330 m.
表1 智能導盲手杖試驗測試結(jié)果
表1為智能導盲手杖各項功能的測試結(jié)果.由表1可知, 避障和循跡測試共進行360次試驗, 避障成功率約為97.0%, 循跡成功率約為97.4%,當障礙物距離較遠時, 試驗者均成功避障,障礙物相對較近時,行走速度偏快會影響避障效果;摔倒檢測和語音交互功能測試共進行160次試驗,摔倒檢測成功率約為86.9%, 語音交互成功率約為94.0%;導航與定位系統(tǒng)測試共進行89次試驗,導航與定位檢測準確率為98.9%.
本文設(shè)計了一種基于STM32-F103ZET6微控制器的智能導盲手杖,改進了普通手杖的底部結(jié)構(gòu),提高了手杖與盲道的吻合度, 同時集成了超聲避障、紅外尋跡、導航與定位、摔倒檢測和語音交互等功能,并取得了較好的初步測試效果,可為盲障人士出行提供更多便捷.