余成波,孫夢娜,楊如民
(重慶理工大學 遠程測試與控制研究所, 重慶 400054)
隨著導航定位技術的普及,基于位置的應用也越來越受大眾歡迎。在室外,GPS可提供非常精準的位置信息;但在室內(nèi),GPS信號由于受到建筑圍護結構的遮擋,以及反射、衍射以及多徑效應等物理因素的影響,無法實現(xiàn)精準的室內(nèi)定位。
近年來,對室內(nèi)導航系統(tǒng)的研究逐漸興起。Nammoon等[1]提出了融合多傳感器結合行人航跡推算的混合航向估計方案,提高了室內(nèi)導航系統(tǒng)的性能,但存在著室內(nèi)定位精度不高,導航精確性不強的問題。Arie Sheinker等[2]提出了一種基于磁性信標的室內(nèi)導航方法,降低了開發(fā)成本,但存在系統(tǒng)功能單一的問題。因此,欲提高室內(nèi)導航定位系統(tǒng)的準確性和適用性,不僅需要準確的非GPS式空間位置信息,也需要比室外GPS系統(tǒng)更高效的路徑規(guī)劃技術。
在室內(nèi)定位技術層面,目前已經(jīng)有Wifi、ZigBee、藍牙、紅外、超聲波、射頻識別、超寬帶等多種技術。其中,基于低功耗藍牙(bluetooth low energy,BLE)的iBeacon技術[3],因具有傳輸距離長、應用廣、AES-128加密等優(yōu)點,已成為現(xiàn)階段室內(nèi)定位的研究熱點。
在路徑規(guī)劃技術層面,多目標路徑規(guī)劃方法是當前的研究熱點和難點。路徑規(guī)劃的研究目標在于找到滿足條件的Pareto最優(yōu)解或非劣最優(yōu)解[4]。當前典型的規(guī)劃方法有A*算法多目標啟發(fā)式搜索模型(multiobjective A*,MOA*)、最優(yōu)多軌道規(guī)劃算法(multirobot path planning,MPP)、多目標路徑規(guī)劃算法(multiobjective path planning,MOPP)[5]等。
本文研究iBeacon定位技術與平滑多目標D*Lite規(guī)劃算法[6]相結合的室內(nèi)導航系統(tǒng),其中定位部分采用國內(nèi)外應用較多的基于信號指紋的定位方法,重點研究iBeacon信號與指紋庫之間快速精準的匹配算法。具體實現(xiàn)方式為:對采集到的iBeacon信號強度值進行濾波去噪處理[7],降低信號強度失真造成的誤差,并采用K近鄰算法(K-nearest neighbor,KNN)[8]進行指紋匹配,獲得移動定位結果;再對移動定位結果進行濾波處理,抑制結果中的大幅波動,獲得空間定位結果;最后,將空間定位結果與平滑多目標D*Lite規(guī)劃算法相結合實現(xiàn)室內(nèi)實時導航。該導航系統(tǒng)具有Web界面,涵蓋用戶管理、數(shù)據(jù)查詢分析等功能。
本系統(tǒng)采用iBeacon室內(nèi)定位技術、多目標路徑規(guī)劃技術,基于J2EE技術框架,使用面向服務SOA(service-oriented architecture)方式,通過SaaS(software-as-a-service)模式對外提供服務。設計了由表現(xiàn)層、業(yè)務邏輯層、數(shù)據(jù)訪問層、設備接入層組成的分層架構,如圖1所示。其中表現(xiàn)層負責為使用者提供交互操作的Web、APP應用;業(yè)務邏輯層負責建立各種業(yè)務處理過程,如定位導航、廣告推送、用戶動態(tài)數(shù)據(jù)分析等;數(shù)據(jù)訪問層負責數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲,建立系統(tǒng)數(shù)據(jù)中心和標準化數(shù)據(jù)接口;設備接入層負責iBeacon基站與智能移動終端之間的設備感知和接入。
本系統(tǒng)的功能按照普通用戶、商家、管理員3類使用者的應用場景進行設計,統(tǒng)一的云平臺系統(tǒng)為這3類使用者提供各種服務[9]。使用者與系統(tǒng)的交互方式有APP和Web應用。
系統(tǒng)為普通用戶提供的是基于位置的服務(location based service,LBS),用戶可以是一般攜帶智能移動終端的個人用戶,也可以是裝有BLE4.0模塊的安卓機器人。服務的具體功能包括:管理用戶信息、實時室內(nèi)定位導航、查詢iBeacon基站數(shù)據(jù)、查詢定位及導航數(shù)據(jù)、查詢指紋數(shù)據(jù)庫、根據(jù)用戶位置適時推送信息等。

圖1 系統(tǒng)分層架構
系統(tǒng)為商家提供的功能包括:查詢用戶定位導航數(shù)據(jù)、管理商家信息與設計上傳商業(yè)活動及廣告通知等。
系統(tǒng)為管理員提供的功能包括:采集上傳iBeacon信號強度、審核管理商家及用戶信息、分析統(tǒng)計用戶定位及導航數(shù)據(jù)、管理維護iBeacon基站、管理設備地圖、審核管理商業(yè)廣告信息、管理維護系統(tǒng)等。
基于iBeacon技術的室內(nèi)導航系統(tǒng)組成如圖2所示,有以下三大模塊并結合用戶隨身攜帶的智能移動終端、數(shù)據(jù)庫服務器、Web終端完成系統(tǒng)功能。
3個模塊相互結合完成具體工作,各模塊的具體功能有:
1) iBeacon室內(nèi)定位模塊。利用iBeacon室內(nèi)定位技術獲取用戶當前空間位置信息,記錄并上傳當前位置坐標。
2) 路徑規(guī)劃與實時導航模塊。利用起點和終點位置信息,結合用戶路徑偏好規(guī)劃滿足用戶需求的導航路徑,并在導航過程中結合定位信息實時導航,記錄并上傳導航數(shù)據(jù)。
3) Web操作模塊。具體工作包括管理員對用戶定位及導航數(shù)據(jù)的分析統(tǒng)計,審核管理用戶及商家信息,管理維護iBeacon基站,管理設備地圖,審核管理廣告及商業(yè)活動信息,管理維護系統(tǒng)等;普通用戶查詢自身定位及導航數(shù)據(jù),管理個人信息等;商家查詢用戶定位導航數(shù)據(jù)并利用各用戶數(shù)據(jù)設計上傳相應的商業(yè)活動和廣告通知等。

圖2 iBeacon室內(nèi)導航系統(tǒng)組成
iBeacon室內(nèi)導航系統(tǒng)中的定位模塊也可作為獨立的室內(nèi)定位系統(tǒng)工作,由信號強度采集與指紋庫建立模塊、匹配定位模塊并結合iBeacon基站、智能移動終端、后臺服務器、數(shù)據(jù)庫服務器完成定位功能。信號強度采集與指紋庫建立模塊的具體工作有:
1) APP與后臺服務器建立Socket通信,判斷用戶終端是否支持藍牙4.0,若支持則發(fā)出采集請求,采集當前目標點位置接收到的iBeacon基站的Major、Minor、RSSI、UUID值。其中Major設定為區(qū)域編號,Minor設定為區(qū)域內(nèi)iBeacon編號。
2) 解析數(shù)據(jù)形成RSSI序列,例如某一位置處可以接收到1、3、5、6、7號iBeacon基站的信號強度(RSSI1、RSSI3、RSSI5、RSSI6、RSSI7)。記錄當前目標點的坐標(X,Y),將RSSI值序列經(jīng)卡爾曼濾波處理[10]。
3) 提交以上數(shù)據(jù)至后臺服務器,建立完整的n×m信號指紋庫,n為采集目標點序號,m為iBeacon基站編號。指紋庫中每一行數(shù)據(jù)包括當前采集目標點的位置坐標(X,Y),區(qū)域編號Major,在第i個采集目標點接收到的第j個iBeacon基站的RSSI值RSSIij(i=1,2,…,n;j=1,2,…,m)。
匹配定位模塊包括信號強度采集、數(shù)據(jù)解析和處理、判定區(qū)域并估計距離、位置計算、回傳數(shù)據(jù)顯示定位結果等工作。具體有:
1) APP與后臺服務器建立Socket通信,判斷用戶終端是否支持藍牙4.0,若支持則發(fā)出定位請求并采集當前位置接收到的iBeacon信號強度值。
2) 解析信號強度數(shù)據(jù),形成信號強度序列,將此序列進行卡爾曼濾波并按照一定時間間隔不斷上傳至后臺服務器。
3) 后臺服務器接收后采用KNN算法進行指紋庫匹配,得到3個最接近的樣本點。
4) 計算3點的質(zhì)心得到此時用戶的位置,并進行濾波處理,抑制移動定位結果的大幅波動。
5) 后臺服務器將計算得到的位置坐標回傳給客戶端并顯示到對應界面,可選擇是否上傳定位信息至數(shù)據(jù)庫。
iBeacon室內(nèi)導航系統(tǒng)中的路徑規(guī)劃與實時導航模塊包括地點選取、偏好選擇、路徑規(guī)劃選取、實時通知、回傳數(shù)據(jù)等。系統(tǒng)具體功能有:
1) 登錄和客戶端檢測,進入主界面后判斷用戶終端是否支持藍牙4.0。若不支持則可以點擊定位導航選項跳轉至導航頁面進行地點選取和路徑規(guī)劃,最終在地圖上顯示此次的規(guī)劃路線;若支持,則進入下一步。
2) 將當前定位位置默認為導航起點,用戶于APP中選取地圖上任一地點為導航目的地。選取導航路徑偏好(距離最短、時間最短、路徑較短且遠離障礙物且較平滑)進行路徑規(guī)劃,并將此次導航所需數(shù)據(jù)發(fā)送至后臺服務器。
3) 根據(jù)用戶偏好,結合平滑多目標D*Lite規(guī)劃算法規(guī)劃路徑,返回路徑數(shù)據(jù)至APP終端。終端接收到數(shù)據(jù)后順序遍歷路徑坐標繪制路徑并顯示到對應地圖界面。
4) 結合用戶行駛定位信息更新地圖并進行導航通知直至到達目的地,并選擇是否上傳導航數(shù)據(jù)至數(shù)據(jù)庫。
依據(jù)功能分析,在Web操作模塊主要設計了系統(tǒng)首頁和后臺管理頁面,其中系統(tǒng)首頁展示導航系統(tǒng)的功能、使用范例以及研究成果等信息,用戶可以在此頁面查詢系統(tǒng)使用方法并聯(lián)系開發(fā)者。后臺管理由用戶信息管理模塊、定位導航數(shù)據(jù)管理模塊、系統(tǒng)設備維護模塊、商業(yè)活動管理模塊、地圖位置信息錄入模塊5個模塊組成。其中用戶信息管理模塊的主要任務是使用者信息的增刪查改;定位導航數(shù)據(jù)管理模塊的主要任務是根據(jù)不同權限的使用者管理定位導航數(shù)據(jù);系統(tǒng)設備維護模塊主要進行的是管理員對系統(tǒng)和iBeacon基站的維護;商業(yè)活動管理模塊的主要任務是商家提交商業(yè)活動和廣告等信息,管理員對此進行審核和管理;地圖位置信息錄入模塊進行的是管理員將物品與地圖信息的連接。
用戶登錄后跳轉至后臺管理頁面,根據(jù)不同用戶權限顯示不同的菜單欄,總的菜單欄有:用戶信息管理、定位導航數(shù)據(jù)管理、系統(tǒng)設備維護、商業(yè)活動管理、地圖位置信息錄入五大部分,點擊不同的按鈕彈出不同頁面,在各子頁面進行具體操作。
為了驗證系統(tǒng)的定位導航功能并分析系統(tǒng)的運行效果,將本系統(tǒng)應用于8 m×14 m的實驗室內(nèi),并在實驗室內(nèi)部署iBeacon基站,如圖3所示。實驗室內(nèi)包括20個工作臺、1個會議桌、1個辦公隔間,由于環(huán)境復雜度較高,共布置了12個iBeacon基站,見圖3。
用戶于APP登錄后進入系統(tǒng)首頁,選擇BLE指紋庫可以進行指紋庫的建立和查詢等的操作。圖4所示為iBeacon信號強度的采集與查詢頁面,可選擇是否通過濾波處理采集信號。圖5所示為坐標(570,970)處接收到的信號強度序列進行卡爾曼濾波后的信號波動圖,從圖中看出信號跳變較少,說明可以降低信號強度失真造成的誤差。

圖3 8 m×14 m實驗室示意圖

圖4 采集iBeacon信號
擬定實驗室內(nèi)左上角為坐標原點、向右為X軸、向下為Y軸,按照每間隔1 m作為采集目標點采集數(shù)據(jù)錄入指紋數(shù)據(jù)庫,如圖6所示。圖中位置(570,970)處采集的信號強度id號為378~380,其中第378行是未經(jīng)濾波的指紋數(shù)據(jù),第379、380行是經(jīng)卡爾曼濾波后的指紋數(shù)據(jù)。對比3行數(shù)據(jù)可知,濾波可以使得采集的指紋庫較穩(wěn)健。
打開系統(tǒng)的定位導航功能,顯示當前用戶在地圖中所處位置,可導航至地圖上任意地點(若目的地處于障礙物區(qū)域則規(guī)劃至目的地鄰近可行區(qū)域)。導航過程中可實時跟蹤用戶位置,直至到達目的地結束此次導航。
實時定位測試結果如圖7、8所示。圖7中綠色定位點顯示的是利用APP定位的用戶實驗室內(nèi)具體位置,圖8顯示的是實驗室定位實測圖片。經(jīng)對比可知系統(tǒng)可得到精確的位置信息。
在實驗室內(nèi)測試500組數(shù)據(jù),采用KNN匹配定位,在1 m以內(nèi)的定位精度為30%[11]。采用本文濾波后432組數(shù)據(jù)的定位誤差達到1 m以內(nèi),定位結果誤差在1 m以內(nèi)的比例達到了86%,整體定位精度較高。

圖5 RSSI序列卡爾曼濾波

圖7 APP定位測試
用戶使用APP定位導航測試結果如圖9、10所示,定位的同時可選擇是否導航。圖9顯示的是默認用戶當前定位點為導航起點,地圖中選取導航終點,根據(jù)用戶路徑規(guī)劃偏好規(guī)劃不同路徑。圖10顯示的是用戶行走于一條距離較短且遠離障礙物較平滑的規(guī)劃路徑上,結束導航時上傳導航數(shù)據(jù)至服務器。
用戶上傳導航數(shù)據(jù)至服務器,結合管理員錄入的位置相關信息,可查詢導航地點具體信息。表1所示為數(shù)據(jù)庫中導航地點信息視圖中的部分數(shù)據(jù)。

圖8 實驗室定位實測

IdRoadpathstdetailenddetailxyendxendy1(272.10,80.05)|(277.77,81,72)…第3排第4列桌子未錄入5856211503062(272.10,80.05)|(277.77,81,72)…第3排第4列桌子未錄入5856211202103(272.10,80.05)|(277.77,81,72)…第3排第4列椅子未錄入5856411403214(272.10,80.05)|(277.77,81,72)…第2排第4列椅子第1排第2列桌子585534140470
本系統(tǒng)除在APP進行相關操作外,還可進行Web操作:查詢管理用戶個人信息、查詢用戶導航及定位信息、錄入位置地圖信息、商業(yè)活動管理、維護系統(tǒng)等,如圖11、12所示。從圖中得出用戶上傳導航數(shù)據(jù)后,結合管理員錄入的地點位置信息,最終可以查詢導航具體位置信息。

圖11 Web后臺管理首頁

圖12 錄入位置信息
綜合以上實驗,打開定位功能系統(tǒng)顯示當前用戶在地圖中所處位置,并可導航至地圖上任意地點。導航過程中實時跟蹤用戶,直至結束導航。系統(tǒng)的數(shù)據(jù)分析和查詢等功能均能在Web界面實現(xiàn)。
基于iBeacon技術的室內(nèi)導航系統(tǒng)不僅具有開發(fā)簡便、信號干擾小、定位精度高、多功能導航等優(yōu)點,而且可以根據(jù)更多的商業(yè)需求實現(xiàn)豐富的功能擴展。本文通過搭建的室內(nèi)導航系統(tǒng)實現(xiàn)了智能定位導航服務、設備管理、用戶管理、商業(yè)信息管理、位置及導航數(shù)據(jù)管理等功能,為不同的使用者提供了豐富的應用功能和交互方式。
本系統(tǒng)將卡爾曼濾波應用到iBeacon室內(nèi)定位系統(tǒng)中,實驗結果表明濾波可提高定位結果的穩(wěn)定性與精度。本系統(tǒng)在導航過程中采用平滑多目標D*Lite規(guī)劃算法根據(jù)用戶偏好規(guī)劃路徑,上傳位置及導航數(shù)據(jù)至服務器供后期查詢統(tǒng)計。此外,Web端可供3類用戶各自進行相關操作,系統(tǒng)實現(xiàn)多功能。
[1] NAMMOON K.A hybird heading estimation scheme exploiting smart-phone inertial sensors for PDR based indoor navigation[C]//6th International Conference on Application of Digital information and Web Technologies.2015:150-157.
[2] SHEINKER A,GINZBURG B,SALOMONSKI N,et al.A method for indoor navigation based on magnetic beacons using smartphones and tables[J].Journal of the International Measurement Confederation,2016,3(1):197-209.
[3] 李娟娟,張金藝,張秉煜.藍牙4.0標準規(guī)范下的模糊指紋定位算法[J].上海大學學報(自然科學版),2013,19(2):126-131.
[4] 樓振凱.帶模糊時間窗的配送問題多目標優(yōu)化研究[J].模糊系統(tǒng)與數(shù)學,2017,31(3):183-190.
[5] YU J J,STEVEN M.Optimai Multirobot Path Planning on Graphs:Complete Algorithms and Effective Heuristics[J].IEEE Transactions on Robotics,2016,32(5):335-339.
[6] 孫夢娜,楊如民,余成波.導航系統(tǒng)中多目標路徑平滑化規(guī)劃的研究[J].計算機工程與應用,2017,53(18):17-23.
[7] 劉志華,馬征征,陳嘉興.無線傳感器網(wǎng)絡中移動節(jié)點的后驗信號濾波定位法[J].傳感技術學報,2013,26(5):739-744.
[8] OKAR I.A bluetooth signal strength based indoor localization method[C]//Proceeding of 21th IEEE International Conference on Systems,Signals and Image Processing.Dubrovnik,Croatia:IEEE,2014:251-254.
[9] MANLISES,YUMAN A N.Indoor Navigation System Based on Computer Vision using CAM Shift and D*Algorithm for Visually Impaired[C]//6th IEEE International Conference on Control System,Computing and Engineering,2016.
[10] 孔慶達,余成波,李彩虹.卡爾曼濾波在iBeacon室內(nèi)定位系統(tǒng)中的應用[J].電訊技術,2017,57(4):450-456.
[11] 王艷麗,楊如民,余成波,等.相關性匹配藍牙信標位置指紋庫的室內(nèi)定位[J].電訊技術,2017,57(2):145-150.