指紋和PDR的室內定位系統檢視原始碼討論檢視歷史
指紋和PDR的室內定位系統基於Wi-Fi指紋和PDR的室內定位系統,定位系統是一種用於確認某個需要定位的人或者物體在某時刻的位置而構建的相互關聯的設備或者集合。定位系統可以保證在設備上顯示當前設備任意時刻的位置,最具代表性的系統當屬GPS。
我國在「十二五」計劃之後啟動了「羲和」計劃,目的是構建一個為國內應急救援服務的室內定位服務。計劃中指出,要創新建立北斗遠海域定位導航與通信融合技術體系,突破北斗海上惡劣環境下無基準站定位3~5m精度的瓶頸, 定位精度達厘米級。「羲和」系統是我國自主研發的室內外高精度定位導航,2008至2018的十年時間從零到推出第一部能夠實現1米級別的定位精度的國產智能手機。它被社會寄予帶動大眾化應用萬億產值的厚望。
目錄
技術方案
Wi-Fi定位
本系統中採用的Wi-Fi定位方法是指紋定位法,選擇該方法的主要原因是雖然Wi-Fi信號的離線構建指紋數據庫的階段,場地柵格化(如圖2.1所示)、網格點信號指紋採集、數據庫[1]矯正處理等繁瑣且耗時的工作,但是相比於其他Wi-Fi定位方法,採集指紋建立數據庫的方法實現成本低,而且隨着算法的改進,指紋庫精度匹配的精度也隨之增加。
Wi-Fi的「位置指紋」就像每片樹葉的紋理一樣,是指一個位置對應一個獨有的特點。指紋可以是單維度的也可以是多維度的。而Wi-Fi指紋即是指在每個位置對應的路由器的信號強度RSS。Wi-Fi指紋定位的技術是利用路由器信號衰減的特性,每個點的信號特徵進行數據分類的方法。Wi-Fi定位具有很多優點:定位實現成本低,實現原理簡單等。但是Wi-Fi定位的缺點也是顯而易見的:1、離線採集工作量大。2、室內定位不同於室外定位的一點就是室內的物品較多,這些物品都將成為影響Wi-Fi定位的因素。3、Wi-Fi定位結果是離散的,這會讓定位結果的顯示看起來非常的不流暢。
步行者航位推算
步行者航位推算即Pedestrian Dead Reckoning(以下簡稱PDR)。PDR位置推算方法是使用上一次的點的坐標加上這次行走的步長在x、y軸上的映射長度即為下一次的坐標點。PDR算法具有很多的優點:1)對設備性能要求低。PDR算法的時間複雜度是O(1),可以在低性能的設備上快速計算出結果。2)硬件設備要求不高。現在大多數的智能手機都配備了加速度傳感器和磁感應傳感器只需要有這兩個傳感器[2]即可實現PDR算法。3)短時間內精度較高。PDR定位算法由於自身的特點,它的短時間內定位效果要好於其他效果的,誤差很低。PDR算法的缺點也很明顯:1)需要知道初始位置。PDR算法是需要一個初始位置用於後續坐標的計算的,可以手動設置初始位置,也可以由其他算法提供初始位置。2)長時間定位誤差較大。長時間定位的情況下由於受到地磁信號的干擾,PDR定位會產生較大的誤差,這個時候需要一個矯正的方法。
步行者航位推算的主要實現方法是使用上一時刻的點的坐標疊加運動的方向和距離計算出下一時刻的位置。 PDR定位算法原理如圖所示:
卡爾曼濾波
卡爾曼濾波器是由1930年出生在匈牙利的數學家卡爾曼發明的。典型的卡爾曼應用程序是在一組有限的觀察序列中預測對象的位置和速度,這些觀察序列在對象的位置中包含噪聲。現在,你可以在許多應用程序中找到卡爾曼濾波器,例如雷達和計算機視覺。卡爾曼濾波器將在融合定位算法中使用,它可以過濾掉PDR算法中的噪聲。
融合技術方案
針對Wi-Fi定位結果離散、PDR算法需要初始位置用於後續坐標的計算、PDR算法具有累計誤差等缺點,本系統利用的是基於Wi-Fi指紋和PDR融合的室內定位系統。本系統是採用Wi-Fi的定位作為PDR算法的初始位置,同時利用PDR進行連續的定位,在連續定位的同時,會定期的獲取Wi-Fi定位來修正PDR定位,假如PDR存在累計誤差,特別是在拐角處容易產生誤差,那麼系統就會獲取Wi-Fi定位來修正當前的行走軌跡,此外,再加上卡爾曼濾波器對融合算法後的定位結果進行一個濾波修正,得到了我們最後的定位位置。
創新設計
Wi-Fi指紋定位部分
Wi-Fi指紋定位算法有多種,簡單的有NN、KNN、餘弦相似度,複雜的隨機森林、神經網絡分類。考慮到實現複雜度的原因,本系統選擇使用了較為簡單的集中算法。經過實驗發現NN效果沒有KNN和餘弦估計好,於是使用KNN和餘弦相似度修改,使用KNN算法篩選出K個坐標點,然後計算K個點的餘弦相似度值,並且按從小到大的順序排序,最後將餘弦相似度的值作為權重賦予到最後的坐標計算中。
步行者航位推算部分
PDR算法的實現原理並不複雜,最重要的是需要獲取行人的步數和每步的旋轉角度,對於這些參數可以通過手機自帶的傳感器及安卓API獲取,我們只需要簡單的計算即可得到所有需要的參數。
融合定位算法
在上述中介紹到Wi-Fi掃描的時候會出現缺失AP的情況,那我們進行定位的時候也很有可能出現缺失AP,雖然不常見,但是一旦出現將會對結果造成很嚴重的影響。但是我們不知道掃描出來的Wi-Fi是否有缺失,這種情況下我選擇使用簡單過濾器。
關鍵技術
本系統實現了離線Wi-Fi指紋採集,在線Wi-Fi定位,Wi-Fi和PDR融合實時定位的一體化功能,不同於其他的只有單個功能的系統。其中地圖部分實現了坐標轉換、矢量化、柵格化等操作;移動終端數據採集部分,利用移動終端APP採集坐標點的RSSI等無線信息,即指紋信息上報到服務器端LC(Location Controller);移動終端在線Wi-Fi定位部分,利用移動終端APP打開Wi-Fi定位版塊,實時上報指紋信息到LC(Location Controller),經簡單處理後上報給服務器端的PS(Position Server),與原有採集的數據比對,計算並擬合最優的坐標點,在服務器端輸出後並反饋給APP界面顯示;移動終端Wi-Fi和PDR融合實時定位部分,打開移動終端APP的定位版塊,利用Wi-Fi定位實時修正PDR定位,在APP界面實時展示定位效果,同時在服務器端輸出定位坐標。
本系統主要由手機、無線網絡基礎設施(AP、AC)和定位服務平台三部分組成,其中移動定位設備是一加6t,服務器使用的戴爾Inspiron 15-7567。實驗共使用了5個路由器,均為TP-LINK WDR7660千兆版的路由器,實驗使用的測距儀是小米有品的激光測距儀。
參考文獻
- ↑ 細數常用數據庫有哪些 ,搜狐,2017-05-25
- ↑ 常見七種傳感器介紹,其中屬物理傳感器應用最廣泛 ,搜狐,2017-06-16