于 睿,陸 南,張好好,朱靜嫻(江蘇科技大學電子信息學院,江蘇鎮江212003)
?
基于室內外定位的校園LBS系統設計與實現
于睿,陸南*,張好好,朱靜嫻
(江蘇科技大學電子信息學院,江蘇鎮江212003)
摘要:為了解決目前智能手機中位置服務LBS(Location Based Service)類移動應用在小環境區域不能準確提供位置服務的問題,以校園為例提出了一種基于室內外定位的LBS系統設計方案。首先介紹系統結構設計,然后詳細分析了Mobile GIS、GPS、基于WiFi信號強度值的位置指紋定位算法等系統設計中的關鍵技術,最后測試驗證系統的各個功能模塊。測試結果表明,系統可以實現終端定位、室內位置服務、校園導航、地圖服務等功能,且操作便捷,具備可行性和實用性。
關鍵詞:位置服務; Android;室內外定位; Mobile GIS
近年來,移動互聯網技術飛速發展、Android智能手機的日益普及,基于Android平臺而開發的各種移動應用層出不窮。其中,被看作移動互聯網領域的“殺手級應用”的LBS更是得到了前所未有的發展。LBS發展至今,人們更加需要在像學校、醫院這樣的小環境區域中獲得準確LBS服務[1]。提供LBS服務必須在確定用戶位置的基礎上,而這樣的小環境區域往往包含室內和室外兩種不同的環境。在室外,GPS提供了非常精準的位置信息;但是衛星信號易受到建筑物的遮擋,在室內環境下GPS并不能提供高精度的定位,而WiFi、ZigBee、藍牙、紅外、超聲波、射頻識別、超寬帶等無線定位技術快速發展,成為對GPS的有力補充。
因此本文以校園這個特殊職能的小環境區域為研究對象,基于Android平臺設計和實現了一個校園LBS系統:以ArcGIS系列軟件制作的校園地圖為背景;室外環境中通過接收GPS信號進行定位;室內環境中在無需利用額外硬件設備的前提下,綜合考慮無線信號覆蓋范圍、受室內環境影響程度、定位精度要求等等,采用基于WiFi信號強度的位置指紋定位算法進行定位。系統可為師生和來訪者提供位置相關的信息服務。
1.1系統需求分析
本系統所追求的理想結果是在室外環境中,地圖服務功能能夠讓用戶在終端設備上查看校園環境地圖,通過放大縮小、上下移動等操作全面熟悉校園環境。實時定位用戶位置、查詢從當前位置前往目的地的最優路徑并標記在校園環境地圖上;在室內環境中,根據用戶的選擇顯示相應的室內環境地圖。定位時,將用戶相對于室內環境的位置標記在室內環境地圖上,并且能夠獲取該位置相應的服務信息,例如,空教室信息、課程信息等等。
1.2系統總體設計
根據系統的需求分析,整個系統在邏輯上分為客戶端、服務器端與數據庫三層架構。系統結構如圖1所示。

圖1 系統架構圖
(1)客戶端:安裝于Android系統的智能手機上,完成核心功能與數據的前臺顯示,是與用戶進行交互的重要層。系統核心功能主要包括地圖服務、室外GPS定位、校園路徑指引、室內WiFi定位、課程信息查詢、空教室查詢。
(2)服務器端:運行于PC端,主要分為GIS服務器、Web服務器和定位服務器。將ArcGIS Desktop軟件創建的校園地圖利用ArcGIS Server發布于Web服務器,并實現管理和更新。當Web服務器接收到客戶端發來的地圖操作請求時,通知GIS服務器根據要求調用數據庫中的地圖數據以及相應的地理處理工具來提供服務。定位服務器主要用于運行算法,當接收到客戶端發來的無線信號時,調用室內定位算法確定終端設備的位置,并將該位置的相關數據發送至客戶端。客戶端與服務端之間利用無線網絡進行數據傳輸,通過標準的HTTP協議進行通信。
GIS服務器: ArcGIS Server 10.2
Web服務器: IIS 6.0(Internet Information Server 6.0)
定位服務器: Apache Tomcat 7.0.47
(3)數據庫:負責向服務層提供數據支持。客戶端使用SQLite和文件方式存儲少量本地數據;定位服務器采用Mysql數據庫存儲室內定位中離線訓練階段的位置指紋庫[2]、空閑教室信息和課程信息。GIS服務器采用Geodatabase地理數據庫存儲校園地圖的空間數據和屬性數據。
針對校園環境的地圖系統的設計過程就是將校園地理信息矢量化為地圖并完成發布和管理的過程,由ArcGIS Desktop軟件來完成空間數據的采集、編輯、分析、更新等操作,ArcGIS Server實現地圖服務和網絡分析服務發布,在Android平臺上結合ArcGIS for Android插件訪問自行發布的地圖,獲取地圖服務和網絡分析服務。
2.1空間數據的采集
空間數據的采集是將紙質地圖、遙感影像、外業觀測數據、文本資料等不同來源的數據轉換成計算機可以接收與處理的數字形式[3-4]。本地圖中,主要包括以下幾種數據: (1)地圖數據,采用了由學校提供的校園平面地圖。(2)影像地圖,在Google Earth上利用GEtScreen軟件截取校園衛星影像數據。(3)實測數據,由于設備有限,本地圖直接通過ArcGIS Online、Google Map等現有的地圖軟件測量比較獲取地圖點坐標、道路路線長度等數據。
2.2地理配準
采集的校園平面地圖和衛星影像數據是不含任何地理數據信息的,要使用它就要進行配準以及賦予它正確的地理數據。這里必須引入空間參考的概念。空間參考包括X、Y、Z值坐標系以及X、Y、Z和M值的容差值和分辨率值,使用這些屬性,可以確定一個地物在地球上的位置。常用的坐標系統主要包括地理坐標系和投影坐標系。本地圖中選擇地理坐標系GCS_WGS_1984,該坐標系就是移動平臺GPS所采用的坐標系統,通過GPS獲得的坐標信息都是按這個坐標系提供的經緯度。ArcGIS中地理配準使用Georeferencing工具條,一般要經過坐標系的選擇、添加控制點、檢查殘差、校正及重采樣等幾個步驟。
為減少誤差帶來的影響,控制點應當盡量選取衛星影像上容易分辨且比較精細特征點或者圖像邊緣處的點。并且盡可能在區域當中均勻、滿幅的選點。影像特征變化較大的地區應該多選幾個控制點。
2.3空間數據的編輯
完成地理配準之后,需要構建校園要素圖,對校園內所需描述的要素以圖層的形式表現出來,這是一個矢量化的過程。根據系統的設計要求,將校園地圖的空間數據分為5個圖層,涉及點要素、線要素和面要素3種圖層類型,完成對不同屬性地物的矢量化。具體如表1所示。

表1 空間數據圖層
ArcGIS中空間數據的編輯使用Editor工具條,依次對各個圖層的地物進行編輯。進行數據編輯時需要注意各個數據元素之間的拓撲規則。
2.4空間數據的分析
ArcGIS中使用網絡分析功能模擬解決現實世界的多種網絡問題。根據網絡問題的不同類型,可以采取不同的建模方式。對于定向網絡,通常采用幾何網絡分析方式建模。對于非定向網絡,通常采用網絡數據集的方式建模。
交通網絡屬于非定向網絡,適用由邊、交匯點和轉彎要素組成的網絡數據集建模。步驟如下:首先建立和編輯網絡數據集;然后在網絡數據集中利用ArcToolbox中的網絡分析擴展模塊進行點到點的路徑分析,獲得最短路徑。
2.5地圖服務與網絡分析服務發布
在ArcGIS Server服務器上發布服務之前需先安裝IIS,它是允許在網絡(包括互聯網和局域網)上發布信息的Web服務器。校園地圖服務和網絡分析服務發布成功之后,可在ArcGIS Online上實現在線訪問,通過IIS供不同的移動終端調用。Android平臺使用ArcGIS for Android插件調用自行發布的地圖,執行最短路徑分析操作。
復雜多變的室內環境中,無線信號傳播衰減模型[5]難以準確的描述具有較強時變特性的WiFi信號強度與距離之間的關系。由于基于WiFi信號強度值的位置指紋定位算法具有較好的定位魯棒性,因此本系統使用它來進行室內定位。
位置指紋定位是依據終端所處位置的位置指紋信息,查詢位置指紋庫,根據相應的匹配算法來估計終端所處的位置[6-7]。可獲取的位置指紋有多種,因RSSI易于測量,因而受到了廣泛關注。
位置指紋定位通常分為兩個階段:離線建庫階段和在線定位階段。離線建庫階段首先建立一張與目標環境地理圖相對應的地理空間坐標圖來,然后將目標區域劃分為若干采集點。采集點的密集程度及數量可根據環境而定,一般情況下,采集點越密集,定位結果越精準。對每個采集點多次掃描每個AP的信號強度值,掃描結果進行“平滑”處理,去除一些跳變較大的值,其余值求平均,形成RSSI位置指紋庫。本文采用高斯濾波方法對信號進行“平滑”處理,之所以采取高斯濾波方法,是由于RSSI值的分布與正態分布曲線相似。依據工程中的經驗,我們選擇概率大于0.6的范圍[8]。經過高斯濾波處理之后的RSSI取值范圍為[μ+0.15σ,μ+3.09σ]。其中:

根據文獻[9]可知,AP接入點個數為4個時室內環境位置指紋可滿足定位精度的要求,因此將RSSI位置指紋庫的數據表設計[10]為<ID、X、Y、MAC1、RSSI1、MAC2、RSSI2、MAC3、RSSI3、MAC4、RSSI4>形式,其中ID為各個采集點編號,X、Y為采集點的橫縱坐標,MAC1、MAC2、MAC3、MAC4分別為4個AP接入點的物理地址,RSSI1、RSSI2、RSSI3、RSSI4分別為對應的信號強度平均值,也是用于定位的指紋特征。考慮到校園樓宇AP的布設情況,大多數樓宇都能滿足一個樓層4個接入點或者更多的要求,這里不再另外布置AP,而是選擇平均信號強度值最大的4個現有AP進行建庫。測量無線信號的設備使用華碩筆記本A45V,測試軟件是專門寫的一個采集無線信號的小程序。
在線定位階段,通過客戶端掃描當前位置的實時信號強度值。為了提高數據準確性,將掃描次數定為5次,然后取平均值作為該AP的實時信號強度值。將處理好的實時RSSI值發送至定位服務器,由定位服務器調用最近鄰算法與位置指紋庫進行匹配,找出與當前位置距離最近的采集點,從而估算出終端所在位置。
4.1地圖服務與校內地點查詢
地圖服務模塊采用ArcGIS for Android開發包提供的地圖核心控件MapView來實現對地圖的加載、瀏覽、縮放、平移等操作。ArcGIS for Android中將Map-View作為地圖容器,用來呈現地圖服務的數據。要顯示地圖圖層必須將其添加到MapView地圖容器中。首先定義MapView對象,然后將校園地圖動態圖層加載到MapView對象上,通過發布地圖服務的URL地址對應到地圖服務的REST接口上,實現地圖服務的操作。以下是獲得地圖服務的關鍵代碼。

除實現地圖服務的操作之外,界面中還定義了一個EditText和一個Button。在EditText中輸入地點,點擊Button完成數據解析,獲得對應地點ID,并找到位置點,實現校內地點查詢。圖2為查找“研究生部”位置的效果圖。

圖2 校內地點查詢
4.2 GPS定位
Android平臺中,GPS定位功能被封裝在一個LocationManager對象中。要使用GPS定位服務,首先應當定義LocationManager對象loc,開啟定位服務。服務開啟之后通過requestLocationUpdates方法注冊定位服務監聽器LocationListener,當前定位狀態或位置發生變化時會向監聽器發出通知。自定義功能在監聽器函數內實現。以下是在Android平臺上調用GPS定位的關鍵代碼。

GPS定位效果圖如圖3所示,點擊“獲取當前位置”按鈕開始定位,以紅色圖標告知用戶定位點,以Toast方法給出當前位置經緯度。

圖3 GPS定位
4.3最短路徑查詢
ArcGIS for Android執行路徑分析可以通過RoutingTask類的solve方法來進行,首先將對應到網絡分析服務的REST接口上的URL地址傳遞給RoutingTask對象,然后調用RoutingTask類的solve方法,并給它傳遞RoutingParameters類型的參數,就可以進行最短路徑的查找。以下是獲取網絡分析服務,執行最短路徑查詢的關鍵代碼。

最短路徑查詢效果如圖4所示,默認起點為當前位置,用戶也可以自行輸入起點、終點位置名稱,點擊“查找”按鈕,完成最短路徑查詢。

圖4 最短路徑查詢
4.4室內定位與服務
在線定位階段,客戶端需要掃描當前位置的信號強度值。Android平臺中,這一功能被封裝在一個WifiManager對象中。首先應當定義WifiManager對象wifimanager,通過getSystemService方法開啟操作WiFi的權限;權限開啟之后,建立接收器broadcastReceiver,并重載WiFi信號的回調函數onReceive () ;然后通過registerReceiver()方法注冊接收器broadcastReceiver;最后用startScan()方法啟動掃描。當獲得掃描結果后,觸發回調函數onReceive (),回調函數完成將掃描結果發送至定位服務器,獲得定位服務器返回的結果后更新顯示界面的功能。以下是Android平臺上獲取周邊AP信號強度的關鍵代碼。

室內定位效果如圖5所示,進行定位之前,用戶根據所進入的樓宇選擇顯示對應的室內地圖,點擊“獲取當前位置”按鈕啟動掃描,將掃描結果提交給定位服務器,獲得定位服務器返回的位置信息以紅色圖標告知用戶定位點。

圖5 室內定位
定位服務器估算出終端位置后,根據new Date()方法獲得當前時間,查詢空閑教室信息表與課程信息表,將查詢結果發送至客戶端。查詢結果如圖6所示。

圖6 空閑教室與課程信息
通過對Android平臺上的GPS定位、基于WiFi的室內定位和Mobile GIS等各項技術的研究,設計并實現了一個校園LBS系統。測試結果表明,該系統的各個模塊能夠基本滿足師生對校園LBS服務的基本要求。但還有很多地方有待提高: (1)從整個系統看,客戶端與服務器的數據傳輸依賴無線通信網絡,數據量較大,網絡不通暢時會出現無法交互的現象。(2)空間數據采集時,缺乏獲取精確數據的專業設備,采集的數據會出現小范圍誤差。(3)擴展功能模塊,添加周邊娛樂設施查詢、好友查詢等等,使系統功能更加完善。
參考文獻:
[1]楊帆.基于GIS與定位技術的室內外定位系統的設計和實現[D].沈陽:東北大學,2011.
[2]林以明,羅海勇,李錦濤,等.基于動態Radio Map的粒子濾波室內無線定位算法[J].計算機研究與發展,2011,48(1) :139-146.
[3]牟乃夏,劉文寶,王海銀,等.ArcGIS10地理信息系統教程-從初學到精通[M].北京:測繪出版社,2012.
[4]孫茜茜,陸南.基于Android與Mobile GIS的新生報到服務系統[J].現代電子技術,2013,36(20) : 79-83.
[5]Kwok-Wai Cheung,Jonathan H M Sau,Murch R D,et al.A New Empirical Model for Indoor Propagation Prediction[J].IEEE Transactions on Vehicular Technology,1988,8(3) :29-37.
[6]王賽偉.基于位置指紋的WLAN室內定位方法研宄[D].哈爾濱:哈爾濱工業大學,2009.
[7]萬群,郭賢生,陳章鑫.室內定位理論、方法和應用[M].北京:電子工業出版社,2012.
[8]羅軍舟,吳文甲,楊明.移動互聯網終端、網絡與服務[J].計算機學報,2011,34(11) : 2029-2051.
[9]李同松.基于ZigBee技術的室內定位系統研究與實現[D].大連:大連理工大學,2008.
[10]楊鵬.基于Android的校園位置服務系統研究與實現[D].大連:大連理工大學,2013.

于 睿(1990-),女,漢族,江蘇揚州人,江蘇科技大學電子信息學院在讀碩士,碩士研究生。研究方向為智能信息處理系統,537719732@ qq.com;

陸 南(1971-),女,漢族,現在江蘇科技大學電子信息學院電子工程系基礎教研室任教,副教授/碩士。研究方向為現代通信系統與通信技術;

張好好(1986-),女,碩士研究生,研究方向為信息隱藏;

朱靜嫻(1990-),女,碩士研究生,研究方向為現代通信系統與通信技術。
Research and Design on the Vehicle ESP System Based on XC2365 and Fuzzy Control
WANG Aijun*,SUN Ming
(Xinxiang Vocational and Technical College,Xinxiang He’nan 453000,China)
Abstract:In order to accurately make the vehicle running stability,an Electronic Stability Program system based on Fuzzy control and XC2365 was designed.The sensors was used to collecte the vehicle running data and transmit the data to MCU by CAN bus.Fuzzy conrol was adopted to design the system.The test results show that the ESP system can be used widely in the future.
Key words:ESP; MCU; MATLAB; fuzzy control
doi:EEACC: 722010.3969/j.issn.1005-9490.2015.02.047
收稿日期:2014-06-03修改日期: 2014-06-23
中圖分類號:TN964
文獻標識碼:A
文章編號:1005-9490(2015) 02-0463-06