本發(fā)明涉及室內(nèi)定位領域,尤其涉及一種基于粒子濾波的地圖匹配定位方法及系統(tǒng)。
背景技術:
隨著無線定位技術的發(fā)展和人們對生活品質(zhì)的不斷追求,定位需求從室外延伸到室內(nèi)。室內(nèi)位置信息逐漸在日常生活中扮演重要的角色。室外主要由GNSS提供服務,而室內(nèi)則受到墻體的遮擋,一般在室內(nèi)GNSS信號很弱或無法接收,不能提供室內(nèi)定位服務,因此適用于室內(nèi)的定位方法得到廣泛研究和關注。
在位置服務(Location Based Service,LBS)發(fā)展如火如荼的今天,在現(xiàn)有技術中,通常采用基于傳感器數(shù)據(jù)的手機PDR的室內(nèi)定位技術,PDR稱為步行者航位推算,主要是計算獲得室內(nèi)行走的人的位置,該算法是根據(jù)步行者行走的步數(shù)、步長、方向進行測量和統(tǒng)計,推算出步行者行走軌跡和位置等信息。且步行者行走軌跡和位置是在一維室內(nèi)空間測量得到的。我們得到的數(shù)據(jù)都是在一維室內(nèi)空間得到的,即得到的都是一維的數(shù)據(jù),算法簡單,便于計算比較。但是在運用PDR進行定位的過程中,由于PDR所使用的積分角是由陀螺儀輸出的角速度積分,而對于手機等常用設備所使用的低成本陀螺儀對溫度,環(huán)境等非常敏感,即自身輸出誤差較大。因此啟動陀螺儀后輸出角速度會有一個較為明顯的零漂偏差,隨著定位次數(shù)增加,即定位時間的延長,這個零漂誤差給積分角度帶來的誤差也越來越大,導致定位結果不斷發(fā)散。這一特性導致其在運用中無可避免的使誤差逐漸增大,對于室內(nèi)環(huán)境,就意味著定位解可能會偏移到建筑上,導致定位不準確。
因此,現(xiàn)有技術中的缺陷是,通過PDR技術進行室內(nèi)定位,PDR自身角度是由積分得來的,導致在運用PDR自身角度進行定位時,隨著定位次數(shù)的增加,誤差越來越大,進而導致定位不準確。
技術實現(xiàn)要素:
針對上述技術問題,本發(fā)明提供一種基于粒子濾波的地圖匹配定位方法及系統(tǒng),采用了粒子濾波的方法,將室內(nèi)環(huán)境地圖基于定位解及其誤差建立粒子云,然后通過粒子權重調(diào)整更新粒子云的方式,得到定位解,實現(xiàn)室內(nèi)定位,提高了定位精度;避免了通過PDR算法進行室內(nèi)定位,因其誤差大,導致定位準確性差的問題。
為解決上述技術問題,本發(fā)明提供的技術方案是:
第一方面,本發(fā)明提供一種基于粒子濾波的地圖匹配定位方法,包括:
步驟S1,獲取室內(nèi)環(huán)境地圖,將所述室內(nèi)環(huán)境地圖的可行域拆解為直線道路可行域和交叉區(qū)域,并對所述直線道路可行域和交叉區(qū)域中包含的路徑進行標號,每條路徑對應一個路徑編號;
步驟S2,獲得基于PDR的結果生成的當前位置的粒子云,及所述當前位置的粒子云所處的路徑編號;
步驟S3,通過PDR算法獲得所述粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,得到更新后的粒子云;
步驟S4,根據(jù)所述路徑編號,判斷所述更新后的粒子云中的粒子所處區(qū)域:
當所述路徑編號為單條路徑時,判定所述更新后的粒子云中的粒子位于所述直線道路可行域內(nèi);
當所述路徑編號為多條路徑時,判定所述更新后的粒子云中的粒子位于所述交叉區(qū)域內(nèi);
步驟S5,根據(jù)所述更新后的粒子云中的粒子所處區(qū)域,調(diào)整所述更新后的粒子云中每個粒子的權重,計算所述更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
本發(fā)明的基于粒子濾波的地圖匹配定位方法,其技術方案為:獲取室內(nèi)環(huán)境地圖,將所述室內(nèi)環(huán)境地圖的可行域拆解為直線道路可行域和交叉區(qū)域,并對所述直線道路可行域和交叉區(qū)域中包含的路徑進行標號,每條路徑對應一個路徑編號;接著獲得基于PDR的結果生成的當前位置的粒子云,及所述當前位置的粒子云所處的路徑編號;
然后通過PDR算法獲得所述粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,得到更新后的粒子云;接著根據(jù)所述路徑編號,判斷所述更新后的粒子云中的粒子所處區(qū)域:當所述路徑編號為單條路徑時,判定所述更新后的粒子云中的粒子位于所述直線道路可行域內(nèi);當所述路徑編號為多條路徑時,判定所述更新后的粒子云中的粒子位于所述交叉區(qū)域內(nèi);
最后根據(jù)所述更新后的粒子云中的粒子所處區(qū)域,調(diào)整所述更新后的粒子云中每個粒子的權重,計算所述更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
本發(fā)明的基于粒子濾波的地圖匹配定位方法,采用了粒子濾波的方法,將室內(nèi)環(huán)境地圖基于定位解及其誤差建立粒子云,然后通過粒子權重調(diào)整更新粒子云的方式,得到定位解果,實現(xiàn)室內(nèi)定位,提高了定位精度。
進一步地,所述步驟S5,具體為:
根據(jù)所述更新后的粒子云中的粒子所處區(qū)域,調(diào)整所述更新后的粒子云中每個粒子的權重;
當所述更新后的粒子云中的粒子處于所述直線道路可行域內(nèi),將位于所述直線道路可行域內(nèi)的粒子權重置1,否則置0;
當所述更新后的粒子云中的粒子處于所述交叉域內(nèi),所述交叉域由多條直線路徑交叉形成,將位于所述交叉域內(nèi)的直線路徑上的粒子權重置1,否則置0;
計算所述更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
進一步地,所述步驟S3,通過PDR算法獲得所述粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,具體為:
通過PDR算法獲得所述粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差;
根據(jù)所述粒子云的當前位置、當前位置的方差,通過二維高斯分布獲得一定數(shù)量的粒子,所述粒子表示當前位置;
通過高斯噪聲算法計算所述步長的估計誤差和所述航向角的誤差,得到誤差;
根據(jù)所述步長和航向角,將所述步長作為均值,將所述誤差作為方差估計,得到高斯值;
將所述高斯值作為新的步長對所述粒子中的每個粒子進行位置的更新。
進一步地,還包括:
步驟S6,根據(jù)所述定位結果,更新所述定位結果對應的路徑編號。
第二方面,本發(fā)明提供一種基于粒子濾波的地圖匹配定位系統(tǒng),包括:
地圖預處理模塊,用于獲取室內(nèi)環(huán)境地圖,將所述室內(nèi)環(huán)境地圖的可行域拆解為直線道路可行域和交叉區(qū)域,并對所述直線道路可行域和交叉區(qū)域中包含的路徑進行標號,每條路徑對應一個路徑編號;
粒子云生成模塊,用于獲得基于PDR的結果生成的當前位置的粒子云,及所述當前位置的粒子云所處的路徑編號;
粒子更新模塊,用于通過PDR算法獲得所述粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,得到更新后的粒子云;
路徑區(qū)域判斷模塊,用于根據(jù)所述路徑編號,判斷所述更新后的粒子云中的粒子所處區(qū)域:
當所述路徑編號為單條路徑時,判定所述更新后的粒子云中的粒子位于所述直線道路可行域內(nèi);
當所述路徑編號為多條路徑時,判定所述更新后的粒子云中的粒子位于所述交叉區(qū)域內(nèi);
定位模塊,用于根據(jù)所述更新后的粒子云中的粒子所處區(qū)域,調(diào)整所述更新后的粒子云中每個粒子的權重,計算所述更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
本發(fā)明的基于粒子濾波的地圖匹配定位系統(tǒng),其技術方案為:先通過地圖預處理模塊,用于獲取室內(nèi)環(huán)境地圖,將所述室內(nèi)環(huán)境地圖的可行域拆解為直線道路可行域和交叉區(qū)域,并對所述直線道路可行域和交叉區(qū)域中包含的路徑進行標號,每條路徑對應一個路徑編號;接著通過粒子云生成模塊,獲得基于PDR的結果生成的當前位置的粒子云,及所述當前位置的粒子云所處的路徑編號;
然后通過粒子更新模塊,通過PDR算法獲得所述粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,得到更新后的粒子云;接著通過路徑區(qū)域判斷模塊,根據(jù)所述路徑編號,判斷所述更新后的粒子云中的粒子所處區(qū)域:當所述路徑編號為單條路徑時,判定所述更新后的粒子云中的粒子位于所述直線道路可行域內(nèi);當所述路徑編號為多條路徑時,判定所述更新后的粒子云中的粒子位于所述交叉區(qū)域內(nèi);
最后通過定位模塊,根據(jù)所述更新后的粒子云中的粒子所處區(qū)域,調(diào)整所述更新后的粒子云中每個粒子的權重,計算所述更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
本發(fā)明的基于粒子濾波的地圖匹配定位系統(tǒng),采用了粒子濾波的方法,將室內(nèi)環(huán)境地圖基于定位解及其誤差建立粒子云,然后通過粒子權重調(diào)整更新粒子云的方式,得到定位解果,實現(xiàn)室內(nèi)定位,提高了定位精度。
進一步地,所述定位模塊,具體用于:
根據(jù)所述更新后的粒子云中的粒子所處區(qū)域,調(diào)整所述更新后的粒子云中每個粒子的權重;
當所述更新后的粒子云中的粒子處于所述直線道路可行域內(nèi),將位于所述直線道路可行域內(nèi)的粒子權重置1,否則置0;
當所述更新后的粒子云中的粒子處于所述交叉域內(nèi),所述交叉域由多條直線路徑交叉形成,將位于所述交叉域內(nèi)的直線路徑上的粒子權重置1,否則置0;
計算所述更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
進一步地,所述粒子更新模塊,具體用于:
通過PDR算法獲得所述粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差;
根據(jù)所述粒子云的當前位置、當前位置的方差,通過二維高斯分布獲得一定數(shù)量的粒子,所述粒子表示當前位置;
通過高斯噪聲算法計算所述步長的估計誤差和所述航向角的誤差,得到誤差;
根據(jù)所述步長和航向角,將所述步長作為均值,將所述誤差作為方差估計,得到高斯值;
將所述高斯值作為新的步長對所述粒子中的每個粒子進行位置的更新。
進一步地,還包括路徑編號更新模塊,用于:
根據(jù)所述定位結果,更新所述定位結果對應的路徑編號。
附圖說明
為了更清楚地說明本發(fā)明具體實施方式或現(xiàn)有技術中的技術方案,下面將對具體實施方式或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹。
圖1示出了本發(fā)明第一實施例所提供的一種基于粒子濾波的地圖匹配定位方法的流程圖;
圖2示出了本發(fā)明第二實施例所提供的一種基于粒子濾波的地圖匹配定位系統(tǒng)的示意圖。
具體實施方式
下面將結合附圖對本發(fā)明技術方案的實施例進行詳細的描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術方案,因此只是作為示例,而不能以此來限制本發(fā)明的保護范圍。
實施例一
圖1示出了本發(fā)明第一實施例所提供的一種基于粒子濾波的地圖匹配定位方法的流程圖;如圖1所示,本發(fā)明實施例一提供一種基于粒子濾波的地圖匹配定位方法,包括:
步驟S1,獲取室內(nèi)環(huán)境地圖,將室內(nèi)環(huán)境地圖的可行域拆解為直線道路可行域和交叉區(qū)域,并對直線道路可行域和交叉區(qū)域中包含的路徑進行標號,每條路徑對應一個路徑編號;
步驟S2,獲得基于PDR的結果生成的當前位置的粒子云,及當前位置的粒子云所處的路徑編號;
步驟S3,通過PDR算法獲得粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,得到更新后的粒子云;
步驟S4,根據(jù)路徑編號,判斷更新后的粒子云中的粒子所處區(qū)域:
當路徑編號為單條路徑時,判定更新后的粒子云中的粒子位于直線道路可行域內(nèi);
當路徑編號為多條路徑時,判定更新后的粒子云中的粒子位于交叉區(qū)域內(nèi);
步驟S5,根據(jù)更新后的粒子云中的粒子所處區(qū)域,調(diào)整更新后的粒子云中每個粒子的權重,計算更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
本發(fā)明的基于粒子濾波的地圖匹配定位方法,其技術方案為:獲取室內(nèi)環(huán)境地圖,將室內(nèi)環(huán)境地圖的可行域拆解為直線道路可行域和交叉區(qū)域,并對直線道路可行域和交叉區(qū)域中包含的路徑進行標號,每條路徑對應一個路徑編號;接著獲得基于PDR的結果生成的當前位置的粒子云,及當前位置的粒子云所處的路徑編號;
然后通過PDR算法獲得粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,得到更新后的粒子云;接著根據(jù)路徑編號,判斷更新后的粒子云中的粒子所處區(qū)域:當路徑編號為單條路徑時,判定更新后的粒子云中的粒子位于直線道路可行域內(nèi);當路徑編號為多條路徑時,判定更新后的粒子云中的粒子位于交叉區(qū)域內(nèi);
最后根據(jù)更新后的粒子云中的粒子所處區(qū)域,調(diào)整更新后的粒子云中每個粒子的權重,計算更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
本發(fā)明的基于粒子濾波的地圖匹配定位方法,基于室內(nèi)環(huán)境地圖中的可行域和非可行域,將可行域分成直線道路可行域和交叉區(qū)域,直線道路可行域表示室內(nèi)可以行走的區(qū)域,交叉區(qū)域表示室內(nèi)直線道路交叉的可行走的區(qū)域;然后對直線道路可行域和交叉區(qū)域中包含的道路進行標記,每條路徑對應一個路徑編號;
接著在進行室內(nèi)定位的過程中,采用了粒子濾波的方法,基于定位解及其誤差建立粒子云,然后基于PDR算法獲得的數(shù)據(jù),包括粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,對當前位置的粒子狀態(tài)進行更新,得到更新后的粒子云,即新的位置的粒子云;接著根據(jù)路徑編號判斷新的位置的粒子云中的粒子所處區(qū)域,進行新的位置的粒子權重的調(diào)整,最后經(jīng)計算加權均值和方差,得到定位結果,實現(xiàn)對當前位置的定位。通過此方法,提高了定位精度。同時,在定位的過程中,對粒子云進行不斷的更新,使定位更準確。
具體地,步驟S5,具體為:
根據(jù)更新后的粒子云中的粒子所處區(qū)域,調(diào)整更新后的粒子云中每個粒子的權重;
當更新后的粒子云中的粒子處于直線道路可行域內(nèi),將位于直線道路可行域內(nèi)的粒子權重置1,否則置0;
當更新后的粒子云中的粒子處于交叉域內(nèi),交叉域由多條直線路徑交叉形成,將位于交叉域內(nèi)的直線路徑上的粒子權重置1,否則置0;
計算更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
在定位過程中,粒子云也在不斷更新,把不符合條件的粒子(不在直線道路可行域內(nèi)的粒子或不在交叉域所包含的直線路徑上的粒子)去除,保留可信粒子,即當粒子位于直線區(qū)域時,基于當前位置,以及當前位置的偏差,步長和步長誤差,方向角和方向角誤差,進行粒子狀態(tài)更新,獲得更新后的粒子云,粒子仍處在這條路徑上的粒子權重置1,否則置0,求均值獲得定位結果,并根據(jù)定位結果更新路徑編號;
如果更新后的位置位于交叉域,則路徑編號記為交叉域所在的多條路徑號,當路徑編號為多條路徑時,說明了粒子在交叉域中,那么在調(diào)整新生成粒子權重的時候,位于先前記錄路徑的權重為1,其余置0。
通過調(diào)整粒子權重的方式,使粒子云中的粒子更精準,為下一次定位做備用,提高下一次定位的準確度。
具體地,步驟S3,通過PDR算法獲得粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,具體為:
通過PDR算法獲得粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差;
根據(jù)粒子云的當前位置、當前位置的方差,通過二維高斯分布獲得一定數(shù)量的粒子,粒子表示當前位置;
通過高斯噪聲算法計算步長的估計誤差和航向角的誤差,得到誤差;
根據(jù)步長和航向角,將步長作為均值,將誤差作為方差估計,得到高斯值;
將高斯值作為新的步長對粒子中的每個粒子進行位置的更新。
建立粒子云是根據(jù)粒子濾波器得到的定位位置及其誤差建立的,通過PDR可給出當前位置的步長,步長的估計誤差,航向角,航向角的估計誤差,而后粒子云中的每個粒子都使用含隨機誤差的步長和角度更新,具體為:將每個粒子使用以步長為均值,誤差為方差估計的高斯值作為更新使用的步長,將粒子狀態(tài)進行更新,獲得更新后的粒子云。對粒子云中的粒子狀態(tài)進行更新,更正粒子的狀態(tài),使粒子云中的粒子所代表的位置更準確,進而使定位更準確,提高了定位精度。
其中,誤差可以是步長的估計誤差和航向角的誤差,這兩個誤差結合起來使用二元高斯噪聲來統(tǒng)一噪聲形式,得到的誤差;誤差也可以是步長的估計誤差和航向角的誤差各自做高斯隨機游走噪聲的疊加,得到的誤差。
具體地,還包括:
步驟S6,根據(jù)定位結果,更新定位結果對應的路徑編號。
根據(jù)定位結果,更新定位結果對應的路徑編號,獲得的新的路徑編號,實際上是用在下一次的權值調(diào)整,就是說在下一次定位的過程中,采用這次更新后的路徑編號進行權重的調(diào)整,進而進行定位,保證了定位過程的實時性,使定位更準確。
具體地,在運用PDR進行定位的時候,對粒子狀態(tài)進行更新,做以下說明:
在運用PDR進行定位的時候,就是維護一個變量允許域(可行走路徑區(qū)域),即下一時刻,粒子可能處在的區(qū)域(編號),例如當前允許域為2號線(路徑編號),那么下次粒子更新之后,其權值處于二號區(qū)域的就置于1,否則就為0,然后根據(jù)粒子權重和分布求得當前真實存在的路徑區(qū)域,如果當前真實路徑區(qū)域位于交叉域,那么這個允許域就會變?yōu)?,3,4(假設交叉域是2,3,4三條線交叉),下次粒子更新后就是位于234區(qū)域的粒子權重為1,區(qū)域以外的權重就為0。
實施例二
圖2示出了本發(fā)明第二實施例所提供的一種基于粒子濾波的地圖匹配定位系統(tǒng)的示意圖,如圖2所示,本發(fā)明實施例二提供一種基于粒子濾波的地圖匹配定位系統(tǒng)10,包括:
地圖預處理模塊101,用于獲取室內(nèi)環(huán)境地圖,將室內(nèi)環(huán)境地圖的可行域拆解為直線道路可行域和交叉區(qū)域,并對直線道路可行域和交叉區(qū)域中包含的路徑進行標號,每條路徑對應一個路徑編號;
粒子云生成模塊102,用于獲得基于PDR的結果生成的當前位置的粒子云,及當前位置的粒子云所處的路徑編號;
粒子更新模塊103,用于通過PDR算法獲得粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,得到更新后的粒子云;
路徑區(qū)域判斷模塊104,用于根據(jù)路徑編號,判斷更新后的粒子云中的粒子所處區(qū)域:
當路徑編號為單條路徑時,判定更新后的粒子云中的粒子位于直線道路可行域內(nèi);
當路徑編號為多條路徑時,判定更新后的粒子云中的粒子位于交叉區(qū)域內(nèi);
定位模塊105,用于根據(jù)更新后的粒子云中的粒子所處區(qū)域,調(diào)整更新后的粒子云中每個粒子的權重,計算更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
本發(fā)明的基于粒子濾波的地圖匹配定位系統(tǒng)10,其技術方案為:先通過地圖預處理模塊101,用于獲取室內(nèi)環(huán)境地圖,將室內(nèi)環(huán)境地圖的可行域拆解為直線道路可行域和交叉區(qū)域,并對直線道路可行域和交叉區(qū)域中包含的路徑進行標號,每條路徑對應一個路徑編號;接著通過粒子云生成模塊102,獲得基于PDR的結果生成的當前位置的粒子云,及當前位置的粒子云所處的路徑編號;
然后通過粒子更新模塊103,通過PDR算法獲得粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,進行當前位置的粒子狀態(tài)的更新,得到更新后的粒子云;接著通過路徑區(qū)域判斷模塊104,根據(jù)路徑編號,判斷更新后的粒子云中的粒子所處區(qū)域:當路徑編號為單條路徑時,判定更新后的粒子云中的粒子位于直線道路可行域內(nèi);當路徑編號為多條路徑時,判定更新后的粒子云中的粒子位于交叉區(qū)域內(nèi);
最后通過定位模塊105,根據(jù)更新后的粒子云中的粒子所處區(qū)域,調(diào)整更新后的粒子云中每個粒子的權重,計算更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
本發(fā)明的基于粒子濾波的地圖匹配定位系統(tǒng)10,基于室內(nèi)環(huán)境地圖中的可行域和非可行域,將可行域分成直線道路可行域和交叉區(qū)域,直線道路可行域表示室內(nèi)可以行走的區(qū)域,交叉區(qū)域表示室內(nèi)直線道路交叉的可行走的區(qū)域;然后對直線道路可行域和交叉區(qū)域中包含的道路進行標記,每條路徑對應一個路徑編號;
接著在進行室內(nèi)定位的過程中,采用了粒子濾波的方法,基于定位解及其誤差建立粒子云,然后基于PDR算法獲得的數(shù)據(jù),包括粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差,對當前位置的粒子狀態(tài)進行更新,得到更新后的粒子云,即新的位置的粒子云;接著根據(jù)路徑編號判斷新的位置的粒子云中的粒子所處區(qū)域,進行新的位置的粒子權重的調(diào)整,得到定位結果,實現(xiàn)對當前位置的定位。通過此方法,提高了定位精度。同時,在定位的過程中,對粒子云進行不斷的更新,使定位更準確。
具體地,定位模塊105,具體用于:
根據(jù)更新后的粒子云中的粒子所處區(qū)域,調(diào)整更新后的粒子云中每個粒子的權重;
當更新后的粒子云中的粒子處于直線道路可行域內(nèi),將位于直線道路可行域內(nèi)的粒子權重置1,否則置0;
當更新后的粒子云中的粒子處于交叉域內(nèi),交叉域由多條直線路徑交叉形成,將位于交叉域內(nèi)的直線路徑上的粒子權重置1,否則置0;
計算更新后的粒子云中每個粒子權重的加權均值和方差,得到定位結果。
在定位過程中,粒子云也在不斷更新,把不符合條件的粒子(不在直線道路可行域內(nèi)的粒子或不在交叉域所包含的直線路徑上的粒子)去除,保留可信粒子,即當粒子位于直線區(qū)域時,基于當前位置,以及當前位置的偏差,步長和步長誤差,方向角和方向角誤差,進行粒子狀態(tài)更新,獲得更新后的粒子云,粒子仍處在這條路徑上的粒子權重置1,否則置0,求均值獲得定位結果,并根據(jù)定位結果更新路徑編號;
如果更新后的位置位于交叉域,則路徑編號記為交叉域所在的多條路徑號,當路徑編號為多條路徑時,說明了粒子在交叉域中,那么在調(diào)整新生成粒子權重的時候,位于先前記錄路徑的權重為1,其余置0。
通過調(diào)整粒子權重的方式,使粒子云中的粒子更精準,為下一次定位做備用,提高下一次定位的準確度。
具體地,粒子更新模塊103,具體用于:
通過PDR算法獲得粒子云的當前位置、當前位置的方差、步長、步長的估計誤差、航向角和航向角的誤差;
根據(jù)粒子云的當前位置、當前位置的方差,通過二維高斯分布獲得一定數(shù)量的粒子,粒子表示當前位置;
通過高斯噪聲算法計算步長的估計誤差和航向角的誤差,得到誤差;
根據(jù)步長和航向角,將步長作為均值,將誤差作為方差估計,得到高斯值;
將高斯值作為新的步長對粒子中的每個粒子進行位置的更新。
建立粒子云是根據(jù)粒子濾波器得到的定位位置及其誤差建立的,通過PDR可給出當前位置的步長,步長的估計誤差,航向角,航向角的估計誤差,而后粒子云中的每個粒子都使用含隨機誤差的步長和角度更新,具體為:將每個粒子使用以步長為均值,誤差為方差估計的高斯值作為更新使用的步長,將粒子狀態(tài)進行更新,獲得更新后的粒子云。對粒子云中的粒子狀態(tài)進行更新,更正粒子的狀態(tài),使粒子云中的粒子所代表的位置更準確,進而使定位更準確,提高了定位精度。
其中,誤差可以是步長的估計誤差和航向角的誤差,這兩個誤差結合起來使用二元高斯噪聲來統(tǒng)一噪聲形式,得到的誤差;誤差也可以是步長的估計誤差和航向角的誤差各自做高斯隨機游走噪聲的疊加,得到的誤差。
具體地,還包括路徑編號更新模塊106,用于:
根據(jù)定位結果,更新定位結果對應的路徑編號。
根據(jù)定位結果,更新定位結果對應的路徑編號,獲得的新的路徑編號,實際上是用在下一次的權值調(diào)整,就是說在下一次定位的過程中,采用這次更新后的路徑編號進行權重的調(diào)整,進而進行定位,保證了定位過程的實時性,使定位更準確。
具體地,在運用PDR進行定位的時候,對粒子狀態(tài)進行更新,做以下說明:
在運用PDR進行定位的時候,就是維護一個變量允許域(可行走路徑區(qū)域),即下一時刻,粒子可能處在的區(qū)域(編號),例如當前允許域為2號線(路徑編號),那么下次粒子更新之后,其權值處于二號區(qū)域的就置于1,否則就為0,然后根據(jù)粒子權重和分布求得當前真實存在的路徑區(qū)域,如果當前真實路徑區(qū)域位于交叉域,那么這個允許域就會變?yōu)?,3,4(假設交叉域是2,3,4三條線交叉),下次粒子更新后就是位于234區(qū)域的粒子權重為1,區(qū)域以外的權重就為0。
本發(fā)明的有益效果為:
1.保持慣性傳感器短時間內(nèi)自主性,定位高的優(yōu)點,同時,能夠很好的抑制誤差積累,提高定位算法的精度與穩(wěn)定性。
2.粒子濾波是一種重要的濾波手段,由于其非參數(shù)化的特點,擺脫了解決非線性濾波問題時隨機變量必須滿足高斯分布的制約,為分析非線性動態(tài)系統(tǒng)提供了一種有效的解決方法。
3.地圖可行域制作簡單,使用粒子濾波運算量較小,較為有效的輔助調(diào)整PDR算法定位結果。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的范圍,其均應涵蓋在本發(fā)明的權利要求和說明書的范圍當中。