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