宋世銘 ,王 繼 ,韓李濤 ,2
隨著無線通訊技術的發展以及智能手機的普及,基于位置的服務(location based services,LBS)與我們的生活緊密相連,藍牙(bluetooth)、無線保真(wireless fidelity,WiFi)、超寬帶(ultra wide band,UWB)、超聲波、紅外線、發光二極管(light emitting diode,LED)等室內信息源以及定位算法如加權 k 最鄰近算法(weighted k-nearest neighbor algorithm,WKNN)、粒子濾波、行人航跡推算(pedestrian dead reckoning,PDR)等,結合先進的地圖制圖技術,可為處于復雜室內進行活動的人群提供可靠的位置信息。然而,室內定位使用無線通訊技術受接收信號強度(received signal strength indicator,RSSI)的制約,聲光學技術需要鋪設額外的設備,PDR易受行走角度與步長的影響,均存在一定的缺陷。相對于以上室內信息源,室內地磁定位技術因其穩定性高[1-2]、無需額外設備而廣受關注。但在室內建筑影響下,地磁信息不具有唯一性[3]、分辨率低導致定位精度不高等是地磁定位技術面臨的主要問題之一。
地磁定位技術的研究主要在提高地磁匹配率和定位算法2個方面:文獻[4]通過克里金插值提高地磁分辨率,利用動態時間規整算法實現定位,其定位精度在1 m以內;文獻[5]意識到手機姿態對地磁強度的影響,提出了適用于多模式下的地磁匹配算法,提高了地磁定位的魯棒性和精度;文獻[6]提出了地磁/WiFi/PDR融合的室內定位算法,利用測量磁場的總強度更新粒子權重,采用粒子濾波算法實現定位,克服了PDR的累積誤差以及地磁值不唯一的缺陷;文獻[7]提出了動態時間規整(dynamic time warping,DTW)和粒子濾波(particle filter,PF)聯合算法,其定位精度優于1 m;文獻[8]提出了PDR和粒子濾波相融合的定位算法,實時修正PDR累計誤差,實現2 m的定位精度等。
地磁定位指紋模型,可采用多種特征變量,包括:單變量(地磁總強度)、雙變量(h、v方向磁場分量)以及3變量(x、y、z方向磁場分量),其特征變量越多,則更加有利于定位精度的提高[1]。目前,地磁定位技術常用經插值處理的地磁強度進行權重計算,實際上,智能手機磁力計獲取的地磁強度受手機姿態影響較大,此外,地磁定位算法主要采用粒子濾波算法,該算法需要生成大量的粒子以保證迭代時粒子的多樣性,這增加了定位的時間復雜度。本文通過對地磁信息的坐標轉化,極大地降低了手機姿態對地磁信號的影響,采用地磁 3軸(x、y、z)數據進行粒子權重更新,提高了地磁指紋的匹配率,使用標簽性較強的WiFi對粒子濾波算法進行初始化,減少粒子濾波算法初始化粒子數量,實驗證明其時間復雜度與精度都有較大的提高。
理論上較小的區域內地磁信息差異性較小,無法應用到室內定位。但是地磁易受周圍金屬物品的干擾形成特定的磁場,對于室內環境中存在的金屬物品,加大了室內環境中地磁信息的差異,若建筑結構不發生大改變,室內地磁場就會保持相對穩定[9],使得地磁可以應用于室內定位。
多數地磁定位方法以地磁強度作為地磁指紋。使用智能手機采集地磁信息,獲取每個指紋點上的相應的地磁指紋,即利用智能手機采集,計算地磁強度,計算公式為

式中:M是該特征點的地磁強度;x、y、z分別是手機采集的 3軸數據。對采集的地磁強度進行處理制作等值線圖,如圖1所示。

圖1 地磁強度的空間分布
從圖1可得室內地磁強度具有差異性,但不具有唯一性,在進行加權位置計算時,造成計算位置的偏差較明顯,此外手機姿態對地磁強度的影響明顯如圖2所示,根據采集的磁場數據,實驗場內不同位置模值的最大差異為9 μT,而手機姿態對某一位置的地磁模值的最大差異為 8 μT,所以以地磁強度作為地磁指紋匹配率低,因此本文提出了以手機采集的地磁x、y、z 3軸數據作為地磁指紋用于匹配定位。

圖2 不同姿態下地磁強度變化
雖然地磁數據在穩定性上有較好的表現,但易受到手機姿態的影響,為了獲取較為穩定的地磁指紋,就需要對載體坐標系下獲取的地磁信息向世界坐標系下轉換,載體地磁數據向世界坐標系轉換如圖3所示。

圖3 載體坐標系與世界坐標系之間的轉換
智能手機中提供了計算旋轉矩陣的方法getRotationMatrix(),可直接得到旋轉矩陣R,方法getOrientation()可計算載體的航位角、俯仰角以及翻滾角。利用式(2)完成載體坐標系下向世界坐標系的地磁信息轉換,即

式中:R為3×3的旋轉矩陣;xa、ya、za為載體坐標系下的地磁數據;XS、YS、ZS為世界坐標系下的地磁數據。在保證俯仰角以及翻滾角不變的情況下(水平放置),改變航位角,手機采集到的原始地磁信息與世界坐標系的地磁信息分別如圖 4所示。


圖4 載體坐標系與世界坐標下的地磁3軸數據
由圖4可得,載體坐標系下的地磁數據在航位角發生改變時,3軸數據會發生明顯的變化,而在轉換之后,3軸數據受姿態影響較小,因此采集世界坐標系下的地磁信息作為地磁指紋。然而,在世界坐標系下的各地磁指紋均存在1個分量趨于0,直接用于定位時匹配度低(維度為 2),為了提高地磁信息匹配的維度,需進一步將地磁指紋轉化為載體坐標系下的地磁信息,轉換公式為

式中:xa、ya、za為轉換后載體坐標下的地磁信息;XS、YS、ZS為世界坐標系下的地磁指紋; Rx(θ)、Ry(φ)、Rz(Φ)分別為歐拉角旋轉矩陣,即

式中:Rx、Ry、Rz分別為旋轉載體x、y、z 3軸的旋轉矩陣;θ、?、Φ分別為手機的翻滾角、俯仰角以及航位角,可通過手機的提供的方法獲取。通過上述轉化,指紋點經轉換后與實際采集的地磁數據有較好的匹配度,如圖5所示。
通過載體坐標系與世界坐標系下的地磁數據的相互轉換,可有效降低手機姿態對地磁數據的影響,增加地磁匹配信息的維度,從而提高地磁數據的匹配度。

圖5 經轉化后的地磁信息與實際數據的匹配度
為了進一步檢驗室內小區域內地磁存在一定差異性以及距離相關性,選取某指紋點參考點,采集離此指紋點不同距離的指紋點的地磁 3軸數據進行對比,結果如圖6所示。
從圖 6中可得,室內不同位置的地磁 3軸數據具有一定的差異性,可采用室內地磁信息進行定位,但仍然存在室內地磁信息不唯一的現象,為了解決室內地磁強度不唯一的現象,引入室內另一WiFi信號源,WiFi因其具有唯一的物理地址(media access control,MAC)從而具有較強的標簽性,可用于彌補室內地磁強度不唯一的現象。

圖6 距某一指紋點不同距離的地磁3軸數據情況
隨著無線技術的發展,室內安裝著很多路由器使得WiFi信息的獲取變得更加容易。不同位置獲取的 WiFi信息是不同的,應用于 WiFi定位的算法很多,但大多都受WiFi信號不穩定的制約,定位精度一般在1~3 m。
為了探究WiFi信號隨時間的變化情況,在實驗室某位置進行WiFi信號采集。采集起始時間為19∶00,手機位置不發生改變連續采集3 d,采集信號的變化情況如圖7所示。

圖7 同一位置RSSI隨時間的變化情況
對圖7進行分析,可以得到以下幾個結論:
1)WiFi信號強度越強,受周圍環境的影響越小。由采集數據的情況來看,WiFi信號強度較強的無線訪問節點(access point,AP)在同等條件影響下波動在4~9 dBm,而信號強度較低AP波動范圍在 6~15 dBm。
2)WiFi波動情況在夜間波動較小,波動范圍1~5 dBm;白間波動較大,波動范圍5~15 dBm,其強度的變化易受周圍環境的影響,在室內物品擺放不變的情況下,夜間與白間最顯著的區別在于人員的流動情況(實驗室人員上班時間為7∶30到晚上22∶00),這是導致WiFi變化的1個主要原因。
3)WiFi在受同樣的條件影響下,其波動不一定相同的,信號強度較強的AP往往表現出良好的穩定性。
因此,不同位置WiFi雖然有差異性,但受周圍環境的影響具有較強的隨機性,并且不易矯正,這限制了其定位的精度,但仍可計算得出大體的位置。
綜上所述,室內地磁定位中地磁強度或者地磁3軸數據都面臨著地磁信息不唯一的問題,而WiFi定位受穩定性的制約,通過WKNN算法可以計算大致的區域,但難以保證定位精度,將地磁和WiFi的優缺點相互融合,可提高定位精度。
傳統室內定位粒子濾波算法,對定位區域整體初始化會產生大量無用粒子導致準確度低,使用PDR進行粒子更新受限于 PDR的累積誤差的影響。本文通過引入WiFi信號源增加粒子濾波算法準確度,降低PDR的累計誤差,從而提高室內定位的精度以及穩定性。
地磁、WiFi融合定位系統采用指紋定位的方法,分為離線定位與在線定位2個階段。離線定位階段采集各指紋點相關的傳感器數據,完成指紋建庫;在線定位階段對實時采集的多傳感器數據進行計算、分析,實現定位,定位系統流程如圖8所示。
粒子濾波模型廣泛應用于非線性、非高斯環境下的狀態估計[10],其分為4步:①初始化;②更新;③重采樣;④預測[11]。多源信息融合的粒子濾波定位算法:以粒子濾波算法為主,采用WiFi構建初始區域,以PDR作為狀態更新方程,并實時根據WiFi構建區域降低PDR的累計誤差,以地磁3軸(x、y、z)數據更新權重,并實現位置估算的過程,其定位流程如圖9所示。
算法步驟如下:
1)計算初始區域:待測點WiFi信息計算相似度較高的n個指紋(n≥3),并構建初始區域。
2)粒子初始化:在初始區域內隨機生成m個粒子(m≥5),將距各粒子最近的地磁指紋作為參考與待測點地磁信息計算權重,計算公式為

式中:ωi為粒子權重;xr、yr、zr為待側點地磁信息;fx、fy、fz為轉換的地磁指紋,將權重賦予各粒子。如果是初次定位,轉至步驟7),否則,繼續步驟3);
3)坐標更新:發生移動時,對步驟2)中的各粒子以更新方程進行移動,更新方程為

式中:X0、Y0為各粒子的初始位置;dn為步長;nθ為智能手機航位角,k、n分別為行走總步數、第幾步行走。

圖8 定位系統流程圖

圖9 定位算法流程圖
4)計算T值:獲取實時WiFi數據,使用步驟1)的方式構建實時區域 B,并計算位置更新后粒子與該區域的比重T,當T>N(閾值),繼續下一步,否則,將B作為初始區域轉至步驟2)。
5)權重更新:更新后粒子以式(5)計算權重,若粒子超出邊界,則將權重置為0。
6)重采樣: 經過若干次迭代,粒子逐漸向高權值靠攏,只剩下幾個權值很高的粒子,從而失去粒子多樣性,無法有效表達狀態的后驗概率密度分布。重采樣可有效保持粒子的多樣性。
7)計算待測點位置:若為初次定位,以地磁信息源采用WKNN算法計算位置,否則,對各粒子進行距離加權計算定位位置。
8)移動檢測:當檢測到發生移動時(因為本文主要對粒子濾波算法進行改進,所以運動檢測采用的時手機自帶的計步器),轉至步驟3)。
為了驗證 WiFi和地磁相融合算法的室內定位精度,選取山東科技大學某教學樓三樓進行試驗。實驗區大小為33.6 m×6 m,實驗設備終端是華為麥芒 6,實驗分為離線建庫階段和在線匹配階段。
在進行指紋庫的建立時需分別建立 WiFi和地磁指紋庫,WiFi指紋庫以1.2 m為間隔進行WiFi數據采集,各指紋點采集10組WiFi數據,以各AP均值建立指紋庫;地磁指紋庫以 0.6 m為間隔采集地磁數據,手機采集的是載體坐標系下地磁3軸 x、y、z數據,利用式(2)完成載體坐標系向世界坐標系的地磁信息轉換,并建立地磁指紋庫。
WiFi指紋算法中,時間復雜度與指紋數量成正相關,為了減少匹配時間就需要減少對不必要的指紋進行匹配,k均值聚類算法(k-means clustering algorithm)可有效降低指紋匹配量,減少匹配時間并提高定位精度[12]。鑒于實驗區域是1個環境不復雜的樓道,簡單的選取3個初始中心,對采集的WiFi數據進行k均值聚類處理,計算各指紋RSSI與各中心相似度,指紋與中心相似度高的為1個類別,以此完成WiFi指紋庫的預處理,聚類情況如圖10所示。

圖10 WiFi指紋庫k均值聚類
在實驗過程中,為了對定位精度進行評估,在測試路徑上選取了若干評估點,另外考慮到本文算法中,在粒子超越邊界之外,粒子權重置為0的情況,因此,分別在邊界線與非邊界線進行定位試驗,實際路徑如圖11所示。結合本文算法分別進行了以地磁強度和地磁3軸數據進行權重計算的室內定位實驗,2者定位精度對比如圖12所示,定位軌跡如圖13所示。

圖11 規劃的實際路徑

圖12 定位精度對比

圖13 定位(地磁3軸、地磁強度)軌跡圖
從圖 12、圖13可知本文算法在使用地磁3軸進行權重更新比地磁強度定位精度高。采用地磁x、y、z 更新權重最大誤差為 3.29 m,最小誤差為0.57 m,平均誤差為1.99 m;采用地磁強度更新權重最大誤差為 6.88 m,最小誤差 0.67 m,平均誤差為2.83 m。此外,邊界處與非邊界處平均定位精度分別為 1.61、2.38 m,在對某一位置進行多次定位時,定位結果相差最大為0.38 m,最小為0.14 m。從實驗結果可得,此算法具有較高的定位精度和穩定性。
本文在分析地磁和WiFi的特征的基礎上,改進粒子濾波算法對地磁和WiFi進行融合處理,增加了粒子初始化的精準度并降低粒子更新時的累積誤差,對地磁數據進行轉換增加地磁信號的穩定性,以地磁 3軸數據代替地磁強度進行權重計算,提高了匹配率。實驗結果表明,與傳統的粒子濾波算法相比,本文算法具有更好的定位精度以及較高的穩定性。