本發明涉及目標定位、目標跟蹤等領域,尤其涉及基于智能移動設備的室內定位領域。
背景技術:
隨著智慧城市、移動互聯網、智能移動設備等技術的發展,作為這些領域的共性技術——位置服務顯得尤為重要。同時,人們對室內定位的需求日益增加,如何通過有效的技術手段來實現室內精確定位已經成為亟待解決的問題。
行人航位推算(Pedestrian Dead Reckoning,PDR)是近些年室內定位領域的研究熱點,它是通過采集高精度傳感器數據,以計步檢測和航向估計為基礎,從已知起始位置進行航位推算的目標定位技術。PDR在沒有GPS信號的室內也能正常運用,因此廣泛應用于室內定位。但是,PDR的定位誤差會隨著時間而累積,在使用一定時間后,PDR會出現誤差逐步增大,定位精度逐步下降的問題。由于在室內進行目標定位,目標的移動受到建筑物的墻壁等障礙物的約束,因此,一種有效遏制累積誤差的方法是利用已知的室內地圖信息在定位過程中進行地圖匹配來提高定位精度。粒子濾波是一種基于粒子仿真的概率估計算法,其核心思想是通過計算一組隨機樣本的蒙特卡洛估計來表征待估計的后驗概率分布,因此,被廣泛應用于定位系統中。粒子實際就是對狀態空間中未知或者隱藏狀態的采樣。在定位系統中,一個粒子就表征目標一個可能的位置,當粒子數量足夠大時,粒子極大概率出現在目標正確的位置上。
技術實現要素:
為了克服當前的航位推算室內定位算法誤差會隨著時間累積導致定位精度隨時間下降、定位精度較低的不足,本發明提出一種基于地圖信息和位置自適應修正的粒子濾波室內定位方法,在定位過程中使用地圖信息,在粒子濾波算法中對補償粒子的位置進行自適應調整,從而修正目標位置,減小位置更新過程中的誤差,可有效克服航位推算算法的累積誤差,提高定位精度。
本發明解決其技術問題所采用的技術方案是:
一種基于地圖信息和位置自適應修正的粒子濾波室內定位方法,包括以下步驟:
步驟1,粒子初始化為指定粒子攜帶的狀態信息為其中是初始時刻t0第i個粒子的狀態向量,分別是時刻t0第i個粒子的橫坐標、縱坐標和權重,初始權重設為1,N是粒子數量,是由目標初始位置加上偏移量得到,偏移量服從均值為0,方差為σ2的高斯分布;
步驟2,粒子傳播,根據式(1)由k-1時刻粒子狀態向量Sk-1計算出粒子在k時刻的狀態向量Sk,其中是k時刻第i個粒子的坐標,是k-1時刻第i個粒子的坐標,Lk-1是k-1時刻目標的行進步長,Lk是k時刻目標的行進步長,由式(2)計算得到,其中α,β是步長模型參數,是在離線階段根據已知步長和步頻通過線性回歸計算得到,freqk是k時刻的目標步頻,根據目標行進過程中采集到的加速度傳感器數據通過波峰檢測算法計算得到,是k時刻第i個粒子的航向,是k-1時刻第i個粒子的航向,由方向傳感器采集得到;
Lk=α·freqk+β (2)
步驟3,粒子更新,判斷粒子在傳播過程中是否與地圖中的墻壁等障礙物相交,如果存在相交則該粒子滅亡,權重置為0;
步驟4,目標位置確定,根據式(3)計算得到目標在k時刻的最終位置,其中(Xk,Yk)是k時刻由粒子濾波算法估算出的目標最終位置坐標,是k時刻第i個粒子的坐標,是k時刻第i個粒子的權重;
步驟5,粒子重采樣和位置自適應修正,設步驟3中得到的存活粒子數為Ns,在存活的粒子中隨機抽取N-Ns個粒子用于補償損失的粒子;在粒子補償時對補償的粒子位置根據式(4)進行調整,其中是在k時刻隨機抽取的存活粒子的位置坐標,是在k時刻補償粒子的位置坐標,是k時刻的航向偏差修正參數,分別是的x軸分量和y軸分量,由式(5)計算得到,是k時刻重采樣粒子i的位置偏移量,服從均值為0,方差為σ2的高斯分布,分別是的x軸分量和y軸分量;是k時刻存活粒子位置距離目標位置的平均偏移量,分別是的x軸分量和y軸分量,是k-1時刻重采樣后粒子位置距離目標位置的平均偏移量,分別是的x軸分量和y軸分量;μk是k時刻的位置修正增益參數,由式(10)計算得到,其中表示
本發明的有益效果主要表現在:為了克服航位推算目標定位算法的累積誤差,利用地圖信息,在粒子重采樣中對補償粒子位置進行自適應調整,從而修正目標位置,減小了位置更新過程中的累積誤差,有效的提高了定位精度。
附圖說明
圖1為本發明基于地圖信息和位置自適應修正的粒子濾波室內定位方法的流程圖。
圖2為本發明方法和其他方法的室內定位效果比較圖。
圖3為本發明方法和其他方法的定位誤差比較圖。
具體實施方式
下面結合附圖和實施例對本發明作進一步說明。
參照圖1~圖3,一種基于地圖信息和位置自適應修正的粒子濾波室內定位方法,在安卓手機平臺上實施,采用手機平臺的傳感器采集到的數據做測試。目標在行進過程中,有兩個傳感器數據需要采集——加速度傳感器數據和方向傳感器數據。測試選擇在一段長約53米的室內曲線型路段進行,路面寬約2.5米,路面兩側為墻壁。
加速度傳感器數據處理包括采用波峰檢測算法檢測出目標行進步數,同時計算出實時的步頻,用于航位推算系統中行進距離的計算;方向傳感器數據用于估計目標行進方向。
為了克服現有航位推算的累積誤差,本發明采用一種基于地圖信息和位置自適應修正的粒子濾波室內定位方法,可以根據定位誤差自適應調整粒子位置來修正目標位置,得到更高的定位精度,簡稱為PA-PF。
該方法的步驟如下:
步驟1,初始化粒子為指定粒子攜帶的狀態信息為其中是初始時刻t0第i個粒子狀態向量,分別是時刻t0第i個粒子的橫坐標、縱坐標和粒子權重,是由目標初始位置加上偏移量得到,偏移量服從均值為0,方差σ2=22的高斯分布;
取粒子數為N=200,初始權重設為1,每個粒子都代表用戶一個可能的運動狀態,也就是目標一個可能的位置;
步驟2,粒子傳播,每個粒子根據航位推算公式,即通過步數和步長的乘積來獲得目標的相對位移,根據式(1)由k-1時刻粒子狀態向量Sk-1計算出粒子在k時刻的狀態向量Sk;
其中,是k時刻第i個粒子的坐標,是k-1時刻第i個粒子的坐標;是k-1時刻第i個粒子的航向;Lk-1是k-1時刻目標的行進步長,Lk是k時刻目標的行進步長;由式(2)計算得到,其中α,β是步長模型參數,是在離線階段根據已知步長和步頻通過線性回歸計算得到,freqk是k時刻的目標步頻,根據目標行進過程中采集到的加速度傳感器數據通過波峰檢測算法計算得到,是k時刻第i個粒子的航向,由方向傳感器采集得到;
Lk=α·freqk+β (2)
步驟3,粒子更新,判斷粒子傳播的每一步中是否與地圖中的障礙物相交,如果存在相交則該粒子滅亡,權重置為0;
步驟4,目標位置確定,根據式(3)通過存活的粒子所在位置的加權和來確定目標在k時刻的最終位置,其中(Xk,Yk)是k時刻目標由粒子濾波算法估算出的最終位置的坐標,是k時刻第i個粒子的坐標,是k時刻第i個粒子的權重;
步驟5,粒子重采樣和位置自適應修正,隨著濾波時間的增加,由于粒子的滅亡會出現粒子退化現象,需要對其進行重采樣,增加對精確定位更加可靠的粒子數;
本發明采用隨機采樣方法,設粒子更新中得到的存活粒子數為Ns,從存活下來的粒子中隨機選取N-Ns個粒子用于補償損失的粒子,在對粒子補償過程中根據粒子滅亡的情況通過式(4)對補償粒子的生成位置做自適應調整,從而對目標位置進行修正;
其中,是在k時刻隨機抽取的存活粒子的位置坐標,是在k時刻補償粒子的位置坐標,是k時刻的航向偏差修正參數,分別是的x軸分量和y軸分量,由式(5)計算得到,是k時刻重采樣粒子i的位置偏移量,服從均值為0,方差為σ2的高斯分布,分別是的x軸分量和y軸分量;是k時刻存活粒子位置距離目標位置的平均偏移量,分別是的x軸分量和y軸分量,是k-1時刻重采樣后粒子位置距離目標位置的平均偏移量,分別是的x軸分量和y軸分量;
μk是k時刻的位置修正增益參數,因為在不同時刻,不同路線下對重采樣粒子進行位置調整的大小不同,所以在設定初始位置修正增益參數μ0=50后,在不同時刻根據實際情況自適應調整參數μk以達到最優修正;式(10)是參數自適應調整公式,其中表示
圖2是使用航位推算(DR)方法、粒子濾波(PF)方法和本發明基于地圖信息和位置自適應修正的粒子濾波室內定位(PA-PF)方法的室內定位效果比較圖。由圖2可以看出由于DR方法的定位誤差會隨著時間而累積,目標的移動軌跡隨著時間的推移出現了較大的偏差,PF方法有效提高了定位精度,而PA-PF方法在PF方法上進行了改進,根據定位誤差自適應調整粒子位置從而取得了更高的定位精度。圖3是使用航位推算(DR)方法、粒子濾波(PF)方法和本發明基于地圖信息和位置自適應修正的粒子濾波室內定位(PA-PF)方法的定位誤差比較圖。由圖3中可以看出隨著時間的推移,DR方法的平均誤差不斷累積增加,并且沒有收斂,而PF方法和PA-PF方法的平均誤差在整體上明顯比DR方法的誤差小得多,有明顯的收斂趨勢,即使在局部增大到一個程度,也會在后期漸漸收斂到一個較低的誤差,且PA-PF方法比PF方法的誤差更小,具有更優的定位效果。表1是使用航位推算(DR)方法、粒子濾波(PF)方法和本發明基于地圖信息和位置自適應修正的粒子濾波室內定位(PA-PF)方法的平均誤差比較,可以看出,本發明方法較其他方法有效的提高了定位精度。
表1
顯而易見,在不偏離本發明的真實精神和范圍的前提下,在此描述下的本發明可以有許多變化。因此,所有對于本領域技術人員來說一些顯而易見的改變,都應包括在本權利要求書所涵蓋的范圍之內。本發明所要求保護的范圍僅由所述的權利要求書進行限定。