吳文卿
【摘要】國家統(tǒng)計(jì)局網(wǎng)站公布:中國是全世界盲人最多的國家之一,眼部疾病在中國也是一個(gè)主要的公共衛(wèi)生問題。中國約有盲人600-700萬,占世界盲人總數(shù)的18%,另有雙眼低視力患者1200萬。我國盲人數(shù)量早已超過諸如丹麥、芬蘭、挪威等國家的人口數(shù)。
盲人的出行問題是關(guān)系到盲人生活質(zhì)量的重要因素。如今,廣泛普及的智能手機(jī)與導(dǎo)航軟件極大的緩解了盲人出門在外的定位與導(dǎo)航問題。但是,現(xiàn)今導(dǎo)航軟件、設(shè)備的使用場(chǎng)景都局限在室外,進(jìn)入室內(nèi)后無法定位與導(dǎo)航。室內(nèi)建筑中大量使用的標(biāo)識(shí)以及平面圖為普通人提供了極大的便利,使得人們可以在不熟悉的建筑中快速通往目標(biāo)位置。對(duì)于盲人以及更廣大的低視力人群,進(jìn)入陌生室內(nèi)環(huán)境、建筑將寸步難行。因此,本課題的目的在于設(shè)計(jì)一套建筑物內(nèi)定位與導(dǎo)航的解決方案,填補(bǔ)盲人出行障礙的“最后100米”,是盲人進(jìn)入建筑物后能準(zhǔn)確找到餐廳、洗手間、會(huì)議室、商鋪、教室、圖書室等位置。
【關(guān)鍵詞】ibeacon 導(dǎo)航 定位 盲人導(dǎo)航
【中圖分類號(hào)】G64 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2017)22-0222-03
一、研究背景
室內(nèi)導(dǎo)航技術(shù)是近年來的熱點(diǎn)領(lǐng)域,主要有WIFI定位、ibeacon定位、RFID定位、超聲波定位、激光定位、移動(dòng)通訊網(wǎng)定位等。
(一)ibeacon技術(shù)
ibeacon是蘋果公司2013年9月發(fā)布的使用于移動(dòng)設(shè)備的通訊協(xié)議。使用低功耗藍(lán)牙BLE技術(shù)進(jìn)行廣播信號(hào),ibeacon向周圍的設(shè)備發(fā)送自己特有的ID。ID可以包括名字,UUID,信號(hào)強(qiáng)度RSSI。
(二)其他技術(shù)
各定位技術(shù)方向?qū)Ρ纫姳?。
在上述技術(shù)方向中,激光定位沒有避障能力,如果場(chǎng)景中有行人遮住了發(fā)射源,直接影響到定位,且激光會(huì)對(duì)正常視力人群產(chǎn)生一定傷害、存在光污染問題。超聲波定位雖然比激光定位的安全性好,但避障能力仍然很差,當(dāng)受到其他行人的遮蔽時(shí),導(dǎo)航效果會(huì)很差。
RFID定位精度差,范圍小,一般用于門禁系統(tǒng),不適用建筑物內(nèi)導(dǎo)航。
移動(dòng)通信技術(shù)2g,3g和4g導(dǎo)航的精度在50-300米范圍內(nèi),該精度不適用建筑物內(nèi)導(dǎo)航。
WIFI定位、ibeacon定位都可以用在建筑物內(nèi)導(dǎo)航。WIFI定位需要在手持終端上操作,加入該導(dǎo)航WIFI,可能還需要設(shè)置權(quán)限,這些操作對(duì)于盲人來說都是困難的,特別是對(duì)第一次進(jìn)入該建筑物的盲人。
ibeacon不需要實(shí)現(xiàn)設(shè)置權(quán)限,與建筑物內(nèi)的通訊網(wǎng)絡(luò)分離,安全性更好。任何可接受ibeacon信號(hào)的手持終端無需任何操作都可以接收ibeacon信號(hào)。
從導(dǎo)航設(shè)備部署方面考慮,WIFI設(shè)備需要電源及網(wǎng)絡(luò)布線,能源耗費(fèi)大,部署更復(fù)雜。ibeacon只需要電池供電,一個(gè)電池可以支持2年以上的運(yùn)行時(shí)間。
從成本方面考慮,WIFI設(shè)備比ibeacon設(shè)備貴,施工成本更高,長(zhǎng)時(shí)間運(yùn)行的能耗更大。
綜合以上,選用了ibeacon作為室內(nèi)導(dǎo)航的技術(shù)基礎(chǔ)設(shè)備。ibeacon技術(shù)的優(yōu)勢(shì)如下:
(1)定位方式安全。
(2)精度1-2米,滿足室內(nèi)定位需求。
(3)電池供電,應(yīng)用方便。
(4)適合應(yīng)用于手持終端(包括手機(jī))廣泛普及的環(huán)境。
(5)部署方便和運(yùn)行成本低。
二、方法
基于ibeacon的盲人室內(nèi)定位與導(dǎo)航的方案設(shè)計(jì)主要包括信號(hào)發(fā)射系統(tǒng)、接收系統(tǒng)和中央處理系統(tǒng)的三大系統(tǒng)。
(一)信號(hào)發(fā)射系統(tǒng)
該系統(tǒng)由三個(gè)及以上的ibeacon發(fā)射設(shè)備組成。
1.選用設(shè)備Eddstone beacon,發(fā)射功率0dBm,廣播間隔500ms。
2.廣播的信息包含UUID、Major、Minor參數(shù)、信號(hào)強(qiáng)度RSSI。
3.UUID、Major、Minor這三個(gè)參數(shù)就決定了iBeacon廣播出的信息。使用UUID標(biāo)識(shí)不同的定位目標(biāo),Major參數(shù)標(biāo)識(shí)安裝樓層與區(qū)塊,Minor標(biāo)識(shí)具體房間號(hào)及該房間的用途。放置ibeacon發(fā)射設(shè)備于建筑物內(nèi)各房間的入口處,同一樓層的ibeacon保持高度一致,為盡量避免障礙物造成的干擾,ibeacon放置在2米高度以上更為合適。
(二)接收系統(tǒng)
接收系統(tǒng)即手持終端,可以是一部有藍(lán)牙4.0及以上的安卓手機(jī):
手持終端的服務(wù)程序?qū)崿F(xiàn):
1.實(shí)時(shí)掃描檢測(cè)附近ibeacon廣播信號(hào),生成ibeacon列表,如圖2和圖3所示;
2.與中央處理系統(tǒng)使用socket通訊協(xié)議連接,作為socket客戶端,將ibeacon列表發(fā)送給中央處理系統(tǒng)。
(三)中央處理系統(tǒng)
中央處理系統(tǒng)由一臺(tái)PC服務(wù)器組成,它負(fù)責(zé)接收手持終端發(fā)送過來的ibeacon信息,及手持終端的導(dǎo)航請(qǐng)求,通過導(dǎo)航算法分析,向手持終端反饋導(dǎo)航信息。具體如下:
(a)中央控制系統(tǒng)中擁有所有ibeacon的列表,根據(jù)接收系統(tǒng)發(fā)送來的ibeacon列表中的UUID、Major、Minor參數(shù)值確定大致樓層、房間。
(b)中央控制系統(tǒng)通過使用各ibeacon的信號(hào)強(qiáng)度值(RSSI)計(jì)算距離。
(c)中央控制系統(tǒng)根據(jù)定位算法來確定盲人所在位置。
(d)根據(jù)盲人所在位置和目的地址,采用導(dǎo)航算法進(jìn)行路徑導(dǎo)航。
(e)使用socket通訊協(xié)議,作為socket服務(wù)器實(shí)時(shí)將指令發(fā)往socket客戶端(即手持終端)。
1.距離計(jì)算公式
其中根據(jù)信號(hào)強(qiáng)度值(RSSI)計(jì)算距離的公式如下。
距離=常數(shù)A*(r/t)^常數(shù)B+常數(shù)C
其中,r為測(cè)量到得信號(hào)強(qiáng)度RSSI,t為發(fā)射設(shè)備1米距離的參照型號(hào)RSSI,A、B、C為不同設(shè)備的常數(shù)。
2.定位算法
在導(dǎo)航開始之前,首先要完成各目標(biāo)地址及盲人所在位置的定位。各目標(biāo)地址都是固定的位置,比如:餐廳、洗手間、會(huì)議室等用ibeacon來定位,部署時(shí)在每個(gè)目標(biāo)地址的入口處安裝一個(gè)或若干個(gè)ibeacon,ibeacon每隔固定時(shí)間向外廣播該位置,方便手持終端接收。
盲人所在位置是移動(dòng)的,定位比較困難,這里采用三點(diǎn)定位算法來定位盲人所在位置。其原理如下(圖3)。
算法原理:平面上有三個(gè)ibeacon發(fā)射裝置A,B,C,和一個(gè)接收系統(tǒng)D,并已測(cè)出三個(gè)ibeacon到手持終端D的距離分別為R1,R2,R3,則以三個(gè)ibeacon發(fā)射裝置坐標(biāo)為圓心,三個(gè)ibeacon到手持終端距離為半徑可以畫出三個(gè)相交的圓,如圖下圖所示,接收系統(tǒng)D的坐標(biāo)即為三圓相交點(diǎn)。
3.導(dǎo)航算法
導(dǎo)航算法是整個(gè)解決方案的關(guān)鍵所在,建筑物通常有多層,每層有走廊、轉(zhuǎn)角和多個(gè)房間等元素組成,樓層之間通過人行樓梯及電梯相連。盲人進(jìn)入建筑物之后,目的地可能是任意樓層的任意房間,立體空間導(dǎo)航是個(gè)很復(fù)雜的問題。為了簡(jiǎn)化該問題,本解決方案將建筑物內(nèi)的立體空間導(dǎo)航分解成平面導(dǎo)航和縱面導(dǎo)航兩個(gè)部分。
平面導(dǎo)航即同一樓層的導(dǎo)航,縱面導(dǎo)航即人行樓梯間及電梯間的導(dǎo)航。服務(wù)器軟件事先為平面導(dǎo)航和縱面導(dǎo)航分別建立坐標(biāo)系,此時(shí)坐標(biāo)系已經(jīng)簡(jiǎn)化為類平面坐標(biāo)系,在該坐標(biāo)系中根據(jù)已部署安裝的ibeacon位置繪制每一樓層的平面圖、人行樓梯縱面圖和電梯縱面圖。
上述圖都建立完成后,對(duì)于一樓的導(dǎo)航,可以直接通過該樓層的平面圖進(jìn)行導(dǎo)航。
對(duì)于二樓及以上的任意導(dǎo)航請(qǐng)求,都可以通過以下步驟完成導(dǎo)航:
(a)首先通過平面圖導(dǎo)航到一樓的人行樓梯間或電梯間。
(b)通過縱面圖導(dǎo)航到指定樓層。
(c)通過平面圖導(dǎo)航到該樓層的指定位置。
三、結(jié)果
(一)ibeacon定位場(chǎng)景實(shí)現(xiàn)
目前本設(shè)計(jì)實(shí)現(xiàn)了兩大場(chǎng)景的ibeacon定位:長(zhǎng)廊場(chǎng)景(如圖4)、轉(zhuǎn)角場(chǎng)景(如圖5)。
(二)導(dǎo)航的實(shí)現(xiàn)
通過使用縱橫向平面的方法將三維導(dǎo)航簡(jiǎn)化為平面導(dǎo)航。
情景一:盲人處在一樓平面內(nèi)
這種情景實(shí)際就是接收系統(tǒng)處在橫平面內(nèi)。中央控制系統(tǒng)根據(jù)ibeacon表和所接收的ibeacon表及參數(shù),確定在所處平面的坐標(biāo)。對(duì)橫平面圖進(jìn)行圖搜索,找到現(xiàn)位置與目標(biāo)位置的路徑。有別于傳統(tǒng)意義的圖搜索,這里不僅要考慮節(jié)點(diǎn)間相對(duì)關(guān)系,還要考慮距離。
情景二:盲人處在人行樓梯間或乘坐電梯
這種情景實(shí)際就是接收系統(tǒng)處在縱向平面內(nèi)。縱向平面用于樓層的判斷,電梯間與樓梯樓道內(nèi)的ibeacon采用特殊UUID標(biāo)識(shí),當(dāng)中央控制系統(tǒng)所收到ibeacon列表中ibeacon為縱向平面ibeacon后,只需進(jìn)行根據(jù)ibeacon間距的關(guān)系判斷,因?yàn)殍b于樓梯間及電梯井的直筒型結(jié)構(gòu),ibeacon安裝時(shí)保持在同一直線上。由此,中央控制系統(tǒng)可以判斷接收系統(tǒng)所處樓層,進(jìn)行新橫向平面的路徑導(dǎo)航。
情景三:盲人走在一樓平面與電梯、樓道之間
這種情景實(shí)際就是接收系統(tǒng)處在縱橫平面之間縱向平面的ibeacon發(fā)射裝置使用小于5米的發(fā)射距離,因此當(dāng)檢測(cè)到縱向平面ibeacon后將不再考慮橫向平面ibeacon切換至縱向平面導(dǎo)航。
四、結(jié)論
課題目前初步實(shí)現(xiàn)了基于ibeacon的建筑物內(nèi)的定位、導(dǎo)航解決方案的設(shè)計(jì)。但在精度問題上仍有改進(jìn)的空間。
實(shí)現(xiàn):
(1)無需電源、布線的廉價(jià)硬件,設(shè)計(jì)安裝方便。
(2)可利用智能手機(jī)的socket客戶端以及ibeacon檢測(cè)與列表實(shí)現(xiàn)。
(3)縱橫向平面導(dǎo)航設(shè)計(jì),簡(jiǎn)化空間導(dǎo)航難度。
(4)初步幫助盲人實(shí)現(xiàn)出行的最后“100米”。
參考文獻(xiàn):
[1]Altbeacon Android Beacon Library http://altbeacon.org/
[2]Java Concept Early Objects(第七版)[美] Cay Horstman著John Wiley & Sons Inc
[3][美]Robert Sedgewick,[美]Kevin Wayne.算法(第四版)[M].北京:人民郵電出版社,2012