陳 鈺 王宇浩 王亞雪 項(xiàng) 賚, 張騰飛 張海平 徐 瑩
(1. 山東省國(guó)土測(cè)繪院, 山東 濟(jì)南 250013;2. 山東科技大學(xué) 測(cè)繪與空間信息學(xué)院, 山東 青島 266590)
《2022中國(guó)衛(wèi)星導(dǎo)航與位置服務(wù)產(chǎn)業(yè)發(fā)展白皮書(shū)》顯示,2021年我國(guó)衛(wèi)星導(dǎo)航與位置服務(wù)產(chǎn)業(yè)總體產(chǎn)值達(dá)到4 690億元人民幣,較2020年增長(zhǎng)16.29%。隨著智能手機(jī)、手環(huán)等移動(dòng)智能終端的普及,基于移動(dòng)終端的室內(nèi)導(dǎo)航與位置服務(wù)需求劇增。調(diào)查顯示,2021年我國(guó)約有1.9億老年人患有慢性病,通過(guò)高精度室內(nèi)技術(shù)構(gòu)建智慧城市、智慧家庭、智慧醫(yī)院等各種場(chǎng)景的泛終端互連、協(xié)作、安全體系可大大減輕社會(huì)的養(yǎng)老壓力。另外,火車站、機(jī)場(chǎng)、大型地下停車場(chǎng)、會(huì)展中心、監(jiān)獄、隔離病房、化工廠等場(chǎng)所都迫切地需要基于移動(dòng)終端的室內(nèi)定位服務(wù)[1]。
雖然基于全球衛(wèi)星導(dǎo)航系統(tǒng)(global navigation satellite system,GNSS)的定位技術(shù)已趨于成熟,但GNSS具有天然的脆弱性,即信號(hào)弱、穿透力差、易受干擾等,在室內(nèi)難以提供可靠的定位服務(wù)[2-3]。目前,無(wú)線通信技術(shù)、超寬帶、低功耗藍(lán)牙(bluetooth low energy, BLE)、微機(jī)電系統(tǒng)、行人航位推算(pedestrian dead reckoning, PDR)等室內(nèi)定位技術(shù)被廣泛研究[4]。然而,受成本、精度、可靠性、時(shí)效性等限制,目前仍未有一種占據(jù)主流地位的室內(nèi)定位技術(shù)。PDR雖是相對(duì)定位技術(shù)且存在累積誤差,但具有連續(xù)性好、短時(shí)精度高等優(yōu)點(diǎn)[4]。BLE Beacon具有低成本、低功耗、無(wú)須互聯(lián)網(wǎng)等優(yōu)點(diǎn),且能滿足普通用戶導(dǎo)航定位精度需求,但BLE Beacon定位存在連續(xù)性較差等問(wèn)題[5]。PDR與BLE Beacon具有良好的互補(bǔ)性,故本文擬研究基于移動(dòng)智能終端的融合PDR/iBeacon的室內(nèi)定位算法,為基于移動(dòng)終端的室內(nèi)定位服務(wù)提供技術(shù)支持。
PDR技術(shù)通過(guò)分析行人行走時(shí)的運(yùn)動(dòng)特征,依據(jù)步數(shù)、步長(zhǎng)、航向來(lái)遞推相對(duì)運(yùn)動(dòng)位置,其算法的三個(gè)核心部分為步數(shù)檢測(cè)、步長(zhǎng)估計(jì)、航向估計(jì)[4]。其中,航向角是影響PDR誤差累積的關(guān)鍵[6]。利用陀螺儀、磁力計(jì)和加速度計(jì)可以直接或間接地獲取與航向相關(guān)的信息。陀螺儀精度較低,姿態(tài)解算結(jié)果易發(fā)散。由于室內(nèi)電磁干擾,電子羅盤精度也難以滿足航向角估計(jì)精度。有學(xué)者提出采用擴(kuò)展卡爾曼濾波[7]、容積卡爾曼濾波[8]、互補(bǔ)濾波[9-10]等多源傳感器融合策略可提高航向角估計(jì)精度。指紋定位于2000年在微軟的RADAR定位系統(tǒng)[11]中首次提出,是目前較為主流的定位方法之一。BLE Beacon指紋定位一般分為離線階段和在線階段[5]。離線階段是指紋定位的關(guān)鍵階段,指紋數(shù)據(jù)采集、建立指紋與構(gòu)建指紋庫(kù)都是在離線階段完成。在線定位階段,主要是基于匹配或分類的思想實(shí)現(xiàn)定位。K近鄰法(K nearest neighbor,KNN)[12]、支持向量機(jī)(support vector machines,SVM)[13]、隨機(jī)森林[14]、樸素貝葉斯[15]等方法都可以實(shí)現(xiàn)在線定位。相比單一的定位技術(shù),融合定位可能產(chǎn)生更準(zhǔn)確的結(jié)果,有學(xué)者將iBeacon的數(shù)據(jù)融合在擴(kuò)展卡爾曼濾波中以校準(zhǔn)PDR結(jié)果[16-17],Jenny[18]等人指出在小區(qū)域內(nèi)iBeacon和PDR融合定位結(jié)果達(dá)到米級(jí)的精度,但其測(cè)試路線較短,定位方法的魯棒性還未知。
基于PDR和iBeacon指紋定位的互補(bǔ)性,本文研究了基于移動(dòng)智能終端的融合PDR/iBeacon的室內(nèi)定位算法,并采用電子羅盤和陀螺儀互補(bǔ)修正航向角,以降低PDR的累積誤差。文中第一節(jié)方法論介紹了本文采用的PDR定位、iBeacon定位和融合定位方法,第二節(jié)通過(guò)實(shí)測(cè)實(shí)驗(yàn)評(píng)估了融合定位的性能,最后得出一些有效的結(jié)論。
行人航跡推算是一種輕量級(jí)的獨(dú)立定位方法,可提供連續(xù)的位置估計(jì),主要分為航向估計(jì)、步長(zhǎng)估算、步數(shù)檢測(cè)三個(gè)部分。基于智能手機(jī)的PDR定位原理如圖1所示,智能手機(jī)內(nèi)含的加速度計(jì)獲取各個(gè)軸向的加速度,陀螺儀獲取三軸角速度,磁力計(jì)和陀螺儀輸出值計(jì)算行人航向信息,最終根據(jù)公式(1)推算出移動(dòng)目標(biāo)的位移信息。
圖1 PDR定位原理
(1)
式中,(N,E)表示點(diǎn)位坐標(biāo);Li表示步長(zhǎng);θhi表示航向角。
PDR的作用是確定行人的軌跡信息,而軌跡信息需要知道行人的距離和方向,距離信息通常采用步數(shù)來(lái)估計(jì),因此對(duì)步數(shù)進(jìn)行準(zhǔn)確的檢測(cè)對(duì)于室內(nèi)定位具有非常重要的意義。在PDR算法中,航向估計(jì)和步長(zhǎng)估計(jì)的準(zhǔn)確度會(huì)直接影響PDR的導(dǎo)航定位精度。下面詳細(xì)介紹本文采用的航向估計(jì)、步長(zhǎng)估計(jì)和步數(shù)檢測(cè)的算法。
1.1.1航向估計(jì)
智能手機(jī)內(nèi)置的電子羅盤和陀螺儀皆可感知手機(jī)的姿態(tài)變化,都可用于航向角估計(jì)。使用陀螺儀確定航向角時(shí),誤差會(huì)隨著時(shí)間累積,而電子羅盤感知航向角誤差不隨時(shí)間累積,但人體抖動(dòng)會(huì)使航向角的抖動(dòng)加大[19]。對(duì)此,本文采用卡爾曼濾波融合電子羅盤和陀螺儀來(lái)進(jìn)行航向估計(jì)、糾正和優(yōu)化。
圖2給出了具體技術(shù)路線圖,步驟如下:
圖2 航向估計(jì)技術(shù)路線
步驟一:陀螺儀和電子羅盤數(shù)據(jù)預(yù)處理。
手機(jī)在移動(dòng)時(shí),由于人體的抖動(dòng)使得陀螺儀存在很大的噪聲問(wèn)題,在進(jìn)行航向判定時(shí),先對(duì)陀螺儀數(shù)據(jù)進(jìn)行平滑處理,剔除偽轉(zhuǎn)向點(diǎn),之后再結(jié)合電子羅盤的航向角信息實(shí)現(xiàn)互補(bǔ)修正航向。圖3顯示了平滑前后陀螺儀Z軸角度的變化。從圖3可以看出,平滑后角度變小,去處了大部分57°左右的偽轉(zhuǎn)向點(diǎn)。
圖3 平滑前后陀螺儀Z軸角速度
步驟二:基于單軸陀螺儀的航向判定。
考慮到行人在室內(nèi)步行時(shí),特別是在室內(nèi)走廊行走時(shí),移動(dòng)方向基本保持一致。即當(dāng)行人不進(jìn)行轉(zhuǎn)彎動(dòng)作時(shí),其步行軌跡可被認(rèn)為是一條直線,屆時(shí)陀螺儀的相關(guān)數(shù)據(jù)只在較小的范圍內(nèi)波動(dòng),而只在轉(zhuǎn)彎處陀螺儀Z軸會(huì)存在較大的角速率。因此,本文采用電子羅盤和陀螺儀互補(bǔ)修正的算法來(lái)獲得當(dāng)前時(shí)刻的航向[20],融合算法描述如下:
(2)
1)轉(zhuǎn)彎和直線行走識(shí)別。本文采用式(3)來(lái)識(shí)別行人是否處于直線行走狀態(tài),設(shè)定一個(gè)閾值ωth,本文設(shè)置ωth=57.296°/s(1Rad/s),ωz低于ωth時(shí),則認(rèn)為該段時(shí)間內(nèi)行人處于直線行走狀態(tài),即turn_flag=0,否則進(jìn)行轉(zhuǎn)彎行為,即turn_flag=1。
(3)
式中,ωz為陀螺儀的Z軸角度;ωth為陀螺儀的抖動(dòng)誤差。
2)當(dāng)turn_flag=0,行人該段時(shí)間內(nèi)直線行走,取該段時(shí)間內(nèi)航向角的均值作為初始值,進(jìn)而進(jìn)入步驟三。
步驟三:基于卡爾曼濾波的航向優(yōu)化。
軌跡分割后每一段的運(yùn)動(dòng)都是直線,本文采用卡爾曼濾波實(shí)時(shí)航向優(yōu)化,削弱直線行走時(shí)行人抖動(dòng)引起的高斯噪聲。系統(tǒng)變化規(guī)律可以用以下線性狀態(tài)方程描述:
xt=Ftxt-1+ωt
(4)
式中,Ft表示從系統(tǒng)t-1時(shí)刻演化到t時(shí)刻的狀態(tài)轉(zhuǎn)移矩陣;ωt為過(guò)程噪聲,服從N(0,Q)分布,意義為前后航向角的變化。
將電子羅盤的航向角作為系統(tǒng)的觀測(cè)值Zt,觀測(cè)值與系統(tǒng)狀態(tài)值之間的關(guān)系可以用于線性測(cè)量方程表示:
Zt=Htxt+Vt
(5)
式中,Ht為測(cè)量矩陣;Vt為觀測(cè)噪聲,服從N(0,Q)分布,且與過(guò)程噪聲互不相關(guān)。
1.1.2步長(zhǎng)估計(jì)
目前較成熟的步長(zhǎng)估計(jì)法包括線性步長(zhǎng)估算模型、非線性步長(zhǎng)估算模型。線性模型認(rèn)為步長(zhǎng)和步頻成正相關(guān)性,而非線性模型提出步長(zhǎng)與加速度的最大最小幅值之差呈一定的相關(guān)性。綜合考慮算法的復(fù)雜度、步長(zhǎng)估計(jì)精度,本文選擇最經(jīng)典的非線性模型之一韋恩伯格步長(zhǎng)模型[21],該模型以單步內(nèi)Z軸加速度的最大值和最小值為特征進(jìn)行步長(zhǎng)估計(jì)
(6)
1.1.3步數(shù)檢測(cè)
常用的步數(shù)檢測(cè)算法有ZUPT[22-23]、自相關(guān)分析法[24]、峰值探測(cè)法[25-27]等。其中峰值探測(cè)法依據(jù)人行走時(shí)加速度周期性的規(guī)律,檢測(cè)加速度連續(xù)的兩個(gè)波峰或波谷進(jìn)行檢步,計(jì)算簡(jiǎn)單,算法復(fù)雜度低。為進(jìn)行步數(shù)檢測(cè),本文首先對(duì)手機(jī)加速度計(jì)的數(shù)據(jù)進(jìn)行預(yù)處理,去除重力對(duì)加速度計(jì)的影響,然后構(gòu)建低通濾波器對(duì)高頻噪聲進(jìn)行濾波,最后采用附加時(shí)間閾值和加速度閾值去除偽峰值,公式如下[28]:
(7)
BLE Beacon指紋定位主要分為離線階段和在線匹配階段(圖4)。在離線階段,在已知參考點(diǎn)上采集周圍Beacon數(shù)據(jù),將采集得到的RSS信息、物理地址(media access control,MAC)以及已知參考點(diǎn)的位置信息構(gòu)建為指紋點(diǎn),將大量的指紋點(diǎn)形成離線指紋庫(kù)。在線匹配階段,利用智能手機(jī)等移動(dòng)設(shè)備采集室內(nèi)的Beacon信號(hào)強(qiáng)度和MAC地址,按照相應(yīng)的匹配算法估計(jì)未知點(diǎn)的位置。本文采用加權(quán)K近鄰法(weightedK-nearest neighbor,WKNN)算法[29],通過(guò)計(jì)算實(shí)時(shí)點(diǎn)與數(shù)據(jù)庫(kù)參考點(diǎn)的歐氏距離最近的K個(gè)參考點(diǎn),以距離的倒數(shù)作為權(quán)重估計(jì)待測(cè)點(diǎn)的坐標(biāo)。
圖4 iBeacon指紋定位算法流程
基于WKNN的待測(cè)點(diǎn)的估計(jì)坐標(biāo)為
(8)
式中,(x,y)beacon表示未知點(diǎn)的坐標(biāo);dj表示待測(cè)點(diǎn)到匹配到的第j個(gè)指紋點(diǎn)的歐幾里得距離;(xj,yj)表示第j個(gè)指紋點(diǎn)的坐標(biāo)。
BLEBeacon指紋定位不存在累計(jì)誤差,但是由于Beacon的最大發(fā)射功率僅有10 Hz,在進(jìn)行連續(xù)定位時(shí)容易出現(xiàn)數(shù)據(jù)缺失的問(wèn)題,且指紋定位方向判別能力較差,容易出現(xiàn)定位跳變的現(xiàn)象。PDR定位結(jié)果連續(xù)性較強(qiáng),但存在累計(jì)誤差,使得定位結(jié)果逐漸發(fā)散。目前來(lái)看,很難有單一的技術(shù)在定位精度、穩(wěn)定性、系統(tǒng)成本方面取得平衡,多技術(shù)融合是當(dāng)前室內(nèi)定位技術(shù)發(fā)展的趨勢(shì),EKF廣泛應(yīng)用于融合定位領(lǐng)域,其本質(zhì)是一種最優(yōu)估計(jì)理論。因此,考慮PDR和iBeacon指紋定位的互補(bǔ)性,本文采用EKF實(shí)現(xiàn)BLE Beacon/PDR融合定位,技術(shù)路線圖如圖5所示。
圖5 iBeacon和PDR融合定位技術(shù)路線圖
根據(jù)EKF原理,基于EKF的BLE Beacon/PDR融合定位的過(guò)程如下:
(1)確定濾波器的狀態(tài)量和量測(cè)量。
(2)構(gòu)建狀態(tài)方程和量測(cè)方程。
(3)狀態(tài)一步預(yù)測(cè)。
(4)狀態(tài)估計(jì)。
遞推步驟(3)、步驟(4)可解算下一時(shí)刻的融合定位結(jié)果。
為了評(píng)估本文采用的航向估計(jì)算法及基于EKF的BLE Beacon/PDR融合定位算法的性能,設(shè)計(jì)了兩組實(shí)驗(yàn),實(shí)驗(yàn)場(chǎng)所分別位于山東科技大學(xué)J6號(hào)樓5樓(實(shí)驗(yàn)一)和S2號(hào)樓2樓(實(shí)驗(yàn)二)。如圖6和7所示,Beacon沿兩側(cè)墻壁對(duì)稱部署了18個(gè)iBeacon設(shè)備,實(shí)驗(yàn)一采集302個(gè)參考點(diǎn),實(shí)驗(yàn)二采集599個(gè)參考點(diǎn),對(duì)每個(gè)參考點(diǎn)RSSI數(shù)據(jù)進(jìn)行采樣,采樣頻率為1Hz。兩組實(shí)驗(yàn)采用的iBeacon設(shè)備如圖8所示,為北京四月兄弟科技有限公司的April Beacon EEK-N,所有iBeacon的發(fā)射功率設(shè)置為0 dBm,廣播頻率為10 Hz,采用的手機(jī)型號(hào)為榮耀X10。實(shí)驗(yàn)人員水平手持設(shè)備沿走廊中間行走,以常速沿著走廊經(jīng)過(guò)轉(zhuǎn)角。實(shí)驗(yàn)一共行走100步,60 m,實(shí)驗(yàn)二共行走77步,39 m,采用以下4種方案估計(jì)室內(nèi)定位結(jié)果。
圖6 實(shí)驗(yàn)一場(chǎng)所及iBeacon設(shè)備布設(shè)位置簡(jiǎn)圖
圖7 實(shí)驗(yàn)二場(chǎng)所及iBeacon設(shè)備布設(shè)位置簡(jiǎn)圖
圖8 iBeacon設(shè)備和手機(jī)設(shè)備
方案1:BLE Beacon指紋定位。
方案2:PDR定位。
方案3:基于電子羅盤和陀螺儀互補(bǔ)修正的PDR定位:在方案2的基礎(chǔ)上,采用本文1.1.1中算法對(duì)航向角進(jìn)行糾正和優(yōu)化。
方案4:基于EKF的BLE Beacon/PDR融合定位,其中航向估計(jì)采用基于電子羅盤和陀螺儀互補(bǔ)修正法。
實(shí)驗(yàn)一共行走100步,步數(shù)檢測(cè)算法得到102步,正確率為98.04%,步長(zhǎng)為0.581m,實(shí)驗(yàn)二共行走77步,步數(shù)檢測(cè)算法得到76步,正確率為98.70%,步長(zhǎng)為0.513 m。圖9顯示了實(shí)驗(yàn)一僅使用電子羅盤及電子羅盤與陀螺儀互補(bǔ)修正兩種方法的航向估計(jì)值,可以看出電子羅盤獲取的航向與真實(shí)航向相比有較大誤差。經(jīng)統(tǒng)計(jì),誤差最大值為11.92°,平均值為2.68°,修正后的航向誤差減小,最大值為2.52°,平均值為0.38°。
圖9 航向角互補(bǔ)修正前后對(duì)比圖
圖10和圖11分別為實(shí)驗(yàn)一和實(shí)驗(yàn)二4種不同室內(nèi)定位方案的軌跡。表1為4種室內(nèi)定位方案誤差統(tǒng)計(jì),該誤差為以標(biāo)定的真實(shí)坐標(biāo)為參考,計(jì)算的二維坐標(biāo)誤差。由圖10可以看出:在實(shí)驗(yàn)一中,方案1的iBeacon定位單點(diǎn)的精度和指紋庫(kù)中參考點(diǎn)的密集度相關(guān),參考點(diǎn)越密集,定位精度越高。方案2出現(xiàn)明顯的航向角誤差,導(dǎo)致結(jié)果嚴(yán)重偏離了真實(shí)軌跡,表1顯示了其定位誤差值從初始的0.204 m不斷累積到5.288 m。方案3的平均誤差為2.457 m,最大誤差為4.781 m,結(jié)果表明本文采用的電子羅盤和陀螺儀互補(bǔ)修正PDR定位算法能較好地解決航向角的誤差問(wèn)題,該方案最初的軌跡十分接近真實(shí)軌跡,但是隨著步長(zhǎng)估計(jì)誤差的累積,逐漸偏離真實(shí)軌跡。方案4融合定位誤差最小,相比前3個(gè)方案,平均誤差分別降低了11.75%、36.64%、26.66%,最大誤差降低了38.38%、11.64%、2.26%。相似的結(jié)論可從圖11和表1的實(shí)驗(yàn)二的結(jié)果圖表中獲得。
圖10 實(shí)驗(yàn)一4種室內(nèi)定位方案的定位軌跡
表1 4種室內(nèi)定位方案誤差統(tǒng)計(jì) 單位:m
圖11 實(shí)驗(yàn)二4種室內(nèi)定位方案的定位軌跡
圖12給出了iBeacon指紋定位、在電子羅盤和陀螺儀互補(bǔ)修正的基礎(chǔ)上進(jìn)行PDR室內(nèi)定位和EKF融合定位的誤差累計(jì)分布函數(shù),單PDR定位誤差過(guò)大未在該圖中體現(xiàn)。結(jié)果表明,實(shí)驗(yàn)一中,本文提出的PDR定位和iBeacon融合定位的定位誤差在1.5 m內(nèi)的概率大于90%,實(shí)驗(yàn)二中融合定位的定位誤差在0.4 m內(nèi)的概率為100%,優(yōu)于PDR和iBeacon單傳感器定位精度。
圖12 不同室內(nèi)定位方案的誤差累計(jì)分布函數(shù)
為提高室內(nèi)定位精度,本文顧及PDR和iBeacon指紋定位的互補(bǔ)性,研究了基于移動(dòng)智能終端的融合PDR/iBeacon的室內(nèi)定位算法,采用電子羅盤和陀螺儀互補(bǔ)修正航向角法降低了PDR的累積誤差的效應(yīng)。兩組實(shí)測(cè)實(shí)驗(yàn)結(jié)果表明:采用電子羅盤和陀螺儀互補(bǔ)修正航向角比單采用電子羅盤獲取的航向平均誤差減小了2.3°,最大誤差減小了9.4°。實(shí)驗(yàn)一(60 m軌跡)中,使用PDR/iBeacon融合定位算法的平面平均定位誤差為1.802 m,相比改進(jìn)的PDR定位算法和iBeacon定位算法,定位誤差分別減小了26.66%、11.75%;實(shí)驗(yàn)二(39米軌跡)中,使用PDR/iBeacon融合定位算法的平面平均定位誤差為0.560 m,相比改進(jìn)的PDR定位算法和iBeacon定位算法,定位誤差分別減小了11.81%、25.53%。融合PDR/iBeacon的室內(nèi)定位能降低PDR的誤差累積和iBeacon定位的波動(dòng)性,延長(zhǎng)有效定位的時(shí)間,滿足用戶室內(nèi)定位的需求。