導航中GPS位置與地圖匹配、道路匹配算法

導航中GPS位置與地圖匹配、道路匹配算法

文章轉自:http://blog.csdn.net/viewcode/article/details/7918721


0. 地圖匹配的必要性

1. 位置地圖匹配需要哪些 因素

2. 位置與地圖匹配的算法

3. 位置與地圖匹配的精度概率等分析


0. 必要性

GPS的Position只是一個數據,還需要與Map的Match,即由GPS座標轉換爲地圖座標。不僅要找到地圖上位置,還要找出地圖上哪些道路與此位置最爲接近,利用地圖中結構化的模型(如道路,交點等)進行描述當前的位置。

GPS在與其他傳感器數據融合,及經過卡曼濾波校正後,仍有有一定的誤差,至少其卡曼濾波校正後其系統誤差仍有 10-50m,一個好的匹配算法 能 依據GPS和其他傳感器信息,結合地圖中的結構信息(如道路),有95%的概率將真實誤差縮小到5m內(不同的引擎,這個指標可能不同,需要根據實際情況進行考證)。


1. 因素

    當前的車輛或GPS位置的狀態,在道路上行駛,停車,貨運(gps可用,傳感器不應該使用),離開道路,不確定狀態。

    GPS位置信息、速度、角速度信息、曲率半徑(數據來源?)

    獲取地圖的數據接口,(地圖數據)


2. 算法步驟

從地圖來看:

如無結構化數據,就無法在地圖中描述GPS位置的相對座標;

若當前區域只有一個或多個結構化數據,那麼需要計算當前的位置在地圖中一個或多種匹配的可能。 對於每種可能的匹配,都基本需要以下步驟:

a. 計算當前gps位置,利用前一狀態和速度,偏轉速度信息,進行估計計算。普通的線性運算。

b.計算當前方向,利用前一狀態和傳感器(角速度),進行估計計算。普通的線性運算。


c. 計算匹配的可能的位置,採用逐步匹配的方式

載入地圖數據,獲取結構化的道路信息pathId,計算長度和其包含的座標點

在一定範圍內篩選一個或多個路段作爲候選匹配道路。

計算候選的道路的位置和結構,利用道路長度和到道路終點距離計算當前位置offset,計算當前位置與起始點的方向、坡度、上下平坦程度。offset地圖供應商會提供計算的接口。這個需要依據不同的狀態,採用不同的算法,如停車、貨運(拖車)、道路行駛,需用不同的數據。

計算估計的地圖位置和方向(道路的offset和dir),以及其與GPS融合數據的真實位置距離和方向差。

計算各個候選道路的 屬性類型,即將地圖中道路的屬性轉換爲 導航引擎的類型。更新道路匹配的狀態。


d. 計算各個位置匹配的質量,分析 (非常重要)

這個要依據道路的場景分別進行計算。首先計算偏差:

GPS位置與道路的距離差

GPS方向與道路的方向差


各種道路場景,不同的場景,偏差在匹配中的權重也不同

* 環島

距離差的比重比較大。即方向較準確,而距離較不準

道路與車輛的距離差*2、方向差. 

如果是入口,行駛區域,match的程度減半,非機動區域匹配程度增加

出口:一般的計算方式,當時行駛區域,偏差程度翻倍,行駛區域減半

一般的計算方式: 偏差角度+距離*2 (+ lackmeter)

* 蛇形蜿蜒的

距離偏差的重要程度大大下降,然後加上方向偏差即可

* 重要隧道

當候選道路多於一個時,採用普通計算方式

只有一個時,蛇形計算方式

* 離開道路

無匹配

* 正常的
一般的計算方式

道路開始段:同下

道路結束段:距離,角度的偏差,不過要乘以係數,而且十字路口,且未來轉角<90度時,角度偏差減半

* U型道

距離差*2


當toEnd爲負數時,偏差加大。若offset爲負數,同樣加大偏差。


匹配程度計算:

根據偏差數據,可以計算匹配程度。一般情況下,兩者呈線性關係(負數)。


e. 啓發式進行計算

主要是計算坡度,里程與匹配程度的關係。


f. 計算匹配的模式

更新匹配的模型,由先前道路的場景,加上計算的匹配值,確定是否將匹配模式設置爲sure 或unsure或不變,更進一步確認匹配的程度。


g. 排序

將以上所有可能的匹配,進行快速排序法,排序的依據是(匹配質量)



3. 匹配誤差的量化計算? 

影響因素:

地形/道路形狀。 道路形狀越複雜,或多條道路組成的複雜路況,都會大大降低 匹配的程度。 

當前GPS、sensor數據與道路結構化數據的距離、方向差

當前GPS位置的狀態是否穩定


而關於匹配誤差的實際值(如距離差,方向差),是無法確認給出的。

就是上面位置地圖匹配的算法。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章