,,, ,,,
(1.南京航空航天大學 導航研究中心, 南京 210016;2.武漢大學 測繪遙感信息工程國家重點實驗室, 武漢 430079)
隨著智能手機性能的提升以及內置MEMS傳感器種類的豐富,基于手機的行人導航定位技術成為導航領域中的一個重要的新興分支。手機導航在導航定位、智能交通等民用領域具有廣泛的應用前景,同時對于提高在軍事作戰、搶險搜救等特種任務中的快速反應能力與任務執行效率有很大幫助。當前我國城市化進程不斷加快,人們對于室內外一體化導航的需求日益增加[1],基于智能手機的行人定位越來越成為室內外無縫定位的聚焦點。
國內外學者的研究方向非常豐富,主要集中在:1)室內定位:依靠無線射頻技術和微慣性等傳感器進行組合定位[2-5];2)室外定位:依靠GNSS和微慣性等傳感器進行組合定位[6];3)智能手機定位:基于智能手機包含的各種傳感器量測信息進行行人定位技術研究[7-8],如武漢大學和南京航空航天大學。為提高室內外行人導航整體功能的可用性和自主性,本文研究并實現了一種基于智能手機多源信息的行人室內外無縫定位軟件平臺。該平臺依靠光、磁、衛星傳感器進行室內外判別,在室內環境下依靠手機傳感器進行航位推算[9],在室外模式下利用航位推算與GNSS定位結果進行智能融合,既提高了室外定位的準確性,又實現了室外到室內定位的無縫過渡。
該系統設計并實現了基于百度地圖軟件開發包(Software Development Kit,SDK)的手機端實時顯示平臺,可以便捷地獲取百度地圖數據,并在將實時解算的位置、速度、姿態等數據存入自行設計的數據庫的同時,對定位結果進行實時顯示,還可根據數據庫進行行人運動軌跡的復現。
無縫定位技術是指采用多種技術,實現同一載體在不同環境區域下的定位,并滿足載體在不同環境區域之間移動時的無縫切換。為實現行人室內外無縫定位,需要關注各導航系統間的坐標系轉換等基本問題,還需要關注各導航系統間的協同策略問題。本文實現的行人無縫定位方法以自主性較強的行人航位推算技術為主,形成慣性傳感器、磁傳感器、衛星模塊、光傳感器等多傳感器協同工作機制,并以此實現了室內外模式的判別和切換[10-13]。
室內外環境區別較大,相比于室外環境,室內環境有更復雜的電磁場環境、更多不利于信號傳播的阻隔等。在這兩種環境下,行人導航時的定位方法、數據傳輸模式等諸多策略必然有所差異。因此,準確判別出室內外環境,選擇合適的定位模式,對行人定位的準確性有著重要的影響。
光傳感器、磁傳感器、衛星信號的室內外環境判別算法均可以給出室內和室外環境的識別結果:太陽光的波長比人造光的波長要長,因此無論天氣如何,室內光強均明顯低于室外光強,室內外光照強度的明顯差異性可作為室內外環境的辨識依據;室內環境中由于存在大量鐵磁性材料,磁傳感器數值在室內變化劇烈而室外變化緩慢,可以借此劃分出室內外場景;衛星信號中解算出的可見星數和水平位置精度因子(HDOP)值可以準確判斷GNSS可用性,進而分辨出室內外環境特征。具體如下:

(1)

(2)

(3)
其中,L、M、G依次表示光傳感器模塊、磁傳感器模塊、衛星模塊對室內外環境的判別結果,lightintensity與thrl分別代表光照強度及其判別閾值,variance與thrv分別代表磁場強度每秒變化方差及其判別閾值,satellites代表可見星數。
但上述方法均有其弊端:光傳感器在有遮擋時無法表征環境中的真實光照強度大小;衛星定位模塊不僅耗電量高,而且信號接收解算存在一定的延遲,實時性略差;磁傳感器信號雖然隨時可用,但是相比于光傳感器和衛星信號,磁傳感器容易受到附近電子設備的干擾,對于室內外環境識別的誤判幾率更大。因此,本系統綜合光/磁/衛星數據的環境辨識算法,有助于提高室內外判別的準確率和實時性。該算法采用與判斷邏輯,嚴格限制室外模式判斷條件,即只有當所有可用傳感器模塊同時判斷為室外模式時,才認為當前環境為室外,從而將衛星和磁傳感器信息引入航位推算中進行擴展Kalman濾波數據融合處理,減小定位誤差。
基于光/磁/衛星信息融合的室內外環境識別結果可通過查詢表1得到。通過判斷衛星模塊和光傳感器的可用程度,可以分為四種情況,然后再根據表1的策略對各個模塊的識別結果進行綜合判斷。

表1 基于光/磁/衛星信息融合的室內外環境決策表
表1中,G、L、M依次表示衛星模塊、光傳感器模塊、磁傳感器模塊對室內外環境的識別結果,1表示根據該類型傳感器信息判斷出當前為室外模式,0表示根據該類型傳感器信息判斷出當前為室內模式;E表示基于光/磁/衛星信息融合的室內外環境識別結果,E=0表示室內,E=1表示室外。
經典慣性導航算法對慣性傳感器精度要求過高,而手機內置的低成本MEMS傳感器則會導致定位結果很快發散。為此,通常采用基于人體運動模型的歩頻探測和步長估計實現行人航位推算,通過上一個時刻的位置和航向,求解行人在當前位置的航向、步頻及步長,推算下一時刻行人的位置。
航位推算算法主要內容包括:通過給定初始位置和航向,求解行人在當前位置的航向、步頻及步長,推算下一時刻行人的位置。此算法具有完全自主、機動靈活的特點,能夠滿足短時間內的行人定位需求。
航位推算算法原理如圖1所示,圖中E軸代指東向、N軸代指北向;Sk、θk分別為行人由tk-1時刻的(Ek-1,Nk-1)位置移動到tk時刻的(Ek,Nk)位置時移動的距離和方向。初始時刻t0,行人初始方位為(E0,N0);隨后沿北偏東θ0方向行走S0長度,由此可推算出下一時刻t1時的行人方位(E1,N1)。通過實時采集慣性傳感器數據,求解每一時刻的Sk與θk,可由式(4)實時求解出任一時刻tk的行人位置及航向信息。
(4)

圖1 行人航位推算原理圖Fig.1 The principle diagram of pedestrian dead reckoning
計步算法主要分三類,峰值檢測、零點檢測和平穩區間檢測。峰值檢測與零點檢測相似,均是通過對加速度特殊值進行檢測實現計步,本文考慮到手機實時性要求,依據峰值檢測思想,設計計步算法。
由于行人行走過程中,垂直向加速度變化在一個邁步周期內先增大,后減小,因此可以利用Z向加速度的上升或下降區間進行計步。經過統計可知,行人步頻不會超過5steps/s,多在1~3steps/s左右。為此,本文設計了帶通為1~5Hz的數字濾波器對信號進行濾波。濾波后的加速度信息如圖2所示,可有效用于計步計算。

(a) Z軸加速度濾波前后對比圖(a) Z-axis acceleration before and after filtering

(b) 濾波后計步點局部放大圖(b) Partially enlarged drawing of step count point after filtering圖2 Z軸加速度信息Fig.2 Z-axis acceleration information
行人步行時,Z軸加速度變化曲線的波峰與波谷交替出現,其差值在1~5m/s2范圍內,具體條件如式(5)與式(6)所示:
(5)
(6)

行走行為雖然存在隨機性,但在正常步態下行人的步長可以近似看作一個常量。這個常量可以通過記錄多次長距離行走時的行走距離與步數,并對多次求得的步長進行平均后獲得。本文采用在室外GNSS信號強處進行多次長距離行走,使用GNSS測得的行走距離與計步器所計步數求解獲得平均步長。本方法有利于彌補手機加速度計精度差導致的步長估計誤差較大的問題。
進行了多次長距離行走試驗,表2所示為其中一組數據。由此可知,該方法步長和距離誤差都小于1%,能夠滿足短時間航位推算所需的精度要求。

表2 測試步長與實際步長對比表
由于室內情況下影響磁場環境的因素特別復雜,因此室內磁傳感器數據噪聲很大,圖3所示為磁傳感器室內外輸出方差對比。因此可知,在室內單純利用磁傳感器并不能獲得較高精度的航向角。只有在磁場較為平穩的情況下,才能夠將磁信號信息納入行人定位系統進行輔助導航。

(a) 室內磁傳感器三軸輸出方差圖(a) The three-axis output variance of magnetic sensor indoors

(b) 室外磁傳感器三軸輸出方差圖(b) The three-axis output variance of magnetic sensor outdoors圖3 室內外磁傳感器三軸輸出方差圖Fig.3 The three-axis output variance of magneticsensor indoors/outdoors
室外環境下,磁場環境較為穩定,通過磁傳感器與加速度計組合可以求得較為準確的航向角,融合GNSS實現室外的準確定位。具體步驟如下所示:
(7)
(8)
(9)
(10)
(11)
ψ=arctan(Hy/My)
(12)
其中,Ax、Ay、Az分別為三軸加速度值,Ex、Ey、Ez分別為三軸磁傳感器值,ψ為解算出的航向角。
在磁傳感器受干擾時,可以采用智能手機中的陀螺儀信息進行航向的解算。陀螺儀是常用的航向角測量傳感器,具有短時精度高、受外界干擾小的優點,能與磁傳感器進行良好互補。在室內磁場異常環境下,本文依靠標定后的陀螺數據采用四元數法實現對航向角的解算。
由初始時刻的系統姿態角(航向角ψ、橫滾角φ、俯仰角θ)確定四元數的初值為
(13)
使用陀螺儀測得各軸向的角速度獲得四元數微分方程為

(14)

(15)
最終獲得當前時刻的航向角ψ為
(16)
由于手持手機行走時,手持狀態的輕微晃動也會產生角速率輸出,所以對標定后的陀螺數據采取預處理以消除晃動導致的影響。圖4所示為陀螺Z軸數據預處理前后對比圖。結合圖5可知,本次實驗共轉彎3次,每次轉彎約90°,處理后陀螺輸出的峰值與航向角的變化過程對應,其積分值基本等于轉彎角度。

圖4 Z軸陀螺輸出預處理前后對比圖Fig.4 The comparison of Z-axis gyro output beforeand after preprocessing

圖5 航向角變化曲線圖Fig.5 The change curve of heading angle
行人無縫定位軟件的設計目標是開發一套可以實時讀取智能手機傳感器數據并進行實時解算與顯示的綜合平臺,同時該平臺可以將實時定位導航結果數據進行保存,以方便后期復現和分析。
本文設計的基于Android智能終端的導航定位軟件在Eclipse環境中用Java語言編程實現,可以實時在線導航。同時通過調用百度地圖SDK、建立位置數據庫,實現實時顯示并保存行人運動軌跡及后期復現等功能。
考慮到軟件既需要滿足數據的實時處理和查看需求,又需要具備良好的人機交互界面。因此,行人無縫定位軟件將主要功能按鈕與導航參數的顯示均設于主界面上,如圖6所示。右側功能按鈕可以實現導航程序的啟停、導航數據與結果顯示的開關和導航結果的復現等功能;左側的導航參數顯示區實時顯示解算出的各導航參數,包括當前經緯度、行走總距離、當前速度、航位推算模式下行走步數及航向;背景區域則是基于百度地圖生成的實時行走軌跡顯示區,行走軌跡以點狀的連線顯示。

圖6 智能手機無縫定位軟件示意圖Fig.6 The diagram of smartphone seamless positioning software
為了驗證本文設計的行人室內外無縫定位軟件的有效性,在南京航空航天大學將軍路校區自動化學院1~2號樓群進行了長時間行走實驗,實驗路線如圖7所示,包含室內(紅色)、室外(藍色)以及室內外轉換區(綠色)三部分。
實驗1:純DR航位推算實驗。
考慮到磁傳感器和衛星信號在室內受干擾無法使用,因此,先采用純DR的形式進行實驗線路圖航位推算,其結果如圖8所示。

圖7 大范圍行走實驗路線圖Fig.7 The trajectory of the walking experiment

圖8 室內外大范圍行走實驗數據純航位推算結果圖Fig.8 The PDR result of indoor andoutdoor walking experiment
由圖8可知,在長距離行走,尤其是行走軌跡為曲線時,純航位推算方法解算的航向存在發散現象導致位置發生大幅漂移,致使整體行走軌跡已無法反映真實行走路線。
實驗2:本文的行人無縫定位方法實驗。

圖9 手機無縫定位軟件導航結果圖Fig.9 Navigation result of seamless positioningsoftware on the smartphone
利用本文的行人無縫定位軟件進行圖7的路線實現,實驗結果如圖9所示,其中:藍色為衛星導航結果,紅色為航位推算結果。室外環境下,行走過程中星況良好,HDOP值在1附近,定位誤差為2~3m左右,定位效果良好。室內環境下衛星信號丟失,依靠手機的傳感器數據,利用DR形式進行推算導航。室內外交叉環境下,系統根據室內外環境綜合判定結果,在進入門廊附近切換為航位推算模式。
將實驗1、實驗2(室內、室外、綜合)的效果分別匯總至表3可知,手機無縫定位效果在室外情況下有GNSS輔助,因此位置誤差較小,僅占行走距離的0.64%,航向角漂移現象不明顯,有效提高了室外的定位精度,達到1.07%的定位精度。室內外行走中,通過綜合判斷室內外環境切換模式,能夠準確獲得航位推算解算的初始位置與航向。

表3 純航位推算與本文無縫定位結果對比表
綜上,本文的行人室內外無縫定位軟件能夠有效地完成行人實時導航解算功能,整體的導航結果良好,可以反映整體的行走軌跡細節情況,具有較強的工程應用參考價值。
本文研究并實現了基于智能手機室內外環境判別的行人無縫定位方法,采用手機自身光、磁、慣性傳感器模塊和衛星模塊進行組合實現行人室內外無縫導航,避免了導航過程中路徑中斷現象的產生。利用Java語言設計完成了無縫定位軟件,并基于百度地圖SDK進行二次開發,實現了導航結果的實時解析和顯示。測試運行結果表明,智能手機版本的行人無縫定位軟件能夠實現行人室內室外無盲區、高精度定位。
后期工作將進一步完善航位推算算法,提高算法的精度,解決室內長時間長距離的導航定位需求。同時對手機與行人間方位差異進行深入分析,實現無約束條件下的行人導航,增強行人的體驗感。
[1] 周寶定, 李清泉, 毛慶洲, 等. 用戶行為感知輔助的室內行人定位[J]. 武漢大學學報(信息科學版), 2014, 39(6):719-723.
[2] Zhuang Y, Lan H, Li Y, et al. PDR/INS/WiFi integration based on handheld devices for indoor pedestrian navigation[J]. Micromachines, 2015, 6(6): 793-812.
[3] Chen L H, Wu E H K, Jin M H, et al. Intelligent fusion of Wi-Fi and inertial sensor-based positioning systems for indoor pedestrian navigation[J]. IEEE Sensors Journal, 2014, 14(11): 4034-4042.
[4] 曾慶化, 王敬賢, 孟騫, 等. 基于UWB優化配置的室內行人導航方法[J]. 中國慣性技術學報, 2017, 25(2):186-191.
[5] 洪皓, 武剛, 陳飛翔, 等. 基于智能手機傳感器的室內行人三維定位算法[J]. 測繪科學, 2016, 41(7):47-52.
[6] Seo W, Hwang S, Park J, et al. Precise outdoor localization with a GPS-INS integration system[J]. Robotica, 2013, 31(3): 371-379.
[7] Chen R, Guinness R E. Geospatial computing in mobile devices(1st ed.)[M]. Norwood MA: Artech House, 2014.
[8] Zhang X, Zeng Q, Meng Q, et al. Implementation of smartphone seamless positioning system based on mobile navigation electronic map[C]// 2016 4thInternational Conference on Ubiquitous Positioning, Indoor Navigation and Location Based Services (UPINLBS). IEEE, 2016: 89-93.
[9] Kang W, Han Y. SmartPDR: Smartphone-based pedestrian dead reckoning for indoor localization[J]. IEEE Sensors Journal, 2015, 15(5): 2906-2916.
[10] Zhuang Y, Chang H W, El-Sheimy N. A MEMS multi-sensors system for pedestrian navigation[C]// Proceedings of the China Satellite Navigation Conference (CSNC). Wuhan, 2013: 651-660.
[11] De Cristóforis P, Nitsche M, Krajník T, et al. Hybrid vision-based navigation for mobile robots in mixed indoor/outdoor environments[J]. Pattern Recognition Letters, 2015, 53(C): 118-128.
[12] Li M, Zhou P, Zheng Y, et al. IODetector: A generic service for indoor/outdoor detection[J]. ACM Transactions on Sensor Networks(TOSN), 2015, 11(2): 28.
[13] Okamoto M, Chen C. Improving GPS-based indoor-outdoor detection with moving direction information from smartphone[C]// Adjunct Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing and Proceedings of the 2015 ACM International Symposium on Wearable Computers. ACM, 2015: 257-260.