陳曉,陳志杰,杜燦誼,吳勁,龔永康
(廣東技術(shù)師范大學(xué)汽車與交通工程學(xué)院,廣東 廣州 510665)
目前,我國存在視力障礙的人數(shù)位列世界前茅,政府關(guān)愛視力障礙人群,設(shè)置了全世界長度最長、分布最廣的盲道,但日常生活中我們卻很少看到他們走在盲道上。原因在于行人道上,到處有橫跨盲道的電線桿、斜拉線、廣告牌、共享單車等,這些無疑成為了盲人的“無影殺手”[1-2],大部分盲人依靠盲杖根本不敢走出家門,盲人出行安全一直是社會難以解決的問題。
針對以上問題,筆者設(shè)計(jì)了一種無人智能小車導(dǎo)盲系統(tǒng)。本系統(tǒng)以STM32單片機(jī)為主控核心,運(yùn)用智能小車、定位模塊、光電對管模塊、藍(lán)牙通信模塊等相關(guān)模塊,結(jié)合App Inventor軟件、高德地圖開放平臺等,借助盲人手中的智能導(dǎo)盲APP,通過雙聲道耳機(jī)的語音播報(bào)來引導(dǎo)盲人走向目的地。該系統(tǒng)為盲人提供一種出行輔助設(shè)備,從而提高出行安全性,具有一定的現(xiàn)實(shí)意義。
本系統(tǒng)主要包括五大板塊,分別為定位板塊、避障板塊、方向角板塊、藍(lán)牙通訊板塊、人機(jī)交互板塊。定位模塊可定位小車的位置,方向角板塊可計(jì)算出小車當(dāng)前的朝向,這些數(shù)據(jù)通過藍(lán)牙通訊傳輸至導(dǎo)盲App,App端通過高德地圖API組件實(shí)現(xiàn)目的地路徑的自主規(guī)劃。系統(tǒng)對實(shí)時性要求比較高,因此,本設(shè)計(jì)選擇處理速度快的STM 32F103作為主控芯片。其他外設(shè)主要為光電對管模塊、L298N電機(jī)驅(qū)動等。人機(jī)交互中的語音板塊使用百度大腦AI開放平臺,使用者喚醒手機(jī)App,通過語音輸入目的地地址,App便可精準(zhǔn)識別并播報(bào)。高德地圖API根據(jù)語音輸入的目的地內(nèi)容,實(shí)現(xiàn)路徑的自主規(guī)劃。使用者根據(jù)語音提示可跟蹤小車行走,最終到達(dá)目的地。整體設(shè)計(jì)原理框圖如圖1。
圖1 系統(tǒng)整體設(shè)計(jì)原理框圖
導(dǎo)盲系統(tǒng)硬件部分主要包括供電部分、無線通訊部分、驅(qū)動部分和外設(shè)部分。供電部分為其他三大部分提供電源,無線通訊部分負(fù)責(zé)小車與手機(jī)App之間,即下位機(jī)與上位機(jī)之間的連接。驅(qū)動部分將利用11.1V鋰離子電池提供的電源驅(qū)動兩個直流減速電機(jī)工作,達(dá)到行駛目的。外設(shè)主要包括用于定位的GPS-BDS雙模模塊、電子指南針模塊以及用于避障的光電對管模塊。硬件設(shè)計(jì)框圖如圖2。
圖2 硬件設(shè)計(jì)框圖
在本系統(tǒng)中,供電電源采用DC-11.1V鋰離子聚合物電池,該電源通過LM 2596S DC-DC可調(diào)降壓芯片將11.1V電壓轉(zhuǎn)換成適合STM 32F103主板使用的5V電壓。STM 32F103主板上設(shè)有5V電壓接口,可給眾多外設(shè)供電,包括供給GY-26電子指南針、光電開關(guān)E18-D80NK、GPS-BDS雙模定位模塊、HC-05藍(lán)牙模塊。
導(dǎo)盲系統(tǒng)無線通訊部分使用藍(lán)牙模塊HC-05進(jìn)行上位機(jī)與下位機(jī)之間的數(shù)據(jù)傳遞[3]。此設(shè)計(jì)中用到HC-05四個引腳,分別為電源正極引腳VCC、電源線負(fù)極引腳GND、信號發(fā)送引腳TX,信號接收引腳RX。
直接用STM 32F103上的電源給直流減速電機(jī)供電不足以驅(qū)動電機(jī)工作。因此,在本設(shè)計(jì)中使用L298N模塊驅(qū)動兩個直流減速電機(jī)[4]。L298N驅(qū)動能力強(qiáng)、發(fā)熱量低、抗干擾能力強(qiáng),使用大容量濾波電容和續(xù)流保護(hù)二極管,可以提高設(shè)備可靠性。
(1)主控芯片。導(dǎo)盲設(shè)備的外設(shè)都掛載在主控芯片上,本設(shè)計(jì)選用STM 32F103RCT6作為主控芯片,該芯片體積小、功耗低,廣泛應(yīng)用于智能設(shè)備、自動化控制、安全檢視等,非常適合作為本設(shè)計(jì)的主控芯片。(2)光電開關(guān)。光電開關(guān)在本設(shè)計(jì)中的作用為實(shí)現(xiàn)避障[5]。智能小車在行駛過程中,不可避免會遇到各種障礙物,光電開關(guān)可以即時檢測到障礙物,系統(tǒng)依據(jù)寫好的避障程序,讓小車即時完成避障反應(yīng),防止碰撞。本設(shè)計(jì)選用型號為E18-D80NK的光電傳感器,這是一種集發(fā)射與接收于一體的光電傳感器。該傳感器檢測距離可調(diào)節(jié),具有探測距離遠(yuǎn)、受可見光干擾小等特點(diǎn)。(3)指南針模塊。GY-26是一款低成本平面數(shù)字羅盤模塊。此羅盤以RS232協(xié)議及IIC協(xié)議與其他設(shè)備通信。該產(chǎn)品精度高,穩(wěn)定性高,并具有重新標(biāo)定的功能,能夠在任意位置得到準(zhǔn)確的方位角。其輸出的波特率是9600bps,數(shù)據(jù)以詢問方式輸出,具有硬鐵校準(zhǔn)功能和磁偏角補(bǔ)償功能,適應(yīng)不同的工作環(huán)境。(4)雙模定位模塊。GPS-BDS雙模定位模塊采用的芯片為ATGM 336H-5N。ATGM 336H-5N系列模塊是高性能BDS/GNSS全星座定位導(dǎo)航模塊系列的總稱。ATGM 336H-5N系列芯片具有高靈敏度、低功耗、低成本等優(yōu)勢,適用于車載導(dǎo)航、手持定位、可穿戴設(shè)備。因此,本設(shè)計(jì)選用該型號芯片,主要功能是給智能小車定位,獲取經(jīng)緯度信息后經(jīng)過主控芯片的數(shù)據(jù)解析將信息反饋給手機(jī)App端,并在手機(jī)App的地圖中進(jìn)行定位[6-7]。
軟件部分的設(shè)計(jì)分為下位機(jī)設(shè)計(jì)和上位機(jī)設(shè)計(jì)兩部分。下位機(jī)部分為智能小車的軟件設(shè)計(jì),上位機(jī)部分為智能導(dǎo)盲App的設(shè)計(jì)。下位機(jī)中,實(shí)現(xiàn)障礙物的躲避、GPS的定位、電子羅盤方向角的識別、電機(jī)的運(yùn)動等功能。其程序使用MDK5軟件編寫,編程語言為C語言;上位機(jī)中,實(shí)現(xiàn)語音的識別、目的地路徑的自主規(guī)劃、語音播報(bào)、小車位置顯示等功能,使用軟件為App Inventor,采用圖形化編程的方式。
下位機(jī)程序采用模塊化程序設(shè)計(jì)的方式,將一個大程序按照功能劃分為若干小程序模塊,每個模塊完成一個確定的功能,并在這些功能模塊之間建立必要的聯(lián)系,通過模塊的互相協(xié)作最終完成整個功能的程序設(shè)計(jì)。在下位機(jī)設(shè)計(jì)當(dāng)中,主要應(yīng)用到兩個編程軟件,分別為STM 32CubeMX和MDK5。下位機(jī)程序設(shè)計(jì)思路如圖3。
圖3 下位機(jī)程序設(shè)計(jì)思路
上位機(jī)程序設(shè)計(jì)內(nèi)容為制作一款智能導(dǎo)盲App,其功能有藍(lán)牙通訊、定位、坐標(biāo)轉(zhuǎn)換、路徑規(guī)劃、定位方向角、語音播報(bào)等。手機(jī)App端能夠通過藍(lán)牙通訊獲得小車所在位置的經(jīng)度和緯度、小車當(dāng)前的方向角、小車方向角與手機(jī)方向角的偏差并將這些信息顯示在手機(jī)用戶界面上。App具備語音喚醒、語音提示、語音播報(bào)等功能,方便對該系統(tǒng)的操作。同時設(shè)置手動控制智能小車功能,例如出發(fā)、停止指令[8]。App整體邏輯關(guān)系見圖4。
圖4 App邏輯關(guān)系示意圖
開啟電源,小車進(jìn)入初始化狀態(tài),等待GPS獲得位置信息并識別小車的方向角,打開導(dǎo)盲系統(tǒng)軟件App,藍(lán)牙自動實(shí)現(xiàn)小車與App匹配通訊。手機(jī)App上顯示和播報(bào)小車方向角、小車經(jīng)度、小車緯度、方向角偏差等信息。按住語音按鈕,語音輸入目的地位置,小車將進(jìn)行路徑規(guī)劃并且在App界面中顯示,語音輸入“出發(fā)”,小車按照路徑規(guī)劃的方向行駛;當(dāng)語音輸入“停止”,小車停下。智能導(dǎo)盲系統(tǒng)App的路徑規(guī)劃示意圖如圖5。
圖5 導(dǎo)盲系統(tǒng)App路徑規(guī)劃示意圖
實(shí)際測試顯示,筆者設(shè)計(jì)的這套無人智能小車導(dǎo)盲系統(tǒng),能實(shí)現(xiàn)語音識別、語音播報(bào)、定位、路徑規(guī)劃、聽聲辨位等功能,有助于解決盲人出行難的問題。