孟祥薇,嚴(yán)錫君,歐陽(yáng)星辰,余 敏,卜 旸
(河海大學(xué) 計(jì)算機(jī)與信息學(xué)院,江蘇 南京 211100)
我國(guó)盲人及視力障礙者數(shù)量大,約占全世界盲人總數(shù)的20%。盲人由于生理上的缺陷,在公共場(chǎng)所行走時(shí)面臨著諸多不便以及潛在的危險(xiǎn)。目前國(guó)內(nèi)外有諸多類(lèi)型的盲人導(dǎo)航技術(shù),如導(dǎo)盲機(jī)器人、紅外線導(dǎo)盲、盲人電子眼鏡、GPRS導(dǎo)盲系統(tǒng)等[1],但這些盲人導(dǎo)航設(shè)施大多成本過(guò)高或攜帶不便,且受環(huán)境影響較大,并不能被盲人廣泛采用。超聲波具方向性強(qiáng)、能量易于集中、傳播距離較遠(yuǎn),以及對(duì)障礙物定位具有一定的精確性等特性,能較好地應(yīng)用于障礙物定位,且設(shè)備成本較低,便于攜帶、體積較小,因而易于普及[2]。目前,已有基于超聲波的導(dǎo)盲杖研究,但是局限于檢測(cè)障礙物信息,無(wú)法探測(cè)路面情況,因而無(wú)法為盲人提供全面的路況信息。本文采用C8051F360單片機(jī)[3],結(jié)合超聲波測(cè)距技術(shù)設(shè)計(jì)導(dǎo)盲杖,并通過(guò)設(shè)置壓力傳感器達(dá)到準(zhǔn)確探測(cè)路面情況的目的,通過(guò)語(yǔ)音模塊對(duì)探測(cè)到的距離信息進(jìn)行反饋,提醒盲人前方道路情況,實(shí)現(xiàn)智能導(dǎo)盲功能。應(yīng)盡量輕巧實(shí)用,避免不需要的負(fù)重[4]。系統(tǒng)主要由主控制模塊、電源管理及開(kāi)關(guān)模塊、超聲波測(cè)距模塊、語(yǔ)音模塊、壓力按鈕模塊等組成,其系統(tǒng)功能結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)功能結(jié)構(gòu)圖Fig.1 Structure of system
日常生活中盲人隨身攜帶導(dǎo)盲杖,為此,導(dǎo)盲杖的設(shè)計(jì)
使用時(shí),正前方、左前方以及右前方3個(gè)方向的超聲波模塊定向發(fā)出超聲波,當(dāng)被測(cè)方向有障礙物時(shí),在一定距離內(nèi)喇叭會(huì)發(fā)出方向性語(yǔ)音提示;同時(shí),當(dāng)拐杖底端接觸地面時(shí),底部的壓力按鈕會(huì)被按下,拐杖下方的超聲波傳感器發(fā)出超聲波,對(duì)前方路面情況進(jìn)行探測(cè),當(dāng)前方路面存在上坡或者下坡情況時(shí),喇叭會(huì)發(fā)出狀況提示。
電源管理及開(kāi)關(guān)模塊主要負(fù)責(zé)為整個(gè)系統(tǒng)中各個(gè)模塊提供獨(dú)立穩(wěn)定的電源,由5 V可充電鋰電池供電,可穩(wěn)定供應(yīng)3.3 V和5 V兩種電壓,并由電源開(kāi)關(guān)控制導(dǎo)盲杖使用;4個(gè)超聲波測(cè)距模塊通過(guò)I/O口與主控制模塊交換數(shù)據(jù),負(fù)責(zé)采集環(huán)境中各個(gè)方向的障礙物信息,為路況分析提供實(shí)時(shí)數(shù)據(jù);語(yǔ)音模塊由UART口與主控制模塊連接,主芯片根據(jù)實(shí)時(shí)路況信息控制其產(chǎn)生相關(guān)語(yǔ)音提示,為盲人避障提供指示;壓力按鈕模塊可檢測(cè)導(dǎo)盲杖是否著地,并通過(guò)外部中斷傳送信息到主控制模塊,使得超聲波模塊測(cè)量數(shù)據(jù)更加準(zhǔn)確,從而保證了對(duì)路況分析的準(zhǔn)確性。
超聲波測(cè)距模塊主要負(fù)責(zé)采集路況信息,即發(fā)射端(即杖體)到障礙物的距離信息,并傳給單片機(jī)進(jìn)行路況分析處理。模塊采用HY-SRF05超聲波芯片,測(cè)距精度可達(dá)到3mm,模塊包括發(fā)射器、接收器與控制電路[5]。超聲波測(cè)距模塊的電路設(shè)計(jì)如圖2所示。
圖2 HY-SRF05模塊電路圖Fig.2 Circuit diagram of HY-SRF05
傳感器采用IO口TRIG觸發(fā)測(cè)距,由單片機(jī)給出至少10μs的高電平信號(hào),模塊自動(dòng)發(fā)送8個(gè)40 kHz的方波,當(dāng)有信號(hào)返回時(shí),通過(guò)I/O口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,即Δt。
為了實(shí)現(xiàn)探測(cè)全方位路況,超聲波模塊的部署極為重要??紤]到盲人遇到的路況主要分為:前、左、右方向的障礙物,上坡或樓梯,以及下坡或溝坑,因此采用如圖3所示的具體部署方案。在杖體靠近手柄處以45°角間隔水平放置3個(gè)超聲波傳感器,分別探測(cè)正前方、左前方以及右前方3個(gè)方向的障礙物;在靠近底座上端與杖體成45°角處固定放置一個(gè)超聲波傳感器,以檢測(cè)路面狀況。
語(yǔ)音模塊由SYN6288芯片構(gòu)成,其外圍電路如圖4所示。其中端口CON4用于連接喇叭。語(yǔ)音模塊的接口TxD與RxD分別連接至單片機(jī)的全雙工的異步串行通訊(UART)接口 P0.1口與 P0.2口,實(shí)現(xiàn)與單片機(jī)的串口通信[6]。
單片機(jī)發(fā)送給SYN6288芯片的命令都需要以“幀”的形式進(jìn)行封裝后傳輸,具體幀格式如表1所示。
圖3 超聲波傳感器部署主視圖Fig.3 Front view of the deployment of ultrasonic sensors
圖4 SYN6288芯片及其外圍電路圖Fig.4 Chip SYN6288 and peripheral circuit diagram
表1 命令幀格式Tab.1 Form at of command frame
單片機(jī)根據(jù)當(dāng)前的路況分析結(jié)果控制語(yǔ)音模塊播報(bào)相對(duì)應(yīng)的語(yǔ)音信息,包括前方、左側(cè)、右側(cè)、上坡和下坡5種信息,以提醒盲人做出相應(yīng)處理方法。
為了實(shí)現(xiàn)多方向的探測(cè)與路況分析處理,系統(tǒng)工作流程的合理安排就顯得尤為重要。合理的工作流程應(yīng)當(dāng)確保系統(tǒng)及時(shí)播報(bào)當(dāng)前路況,無(wú)漏報(bào)或誤報(bào),同時(shí)也不必過(guò)于頻繁的探測(cè)與報(bào)警,頻繁探測(cè)不僅增加功耗,降低電池使用時(shí)間,同時(shí)也會(huì)讓使用者感到無(wú)所適從[7]。
主流程實(shí)現(xiàn)障礙物探測(cè)、路面探測(cè)以及語(yǔ)音播報(bào)的統(tǒng)籌安排。保證各模塊正常運(yùn)行,避免相互沖突。
系統(tǒng)主流程圖如圖5所示,其中sflag=1表示語(yǔ)音模塊空閑,sflag=0表示語(yǔ)音模塊被占用,sound指示當(dāng)前占有語(yǔ)音模塊使用權(quán)的傳感器。sflag會(huì)在一次播報(bào)后被置為0,即語(yǔ)音模塊設(shè)為忙狀態(tài),固定時(shí)間后再被置為1,置1功能會(huì)在下文介紹的障礙物探測(cè)模塊中實(shí)現(xiàn)。
障礙物探測(cè)包括正前、左前、右前3個(gè)方向??紤]到探測(cè)裝置是以超聲波為探測(cè)媒介,同時(shí)工作可能互相干擾,因此系統(tǒng)采用輪流探測(cè)方式[8]。同時(shí),為了實(shí)現(xiàn)對(duì)語(yǔ)音模塊忙閑狀態(tài)的控制,本模塊中會(huì)每隔固定時(shí)間為語(yǔ)音模塊標(biāo)志位sflag置1,即設(shè)為空閑,間隔時(shí)間經(jīng)計(jì)算設(shè)為12 s,通過(guò)此設(shè)置,可保證語(yǔ)音模塊在每次啟用后12 s才被再次啟用。
圖5 系統(tǒng)主流程圖Fig.5 Main flow chart
C8051F360單片機(jī)利用定時(shí)器2實(shí)現(xiàn)傳感器輪流探測(cè),定時(shí)周期為300ms。圖6為定時(shí)器2中斷程序流程圖,其中dir為傳感器標(biāo)識(shí):dir=1為左前方傳感器(超聲波模塊1),dir=2為前方傳感器(超聲波模塊2),dir=3為右前方傳感器(超聲波模塊3)。
路面探測(cè)傳感器,即傳感器模塊4,固定在導(dǎo)盲杖的中下位置。處于水平路面時(shí),傳感器與水平面的夾角以及相對(duì)于地面的垂直高度是一定的,此時(shí)傳感器模塊到前方路面的距離一定,為參考距離D。行進(jìn)過(guò)程中,由壓力按鈕產(chǎn)生中斷后傳感器模塊4開(kāi)始測(cè)量實(shí)際距離d,當(dāng)d與D相等時(shí),即認(rèn)為前方為水平路面;若d小于D,則認(rèn)為前方為上坡/上臺(tái)階;若d大于D,則認(rèn)為前方為下坡/下臺(tái)階/溝??紤]到實(shí)際路面總是有一些高低起伏的,因此在d與D的比較中設(shè)定了一個(gè)誤差參數(shù)m,當(dāng)|d-D|<m時(shí),均認(rèn)為是水平路面。誤差參數(shù)m可通過(guò)實(shí)物調(diào)試給定,系統(tǒng)中設(shè)定為5 cm。
圖6 障礙物輪流探測(cè)方式軟件流程圖Fig.6 Flow chart of detecting obstacles
路面探測(cè)時(shí)以被測(cè)區(qū)域與傳感器的實(shí)際距離為判斷依據(jù),因此需保證距離測(cè)量時(shí)導(dǎo)盲杖接觸地面且與地面垂直,同時(shí)保證傳感器模塊放置方向與水平方向夾角一定,此狀態(tài)為標(biāo)準(zhǔn)狀態(tài)。導(dǎo)盲杖底部設(shè)計(jì)了一個(gè)壓力按鈕模塊(如圖3)。在行進(jìn)中若底部按鈕被按下,即可認(rèn)為傳感器自身處于標(biāo)準(zhǔn)狀態(tài),方可進(jìn)行路面探測(cè)。
因此,利用壓力按鈕模塊引入外部中斷,用以觸發(fā)路面探測(cè)工作。圖7為具體工作流程,其中it用于記錄前進(jìn)步數(shù),每前進(jìn)三步進(jìn)行一次探測(cè),以避免頻繁探測(cè)。
圖7 路面探測(cè)方式軟件流程圖Fig.7 Flow chart of detecting road conditions
智能導(dǎo)盲杖包含了障礙物探測(cè)和路面探測(cè)兩部分,障礙物探測(cè)包括左前方、正前方及右前方3個(gè)方向,覆蓋范圍為90°,探測(cè)半徑為2m,當(dāng)障礙物進(jìn)入探測(cè)范圍內(nèi)時(shí),將通過(guò)語(yǔ)音播報(bào)障礙物的大致方位。路面探測(cè)的區(qū)域?yàn)槭褂谜咔胺?0 cm處的路面,被探測(cè)路面的水平高度與裝置所處路面的水平高度相比,若低5 cm以上,則提示“前方下坡”,若高5 cm以上,則提示“前方上坡”。
經(jīng)試驗(yàn)測(cè)試,可對(duì)左前方、正前方和右前方的障礙物以及上下坡、臺(tái)階和明顯的坑洼等路面狀況做出準(zhǔn)確識(shí)別并及時(shí)提示,幫助盲人了解周?chē)鸂顩r,為其出行提前便利,提供有效的服務(wù)。
[1]劉湘云,王定山,朱志偉.基于超聲波技術(shù)的導(dǎo)盲杖設(shè)計(jì)[J].科技信息,2011(14):22-23.
LIU Xiang-yun,WANG Ding-shan,ZHU Zhi-wei.Design of blind guiding crutch based on ultrasonic[J].Science & Technology Information,2011(14):22-23.
[2]散志華,顧秀娟,孫心平,等.超聲波的物理特性與超聲波檢查的適應(yīng)癥[J].中國(guó)醫(yī)療設(shè)備,2011(5):130-132.
SAN Zhi-hua,GU Xiu-juan,SUN Xin-ping,etal.The physical characteristics of ultrasonic wave and the indication of ultrasound examination[J].China Medical Devices,2011(5):130-132.
[3]Silicon Labs.C8051F360/1/2/3/4/5/6/7/8 Mixed signal ISP flash MCU family[S].2007:23-50.
[4]張榮.基于單片機(jī)的超聲波測(cè)距器設(shè)計(jì)[J].機(jī)械與電子,2010(31):87-88.
ZHANG Rong.Design of ultrasonic detecting distance based on single chip[J].Machinery & Electronics,2010(31):87-88.
[5]上海颯昂機(jī)器人科技有限公司.URF05轉(zhuǎn)接模塊用戶手冊(cè)[S].上海,2010:1-2.
[6]北京宇音天下科技有限公司.SYN6288中文語(yǔ)音合成芯片數(shù)據(jù)手冊(cè)[S].北京,2010:1-30.
[7]韓軍,常瑞麗,陳志靈.智能移動(dòng)機(jī)器人超聲波測(cè)距定位系統(tǒng)的研究[J].煤礦機(jī)械,2009,30(8):66-68.
HAN Jun,CHANG Rui-li,CHEN Zhi-ling.Research on orientation system ofintelligentmoving robot[J].Colliery Machinery,2009,30(8):66-68.
[8]張?zhí)m,楊濟(jì)民,韓曉麗,等.基于C8051F060的超聲波導(dǎo)盲系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009(24):160-162.
ZHANG Lan,YANG Ji-min,HAN Xiao-li,etal.Design ofultrasonic guidance system for the blind based on C8051F060[J].Modern Electronic Technique,2009(24):160-162.