黃雙雙



摘 要:分析了當前市場上主流室內定位技術的優缺點,描述了基于NFC的博物館智能導航系統的實現原理。用戶只需要使用智能手機接觸室內用于定位的讀寫標簽,不僅能獲取展覽文物的詳細信息,還能獲取當前所在的位置。文中采用啟發式A*算法,就能快速計算從出發點到目的地的最短路徑。
關鍵詞:室內定位;NFC;A*算法;最短路徑
中圖分類號:TN929.5 文獻標識碼:A 文章編號:2095-1302(2015)11-00-03
0 引 言
作為位置信息服務的代表,全球定位系統已被廣泛用于車輛導航、工程測量、海洋救援、飛機導航、航空遙感等許多領域。在室內環境中,無線信號通常比較差,GPS定位準確度比較差,甚至失效。但是在商場、醫院、博物館等大型室內建筑場所,一套好的定位系統將會給群眾的生活帶來極大的便利,基于如此廣闊的應用場景,室內定位技術正成為市場競爭的一個熱點。
業界目前的室內定位解決方案主要有紅外技術、超聲波(Ultrasound)技術、藍牙(Bluetooth)技術、WiFi技術、超寬帶(UWB)技術及射頻識別(RFID)技術等。這些技術都有各自的優勢和不足,下面對其作簡要比較:
(1)紅外室內定位技術。系統通過紅外線發射器發射調制的紅外線,通過安裝在室內的光學接收器進行定位。紅外線定位技術定位精度較高,但紅外線不能穿越障礙物,一旦標識物被遮擋,系統便無法定位,且紅外線衰減速度快,傳輸距離短,易受燈光干擾等缺點使其用于室內定位時效果很差,并且系統的造價較高。
(2)超聲波定位技術。系統通過主測距器向位置固定的應答器發射一定頻率的信號,應答器產生回波,根據回波和發射波的時間差計算出兩者之間的距離,當有三個或三個以上不在同一直線上的應答器做出回應時,根據三球定位等算法確定被測物所在的位置。超聲波定位精度較高,原理簡單,易實現。但超聲波易受多徑效應和非視距傳播等因素的影響,而且硬件成本比較高。
(3)藍牙定位技術。藍牙是一種近距離無線通信技術,通過利用發射信號和接收信號的強度差來實現定位。藍牙集成電路簡單,易于集成在手機等移動電子設備中,且信號傳輸不受視距的影響,設備易被發現,但在復雜的室內環境中,藍牙系統容易被噪聲信號干擾,穩定性不好。
(4)WiFi定位技術。系統通常由無線接入點和定位服務器組成,定位服務器通過分析接入點的信號強弱和信號特征進行位置計算。WiFi定位系統采用信號傳播模型與經驗測試相結合的方式,易于安裝且需要很少基站。WiFi網絡穩定性好,傳輸速率高,但WiFi信號收發器只能覆蓋半徑90米以內的區域,且容易受到其他信號的干擾,系統的能耗也較高。
(5)超寬帶(UWB)技術。超寬帶技術通過發送許多間隔極小的脈沖進行測距。超寬帶系統穿透材料能力強、功耗較低、時間分辨率高、抗多徑效果好、系統易實現。其可應用于室內靜止及移動物體的定位和導航,系統的定位精度較高。但UWB難以實現大范圍室內覆蓋,且手機不支持UWB,定位成本高。
(6)射頻識別技術(FRID)。射頻識別技術利用射頻信號,通過非接觸式雙向通信交換數據實現信息傳遞,并通過所傳遞的信息進行識別和定位,通常通信距離為幾十米。RFID系統的防碰撞算法使得讀寫器能在短時間內識別大量的標簽,為實現實時定位提供了可能。隨著集成電路設計技術日益成熟,RFID標簽制造成本較低,但其定位距離有限且不能進行信息的傳遞[1]。
1 NFC技術
NFC近場通信(Near Field Communication,NFC),也就是近距離無線通信,是一種短距離的高頻無線通信技術,它允許電子設備之間進行非接觸式點對點數據傳輸(在十厘米內)交換數據。該技術由免接觸式射頻識別(RFID)演變而來,并向下兼容RFID,最早由Sony和Philips各自開發成功,主要為手機等手持設備提供M2M(Machine to Machine)的通信。NFC 技術和藍牙相比操作簡單、配對快速;和 RFID 技術相比適用范圍廣泛、可讀可寫、能直接集成在手機中;和紅外線相比數據傳輸較快、安全性高、能耗低(可以無電讀取);和二維碼相比識別快速、信息類型多樣。NFC 技術可適用于很多場景,比如移動支付、公交卡、智能海報等[2]。
NFC標簽是一種可讀寫的電子芯片,通過帶有NFC功能的電子設備掃描NFC標簽就能讀寫標簽中的內容。由于是無源器件,只需將線圈設計好便可制成NFC標簽,因此NFC標簽價格低廉。比起藍牙等傳統產品,NFC在使用上更為簡單高效,可以給用戶帶來更好的體驗。因此,在不久的將來,NFC會越來越多地出現在我們的生活中。
由于博物館展覽品數量龐大,每個展覽品的展示空間有限,所以很難在展柜上充分描述展覽品的詳細資料。通過把展覽品的詳細資料存儲到NFC標簽中,觀眾可以用手機讀寫NFC標簽,獲取到更多的信息。盡管NFC標簽存儲容量有限,但其存儲形式多樣,可以存儲小量文本,還可以存儲網址,通過網頁向觀眾進行詳細展示[3]。
2 系統結構
系統主要由移動前端和服務后臺組成,移動前端主要是手機、pad等電子設備,通過下載App實現位置導航和展覽品信息獲取。前端App采用時下廣泛使用的Android平臺,結合當前大熱的NFC技術進行開發。系統后端服務器采用ubuntu+tomcat+java+mysql的方式搭建,系統穩定性好且易于多平臺移植。
3 系統功能設計
系統的前端主要實現游客實時定位、目的地路線導航、展覽品信息獲取、地圖更新等功能。后端為博物館信息管理平臺,博物館管理員可以對館藏物品進行增加、修改、刪除等操作,后臺還包含了博物館所有展覽品的詳細信息、展柜地理位置、室內地圖等數據,同時為前端提供數據接口。系統的功能結構如圖1所示。
圖1 系統功能結構圖
當游客想獲取展覽品的詳細信息時,只需用NFC手機接觸展柜上的NFC標簽,或者手動輸入展覽物品名稱,手機便自動跳轉到展覽品信息界面,顯示當前展覽品的簡要信息,游客可選擇“獲取詳細信息”或“語音介紹”等高級功能菜單,獲取展覽品更加詳盡的文字及圖片介紹或者語音解說。
當游客想搜尋路線時,只需進入路線搜尋界面,將手機靠近NFC標簽,手機將獲取游客當前位置,并在地圖上標注,顯示的地圖上會標示當前館藏的所有物品,并顯示物品名稱和簡要介紹,游客在地圖上點擊想參觀的物品,系統將顯示當前位置到目的地的最佳路線,從而游客將在復雜的場館內輕松自如的找到自己想看的文物。圖2所示為室內環境模擬圖。
圖2 室內環境模型圖
當博物館處于地下時,手機信號不佳,游客可通過離線下載數據界面,提前下載好館內最新地圖,展覽品簡介等小量數據存儲到客戶端數據庫中,這樣即使在信號不好的場地,游客也可以獲取到展覽文物的簡要介紹,及位置定位和導航。
4 算法分析與實例
4.1 Dijkstra算法與最佳優先搜索(BFS)
Dijkstra算法從源節點開始層層向外擴展,遍歷圖中的各個節點,找到距離源節點最短路徑的節點,并標記為已查節點,重復這一過程直到所有節點都被標記過。通過從初始節點向外擴展,直到到達目標節點。Dijkstra算法能夠算出從源節點到目標節點的最短路徑。
BFS算法與Dijkstra算法的原理相似,不同的是BFS能夠評估(稱為啟發式的)任意節點到目標點的代價。與Dijkstra算法每次選擇離源節點最近的節點不同的是,BFS算法每次選擇離目標最近的節點。BFS不能保證找到一條最短路徑,但通過使用啟發式函數(heuristic function)可以快速地導向目標節點,因而比Dijkstra算法快很多[4]。
4.2 A*算法
A*算法是一種靜態路網中求解最短路徑最有效的直接搜索方法,也是最優優先路徑算法。該算法在節點擴展過程中使用了啟發信息,算法的搜索方向智能地趨向目標節點,算法的效率得到很大的提高[5]。A*算法是啟發式方法(heuristic approaches)如BFS,其是與常規方法如Dijsktra算法相結合的一種更高效的算法。類似BFS的啟發式方法經常給出一個近似解而不是保證最佳解,盡管A*基于無法保證最佳解的啟發式方法,A*卻能保證找到一條最短路徑。A*算法成功的秘決在于它把Dijkstra算法(靠近初始點的節點)和BFS算法(靠近目標點的節點)的信息塊結合起來。A*算法的估價函數可表示為:f(n) = g(n) + h(n),其中g(n)表示從初始結點到任意節點n的最短路徑,h(n)表示從節結點n到目標點的最短路徑的啟發值,h(n)啟發函數選取的越好,算法就越高效。當從初始點向目標點移動時,A*權衡這兩者,每次進行主循環時,它檢查f(n)最小的節點n,其中f(n)= g(n) + h(n)。
4.3 算法分析
首先將搜索區域劃分成方形網格,網格的邊長為10,對角線距離近似為14。網格分為兩種狀態,淺色為可行狀態,深色為展位或墻壁,即不可行狀態,每個網格都有一個坐標值,左上角為坐標的原點,如圖3所示。
本文采取A*算法進行路徑搜索,路徑搜索的關鍵是f(n)的計算,其中:
g(n)表示從起始點,沿著生成的路徑移動到網格n的移動耗費;
h(n)表示從網格n移動到目標方格的預估移動耗費。
如上所示,G表示沿路徑從起始點到網格n的移動耗費。本文中,我們令水平方向和垂直方向的移動耗費為10,對角線方向耗費近似為14。沿生成的路徑通往網格n的G值,就是取網格n的父節點的G值,如果網格n相對父節點是對角線方向則其G值為父節點的G值加14,如果是直角方向則網格n的G值為父節點的G值加10。
H值的計算方法比較多。本文使用的方法為曼哈頓方法,它計算網格n移動到目標網格之間需要經過的水平方向和垂直方向的方格的數量總和(即兩點X軸坐標差值的絕對值和Y軸坐標差值的絕對值之和)的最小值,移動方向不能為對角線方向,然后把結果乘以10。
F的值是G值和H值的總和。
下面以起始點(7,5),目標點(1,2)為例敘述路徑獲取算法。網格模型如圖3所示,搜索步驟如下:
(1)從起點開始,將起點添加到一個數據列表中,簡稱“開啟列表”;
(2)重復以下步驟:
a.搜索開啟列表,找到F值最低的格子,如果F值相同,則取G值較低者,G值和H 值若都相同,則任選其一,并設為當前格。
b.把它添加到另一個數據列表,簡稱“關閉列表”。
c.搜索與當前格相鄰網格,并進行屬性設置:
①如果它不可通過或者處于關閉列表中,則不做設置,反之如②。
②如果它不在開啟列表中,則把它添加到開啟列表,并設置它的父節點為當前格,計算它的F值、G值和H值。如果它已經在開啟列表中,重新計算它的G值并與之前的G值進行比較,如果新的G值比較小則將其父節點設為當前格,更新它的G值和F值,如果新的G值比大則更新它的屬性。
d.結束。當目標格被找到并添加到關閉列表中,則路徑被找到,從目標格開始,通過每個網格的父節點來遍歷關閉隊列,則可得到規劃路徑的反向序列,如果目標格沒有找到且開啟列表已經為空,則路徑不存在。圖3所示為其網格的模型圖。
圖3 網格模型圖
5 結 語
本文提出了一種基于NFC的新型博物館定位導航系統,游客通過掃描NFC標簽不僅能獲取展覽文物的信息還能進行實時定位,系統采用了A*搜素算法,能以更快的速度獲取到達目的地的最短路徑。游客還可以通過客戶端從服務后臺獲取展覽文物的詳細信息、下載離線數據等高級功能。
參考文獻
[1]吳雨航,吳才聰,陳秀萬.介紹幾種室內定位技術[N].中國測繪報,2008-1-003.
[2]林龍,張果,王劍平,等.基于NFC技術的標簽模式設計[J].微處理機,2013,34(3):31-36.
[3]吳連發.NFC技術在博物館安防和展陳中的應用分析[J].魅力中國,2014,9(25):226-228.
[4]龔道雄,劉翔.迷宮搜索算法的比較研究[J].計算機應用研究,2011,28(12):4433-4436.
[5]房佳,杜震洪.應用于城市道路網的啟發式深度優先有向搜索算法[J].浙江大學學報(理學版),2013,40(4):469-474.