李 婷,王晴晴,吳 戀,畢亞楠,周小琴,代菲菲,羅 菊
(貴州師范學院數學與大數據學院 貴州 貴陽 550000)
當前,我國大多數盲人獨自出行大都使用傳統的導盲杖進行“導航”,但這種出行方式往往需要借助盲道。據調查發現,盲道作為盲人出行的主要通道,經常隨意被占用。各種電動車、私家車、雜物隨意堆放,這對獨自出行的盲人而言往往存在較大的安全隱患,使盲人的出行受到一定限制和制約。近年來,飼養導盲犬來進行導盲的人群比例有所上升,但購買經過專業訓練的導盲犬[1]對大多數家庭來說價格過于高昂而往往承受不起,同時飼養導盲犬需要長期投入高額費用和花費更多精力去照顧,這對獨居盲人和較為忙碌的盲人家屬而言并不方便。而市場上的導盲拐杖功能比較單一,無法滿足盲人的出行需要。針對上述不足,本文設計出一種基于北斗衛星系統的智能電子導盲儀,有助于盲人更方便地出行,為盲人的安全出行提供保障,也讓盲人家屬更加省心省力,切實地輔助盲人群體出行。
本系統主要是由STM32單片機控制器、北斗定位導航模塊、4G模塊、超聲波測距模塊、LU-ASR01語音識別控制模塊、超聲波模塊、震動模塊,姿態傳感器模塊以及手機APP端構成。此系統工作機制為:STM32作為系統的控制中心,超聲波測距模塊檢測道路前方障礙物存在情況,震動模塊通過震動感應的方式提醒用戶。同時,LU-ASR01語音識別控制模塊發出提示音提醒用戶及周圍的人;北斗定位導航模塊實時采集當前位置數據,并作好路線規劃及指引;當姿態模塊檢測到導盲儀掉落時,在設置時間內語音交互模塊將發出提示音,便于用戶判別方位以便拾起導盲儀。若在設置時間內姿態模塊檢測到導盲儀被拾起,提示音將自動關閉,繼續導盲工作。若設置時間內姿態傳感器未檢測到導盲儀被拾起,4G模塊將撥打用戶家屬電話以及獲取當前位置信息,并將當前位置信息發送至家屬手機APP端。系統總框圖如圖1所示。

圖1 系統總體框架
因用戶身高差異對導盲儀的長度要求有所不同,為導盲儀設計了伸縮功能。總開關可以在導盲儀非工作狀態下關閉,可防誤檢測及節約電源。外形設計如圖2所示。

圖2 外形設計
STM32系列是高性能、低成本、低功耗的嵌入式應用設計核心控制器。其應用場景較為廣泛,STM32屬于微控制器,且自帶各種常用通信接口。比如USART、I2C、SPI等,所帶接口能夠外接多種傳感器,從而控制不同的設備。現實生活中,人們接觸到的很多電器產品都有STM32的身影,適用于各種智能產品的開發。此項目利用STM32單片機,實現與北斗定位器的實時通信,根據其提供的實時地點實現準確的導航功能,然后按照預定軌跡行進。當遇到障礙物可提醒盲人選擇繞行,北斗模塊重新進行定位,依據原有導航路線數據,引導盲人移動,重新回到原有路徑。在道路邊線前進過程中,根據檢測信息使盲人始終保持在道路邊線行駛。整個系統利用各傳感模塊和對應算法實現導盲功能,導盲杖將通過語音系統,定位、避障等模塊幫助盲人正確規劃路徑。系統在運行過程中實時采集當前環境數據,語音提示盲人,為他們保駕護航。
北斗定位導航模塊是利用了我國自行研制的中國北斗衛星導航系統,該系統相較于其他定位系統安全性更高、定位更準,且具有獨有的雙向信息通信功能,可以精準實現盲人行進中的定位以及導航等功能[2]。該定位系統主要由三部分組成,包括用戶段、地面段以及空間段[3]。北斗衛星導航系統應用范圍十分廣泛,可應用于大眾定位、智慧城市、交通運輸等場景,以實現精確的定位、實時導航、精密測速等功能[4]。北斗衛星導航系統工作流程包括地面控制(數據監測及處理)、空間星座(發射位置信息)、用戶終端(接收數據)。
本項目主要應用UM220-IV定位模塊實現定位導航等功能。該模塊是GNSS導航定位模塊產品,采用了完全自主知識產權的多系統、低功耗、高性能SoC芯片設計。支持GPSL1、BDSB1I、GALE1多系統,或單系統原始觀測值輸出,具有定位性能好、功耗低、抗干擾強等優點[5]。人們在日常生活中通過接收端接收來自空間導航衛星發送的信號,經過一定的數據處理就能獲得實時定位信息。在接收數據過程中通過將定位模塊與4G傳輸模塊相結合,實現數據的接收和傳輸。通過北斗定位導航可以精準定位當前用戶所在位置,提供精確的導航信息,使盲人出行更加安全便捷。
檢測障礙物部分采用HC-SR04超聲波測距模塊,模塊測距精度可達3 mm,并提供2~400 cm的非接觸式距離感測功能。在機器人避障、物體測距、停車場檢測等環境下都有廣泛應用,具有性能穩定、測度距離精確、盲區小、易使用的特點。利用控制口提供10 us以上的高電平,自動發送8個40 kHz的方波,且自動檢測是否有信號返回;當有信號返回時,通過IO口ECHO輸出高電平,其持續時間便是超聲波從發射到返回的時間,由此可算出距離。如此不斷的周期測距,即可以實現移動測量[6]。在測量值小于設置的測量范圍100~150 cm時,提供高電平觸發片狀高靈敏,輸出為瞬態脈沖的震動模塊Z04A。其安裝簡便,能在強烈振動的工作條件下正常運行,防水性能好,能適應濕度較大的工作環境。因此本設計采用Z04A作為振動報警器,提醒盲人行動過程中遇到的各種障礙物,并及時更改行進方向。超聲波測距模塊(HC-SR04模塊)原理圖如圖3。

圖3 超聲波測距模塊原理圖
對于許多盲人來說,耳朵就是他們的眼睛。本設計使用LU-ASR01語音模塊,對其進行軟件編程設計,當導盲杖檢測到障礙物時,語音模塊會提示:“小心!小心!在您的左邊(右邊、左前方、右前方)有障礙物,請減速慢行”。當檢測到樓梯時會提示:“前方有樓梯,請靠右小心下(上)行”,可保證盲人出行時行進安全。通過精準的語音提示,可以幫助盲人充分了解當前路況,讓盲人在出行時更加安全[7]。此外,本設計設置了語音控制功能,通過語音操作實現特定功能,可以隨時隨地語音控制導航目的地、打電話、求助等。當導盲杖掉落且在設定時間之內,語音模塊會發出提示音:“導盲杖在您的左邊(右邊、左前方、右前方),請盡快拾取”,幫助盲人精確地找到導盲杖。如果超過設定時間,導盲杖將會判定盲人摔倒或發生意外,將會自動撥打家人電話,讓家人立刻通過手機APP定位確定盲人位置。語音控制功能讓盲人使用導盲杖時更加方便,在發生意外時能更快地撥打急救電話或者家人電話,也在很大程度上增加了安全保障。此模塊操作簡單,只需要下載相應的編譯軟件,語音識別庫中IO輸出、各類串口就能實現上述功能[8]。LU-ASR01有8路IO,DHT傳感器可實現語音播報、識別精準。圖4為語音模塊實物圖:

圖4 LU-ASR01模塊實物圖
通信模塊中的EC20-CE是移遠通信推出的LTE Cat4無線通信模塊,采用LTE 3GPP Rel.11技術支持北斗、GPS等多種衛星定位類型,并且有多個I/O和GPIO接口。EC20-CE能夠提供150Mbps的下行鏈路和50 Mbps的上行鏈路數據速率,可實現數據大量傳輸[9]。并且EC20-CE模塊ping值相對較低,發送和應答時間較短,適合應用于遠程報警。EC20-CE模塊在導盲杖中起到重要作用,它可以實現GPS實時定位、導航、報警和通話功能。在盲人外出發生意外時,能迅速做出反應,讓家人第一時間了解情況,這大大增加了盲人出行的安全性,在發生意外時讓受傷的盲人及時就醫。此模塊不僅支持包括安卓、Linux、Windows等多種系統驅動,還可以通過單片機、車載以及路由器等方式實現驅動[10]。將EC20-CE模塊接入單片機,插入電話卡之后編寫相應的程序,就可以通過USB不停地發AT 指令,然后串口打印輸出USB接收到的數據,從而就能實現通信。
本系統采用STM32作為主控芯片,不需要存儲管理,但可以滿足這種導盲儀的需求。STM32支持多種通信方式,可以將導盲儀的外設相互連接,便于后期的安裝和維護。該系統使用的程序語言是C語言,是當前比較流行的一種編程語言,具有比較簡單的操作框架,易于編寫,檢錯也較為方便快捷,能與各種控制芯片兼容。在該開發軟件中,通過使用模塊化、子程序嵌套技術、庫函數調用等方法,將循環探距與其他模塊之間的程序互相嵌套,進一步完善了系統功能,達到了預期目標。整個系統的設計流程見圖5。

圖5 系統流程圖
本研究設計的導盲杖的優點在于北斗導航模塊的導航引導功能結合超聲波檢測,當盲人與障礙物距離超過安全距離時,系統立即啟動震動模塊提醒盲人當前的情況。采用具有語音識別功能的模塊,實現一定程度的人機交互,包括行走、停止、左轉、右轉等。同時通過語音播報前方障礙物情況,盲人根據語音提示在安全范圍內繞過障礙,如出現其他無法避免的情況,系統通過4G模塊向監護人發送短信,監護人通過北斗導航模塊查看盲人所在位置,了解盲人所處環境并及時采取保護措施。
本設計是一款輕便、操作簡單且以北斗導航系統為核心的自動定位導航。該設計是通過多傳感器相互協作,能夠自動監測盲人實時狀態的多功能導盲儀[11],具有成本低、障礙物檢測精度高、跌摔檢測迅速可靠等優點。當導盲儀遇到障礙物時通過超聲波測距進行語音提醒,提示盲人自身位置與障礙物間的距離,并通過北斗導航對盲人進行精確定位,從而獲得盲人的精確位置,防止走失[12]。該設計分別在分析導航、避障、目標識別模塊的基礎上,實現了導盲儀在無人引導環境下的導盲功能。此外,該裝置實用性較強,易于開發、管理和擴展升級,其強大的智能導航和信息服務功能,具有較大的應用和推廣價值,能夠為盲人及其親屬提供方便。