文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)05-0145-04
盲人作為社會(huì)上一類特殊群體,如何讓他們能夠更安全地獨(dú)立行走[1],越來(lái)越受到世界各國(guó)學(xué)者的關(guān)注和重視。目前已經(jīng)研制了多種盲人輔助路徑誘導(dǎo)工具,特別是近年來(lái)越來(lái)越人性化的導(dǎo)盲系統(tǒng)的研發(fā),使盲人可以更好地享受數(shù)字生活。盲杖作為行動(dòng)輔助工具被廣泛地采用,但由于行動(dòng)上的諸多受限使得使用者面臨很大挑戰(zhàn)。現(xiàn)在導(dǎo)盲市場(chǎng)上電子導(dǎo)盲設(shè)備類較為常見(jiàn),通過(guò)聲音信號(hào)進(jìn)行提示的盲人語(yǔ)音提示系統(tǒng)[2],采用超聲波對(duì)障礙物、路面變化情況等進(jìn)行探測(cè)。佛羅里達(dá)大學(xué)(University of Florida)Ran研制了適合室內(nèi)、室外的視障者行動(dòng)導(dǎo)盲裝置[3],由該設(shè)備測(cè)量系統(tǒng)探測(cè)障礙物的位置后, 通過(guò)語(yǔ)音提示盲人達(dá)到路徑誘導(dǎo)避障目的;日本山梨大學(xué)(University of Yamanashi)研制了一種智能手推車ROTA(Robotic Travel Aid)[4],該款小車高1 m,重60 kg,配備視覺(jué)傳感器和聲音傳感器,能夠識(shí)別路標(biāo)、交通信號(hào)燈等,并能引導(dǎo)盲人穿過(guò)馬路,遇到問(wèn)題會(huì)與服務(wù)中心取得聯(lián)系。但這些器具不但使用不便,而且造價(jià)也相當(dāng)昂貴,不適合普通消費(fèi)者使用。陳美鑾等采用超聲測(cè)距、語(yǔ)音提示的方式設(shè)計(jì)了智能盲人導(dǎo)行儀[5];賀菊方等將超聲波轉(zhuǎn)化為聲波的方式設(shè)計(jì)幫助盲人行走、識(shí)別障礙物的電子裝置[6]?;旧隙紝儆谡Z(yǔ)音導(dǎo)盲范疇,存在難以克服的弱點(diǎn)與不足。
隨著電子計(jì)算機(jī)技術(shù)的快速發(fā)展,各種新式的、更加人性化的導(dǎo)盲系統(tǒng)逐漸涌入導(dǎo)盲市場(chǎng),寧志剛等設(shè)計(jì)的新型盲人導(dǎo)行識(shí)別系統(tǒng)[7]利用GPS(Global Positioning System)定位、超聲測(cè)距、圖像識(shí)別方法進(jìn)行語(yǔ)音提示導(dǎo)盲;何婧等設(shè)計(jì)的聽(tīng)覺(jué)引導(dǎo)助盲系統(tǒng)[8];徐珠寶等基于Windows Mobile平臺(tái)下設(shè)計(jì)的盲人導(dǎo)航軟件系統(tǒng)[9]等。但這類產(chǎn)品也都是基于聲音達(dá)到路徑誘導(dǎo)功能的目的,當(dāng)環(huán)境噪嘈雜中時(shí),語(yǔ)音的功效可能會(huì)大大降低甚至失去作用。AMEMIYA T [10]、YAO H Y [11]、JACOB R[12]等人基于盲人具有敏銳于常人的觸覺(jué)資源研討了震動(dòng)技術(shù),并為其對(duì)觸覺(jué)資源產(chǎn)生的影響進(jìn)行了探索。為此,本文嘗試性地將震動(dòng)技術(shù)結(jié)合GPS、GIS等技術(shù)運(yùn)用到Android系統(tǒng)的智能手機(jī)平臺(tái)上,開(kāi)發(fā)研制了一種盲人路徑誘導(dǎo)新模式,使其具有抗噪聲干擾、反饋及時(shí)和高有效性等優(yōu)點(diǎn),彌補(bǔ)了語(yǔ)音導(dǎo)盲在特定環(huán)境下弱點(diǎn)和不足。在實(shí)現(xiàn)過(guò)程中可以與日益成熟的語(yǔ)音導(dǎo)盲集成使用,為盲人出行提供更安全、更人性化的輔助工具。
1 系統(tǒng)的開(kāi)發(fā)平臺(tái)與開(kāi)發(fā)環(huán)境
1.1 Android平臺(tái)簡(jiǎn)介
目前智能手機(jī)的主流操作系統(tǒng)主要有Symbian、iPhone和Android。Android是Google于2007年底發(fā)布的基于Linux開(kāi)放性內(nèi)核的手機(jī)操作系統(tǒng)平臺(tái),2008年9月T-Mobile正式發(fā)布了第一款A(yù)ndroid智能手機(jī)T-Mobile G1[13]。Android與Symbian、iPhone相比具有如下顯著特點(diǎn)[14]:(1)真正開(kāi)發(fā);(2)應(yīng)用程序相互平等;(3)應(yīng)用程序之間溝通無(wú)界限。
1.2 系統(tǒng)開(kāi)發(fā)環(huán)境
Android SDK支持多種集成開(kāi)發(fā)環(huán)境IDE(Integrated Development Environment),因?yàn)镋clipse與Android SDK集成最好,而且Eclipse是完全開(kāi)源的,本開(kāi)發(fā)采用Eclipse與Android SDK集成環(huán)境。硬件平臺(tái)選擇運(yùn)行Android操作系統(tǒng)和內(nèi)置GPS模塊的Google Legend智能手機(jī),軟件開(kāi)發(fā)語(yǔ)言使用Java。
2 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)設(shè)計(jì)目標(biāo)及思路
本軟件系統(tǒng)的總體設(shè)計(jì)目標(biāo)是給無(wú)法獲得視覺(jué)信息的盲人用戶,在行走時(shí)提供差異性震動(dòng)而進(jìn)行路徑誘導(dǎo),使其高效、及時(shí)、準(zhǔn)確地向正確的方向行走,具體設(shè)計(jì)如圖1所示。
2.2 系統(tǒng)基本框架
在分析通用導(dǎo)航系統(tǒng)的結(jié)構(gòu)框架基礎(chǔ)上,結(jié)合本系統(tǒng)軟件的預(yù)期實(shí)現(xiàn)目標(biāo),設(shè)計(jì)并初步實(shí)現(xiàn)了系統(tǒng)的基本框架,由提取經(jīng)緯度信息的GPS模塊、盲人專用小區(qū)域疊加電子地圖、地圖匹配模塊、尋徑模塊、差異震動(dòng)提示模塊和人機(jī)交互界面等模塊組成。如圖2所示。
2.3 系統(tǒng)工作原理
系統(tǒng)的工作原理:主程序運(yùn)行后載入地圖,根據(jù)用戶輸入的起點(diǎn)、終點(diǎn),經(jīng)查詢路徑后,首先在Google Map地圖上顯示最適路徑信息,在用戶行走的過(guò)程中,再根據(jù)所在的路徑節(jié)點(diǎn)信息及讀取的GPS模塊提供的當(dāng)前經(jīng)緯度信息,實(shí)時(shí)判斷是否偏離路徑或到達(dá)下一路口節(jié)點(diǎn),震動(dòng)模塊提供差異性震動(dòng)進(jìn)行路徑誘導(dǎo),如圖3所示。
2.4 系統(tǒng)核心模塊開(kāi)發(fā)
在整個(gè)系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)過(guò)程中,核心模塊主要包括GPS的經(jīng)緯度信息采集、在谷歌電子地圖上自制疊加地圖數(shù)據(jù)、尋徑和差異震動(dòng)提示模塊。下面將對(duì)其設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行詳細(xì)介紹。
2.4.1 GPS的經(jīng)緯度信息采集
本系統(tǒng)使用的Google Legend手機(jī)內(nèi)置支持步行模式的GPS模塊,采用Serf star III芯片組,連接方式為RS232串口,通過(guò)手機(jī)上的GPS功能,用戶可以精確地確定自己的地理位置。
Android SDK提供了GPS API,利用LocationManager類的對(duì)象提供了位置服務(wù),隨著位置的變化可以使應(yīng)用程序周期性地獲取設(shè)備位置數(shù)據(jù)的更新,具體方法是為L(zhǎng)ocationManager添加一個(gè)LocationListener監(jiān)聽(tīng)器,用來(lái)判斷GPS坐標(biāo)的改變,一旦坐標(biāo)改變則調(diào)用OnLocationChanged()方法動(dòng)態(tài)且實(shí)時(shí)取得當(dāng)前的Location對(duì)象,在這個(gè)對(duì)象中包含了經(jīng)緯度坐標(biāo)值。
2.4.2 在谷歌電子地圖上自制疊加地圖數(shù)據(jù)
Android系統(tǒng)剛剛起步時(shí),Google就看到了其巨大應(yīng)用潛力的位置服務(wù),并將Google地圖的成功經(jīng)驗(yàn)帶入Android系統(tǒng)中。在開(kāi)發(fā)中通過(guò)申請(qǐng)獲取Google Map API Key把Google Map服務(wù)整合到Android平臺(tái)下。在基于Google Map的導(dǎo)航應(yīng)用中,提供了駕車、公交、步行三種模式(不包含盲人導(dǎo)航模式),即便是最精細(xì)的步行地圖模式對(duì)于小區(qū)域(如某小區(qū)或校園)的數(shù)據(jù)也是很不完善的,鑒于本模式開(kāi)發(fā)利用的是小區(qū)域地圖數(shù)據(jù)供系統(tǒng)測(cè)試,考慮到地圖表達(dá)的正確性和準(zhǔn)確性,自制地圖數(shù)據(jù)疊加到Google Map上,以點(diǎn)、線以及實(shí)心圓等簡(jiǎn)單的圖形式顯示。
2.4.3 尋徑模塊
關(guān)于尋徑問(wèn)題,即最短路徑問(wèn)題,目前所公認(rèn)的最好的求解方法是1959年由DIJKSTRA E W提出的標(biāo)號(hào)法,即經(jīng)典的Dijkstra算法,該算法是目前多數(shù)系統(tǒng)解決最短路徑問(wèn)題采用的理論基礎(chǔ)[15]。
在經(jīng)典Dijkstra算法的基礎(chǔ)之上,在存儲(chǔ)結(jié)構(gòu)方面對(duì)算法作了一定的改進(jìn),使用了一些獨(dú)特的數(shù)據(jù)結(jié)構(gòu),如前趨表和最短路徑結(jié)構(gòu)體鏈表,使算法的性能有了較大的提高,能更有效地求出圖中一個(gè)頂點(diǎn)到其他頂點(diǎn)的所有最短路徑。計(jì)算最短路徑完畢后,對(duì)最短路徑經(jīng)過(guò)的所有路段建立單向結(jié)構(gòu)體鏈表以表示預(yù)規(guī)劃路徑,如圖4所示[9]。
2.4.4 差異震動(dòng)提示模塊
鑒于常人的觸覺(jué)靈敏度是視覺(jué)的近20倍,而盲人具有敏銳于常人的觸覺(jué)資源[12]以及震動(dòng)形式提示具有抗噪聲干擾、反饋及時(shí)和高有效性等優(yōu)點(diǎn),在開(kāi)發(fā)過(guò)程中開(kāi)創(chuàng)性地提出利用差異性震動(dòng)作為路徑誘導(dǎo)的主要驅(qū)動(dòng)力。
Android SDK提供了震動(dòng)API,首先創(chuàng)建Vibrator對(duì)象,通過(guò)調(diào)用vibrate方法設(shè)置震動(dòng)時(shí)間的長(zhǎng)短、震動(dòng)事件的周期等來(lái)實(shí)現(xiàn)差異性震動(dòng)。主要核心代碼如下:
Vibrator = (Vibrator)getSystemService(Service.VIBRATOR_
SERVICE); //創(chuàng)建Vibrator對(duì)象
vibrator.vibrate(new long[]{t1,t2,t3,t4},repeat);
//調(diào)用vibrate方法設(shè)置震動(dòng)(以4個(gè)參數(shù)為例)
在Vibrator構(gòu)造器中有4個(gè)參數(shù),其中t1、t3是等待多長(zhǎng)時(shí)間啟動(dòng)震動(dòng), t2、t4是震動(dòng)持續(xù)時(shí)間, 單位為ms(1 000 ms=1s);repeat用來(lái)設(shè)置是否重復(fù)震動(dòng),當(dāng)repeat=0時(shí),震動(dòng)會(huì)一直持續(xù),若repeat=-1時(shí),震動(dòng)只會(huì)出現(xiàn)一輪。
3 系統(tǒng)測(cè)試與討論
為了驗(yàn)證本路徑誘導(dǎo)新模式的實(shí)用性和可靠性,選用小區(qū)域地圖數(shù)據(jù)供系統(tǒng)測(cè)試,以大學(xué)校園為測(cè)試區(qū),并自制了校園的簡(jiǎn)單地圖來(lái)進(jìn)行實(shí)地路徑誘導(dǎo)測(cè)試。
測(cè)試環(huán)境選在室外較為空曠地帶,當(dāng)獲取的GPS定位信息滿足路徑誘導(dǎo)定位需求時(shí),運(yùn)行程序并載入地圖。尋徑模塊根據(jù)輸入的起始位置與目的地規(guī)劃出一條最適路徑,再根據(jù)預(yù)設(shè)的偏離路徑閾值、震動(dòng)持續(xù)時(shí)間和周期,在行走過(guò)程中,當(dāng)不同程度的與規(guī)劃路徑偏離或到達(dá)路口節(jié)點(diǎn)時(shí),能夠以不同形式的震動(dòng)提示報(bào)警,測(cè)試者能明顯地感覺(jué)到震動(dòng)的差異性,從而達(dá)到測(cè)試目的。
根據(jù)設(shè)置等待時(shí)間、震動(dòng)持續(xù)時(shí)間以及是否重復(fù)震動(dòng)的不同來(lái)控制震動(dòng)的差異性。在此設(shè)定輕微偏離路徑為短震動(dòng),嚴(yán)重偏離路徑為長(zhǎng)震動(dòng),而到達(dá)路口節(jié)點(diǎn)為一般震動(dòng),以此三組為例加以討論說(shuō)明。(1)短震動(dòng)4個(gè)參數(shù)設(shè)置為vibrator.vibrate(new long[]{200,200,200,200},0),震動(dòng)持續(xù)時(shí)間、等待時(shí)間均為200 ms;(2)一般震動(dòng)4個(gè)參數(shù)設(shè)置為vibrator.vibrate(new long[]{200,500,200,500},0),震動(dòng)持續(xù)時(shí)間和等待時(shí)間分別為500 ms和200 ms;(3)長(zhǎng)震動(dòng)4個(gè)參數(shù)設(shè)置為vibrator.vibrate(new long[]{200, 1 000,200,1 000},0),震動(dòng)持續(xù)時(shí)間為1 000 ms,等待時(shí)間為200 ms,這三組震動(dòng)主要基于震動(dòng)持續(xù)時(shí)間區(qū)分,具體如圖5所示。根據(jù)測(cè)試能夠明顯地感覺(jué)到震動(dòng)的差異性,較易區(qū)別。后續(xù)工作還可以考慮震動(dòng)頻率大小來(lái)設(shè)計(jì)震動(dòng)差異性等。
本系統(tǒng)實(shí)現(xiàn)了盲人路徑誘導(dǎo)所必須的基本功能,能夠有效地對(duì)兩地點(diǎn)間路徑進(jìn)行最優(yōu)規(guī)劃并提供差異性震動(dòng)提示,使用戶高效、及時(shí)、準(zhǔn)確地行走。對(duì)于日益成熟的語(yǔ)音導(dǎo)盲來(lái)說(shuō),當(dāng)在極其嘈雜的環(huán)境中時(shí),語(yǔ)音功效就會(huì)大打折扣甚至失去作用,而這種差異性震動(dòng)路徑誘導(dǎo)新模式的研制則能很好地彌補(bǔ)語(yǔ)音的不足,二者的集成使用將增強(qiáng)盲人路徑誘導(dǎo)服務(wù)系統(tǒng)的環(huán)境適應(yīng)性,增大了其市場(chǎng)化的潛力。
參考文獻(xiàn)
[1] 夏岳勇,楊峻.盲人導(dǎo)航儀[J].醫(yī)療設(shè)備信息,2007,22(1):111-113.
[2] KUC R. Binaural sonic electronic aid provids vibrotactile cues for landmark,reflector motion and surface texture classification[J]. IEEE Trans on Biomedical Engineering,2002,49(10):1173-1180.
[3] RAN L, HELAL S, MOORE S. Drishti: An integrated indoor/outdoor blind navigation system and service[C]. Proceedings of the second IEEE Annual Conference on Pervasive Computing and Communications, Florida ,USA,2004:23-30.
[4] MORI H, KOTANI S, SANEYOSHI K, et al. The matching fund project for practical use of robotic travel aid for the visually impaired[J].Advanced Robotics,2004,18(5):453-472.
[5] 陳美鑾,尹浩,黎飄,等.智能盲人導(dǎo)航儀的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2006,32(10):4-6.
[6] 賀菊方,潘國(guó)華,何俊峰.用于幫助盲人行走、識(shí)別障礙物的電子裝置[P].中國(guó)專利,CN2843397.2006-12-06.
[7] 寧志剛,楊保柱,楊玲,等.一種新型盲人導(dǎo)行識(shí)別系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2010, 36(6) :141-143
[8] 何婧,聶旻,羅蘭,等.聽(tīng)覺(jué)引導(dǎo)助盲系統(tǒng)[J].生物醫(yī)學(xué)工程學(xué),2010,27(2):467-470.
[9] 徐珠寶,許勇,楊軍.Windows Mobile平臺(tái)下的盲人導(dǎo)航軟件系統(tǒng)開(kāi)發(fā)[J].計(jì)算機(jī)與現(xiàn)代化,2010(10):116-119.
[10] AMEMIYA T, SUGIYAMA H. Haptic handheld wayfinder with pseudo-attraction force for pedestrians with visual impairments[C]. Proceedings of the 11th International ACM SIGACCESS Conference on Computers and Accessibility, New York,USA,2009.
[11] YAO H Y, GRANT D, CRUZ M. Perceived vibration strength in mobile devices: The effect of weight and frequency[J].Haptics,IEEE Transactions on, 2010,3(1):56-62.
[12] JACOB R, MOONEY P, CORCORAN P, et al. PhD Showcase: Haptic-GIS: Exploring the Possibilities[J].SIGSPATIAL Special,2010,3(2) : 13-18
[13] Google. Android official website[EB/OL]. [2009-11-12].http://www.android.com/.
[14] 吳亞峰,索依娜.Android核心技術(shù)與實(shí)例詳解[M].北京:電子工業(yè)出版社,2010.
[15] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(第2版) [M].北京:清華大學(xué)出版社,1997.