背景
在超市逛逛的時候,作爲一個男生,相信大家都有這樣的經歷,我是誰,我在哪,我要幹啥?在嘈雜的人流中迷失了。。。這時候我們假想這樣的一個情景,我們帶着airpods,褚在一個大型商場的某圪塔
me:siri,我在哪?
siri: 你在***商城
me:。。。這個我用你告訴?
這時候,如果我們有比較良好的室內定位解決方案,siri可能真的就不會這麼智障了。
最近做了一個室內點定位的項目, 在開發的過程中經歷了許多踩坑跳坑的過程,在這裏把開發過程遇到的一些事情來記錄下來。由於在建築物內,GPS定位無法提供精準的定位服務,所以我們需要重新尋找可以實現室內定位的定位基準。
室內定位方式
實現的可行性及實現難度
1,基於無線信號發射設備的WIFI,BLE,RFID,UWB。
-- 這種方式通過外圍已知設備的輔助進行定位,根據信號的強度來計算推演位置。
2,基於地磁
-- 地磁在一定範圍內是變化緩慢的,但由於建築內的影響磁場分佈的物體存在,導致在室內的地磁會發生固定的變化。根據磁場的變化來進行位置推測
3,基於慣性導航
-- 假設某物體以一定變化率的運動方式進行軌跡變化,根據預先確定的位置、估計或已知的速度和時間來估計當前的位置
4,基於圖像視覺
-- 基於圖像識別
室內定位主要使用的定位算法
1,鄰近探測法
-- 通過一些有範圍限制的物理信號的接收,從而判斷移動設備是否出現在某一個發射點附近。(及信號最強)
-- 基站定位操作簡單,精度不高,依賴參考點分佈密度
2,質心定位法
-- 根據移動設備可接收信號範圍內所有已知的信標位置,計算其質心座標作爲移動設備的座標(三點定位)
-- 基站定位精度不高,依賴參考點分佈密度
3,多邊定位法
-- 通過測量待測目標到已知參考點之間的距離,從而確定待測目標的位置。(主要用於超聲波)
4,極點法
-- 測量相對某一已知參考點的距離和角度從而確定待測點的位置激光掃描測量簡單,精度高,應用不廣(由於需要角度距離等參數,需要的設備要求比較高)
5,指紋定位
-- 在定位空間中建立指紋數據庫,通過將實際信息與數據庫中的參數進行對比來實現定位(KNN,餘弦相似度)
-- 前期工作量大,不適用於變化環境中
6,航位推算法
-- 根據預先確定的位置、估計或已知的速度和時間來估計當前的位置慣性導航數據穩定,無依賴,誤差隨時間積累
項目實現
本項目基於佈設成本的考量,採用BLE和地磁組合來進行點定位,通過前期的數據採集,建指紋庫,之後進行指紋匹配進行定位。
實現方式爲兩種:(具體實現後述)
1,根據採集的數據(ble-RSSI和地磁)構建深度學習網絡,對數據輸入量x以及輸出量y進行建模,得到一個區域內的模型。
輸入:
[(rssi1.t1, magnetic1(x,y,z).t1, location(floor1,location1)),
(rssi1.t2,magnetic1(x,y,z).t2, location(floor1,location1)),
......
(rssi1.tn,magnetic1(x,y,z).tn, location(floor1,location1))]
..................
[(rssin.t1, magneticn(x,y,z).t1, location(floorn,locationn)),
(rssin.t2,magneticn(x,y,z).t2, location(floorn,locationn)),
......
(rssin.tn,magneticn(x,y,z).tn, location(floorn,locationn))]
輸出:
對上述數據進行DNN建模,建立關於點RSSI和location的模型
model for(rssi1--location)
2,根據採集的數據,對數據進行濾波,濾波結束後得到某點的模型值,對測量點進行餘弦相似度計算,來確定點位置。
輸入:
[(rssi1,t1, magnetic1(x,y,z).t1,location(floor1,location1)),
(rssi1,t2, magnetic1(x,y,z).t2,location(floor1,location2)),
......
(rssi1.tn,magnetic1(x,y,z).tn, location(floor1,location1))]
輸出:
對上述數據,進行濾波,可以得到某位置出現的rssi及地磁數據的分佈函數。並濾波之後存放在數據庫中,定位的時候使用餘弦相似度計算,當某值在某一定閾值內表示在該點。
實驗數據分析
本處使用地磁數據進行體現:(6個不同點的地磁數據採集XYZ分量)
由上圖可知,在單個點中,地磁的數據是基本穩定在一定的區域內。接下來我們看在連續的區域內地磁的變化:(6次連續位置地磁分量測量)
由上圖可以得到,在室內連續的區域內,點之間的地磁變化基本是固定的。再由於固定點的地磁數據是穩定的,那麼我們就可以結合RSSI進行指紋定位,或者餘弦相似定位。由於RSSI和地磁單一的採集量在定位的時候是無助的,不準確的,採用RSSI和地磁的結合指紋將有效提高精確度。
要實現上述問題,需要一些數據處理,在後文中進行描述。
歡迎大家批評!!!