陳 鈺 王宇浩 王亞雪 項 賚, 張騰飛 張海平 徐 瑩
(1. 山東省國土測繪院, 山東 濟南 250013;2. 山東科技大學 測繪與空間信息學院, 山東 青島 266590)
《2022中國衛星導航與位置服務產業發展白皮書》顯示,2021年我國衛星導航與位置服務產業總體產值達到4 690億元人民幣,較2020年增長16.29%。隨著智能手機、手環等移動智能終端的普及,基于移動終端的室內導航與位置服務需求劇增。調查顯示,2021年我國約有1.9億老年人患有慢性病,通過高精度室內技術構建智慧城市、智慧家庭、智慧醫院等各種場景的泛終端互連、協作、安全體系可大大減輕社會的養老壓力。另外,火車站、機場、大型地下停車場、會展中心、監獄、隔離病房、化工廠等場所都迫切地需要基于移動終端的室內定位服務[1]。
雖然基于全球衛星導航系統(global navigation satellite system,GNSS)的定位技術已趨于成熟,但GNSS具有天然的脆弱性,即信號弱、穿透力差、易受干擾等,在室內難以提供可靠的定位服務[2-3]。目前,無線通信技術、超寬帶、低功耗藍牙(bluetooth low energy, BLE)、微機電系統、行人航位推算(pedestrian dead reckoning, PDR)等室內定位技術被廣泛研究[4]。然而,受成本、精度、可靠性、時效性等限制,目前仍未有一種占據主流地位的室內定位技術。PDR雖是相對定位技術且存在累積誤差,但具有連續性好、短時精度高等優點[4]。BLE Beacon具有低成本、低功耗、無須互聯網等優點,且能滿足普通用戶導航定位精度需求,但BLE Beacon定位存在連續性較差等問題[5]。PDR與BLE Beacon具有良好的互補性,故本文擬研究基于移動智能終端的融合PDR/iBeacon的室內定位算法,為基于移動終端的室內定位服務提供技術支持。
PDR技術通過分析行人行走時的運動特征,依據步數、步長、航向來遞推相對運動位置,其算法的三個核心部分為步數檢測、步長估計、航向估計[4]。其中,航向角是影響PDR誤差累積的關鍵[6]。利用陀螺儀、磁力計和加速度計可以直接或間接地獲取與航向相關的信息。陀螺儀精度較低,姿態解算結果易發散。由于室內電磁干擾,電子羅盤精度也難以滿足航向角估計精度。有學者提出采用擴展卡爾曼濾波[7]、容積卡爾曼濾波[8]、互補濾波[9-10]等多源傳感器融合策略可提高航向角估計精度。指紋定位于2000年在微軟的RADAR定位系統[11]中首次提出,是目前較為主流的定位方法之一。BLE Beacon指紋定位一般分為離線階段和在線階段[5]。離線階段是指紋定位的關鍵階段,指紋數據采集、建立指紋與構建指紋庫都是在離線階段完成。在線定位階段,主要是基于匹配或分類的思想實現定位。K近鄰法(K nearest neighbor,KNN)[12]、支持向量機(support vector machines,SVM)[13]、隨機森林[14]、樸素貝葉斯[15]等方法都可以實現在線定位。相比單一的定位技術,融合定位可能產生更準確的結果,有學者將iBeacon的數據融合在擴展卡爾曼濾波中以校準PDR結果[16-17],Jenny[18]等人指出在小區域內iBeacon和PDR融合定位結果達到米級的精度,但其測試路線較短,定位方法的魯棒性還未知。
基于PDR和iBeacon指紋定位的互補性,本文研究了基于移動智能終端的融合PDR/iBeacon的室內定位算法,并采用電子羅盤和陀螺儀互補修正航向角,以降低PDR的累積誤差。文中第一節方法論介紹了本文采用的PDR定位、iBeacon定位和融合定位方法,第二節通過實測實驗評估了融合定位的性能,最后得出一些有效的結論。
行人航跡推算是一種輕量級的獨立定位方法,可提供連續的位置估計,主要分為航向估計、步長估算、步數檢測三個部分。基于智能手機的PDR定位原理如圖1所示,智能手機內含的加速度計獲取各個軸向的加速度,陀螺儀獲取三軸角速度,磁力計和陀螺儀輸出值計算行人航向信息,最終根據公式(1)推算出移動目標的位移信息。

圖1 PDR定位原理
(1)
式中,(N,E)表示點位坐標;Li表示步長;θhi表示航向角。
PDR的作用是確定行人的軌跡信息,而軌跡信息需要知道行人的距離和方向,距離信息通常采用步數來估計,因此對步數進行準確的檢測對于室內定位具有非常重要的意義。在PDR算法中,航向估計和步長估計的準確度會直接影響PDR的導航定位精度。下面詳細介紹本文采用的航向估計、步長估計和步數檢測的算法。
1.1.1航向估計
智能手機內置的電子羅盤和陀螺儀皆可感知手機的姿態變化,都可用于航向角估計。使用陀螺儀確定航向角時,誤差會隨著時間累積,而電子羅盤感知航向角誤差不隨時間累積,但人體抖動會使航向角的抖動加大[19]。對此,本文采用卡爾曼濾波融合電子羅盤和陀螺儀來進行航向估計、糾正和優化。
圖2給出了具體技術路線圖,步驟如下:

圖2 航向估計技術路線
步驟一:陀螺儀和電子羅盤數據預處理。
手機在移動時,由于人體的抖動使得陀螺儀存在很大的噪聲問題,在進行航向判定時,先對陀螺儀數據進行平滑處理,剔除偽轉向點,之后再結合電子羅盤的航向角信息實現互補修正航向。圖3顯示了平滑前后陀螺儀Z軸角度的變化。從圖3可以看出,平滑后角度變小,去處了大部分57°左右的偽轉向點。

圖3 平滑前后陀螺儀Z軸角速度
步驟二:基于單軸陀螺儀的航向判定。
考慮到行人在室內步行時,特別是在室內走廊行走時,移動方向基本保持一致。即當行人不進行轉彎動作時,其步行軌跡可被認為是一條直線,屆時陀螺儀的相關數據只在較小的范圍內波動,而只在轉彎處陀螺儀Z軸會存在較大的角速率。因此,本文采用電子羅盤和陀螺儀互補修正的算法來獲得當前時刻的航向[20],融合算法描述如下:
(2)

1)轉彎和直線行走識別。本文采用式(3)來識別行人是否處于直線行走狀態,設定一個閾值ωth,本文設置ωth=57.296°/s(1Rad/s),ωz低于ωth時,則認為該段時間內行人處于直線行走狀態,即turn_flag=0,否則進行轉彎行為,即turn_flag=1。
(3)
式中,ωz為陀螺儀的Z軸角度;ωth為陀螺儀的抖動誤差。
2)當turn_flag=0,行人該段時間內直線行走,取該段時間內航向角的均值作為初始值,進而進入步驟三。

步驟三:基于卡爾曼濾波的航向優化。
軌跡分割后每一段的運動都是直線,本文采用卡爾曼濾波實時航向優化,削弱直線行走時行人抖動引起的高斯噪聲。系統變化規律可以用以下線性狀態方程描述:
xt=Ftxt-1+ωt
(4)
式中,Ft表示從系統t-1時刻演化到t時刻的狀態轉移矩陣;ωt為過程噪聲,服從N(0,Q)分布,意義為前后航向角的變化。
將電子羅盤的航向角作為系統的觀測值Zt,觀測值與系統狀態值之間的關系可以用于線性測量方程表示:
Zt=Htxt+Vt
(5)
式中,Ht為測量矩陣;Vt為觀測噪聲,服從N(0,Q)分布,且與過程噪聲互不相關。
1.1.2步長估計
目前較成熟的步長估計法包括線性步長估算模型、非線性步長估算模型。線性模型認為步長和步頻成正相關性,而非線性模型提出步長與加速度的最大最小幅值之差呈一定的相關性。綜合考慮算法的復雜度、步長估計精度,本文選擇最經典的非線性模型之一韋恩伯格步長模型[21],該模型以單步內Z軸加速度的最大值和最小值為特征進行步長估計
(6)

1.1.3步數檢測
常用的步數檢測算法有ZUPT[22-23]、自相關分析法[24]、峰值探測法[25-27]等。其中峰值探測法依據人行走時加速度周期性的規律,檢測加速度連續的兩個波峰或波谷進行檢步,計算簡單,算法復雜度低。為進行步數檢測,本文首先對手機加速度計的數據進行預處理,去除重力對加速度計的影響,然后構建低通濾波器對高頻噪聲進行濾波,最后采用附加時間閾值和加速度閾值去除偽峰值,公式如下[28]:
(7)

BLE Beacon指紋定位主要分為離線階段和在線匹配階段(圖4)。在離線階段,在已知參考點上采集周圍Beacon數據,將采集得到的RSS信息、物理地址(media access control,MAC)以及已知參考點的位置信息構建為指紋點,將大量的指紋點形成離線指紋庫。在線匹配階段,利用智能手機等移動設備采集室內的Beacon信號強度和MAC地址,按照相應的匹配算法估計未知點的位置。本文采用加權K近鄰法(weightedK-nearest neighbor,WKNN)算法[29],通過計算實時點與數據庫參考點的歐氏距離最近的K個參考點,以距離的倒數作為權重估計待測點的坐標。

圖4 iBeacon指紋定位算法流程
基于WKNN的待測點的估計坐標為
(8)
式中,(x,y)beacon表示未知點的坐標;dj表示待測點到匹配到的第j個指紋點的歐幾里得距離;(xj,yj)表示第j個指紋點的坐標。
BLEBeacon指紋定位不存在累計誤差,但是由于Beacon的最大發射功率僅有10 Hz,在進行連續定位時容易出現數據缺失的問題,且指紋定位方向判別能力較差,容易出現定位跳變的現象。PDR定位結果連續性較強,但存在累計誤差,使得定位結果逐漸發散。目前來看,很難有單一的技術在定位精度、穩定性、系統成本方面取得平衡,多技術融合是當前室內定位技術發展的趨勢,EKF廣泛應用于融合定位領域,其本質是一種最優估計理論。因此,考慮PDR和iBeacon指紋定位的互補性,本文采用EKF實現BLE Beacon/PDR融合定位,技術路線圖如圖5所示。

圖5 iBeacon和PDR融合定位技術路線圖
根據EKF原理,基于EKF的BLE Beacon/PDR融合定位的過程如下:
(1)確定濾波器的狀態量和量測量。
(2)構建狀態方程和量測方程。
(3)狀態一步預測。
(4)狀態估計。
遞推步驟(3)、步驟(4)可解算下一時刻的融合定位結果。
為了評估本文采用的航向估計算法及基于EKF的BLE Beacon/PDR融合定位算法的性能,設計了兩組實驗,實驗場所分別位于山東科技大學J6號樓5樓(實驗一)和S2號樓2樓(實驗二)。如圖6和7所示,Beacon沿兩側墻壁對稱部署了18個iBeacon設備,實驗一采集302個參考點,實驗二采集599個參考點,對每個參考點RSSI數據進行采樣,采樣頻率為1Hz。兩組實驗采用的iBeacon設備如圖8所示,為北京四月兄弟科技有限公司的April Beacon EEK-N,所有iBeacon的發射功率設置為0 dBm,廣播頻率為10 Hz,采用的手機型號為榮耀X10。實驗人員水平手持設備沿走廊中間行走,以常速沿著走廊經過轉角。實驗一共行走100步,60 m,實驗二共行走77步,39 m,采用以下4種方案估計室內定位結果。

圖6 實驗一場所及iBeacon設備布設位置簡圖

圖7 實驗二場所及iBeacon設備布設位置簡圖

圖8 iBeacon設備和手機設備
方案1:BLE Beacon指紋定位。
方案2:PDR定位。
方案3:基于電子羅盤和陀螺儀互補修正的PDR定位:在方案2的基礎上,采用本文1.1.1中算法對航向角進行糾正和優化。
方案4:基于EKF的BLE Beacon/PDR融合定位,其中航向估計采用基于電子羅盤和陀螺儀互補修正法。
實驗一共行走100步,步數檢測算法得到102步,正確率為98.04%,步長為0.581m,實驗二共行走77步,步數檢測算法得到76步,正確率為98.70%,步長為0.513 m。圖9顯示了實驗一僅使用電子羅盤及電子羅盤與陀螺儀互補修正兩種方法的航向估計值,可以看出電子羅盤獲取的航向與真實航向相比有較大誤差。經統計,誤差最大值為11.92°,平均值為2.68°,修正后的航向誤差減小,最大值為2.52°,平均值為0.38°。

圖9 航向角互補修正前后對比圖
圖10和圖11分別為實驗一和實驗二4種不同室內定位方案的軌跡。表1為4種室內定位方案誤差統計,該誤差為以標定的真實坐標為參考,計算的二維坐標誤差。由圖10可以看出:在實驗一中,方案1的iBeacon定位單點的精度和指紋庫中參考點的密集度相關,參考點越密集,定位精度越高。方案2出現明顯的航向角誤差,導致結果嚴重偏離了真實軌跡,表1顯示了其定位誤差值從初始的0.204 m不斷累積到5.288 m。方案3的平均誤差為2.457 m,最大誤差為4.781 m,結果表明本文采用的電子羅盤和陀螺儀互補修正PDR定位算法能較好地解決航向角的誤差問題,該方案最初的軌跡十分接近真實軌跡,但是隨著步長估計誤差的累積,逐漸偏離真實軌跡。方案4融合定位誤差最小,相比前3個方案,平均誤差分別降低了11.75%、36.64%、26.66%,最大誤差降低了38.38%、11.64%、2.26%。相似的結論可從圖11和表1的實驗二的結果圖表中獲得。

圖10 實驗一4種室內定位方案的定位軌跡

表1 4種室內定位方案誤差統計 單位:m

圖11 實驗二4種室內定位方案的定位軌跡
圖12給出了iBeacon指紋定位、在電子羅盤和陀螺儀互補修正的基礎上進行PDR室內定位和EKF融合定位的誤差累計分布函數,單PDR定位誤差過大未在該圖中體現。結果表明,實驗一中,本文提出的PDR定位和iBeacon融合定位的定位誤差在1.5 m內的概率大于90%,實驗二中融合定位的定位誤差在0.4 m內的概率為100%,優于PDR和iBeacon單傳感器定位精度。

圖12 不同室內定位方案的誤差累計分布函數
為提高室內定位精度,本文顧及PDR和iBeacon指紋定位的互補性,研究了基于移動智能終端的融合PDR/iBeacon的室內定位算法,采用電子羅盤和陀螺儀互補修正航向角法降低了PDR的累積誤差的效應。兩組實測實驗結果表明:采用電子羅盤和陀螺儀互補修正航向角比單采用電子羅盤獲取的航向平均誤差減小了2.3°,最大誤差減小了9.4°。實驗一(60 m軌跡)中,使用PDR/iBeacon融合定位算法的平面平均定位誤差為1.802 m,相比改進的PDR定位算法和iBeacon定位算法,定位誤差分別減小了26.66%、11.75%;實驗二(39米軌跡)中,使用PDR/iBeacon融合定位算法的平面平均定位誤差為0.560 m,相比改進的PDR定位算法和iBeacon定位算法,定位誤差分別減小了11.81%、25.53%。融合PDR/iBeacon的室內定位能降低PDR的誤差累積和iBeacon定位的波動性,延長有效定位的時間,滿足用戶室內定位的需求。