亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于分層雙向啟發(fā)式路線規(guī)劃方法的導航裝置的制作方法

文檔序號:6028072閱讀:190來源:國知局
專利名稱:基于分層雙向啟發(fā)式路線規(guī)劃方法的導航裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于導航裝置用路線規(guī)劃算法,特別是涉及一種結(jié)合多種算法的路線規(guī)劃方法。
背景技術(shù)
目前,導航系統(tǒng)所采用的硬件性能有限,其使用的導航數(shù)據(jù)的數(shù)據(jù)量巨大(道路記錄數(shù) 超過100萬條),而在硬件性能有限而且數(shù)據(jù)量巨大的情況還需要保證導航系統(tǒng)路線規(guī)劃的實 時性,這給導航系統(tǒng)路線規(guī)劃算法提出了很高的要求?,F(xiàn)有的算法有Dijkstra算法、啟發(fā)式 算法、分層算法、雙向搜索算法,任何一種算法單獨使用都無法很好的滿足導航系統(tǒng)對路線 規(guī)劃實時性的要求。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于分層雙向啟發(fā)式路線規(guī)劃方法的導航裝置, 該導航裝置使用了一種結(jié)合啟發(fā)式算法、雙向算法、分層算法的路線規(guī)劃算法。這種分層雙 向啟發(fā)式算法能夠在硬件性能有限而且數(shù)據(jù)量巨大的情況下,保證導航系統(tǒng)路線規(guī)劃實時性 要求。
本發(fā)明所采取的技術(shù)方案是基于分層雙向啟發(fā)式路線規(guī)劃方法的導航裝置,其路線規(guī) 劃方法包括分層和啟發(fā)式方法,還使用了雙向搜索方法,具體包括以下步驟
1) 輸入現(xiàn)在地和終點,計算二者的球面距離,在己分層的地圖上確定最后進行路線規(guī)劃的 高層層數(shù)和向上層切換的條件,設該高層層數(shù)為正整數(shù)i;
2) 判斷最底層是否為第i層,如果為"是",轉(zhuǎn)至步驟5),否則轉(zhuǎn)至步驟3);
3) 在最底層通過雙向啟發(fā)式搜索方法進行路線規(guī)劃,進行一次路線規(guī)劃之后,如果滿足 向上層切換的條件,就轉(zhuǎn)至步驟4),如果不滿足向上層切換的條件,繼續(xù)在最底層進行路線 規(guī)劃,直到滿足向上層切換的條件為止,然后轉(zhuǎn)至步驟4);
4) 向上一層進行切換,切換后的層數(shù)加l,如果切換后的層數(shù)是第i層,轉(zhuǎn)至步驟5),
否則轉(zhuǎn)至步驟6);
5) 在第i層通過雙向啟發(fā)式搜索方法進行路線規(guī)劃,進行一次路線規(guī)劃之后,判斷是否 滿足終止條件,如果為"是",轉(zhuǎn)至步驟7),否則繼續(xù)進行路線規(guī)劃,直至滿足終止條件,
然后轉(zhuǎn)至步驟7);
6) 在當前層通過雙向啟發(fā)式搜索方法進行路線規(guī)劃,進行一次路線規(guī)劃之后,如果滿足 向上層切換的條件,就轉(zhuǎn)至步驟4),如果不滿足向上層切換的條件,繼續(xù)在該層進行路線規(guī)
劃,直到滿足向上層切換的條件為止,然后轉(zhuǎn)至步驟4);
7) 輸出搜索結(jié)果。
本發(fā)明的有益效果是可以在硬件性能有限且數(shù)據(jù)量巨大的情況,滿足導航系統(tǒng)路線規(guī)
劃實時性的要求,算法流程清晰。


圖1是雙向啟發(fā)式算法的流程圖。
圖2是分層雙向啟發(fā)式算法的流程圖。
圖3是地圖數(shù)據(jù)上下層對應關(guān)系。
圖4是單向Dijkstra算法、雙向Di jkstra算法、雙向啟發(fā)式算法的搜索空間圖。 圖5是實施例分層后詳細層(第0層)的節(jié)點拓撲圖。 圖6是實施例分層后粗略層(第l層)的節(jié)點拓撲圖。 圖7表示的是地圖中詳細層的地圖信息示意圖。 圖8表示的是地圖中粗略層的地圖信息示意圖。
具體實施例方式
如圖2所示,基于分層雙向啟發(fā)式路線規(guī)劃方法的導航裝置,其路線規(guī)劃方法包括分層
和啟發(fā)式方法,其路線規(guī)劃方法還使用了雙向搜索方法,具體包括以下步驟
1) 輸入現(xiàn)在地和終點,計算二者的球面距離,在已分層的地圖上確定最后進行路線規(guī)劃的 高層層數(shù)和向上層切換的條件,設該高層層數(shù)為正整數(shù)i;
2) 判斷最底層(第0層)是否為第i層,如果為"是",轉(zhuǎn)至步驟5),否則轉(zhuǎn)至步驟3);
3) 在最底層通過雙向、啟發(fā)式搜索方法進行路線規(guī)劃,進行一次路線規(guī)劃之后,如果滿 足向上層切換的條件,就轉(zhuǎn)至歩驟4),如果不滿足向上層切換的條件,繼續(xù)在最底層進行路 線規(guī)劃,直到滿足向上層切換的條件為止,然后轉(zhuǎn)至步驟4);
4) 向上一層進行切換,如果切換后是第i層,轉(zhuǎn)至步驟5),否則轉(zhuǎn)至步驟6);
5) 在第i層通過雙向、啟發(fā)式搜索方法進行路線規(guī)劃,進行一次路線規(guī)劃之后,判斷是 否滿足終止條件,如果為"是",轉(zhuǎn)至步驟7),否則繼續(xù)進行路線規(guī)劃,直至滿足終止條件, 然后轉(zhuǎn)至步驟7);
6) 在當前層通過雙向、啟發(fā)式搜索方法進行路線規(guī)劃,進行一次路線規(guī)劃之后,如果滿 足向上層切換的條件,就轉(zhuǎn)至步驟4),如果不滿足向上層切換的條件,繼續(xù)在該層進行路線 規(guī)劃,直到滿足向上層切換的條件為止,然后轉(zhuǎn)至步驟4);
7) 輸出搜索結(jié)果。
如圖l所示,上述路線規(guī)劃方法中的雙向搜索方法具體包括以下步驟
1) 輸入現(xiàn)在地和終點;
2) 根據(jù)步驟1)的數(shù)據(jù),判斷是否滿足切換條件,若為"是",進行一次后向啟發(fā)式搜索,
否則進行一次前向啟發(fā)式搜索,搜索完后均轉(zhuǎn)至步驟3);
3) 判斷是否滿足終止條件,若為"是",則輸出搜索結(jié)果,否則轉(zhuǎn)至步驟2)。
圖3說明了高層和底層的層間關(guān)系,從上往下即為從高層到低層。在高層計算會使用較 為主要的道路網(wǎng),道路網(wǎng)的密集程度較底層道路網(wǎng)要低得多,這樣在高層進行搜索時就能夠 使用較少的迭代次數(shù)搜索出結(jié)果。
圖4說明了單向Dijkstra算法、雙向Dijkstra算法、雙向啟發(fā)式算法的搜索空間圖, 其中大圓為單向Dijkstra算法的搜索空間圖;兩個小圓為雙向Dijkstra算法的搜索空間兩個橢圓為雙向啟發(fā)式算法的搜索空間圖??梢钥闯鰜碓谶@幾個算法中雙向啟發(fā)式算法的搜 索空間最小,說明了雙向啟發(fā)式算法會使用最少的迭代次數(shù)搜索出結(jié)果, 一般來說,這個發(fā) 明涉及的算法其計算量只是其他算法計算量的四分之一。 實施例
將整個地圖分為兩層,圖6是圖5的粗略圖,圖5是第0層,圖6是第1層。如圖5所 示,第0層的地圖上有a z共26個節(jié)點,每相鄰兩點間的邊長為1,節(jié)點a和節(jié)點z之間 的球面距離為9。如圖6所示,第1層每相鄰兩點間的邊長為3。現(xiàn)在需要計算出地圖節(jié)點a 到節(jié)點z的最短路徑,最后路線規(guī)劃的高層為第1層。
我們設
V:邊的集合;
O[n]:起始點到節(jié)點n的最短路徑的距離費用;
G[n]:節(jié)點n到終點的歐氏距離;
D[n]:節(jié)點n到終點的最短路徑的距離費用;
H[n]:節(jié)點n到終點的歐氏距離;
C[p,q]:節(jié)點p到節(jié)點q的距離費用;
wo:起點方向(到起點的最短路徑)中已經(jīng)找到最短路徑節(jié)點的集合; wd:終點方向(到終點的最短路徑)中已經(jīng)找到最短路徑節(jié)點的集合。 向上層切換的條件是詳細層(第0層)的wo、 wd兩個集合,每個都有兩個或兩個以上 的節(jié)點在粗略層(第l層)。
通過分層雙向啟發(fā)搜索算法按以下步驟順序操作
(1) 設0[&]=0,另外將所有除節(jié)點a外的節(jié)點0[n]值設為①;設D[z卜0,另外將所 有除節(jié)點z外的節(jié)點D[n]值設為吣;兩點之間的歐氏距離通過兩點的坐標進行計算;
(2) 在詳細層(第0層),從起點方向進行一次前向搜索,將0
+ G[n]值最小的節(jié)點 a添加到集合wo中(a點到z點的G[n]為9),此時wo = {a};通過0[v] = min (0[v], 0[w] +c [w, v])
(w表示在wo集合中所有節(jié)點,v為所有和w相連接的點,min為取最小值)改寫所有節(jié)點 的費用信息,0[c]=l;
(3) wo集合中有子集(al在粗略層中,wd集合中沒有點在粗略層中,不滿足詳細層中wo, wd兩個集合中都有兩個或兩個以上的節(jié)點在粗略層的條件,不向粗略層切換;
(4) wo集合和wd集合中沒有相同的節(jié)點,變換搜索方向;
(5) 在終點方向進行一次后向搜索,將0[^+ H[n]值最小的節(jié)點z添加到集合wd中, 此時wd二lzh通過D[v]: min(D[v], D[w]+c[w,v]) (w表示在wd集合中所有節(jié)點,v為所 有和w相連接的點)改寫所有節(jié)點的費用信息,D[x] = l;
(6) wo集合中有子集(a }在粗略層中,wd集合中有子集(z)在粗略層中,不滿足詳細層 wo、 wd兩個集合中每個都有兩個或兩個以上的節(jié)點在粗略層的條件,不向粗略層切換;
(7) wo集合和wd集合中沒有相同的節(jié)點,變換搜索方向;
(8) 在起點方向進行一次前向搜索,將0[!1]+ G[n]值最小的節(jié)點c添加到集合wo中,
此時wo—a, c};通過0[v]min(0[v], 0[w]+c[w,v]) (w表示在wo集合中所有節(jié)點,v為 所有和w相連接的點)改寫所有節(jié)點的費用信息,0[b]=2, 0[d]=2, 0[f]=2;
(9) wo集合中有子集"}在粗略層中,wd集合中有子集{2}在粗略層中,不滿足詳細層 wo、 wd兩個集合中每個都有兩個或兩個以上的節(jié)點在粗略層的條件,不向粗略層切換;
(10) WO集合和wd集合中沒有相同的節(jié)點,變換搜索方向;
(11) 在終點方向進行一次后向搜索,將0[!!]+ H[n]值最小的節(jié)點x添加到集合wd中, 此時wcMz, x};通過D[v]: min(D[v], D[w]+c[w,v]) (w表示在wd集合中所有節(jié)點,v為 所有和w相連接的點)改寫所有節(jié)點的費用信息,D[w]=2, D[y]=2, D[u]=2;
(12) wo集合中有子集(al在粗略層中,wd集合中有子集合(zl在粗略層中,不滿足詳細 層wo、 wd兩個集合中每個都有兩個或兩個以上的節(jié)點在粗略層的條件,不向粗略層切換;
(13) WO集合和wd集合中沒有相同的節(jié)點,變換搜索方向;
(14) 在起點方向進行一次前向搜索,將0[11]+ G[n]值最小的節(jié)點f添加到集合wo中, 此時wo ={a, c, fl;通過0[v]: min(0[v], O[w]十c[w,v]) (w表示在wo集合中所有節(jié)點, v為所有和w相連接的點)改寫所有節(jié)點的費用信息,0[b]=2, 0[d]=2, 0[e]=3, 0[g]=3, 0[i]=3;
(15) wo集合中有子集(a)在粗略層中,wd集合中有子集lz)在粗略層中,不滿足詳細層 wo、 wd兩個集合中每個都有兩個或兩個以上的節(jié)點在粗略層的條件,不向粗略層切換;
(16) wo集合和wd集合中沒有相同的節(jié)點,變換搜索方向;
(17) 在終點方向進行一次后向搜索,將0[11]+ H[n]值最小的節(jié)點u添加到集合wd中, 此時wd ={z, x, u};通過D[v]二 min(D[v], D[w]化[w'v]) (w表示在wd集合中所有節(jié)點, v為所有和w相連接的點)改寫所有節(jié)點的費用信息,D[w]=2, D[y]=2, D[t]=3, D[v]=3, D[r]=3;
(18) wo集合中有子集(ea在粗略層中,wd集合中有子集(z!在粗略層中,不滿足詳細層 wo、 wd兩個集合中每個都有兩個或兩個以上的節(jié)點在粗略層的條件,不向粗略層切換;
(19) wo集合和wd集合中沒有相同的節(jié)點,變換搜索方向;
(20) 在起點方向進行一次前向搜索,將0[^+ G[n]值最小的節(jié)點i添加到集合wo中, 此時wo二(a, c, f, i};通過0[v]= min(O[v], 0[w]+c[w,v]) (w表示在wo集合中所有節(jié) 點,v為所有和w相連接的點)改寫所有節(jié)點的費用信息,0[b]=2, 0[d]=2, 0[e]=3, 0[g>3, 0[h]=4, 0[j]=4, 0[1]=4;
(21) wo集合中有子集(a, il在粗略層中,wd集合中有子集{2}在粗略層中,不滿足詳 細層wo、 wd兩個集合中每個都有兩個或兩個以上的節(jié)點在粗略層的條件,不向粗略層切換;
(22) wo集合和wd集合中沒有相同的節(jié)點,變換搜索方向;
(23) 在終點方向進行一次后向搜索,將0[11]+ H[n]值最小的節(jié)點r添加到集合wd中, 此時wd^z, x, u, r};通過D[v]= min(D[v], D[w]+c[w,v]) (w表示在wd集合中所有節(jié) 點,v為所有和w相連接的點)改寫所有節(jié)點的費用信息,D[w]=2, D[y]=2, D[t]=3, D[v]二3, D[q]二4, D[s]=4, D[o]=4;
(24) wo集合中有子集b,"在粗略層中,wd集合中有子集(z, r》在粗略層中,滿足詳 細層中wo、 wd兩個集合每個都有兩個或兩個以上的節(jié)點在粗略層的條件,向粗略層切換;
(25) 在粗略層對起點方向搜索進行處理,通過0[v]= min(0[v], O[w]十c[w'v]) (w表 示在wo集合中所有節(jié)點,v為所有和w相連接的點)改寫所有節(jié)點的費用信息,0[r]=6;
(26) 在粗略層對終點方向搜索進行處理,通過D[v]= min(D[v], D[w]+c[w,v]) (w表 示在wd集合中所有節(jié)點,v為所有和w相連接的點)改寫所有節(jié)點的費用信息,D[i]=6;
(27) 在粗略層起點方向進行一次前向搜索,將0[1!]+ G[n]值最小的節(jié)點r添加到集合 wo中,此日寸wo二ia, c, f, i, r};通過[v]二 min(0[v]' 0[w]+c[w,v]) (w表示在wo集合 中所有節(jié)點,v為所有和w相連接的點)改寫所有節(jié)點的費用信息,0[z]=9;
(28) wo集合和wd集合中有相同的節(jié)點r,同時由上下層對應關(guān)系知道i-r對應i-l_o-r, 此時搜索到一條最短路徑a-c-f-i-1-o-r-u-x-z,搜索結(jié)束。
地圖層次示例
如圖7、圖8,兩個圖分別表示的是同一地區(qū)不同層次的地圖信息,圖7中表示的是詳細 層的地圖信息,圖8中表示的是粗略層的地圖信息,兩個層次的地圖信息在數(shù)據(jù)上有一定的 關(guān)聯(lián),可以判斷出在圖7中的節(jié)點在圖8中是否有節(jié)點對應,按上述雙向搜索算法中在圖7 中進行搜索,統(tǒng)計當目前搜索結(jié)果中的節(jié)點在圖8中有對應節(jié)點的個數(shù),當這個個數(shù)達到一 定的數(shù)量,就向圖8進行切換,可以從圖中清晰的看出,圖8的節(jié)點的數(shù)目遠少于圖7中節(jié) 點的數(shù)目,這就意味著在圖8中搜索道路可以進行更少次數(shù)的搜索從而找到最短路徑。
權(quán)利要求
1.基于分層雙向啟發(fā)式路線規(guī)劃方法的導航裝置,其路線規(guī)劃方法包括分層和啟發(fā)式方法,其特征是其路線規(guī)劃方法還使用了雙向搜索方法,具體包括以下步驟1)輸入現(xiàn)在地和終點,計算二者的球面距離,在已分層的地圖上確定最后進行路線規(guī)劃的高層層數(shù)和向上層切換的條件,設該高層層數(shù)為正整數(shù)i;2)判斷最底層是否為第i層,如果為“是”,轉(zhuǎn)至步驟5),否則轉(zhuǎn)至步驟3);3)在最底層通過雙向啟發(fā)式搜索方法進行路線規(guī)劃,進行一次路線規(guī)劃之后,如果滿足向上層切換的條件,就轉(zhuǎn)至步驟4),如果不滿足向上層切換的條件,繼續(xù)在最底層進行路線規(guī)劃,直到滿足向上層切換的條件為止,然后轉(zhuǎn)至步驟4);4)向上一層進行切換,切換后的層數(shù)加1,如果切換后的層數(shù)是第i層,轉(zhuǎn)至步驟5),否則轉(zhuǎn)至步驟6);5)在第i層通過雙向啟發(fā)式搜索方法進行路線規(guī)劃,進行一次路線規(guī)劃之后,判斷是否滿足終止條件,如果為“是”,轉(zhuǎn)至步驟7),否則繼續(xù)進行路線規(guī)劃,直至滿足終止條件,然后轉(zhuǎn)至步驟7);6)在當前層通過雙向啟發(fā)式搜索方法進行路線規(guī)劃,進行一次路線規(guī)劃之后,如果滿足向上層切換的條件,就轉(zhuǎn)至步驟4),如果不滿足向上層切換的條件,繼續(xù)在該層進行路線規(guī)劃,直到滿足向上層切換的條件為止,然后轉(zhuǎn)至步驟4);7)輸出搜索結(jié)果。
2. 如權(quán)利要求l所述的基于分層雙向啟發(fā)式路線規(guī)劃方法的導航裝置,其特征是其路線 規(guī)劃方法中的雙向啟發(fā)式搜索方法包括以下步驟1) 輸入現(xiàn)在地和終點;2) 根據(jù)步驟1)的數(shù)據(jù),判斷是否滿足切換條件,若為"是",進行一次后向啟發(fā)式搜索, 否則進行一次前向啟發(fā)式搜索,搜索完后均轉(zhuǎn)至步驟3);3) 判斷是否滿足終止條件,若為"是",則輸出搜索結(jié)果,否則轉(zhuǎn)至步驟2)。
全文摘要
本發(fā)明提供了一種基于分層雙向啟發(fā)式路線規(guī)劃方法的導航裝置。該裝置的使用方法結(jié)合了分層算法、雙向搜索算法和啟發(fā)式算法。首先確定需要規(guī)劃的高層層數(shù)和提層條件,然后在最底層進行雙向啟發(fā)式路線規(guī)劃直至滿足提層條件為止。接著往上切換一層,并判斷切換后的高層是否為最終規(guī)劃的高層如果為是就在該層進行雙向啟發(fā)式路線規(guī)劃直至找到最終路線;如果為否就在該層和底層一樣進行雙向啟發(fā)式路線規(guī)劃直至滿足提層條件為止,接著重復前述提層和最終路線的確認過程。本發(fā)明可以在硬件性能有限且數(shù)據(jù)量巨大的情況,滿足導航系統(tǒng)路線規(guī)劃實時性的要求,算法流程清晰。
文檔編號G01C21/34GK101358855SQ20081019704
公開日2009年2月4日 申請日期2008年9月23日 優(yōu)先權(quán)日2008年9月23日
發(fā)明者張宗敏, 飛 謝, 濱 鄧, 楊 陸 申請人:光庭導航數(shù)據(jù)(武漢)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1