宋世銘 ,王 繼 ,韓李濤 ,2
隨著無線通訊技術(shù)的發(fā)展以及智能手機(jī)的普及,基于位置的服務(wù)(location based services,LBS)與我們的生活緊密相連,藍(lán)牙(bluetooth)、無線保真(wireless fidelity,WiFi)、超寬帶(ultra wide band,UWB)、超聲波、紅外線、發(fā)光二極管(light emitting diode,LED)等室內(nèi)信息源以及定位算法如加權(quán) k 最鄰近算法(weighted k-nearest neighbor algorithm,WKNN)、粒子濾波、行人航跡推算(pedestrian dead reckoning,PDR)等,結(jié)合先進(jìn)的地圖制圖技術(shù),可為處于復(fù)雜室內(nèi)進(jìn)行活動的人群提供可靠的位置信息。然而,室內(nèi)定位使用無線通訊技術(shù)受接收信號強(qiáng)度(received signal strength indicator,RSSI)的制約,聲光學(xué)技術(shù)需要鋪設(shè)額外的設(shè)備,PDR易受行走角度與步長的影響,均存在一定的缺陷。相對于以上室內(nèi)信息源,室內(nèi)地磁定位技術(shù)因其穩(wěn)定性高[1-2]、無需額外設(shè)備而廣受關(guān)注。但在室內(nèi)建筑影響下,地磁信息不具有唯一性[3]、分辨率低導(dǎo)致定位精度不高等是地磁定位技術(shù)面臨的主要問題之一。
地磁定位技術(shù)的研究主要在提高地磁匹配率和定位算法2個方面:文獻(xiàn)[4]通過克里金插值提高地磁分辨率,利用動態(tài)時間規(guī)整算法實現(xiàn)定位,其定位精度在1 m以內(nèi);文獻(xiàn)[5]意識到手機(jī)姿態(tài)對地磁強(qiáng)度的影響,提出了適用于多模式下的地磁匹配算法,提高了地磁定位的魯棒性和精度;文獻(xiàn)[6]提出了地磁/WiFi/PDR融合的室內(nèi)定位算法,利用測量磁場的總強(qiáng)度更新粒子權(quán)重,采用粒子濾波算法實現(xiàn)定位,克服了PDR的累積誤差以及地磁值不唯一的缺陷;文獻(xiàn)[7]提出了動態(tài)時間規(guī)整(dynamic time warping,DTW)和粒子濾波(particle filter,PF)聯(lián)合算法,其定位精度優(yōu)于1 m;文獻(xiàn)[8]提出了PDR和粒子濾波相融合的定位算法,實時修正PDR累計誤差,實現(xiàn)2 m的定位精度等。
地磁定位指紋模型,可采用多種特征變量,包括:單變量(地磁總強(qiáng)度)、雙變量(h、v方向磁場分量)以及3變量(x、y、z方向磁場分量),其特征變量越多,則更加有利于定位精度的提高[1]。目前,地磁定位技術(shù)常用經(jīng)插值處理的地磁強(qiáng)度進(jìn)行權(quán)重計算,實際上,智能手機(jī)磁力計獲取的地磁強(qiáng)度受手機(jī)姿態(tài)影響較大,此外,地磁定位算法主要采用粒子濾波算法,該算法需要生成大量的粒子以保證迭代時粒子的多樣性,這增加了定位的時間復(fù)雜度。本文通過對地磁信息的坐標(biāo)轉(zhuǎn)化,極大地降低了手機(jī)姿態(tài)對地磁信號的影響,采用地磁 3軸(x、y、z)數(shù)據(jù)進(jìn)行粒子權(quán)重更新,提高了地磁指紋的匹配率,使用標(biāo)簽性較強(qiáng)的WiFi對粒子濾波算法進(jìn)行初始化,減少粒子濾波算法初始化粒子數(shù)量,實驗證明其時間復(fù)雜度與精度都有較大的提高。
理論上較小的區(qū)域內(nèi)地磁信息差異性較小,無法應(yīng)用到室內(nèi)定位。但是地磁易受周圍金屬物品的干擾形成特定的磁場,對于室內(nèi)環(huán)境中存在的金屬物品,加大了室內(nèi)環(huán)境中地磁信息的差異,若建筑結(jié)構(gòu)不發(fā)生大改變,室內(nèi)地磁場就會保持相對穩(wěn)定[9],使得地磁可以應(yīng)用于室內(nèi)定位。
多數(shù)地磁定位方法以地磁強(qiáng)度作為地磁指紋。使用智能手機(jī)采集地磁信息,獲取每個指紋點上的相應(yīng)的地磁指紋,即利用智能手機(jī)采集,計算地磁強(qiáng)度,計算公式為
式中:M是該特征點的地磁強(qiáng)度;x、y、z分別是手機(jī)采集的 3軸數(shù)據(jù)。對采集的地磁強(qiáng)度進(jìn)行處理制作等值線圖,如圖1所示。
圖1 地磁強(qiáng)度的空間分布
從圖1可得室內(nèi)地磁強(qiáng)度具有差異性,但不具有唯一性,在進(jìn)行加權(quán)位置計算時,造成計算位置的偏差較明顯,此外手機(jī)姿態(tài)對地磁強(qiáng)度的影響明顯如圖2所示,根據(jù)采集的磁場數(shù)據(jù),實驗場內(nèi)不同位置模值的最大差異為9 μT,而手機(jī)姿態(tài)對某一位置的地磁模值的最大差異為 8 μT,所以以地磁強(qiáng)度作為地磁指紋匹配率低,因此本文提出了以手機(jī)采集的地磁x、y、z 3軸數(shù)據(jù)作為地磁指紋用于匹配定位。
圖2 不同姿態(tài)下地磁強(qiáng)度變化
雖然地磁數(shù)據(jù)在穩(wěn)定性上有較好的表現(xiàn),但易受到手機(jī)姿態(tài)的影響,為了獲取較為穩(wěn)定的地磁指紋,就需要對載體坐標(biāo)系下獲取的地磁信息向世界坐標(biāo)系下轉(zhuǎn)換,載體地磁數(shù)據(jù)向世界坐標(biāo)系轉(zhuǎn)換如圖3所示。
圖3 載體坐標(biāo)系與世界坐標(biāo)系之間的轉(zhuǎn)換
智能手機(jī)中提供了計算旋轉(zhuǎn)矩陣的方法getRotationMatrix(),可直接得到旋轉(zhuǎn)矩陣R,方法getOrientation()可計算載體的航位角、俯仰角以及翻滾角。利用式(2)完成載體坐標(biāo)系下向世界坐標(biāo)系的地磁信息轉(zhuǎn)換,即
式中:R為3×3的旋轉(zhuǎn)矩陣;xa、ya、za為載體坐標(biāo)系下的地磁數(shù)據(jù);XS、YS、ZS為世界坐標(biāo)系下的地磁數(shù)據(jù)。在保證俯仰角以及翻滾角不變的情況下(水平放置),改變航位角,手機(jī)采集到的原始地磁信息與世界坐標(biāo)系的地磁信息分別如圖 4所示。
圖4 載體坐標(biāo)系與世界坐標(biāo)下的地磁3軸數(shù)據(jù)
由圖4可得,載體坐標(biāo)系下的地磁數(shù)據(jù)在航位角發(fā)生改變時,3軸數(shù)據(jù)會發(fā)生明顯的變化,而在轉(zhuǎn)換之后,3軸數(shù)據(jù)受姿態(tài)影響較小,因此采集世界坐標(biāo)系下的地磁信息作為地磁指紋。然而,在世界坐標(biāo)系下的各地磁指紋均存在1個分量趨于0,直接用于定位時匹配度低(維度為 2),為了提高地磁信息匹配的維度,需進(jìn)一步將地磁指紋轉(zhuǎn)化為載體坐標(biāo)系下的地磁信息,轉(zhuǎn)換公式為
式中:xa、ya、za為轉(zhuǎn)換后載體坐標(biāo)下的地磁信息;XS、YS、ZS為世界坐標(biāo)系下的地磁指紋; Rx(θ)、Ry(φ)、Rz(Φ)分別為歐拉角旋轉(zhuǎn)矩陣,即
式中:Rx、Ry、Rz分別為旋轉(zhuǎn)載體x、y、z 3軸的旋轉(zhuǎn)矩陣;θ、?、Φ分別為手機(jī)的翻滾角、俯仰角以及航位角,可通過手機(jī)的提供的方法獲取。通過上述轉(zhuǎn)化,指紋點經(jīng)轉(zhuǎn)換后與實際采集的地磁數(shù)據(jù)有較好的匹配度,如圖5所示。
通過載體坐標(biāo)系與世界坐標(biāo)系下的地磁數(shù)據(jù)的相互轉(zhuǎn)換,可有效降低手機(jī)姿態(tài)對地磁數(shù)據(jù)的影響,增加地磁匹配信息的維度,從而提高地磁數(shù)據(jù)的匹配度。
圖5 經(jīng)轉(zhuǎn)化后的地磁信息與實際數(shù)據(jù)的匹配度
為了進(jìn)一步檢驗室內(nèi)小區(qū)域內(nèi)地磁存在一定差異性以及距離相關(guān)性,選取某指紋點參考點,采集離此指紋點不同距離的指紋點的地磁 3軸數(shù)據(jù)進(jìn)行對比,結(jié)果如圖6所示。
從圖 6中可得,室內(nèi)不同位置的地磁 3軸數(shù)據(jù)具有一定的差異性,可采用室內(nèi)地磁信息進(jìn)行定位,但仍然存在室內(nèi)地磁信息不唯一的現(xiàn)象,為了解決室內(nèi)地磁強(qiáng)度不唯一的現(xiàn)象,引入室內(nèi)另一WiFi信號源,WiFi因其具有唯一的物理地址(media access control,MAC)從而具有較強(qiáng)的標(biāo)簽性,可用于彌補(bǔ)室內(nèi)地磁強(qiáng)度不唯一的現(xiàn)象。
圖6 距某一指紋點不同距離的地磁3軸數(shù)據(jù)情況
隨著無線技術(shù)的發(fā)展,室內(nèi)安裝著很多路由器使得WiFi信息的獲取變得更加容易。不同位置獲取的 WiFi信息是不同的,應(yīng)用于 WiFi定位的算法很多,但大多都受WiFi信號不穩(wěn)定的制約,定位精度一般在1~3 m。
為了探究WiFi信號隨時間的變化情況,在實驗室某位置進(jìn)行WiFi信號采集。采集起始時間為19∶00,手機(jī)位置不發(fā)生改變連續(xù)采集3 d,采集信號的變化情況如圖7所示。
圖7 同一位置RSSI隨時間的變化情況
對圖7進(jìn)行分析,可以得到以下幾個結(jié)論:
1)WiFi信號強(qiáng)度越強(qiáng),受周圍環(huán)境的影響越小。由采集數(shù)據(jù)的情況來看,WiFi信號強(qiáng)度較強(qiáng)的無線訪問節(jié)點(access point,AP)在同等條件影響下波動在4~9 dBm,而信號強(qiáng)度較低AP波動范圍在 6~15 dBm。
2)WiFi波動情況在夜間波動較小,波動范圍1~5 dBm;白間波動較大,波動范圍5~15 dBm,其強(qiáng)度的變化易受周圍環(huán)境的影響,在室內(nèi)物品擺放不變的情況下,夜間與白間最顯著的區(qū)別在于人員的流動情況(實驗室人員上班時間為7∶30到晚上22∶00),這是導(dǎo)致WiFi變化的1個主要原因。
3)WiFi在受同樣的條件影響下,其波動不一定相同的,信號強(qiáng)度較強(qiáng)的AP往往表現(xiàn)出良好的穩(wěn)定性。
因此,不同位置WiFi雖然有差異性,但受周圍環(huán)境的影響具有較強(qiáng)的隨機(jī)性,并且不易矯正,這限制了其定位的精度,但仍可計算得出大體的位置。
綜上所述,室內(nèi)地磁定位中地磁強(qiáng)度或者地磁3軸數(shù)據(jù)都面臨著地磁信息不唯一的問題,而WiFi定位受穩(wěn)定性的制約,通過WKNN算法可以計算大致的區(qū)域,但難以保證定位精度,將地磁和WiFi的優(yōu)缺點相互融合,可提高定位精度。
傳統(tǒng)室內(nèi)定位粒子濾波算法,對定位區(qū)域整體初始化會產(chǎn)生大量無用粒子導(dǎo)致準(zhǔn)確度低,使用PDR進(jìn)行粒子更新受限于 PDR的累積誤差的影響。本文通過引入WiFi信號源增加粒子濾波算法準(zhǔn)確度,降低PDR的累計誤差,從而提高室內(nèi)定位的精度以及穩(wěn)定性。
地磁、WiFi融合定位系統(tǒng)采用指紋定位的方法,分為離線定位與在線定位2個階段。離線定位階段采集各指紋點相關(guān)的傳感器數(shù)據(jù),完成指紋建庫;在線定位階段對實時采集的多傳感器數(shù)據(jù)進(jìn)行計算、分析,實現(xiàn)定位,定位系統(tǒng)流程如圖8所示。
粒子濾波模型廣泛應(yīng)用于非線性、非高斯環(huán)境下的狀態(tài)估計[10],其分為4步:①初始化;②更新;③重采樣;④預(yù)測[11]。多源信息融合的粒子濾波定位算法:以粒子濾波算法為主,采用WiFi構(gòu)建初始區(qū)域,以PDR作為狀態(tài)更新方程,并實時根據(jù)WiFi構(gòu)建區(qū)域降低PDR的累計誤差,以地磁3軸(x、y、z)數(shù)據(jù)更新權(quán)重,并實現(xiàn)位置估算的過程,其定位流程如圖9所示。
算法步驟如下:
1)計算初始區(qū)域:待測點WiFi信息計算相似度較高的n個指紋(n≥3),并構(gòu)建初始區(qū)域。
2)粒子初始化:在初始區(qū)域內(nèi)隨機(jī)生成m個粒子(m≥5),將距各粒子最近的地磁指紋作為參考與待測點地磁信息計算權(quán)重,計算公式為
式中:ωi為粒子權(quán)重;xr、yr、zr為待側(cè)點地磁信息;fx、fy、fz為轉(zhuǎn)換的地磁指紋,將權(quán)重賦予各粒子。如果是初次定位,轉(zhuǎn)至步驟7),否則,繼續(xù)步驟3);
3)坐標(biāo)更新:發(fā)生移動時,對步驟2)中的各粒子以更新方程進(jìn)行移動,更新方程為
式中:X0、Y0為各粒子的初始位置;dn為步長;nθ為智能手機(jī)航位角,k、n分別為行走總步數(shù)、第幾步行走。
圖8 定位系統(tǒng)流程圖
圖9 定位算法流程圖
4)計算T值:獲取實時WiFi數(shù)據(jù),使用步驟1)的方式構(gòu)建實時區(qū)域 B,并計算位置更新后粒子與該區(qū)域的比重T,當(dāng)T>N(閾值),繼續(xù)下一步,否則,將B作為初始區(qū)域轉(zhuǎn)至步驟2)。
5)權(quán)重更新:更新后粒子以式(5)計算權(quán)重,若粒子超出邊界,則將權(quán)重置為0。
6)重采樣: 經(jīng)過若干次迭代,粒子逐漸向高權(quán)值靠攏,只剩下幾個權(quán)值很高的粒子,從而失去粒子多樣性,無法有效表達(dá)狀態(tài)的后驗概率密度分布。重采樣可有效保持粒子的多樣性。
7)計算待測點位置:若為初次定位,以地磁信息源采用WKNN算法計算位置,否則,對各粒子進(jìn)行距離加權(quán)計算定位位置。
8)移動檢測:當(dāng)檢測到發(fā)生移動時(因為本文主要對粒子濾波算法進(jìn)行改進(jìn),所以運動檢測采用的時手機(jī)自帶的計步器),轉(zhuǎn)至步驟3)。
為了驗證 WiFi和地磁相融合算法的室內(nèi)定位精度,選取山東科技大學(xué)某教學(xué)樓三樓進(jìn)行試驗。實驗區(qū)大小為33.6 m×6 m,實驗設(shè)備終端是華為麥芒 6,實驗分為離線建庫階段和在線匹配階段。
在進(jìn)行指紋庫的建立時需分別建立 WiFi和地磁指紋庫,WiFi指紋庫以1.2 m為間隔進(jìn)行WiFi數(shù)據(jù)采集,各指紋點采集10組WiFi數(shù)據(jù),以各AP均值建立指紋庫;地磁指紋庫以 0.6 m為間隔采集地磁數(shù)據(jù),手機(jī)采集的是載體坐標(biāo)系下地磁3軸 x、y、z數(shù)據(jù),利用式(2)完成載體坐標(biāo)系向世界坐標(biāo)系的地磁信息轉(zhuǎn)換,并建立地磁指紋庫。
WiFi指紋算法中,時間復(fù)雜度與指紋數(shù)量成正相關(guān),為了減少匹配時間就需要減少對不必要的指紋進(jìn)行匹配,k均值聚類算法(k-means clustering algorithm)可有效降低指紋匹配量,減少匹配時間并提高定位精度[12]。鑒于實驗區(qū)域是1個環(huán)境不復(fù)雜的樓道,簡單的選取3個初始中心,對采集的WiFi數(shù)據(jù)進(jìn)行k均值聚類處理,計算各指紋RSSI與各中心相似度,指紋與中心相似度高的為1個類別,以此完成WiFi指紋庫的預(yù)處理,聚類情況如圖10所示。
圖10 WiFi指紋庫k均值聚類
在實驗過程中,為了對定位精度進(jìn)行評估,在測試路徑上選取了若干評估點,另外考慮到本文算法中,在粒子超越邊界之外,粒子權(quán)重置為0的情況,因此,分別在邊界線與非邊界線進(jìn)行定位試驗,實際路徑如圖11所示。結(jié)合本文算法分別進(jìn)行了以地磁強(qiáng)度和地磁3軸數(shù)據(jù)進(jìn)行權(quán)重計算的室內(nèi)定位實驗,2者定位精度對比如圖12所示,定位軌跡如圖13所示。
圖11 規(guī)劃的實際路徑
圖12 定位精度對比
圖13 定位(地磁3軸、地磁強(qiáng)度)軌跡圖
從圖 12、圖13可知本文算法在使用地磁3軸進(jìn)行權(quán)重更新比地磁強(qiáng)度定位精度高。采用地磁x、y、z 更新權(quán)重最大誤差為 3.29 m,最小誤差為0.57 m,平均誤差為1.99 m;采用地磁強(qiáng)度更新權(quán)重最大誤差為 6.88 m,最小誤差 0.67 m,平均誤差為2.83 m。此外,邊界處與非邊界處平均定位精度分別為 1.61、2.38 m,在對某一位置進(jìn)行多次定位時,定位結(jié)果相差最大為0.38 m,最小為0.14 m。從實驗結(jié)果可得,此算法具有較高的定位精度和穩(wěn)定性。
本文在分析地磁和WiFi的特征的基礎(chǔ)上,改進(jìn)粒子濾波算法對地磁和WiFi進(jìn)行融合處理,增加了粒子初始化的精準(zhǔn)度并降低粒子更新時的累積誤差,對地磁數(shù)據(jù)進(jìn)行轉(zhuǎn)換增加地磁信號的穩(wěn)定性,以地磁 3軸數(shù)據(jù)代替地磁強(qiáng)度進(jìn)行權(quán)重計算,提高了匹配率。實驗結(jié)果表明,與傳統(tǒng)的粒子濾波算法相比,本文算法具有更好的定位精度以及較高的穩(wěn)定性。