專(zhuān)利名稱(chēng):一種車(chē)輛導(dǎo)航中基于動(dòng)態(tài)虛擬路口的地圖匹配方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種車(chē)輛導(dǎo)航中基于動(dòng)態(tài)虛擬路口的地圖匹配方法,屬于車(chē)輛定位/導(dǎo)航 技術(shù)領(lǐng)域。
背景技術(shù):
車(chē)輛導(dǎo)航技術(shù)的研究在20世紀(jì)70年代末開(kāi)始興起。20世紀(jì)80年代末,全球衛(wèi)星定 位系統(tǒng)(以下簡(jiǎn)稱(chēng)GPS)定位技術(shù)得到廣泛應(yīng)用。從90年代起,國(guó)外開(kāi)始了全球衛(wèi)星定 位系統(tǒng)/航位推算/地圖匹配組合定位技術(shù)在車(chē)輛自主導(dǎo)航中的應(yīng)用研究。具有代表性的有 曰本Pioneer公司的汽車(chē)導(dǎo)航系統(tǒng),日本Toyota公司的車(chē)載駕駛員信息系統(tǒng),法國(guó)雷諾的 Carminat系統(tǒng),以及德國(guó)的CarMultimerdiaSystem等。在車(chē)輛導(dǎo)航系統(tǒng)中,地圖匹配是其 中的一項(xiàng)關(guān)鍵技術(shù)。它將車(chē)輛定位軌跡與電子地圖中的道路網(wǎng)信息聯(lián)系起來(lái),并根據(jù)地 圖確定車(chē)輛的位置。
國(guó)外從七十年代后期開(kāi)始對(duì)地圖匹配技術(shù)進(jìn)行研究,其最初思想是找到電子地圖中 距離定位點(diǎn)最近的道路,即投影匹配法。但是該方法在道路密集、道路形狀復(fù)雜等情況 下準(zhǔn)確率較低。之后又有學(xué)者提出半確定性地圖匹配方法,基于模糊邏輯的地圖匹配方 法,以及利用一段歷史軌跡與實(shí)際道路進(jìn)行曲線比對(duì)的方法。但是這些方法在車(chē)輛進(jìn)入 路口時(shí),由于地圖數(shù)據(jù)本身對(duì)于路口內(nèi)部的結(jié)構(gòu)特征的描述不夠完備,導(dǎo)致地圖匹配效 果不理想,經(jīng)常出現(xiàn)車(chē)輛導(dǎo)航在路口中的不連續(xù)甚至錯(cuò)誤的現(xiàn)象。
發(fā)明內(nèi)容
本發(fā)明的目的是提出針對(duì)目前應(yīng)用的需求,提出一種基于動(dòng)態(tài)虛擬路口的地圖匹配 方法。在車(chē)輛導(dǎo)航過(guò)程中實(shí)時(shí)檢測(cè)車(chē)輛行駛前方路口,并建立虛擬路口;當(dāng)車(chē)輛進(jìn)入該 路口時(shí)利用虛擬路口數(shù)據(jù)進(jìn)行地圖匹配,改善路口中的地圖匹配效果,實(shí)現(xiàn)車(chē)輛在路口 中的連續(xù)導(dǎo)航。
本發(fā)明提出的車(chē)輛導(dǎo)航中基于動(dòng)態(tài)虛擬路口的地圖匹配方法,包括以下步驟
(1) 構(gòu)建一個(gè)匹配路段集合,該集合初始為空;
(2) 根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù),判斷車(chē)輛當(dāng)前位置是否在設(shè)定的 虛擬路口內(nèi),若車(chē)輛在虛擬路口內(nèi),則將虛擬路口的所有虛擬路段加入到上述匹配路段 集合中,若車(chē)輛不在虛擬路口內(nèi),則不操作;
(3) 根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù),從車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)中 獲取車(chē)輛當(dāng)前位置設(shè)定范圍內(nèi)的所有路段,定義為鄰近路段,并將鄰近路段加入到上述
匹配路段集合中;(4) 根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù),對(duì)步驟(3)的匹配路段集合中 的所有路段進(jìn)行模糊綜合評(píng)判,確定車(chē)輛當(dāng)前所在路段;
(5) 根據(jù)上述車(chē)輛當(dāng)前所在路段,以及車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)中的拓?fù)鋽?shù)據(jù), 得到車(chē)輛當(dāng)前行駛方向的前方路口;
(6) 對(duì)上述車(chē)輛當(dāng)前行駛方向的前方路口進(jìn)行判斷,若前方路口不是上述設(shè)定的虛 擬路口,則根據(jù)上述車(chē)輛當(dāng)前行駛方向的前方路口數(shù)據(jù),對(duì)設(shè)定的虛擬路口進(jìn)行更新, 得到更新的虛擬路口,若前方路口是上述設(shè)定的虛擬路口,則不操作;
(7) 重復(fù)步驟(1) 一 (6)。 本發(fā)明提出的車(chē)輛導(dǎo)航中基于動(dòng)態(tài)虛擬路口的地圖匹配方法,針對(duì)地圖數(shù)據(jù)對(duì)于路
口內(nèi)部的結(jié)構(gòu)特征描述不夠完備的缺點(diǎn),在車(chē)輛導(dǎo)航過(guò)程中實(shí)時(shí)檢測(cè)車(chē)輛行駛前方路 口,判斷車(chē)輛是否進(jìn)入虛擬路口。當(dāng)車(chē)輛進(jìn)入虛擬路口時(shí),利用虛擬路口數(shù)據(jù)對(duì)地圖數(shù) 據(jù)進(jìn)行補(bǔ)充,完成車(chē)輛在路口中的地圖匹配;同時(shí)根據(jù)匹配結(jié)果實(shí)時(shí)動(dòng)態(tài)的對(duì)虛擬路口 數(shù)據(jù)進(jìn)行更新。本方法在對(duì)地圖公司提供的地圖數(shù)據(jù)不做更多需求的情況下,利用軟件 方法建立動(dòng)態(tài)虛擬路口,以實(shí)現(xiàn)對(duì)路口內(nèi)地圖數(shù)據(jù)的補(bǔ)充,從而在一定程度上改善路口 中的地圖匹配效果,實(shí)現(xiàn)車(chē)輛在路口中的連續(xù)精確導(dǎo)航。
圖1是本發(fā)明方法的流程框圖。
圖2是本發(fā)明方法中虛擬路段的計(jì)算方法示意圖。
圖3是本發(fā)明方法實(shí)施例的匹配結(jié)果示意圖。
具體實(shí)施例方式
本發(fā)明提出的車(chē)輛導(dǎo)航中基于動(dòng)態(tài)虛擬路口的地圖匹配方法,包括以下步驟-
(1) 構(gòu)建一個(gè)匹配路段集合,該集合初始為空;
(2) 根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù),判斷車(chē)輛當(dāng)前位置是否在設(shè)定的 虛擬路口內(nèi),若車(chē)輛在虛擬路口內(nèi),則將虛擬路口的所有虛擬路段加入到上述匹配路段 集合中,若車(chē)輛不在虛擬路口內(nèi),則不操作;
(3) 根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù),從車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)中 獲取車(chē)輛當(dāng)前位置設(shè)定范圍內(nèi)的所有路段,定義為鄰近路段,并將鄰近路段加入到上述 匹配路段集合中;
(4) 根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù),對(duì)步驟(3)的匹配路段集合中 的所有路段進(jìn)行模糊綜合評(píng)判,確定車(chē)輛當(dāng)前所在路段;
(5) 根據(jù)上述車(chē)輛當(dāng)前所在路段,以及車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)中的拓?fù)鋽?shù)據(jù), 得到車(chē)輛當(dāng)前行駛方向的前方路口;
(6) 對(duì)上述車(chē)輛當(dāng)前行駛方向的前方路口進(jìn)行判斷,若前方路口不是上述設(shè)定的虛擬路口,則根據(jù)上述車(chē)輛當(dāng)前行駛方向的前方路口數(shù)據(jù),對(duì)設(shè)定的虛擬路口進(jìn)行更新, 得到更新的虛擬路口,若前方路口是上述設(shè)定的虛擬路口,則不操作; (7)重復(fù)步驟(1) 一 (6)。 上述方法中,對(duì)設(shè)定的虛擬路口進(jìn)行更新時(shí),計(jì)算該虛擬路口的虛擬路段集合的過(guò) 程如下
(2—1)根據(jù)車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)找到車(chē)輛當(dāng)前所在路段沿車(chē)輛行駛方向的 最末點(diǎn)即入口點(diǎn)^和次末點(diǎn)
(2 — 2)根據(jù)車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)找到車(chē)輛當(dāng)前行駛方向的前方路口的一條 駛出路段^/;
(2_3)取上述駛出路段Q沿駛出方向的第一點(diǎn)即出口點(diǎn)S和第二點(diǎn)
(2 — 4)過(guò)入口點(diǎn)^做的^4fl的垂線/;,做的^8的中垂線/2, /7和/2相交于點(diǎn)0;
(2 — 5)以點(diǎn)O為圓心,做圓弧A9;
(2 —6)將圓弧/!5等分為見(jiàn) 一般取為10份,等分點(diǎn)記為S,(!、l,2,…vV),構(gòu)造點(diǎn) 序列M,S,,&,…&,^ ,利用該點(diǎn)序列構(gòu)建一條虛擬路段rv/;
(2 — 7)重復(fù)步驟(2 — 2)至(2 — 6),直至取遍車(chē)輛當(dāng)前行駛方向的前方路口中 的所有駛出路段/;,(z、l,2,…M),其中M為駛出路段的總條數(shù),駛出路段構(gòu)建的虛擬路 段^(z、l,2,…A/)構(gòu)成虛擬路口的虛擬路段集合。 上述各步驟的具體實(shí)現(xiàn)方法分別說(shuō)明如下
上述步驟(1)中匹配路段集合R由匹配路段r,組成,其中匹配路段用點(diǎn)序列表示。 上述步驟(2)中的GPS定位數(shù)據(jù)包括位置& (經(jīng)度、緯度)、速度vc、方向"c、
海拔高度&等,這些數(shù)據(jù)可由普通GPS接收機(jī)接收并解析得到。其中的虛擬路口CV包括
如下屬性
Cv = (d,P, g, Rv),其中,d是路口編號(hào),P是路口位置,即該虛擬路口中心點(diǎn)的經(jīng)、 緯度坐標(biāo),g是路口范圍,Rv是路口的虛擬路段集合。
虛擬路口初始設(shè)定為無(wú)效路口,在導(dǎo)航過(guò)程中對(duì)虛擬路口屬性進(jìn)行實(shí)時(shí)更新。
判斷車(chē)輛是否在虛擬路口內(nèi)的方法為首先根據(jù)車(chē)輛在GPS中的定位數(shù)據(jù)計(jì)算車(chē)輛 位置Pc和虛擬路口位置P之間的距離,若該距離小于路口范圍g,則車(chē)輛在虛擬路口 內(nèi),否則車(chē)輛不在虛擬路口內(nèi);
上述步驟(3)中獲取車(chē)輛當(dāng)前位置設(shè)定范圍內(nèi)的所有鄰近路段,具體包括以下步
驟
(a) 以車(chē)輛位置尸c為中心,匹配直徑c4 (一般取為200m)為邊長(zhǎng)構(gòu)造匹配矩形;
(b) 取車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)中的一條路段,判斷其外接矩形(可從地圖數(shù)據(jù) 中獲取)與上述匹配矩形是否相交,若相交,則該路段是鄰近路段
(c) 重復(fù)步驟(b),直到取遍車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)中的所有路段。 上述步驟(4)中根據(jù)車(chē)輛在GPS中的定位數(shù)據(jù),可采用傳統(tǒng)幾何投影的方法計(jì)算車(chē)輛和匹配路段集合中的每條路段的距離和夾角,然后利用模糊綜合評(píng)判方法對(duì)每條路段 進(jìn)行評(píng)價(jià),選擇評(píng)價(jià)結(jié)果最優(yōu)的路段作為車(chē)輛當(dāng)前所在路段。
上述步驟(5)中根據(jù)車(chē)輛當(dāng)前所在路段,利用車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)中的拓?fù)?數(shù)據(jù),找到車(chē)輛當(dāng)前所在路段沿車(chē)輛行駛方向的末端點(diǎn)所在的路口,它就是車(chē)輛當(dāng)前行 駛方向的前方路口。
上述步驟(6)中對(duì)車(chē)輛當(dāng)前行駛方向的前方路口進(jìn)行判斷的方法為,取該前方路口 的路口編號(hào),若它與虛擬路口的路口編號(hào)相同,則該前方路口是虛擬路口,否則不是虛 擬路口;
根據(jù)車(chē)輛當(dāng)前行駛方向的前方路口數(shù)據(jù),對(duì)設(shè)定的虛擬路口進(jìn)行更新,即需要計(jì)算 虛擬路口的所有屬性。其中路口編號(hào)A路口位置尸可直接由車(chē)輛當(dāng)前行駛方向的前方路 口數(shù)據(jù)獲取,路口范圍g—般取為20米,虛擬路段集合Rv的計(jì)算方法如圖2所示,步驟
如下
(a) 根據(jù)車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)找到車(chē)輛當(dāng)前所在路段沿車(chē)輛行駛方向的最末 點(diǎn)(即入口點(diǎn))和次末點(diǎn),分別如圖2中點(diǎn)j和點(diǎn)A所示;
(b) 根據(jù)車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)找到車(chē)輛當(dāng)前行駛方向的前方路口的一條駛出
路段,如圖2中 所示;
(c) 取上述駛出路段"沿駛出方向的第一點(diǎn)S (即出口點(diǎn))和第二點(diǎn)&,如圖2
所示;
(d) 過(guò)入口點(diǎn)^4做的^^的垂線//,做的^5的中垂線6, //和/2相交于點(diǎn)0;
(e) 以點(diǎn)O為圓心,做圓弧力5;
(f) 將圓弧朋等分為7V (—般取為10)份,等分點(diǎn)記為S,(^l,2,…yV),構(gòu)造點(diǎn)序 列(AS,&,…&,W,利用該點(diǎn)序列構(gòu)建一條虛擬路段 ;
(g) 重復(fù)步驟62)至66),直至取遍車(chē)輛當(dāng)前行駛方向的前方路口中的所有駛出 路段^(z、l,2,…M),其中M為駛出路段的總條數(shù)。根據(jù)這些駛出路段構(gòu)建的虛擬路段
(/ = 1,2,…似)即構(gòu)成虛擬路口的虛擬路段集合Rv。 本發(fā)明的一個(gè)實(shí)施例中,采用上述方法在一臺(tái)普通PC機(jī)或嵌入式微機(jī)中,實(shí)現(xiàn)基于 動(dòng)態(tài)虛擬路口的GPS車(chē)輛定位及匹配方法,并采用Visual 0++編程實(shí)現(xiàn),集成于地圖匹 配測(cè)試軟件,在普通PC機(jī)上運(yùn)行。該軟件可讀入GPS定位數(shù)據(jù),完成地圖匹配,并將 定位和匹配結(jié)果在電子地圖上顯示出來(lái)。
用車(chē)輛在北京市學(xué)院橋附近行駛時(shí)記錄的一段GPS數(shù)據(jù)進(jìn)行試驗(yàn)。學(xué)院橋分為上、 中、下三層,實(shí)際車(chē)輛由南向北駛?cè)胫袑訕?,并向西駛出。圖3所示為地圖匹配結(jié)果。 圖3的測(cè)試結(jié)果表明車(chē)輛在進(jìn)入路口后被正確的匹配到虛線所示的虛擬路段上,使匹配 結(jié)果始終能夠保持連續(xù),光滑,并且更符合駕駛者的直觀感覺(jué)。
權(quán)利要求
1、一種車(chē)輛導(dǎo)航中基于動(dòng)態(tài)虛擬路口的地圖匹配方法,其特征在于該方法包括以下步驟(1)構(gòu)建一個(gè)匹配路段集合,該集合初始為空;(2)根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù),判斷車(chē)輛當(dāng)前位置是否在設(shè)定的虛擬路口內(nèi),若車(chē)輛在虛擬路口內(nèi),則將虛擬路口的所有虛擬路段加入到上述匹配路段集合中,若車(chē)輛不在虛擬路口內(nèi),則不操作;(3)根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù),從車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)中獲取車(chē)輛當(dāng)前位置設(shè)定范圍內(nèi)的所有路段,定義為鄰近路段,并將鄰近路段加入到上述匹配路段集合中;(4)根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù),對(duì)步驟(3)的匹配路段集合中的所有路段進(jìn)行模糊綜合評(píng)判,確定車(chē)輛當(dāng)前所在路段;(5)根據(jù)上述車(chē)輛當(dāng)前所在路段,以及車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)中的拓?fù)鋽?shù)據(jù),得到車(chē)輛當(dāng)前行駛方向的前方路口;(6)對(duì)上述車(chē)輛當(dāng)前行駛方向的前方路口進(jìn)行判斷,若前方路口不是上述設(shè)定的虛擬路口,則根據(jù)上述車(chē)輛當(dāng)前行駛方向的前方路口數(shù)據(jù),對(duì)設(shè)定的虛擬路口進(jìn)行更新,得到更新的虛擬路口,若前方路口是上述設(shè)定的虛擬路口,則不操作;(7)重復(fù)步驟(1)—(6)。
2、 如權(quán)利要求1所述的方法,其特征在于步驟(6)中所述的對(duì)設(shè)定的虛擬路口進(jìn) 行更新時(shí),計(jì)算該虛擬路口的虛擬路段集合的過(guò)程如下(2 — 1)根據(jù)車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)找到車(chē)輛當(dāng)前所在路段沿車(chē)輛行駛方向的 最末點(diǎn)即入口點(diǎn)^和次末點(diǎn)^0;(2 — 2)根據(jù)車(chē)輛當(dāng)前位置所在地圖數(shù)據(jù)找到車(chē)輛當(dāng)前行駛方向的前方路口的一條駛出路段 ;(2 — 3)取上述駛出路段 沿駛出方向的第一點(diǎn)即出口點(diǎn)S和第二點(diǎn)50;(2 — 4)過(guò)入口點(diǎn)4做的X4fl的垂線//,做的ZS的中垂線6,。和6相交于點(diǎn)0;(2 — 5)以點(diǎn)O為圓心,做圓弧/L9;(2 — 6)將圓弧必等分為iV份,等分點(diǎn)記為S,(/ = 1,2,...A0 ,構(gòu)造點(diǎn)序列 "A,&,…&,W,利用該點(diǎn)序列構(gòu)建一條虛擬路段 ;(2 — 7)重復(fù)步驟(2 — 2)至(2 — 6),直至取遍車(chē)輛當(dāng)前行駛方向的前方路口中 的所有駛出路段&,(/4,2,…M),其中M為駛出路段的總條數(shù),駛出路段構(gòu)建的虛擬路 段a;, (/ = 1,2,…M)構(gòu)成虛擬路口的虛擬路段集合。
全文摘要
本發(fā)明涉及一種車(chē)輛導(dǎo)航中基于動(dòng)態(tài)虛擬路口的地圖匹配方法,屬于車(chē)輛定位/導(dǎo)航技術(shù)領(lǐng)域。首先構(gòu)建一個(gè)空的匹配路段集合,根據(jù)車(chē)輛在全球衛(wèi)星定位系統(tǒng)中的定位數(shù)據(jù)判斷車(chē)輛是否在設(shè)定的虛擬路口內(nèi),根據(jù)判斷結(jié)果對(duì)上述匹配路段集合進(jìn)行填充;然后對(duì)該匹配路段集合中的所有路段進(jìn)行模糊綜合評(píng)判,確定車(chē)輛當(dāng)前所在路段;最后根據(jù)車(chē)輛當(dāng)前所在路段得到車(chē)輛當(dāng)前行駛方向的前方路口,利用該路口數(shù)據(jù)對(duì)設(shè)定的虛擬路口進(jìn)行更新。本發(fā)明的優(yōu)點(diǎn)是在對(duì)地圖公司提供的地圖數(shù)據(jù)不做更多需求的情況下,利用軟件方法建立動(dòng)態(tài)虛擬路口,對(duì)路口內(nèi)地圖數(shù)據(jù)的補(bǔ)充,改善路口中的地圖匹配效果,實(shí)現(xiàn)車(chē)輛在路口中的連續(xù)精確導(dǎo)航。
文檔編號(hào)G01C21/28GK101424540SQ20081023919
公開(kāi)日2009年5月6日 申請(qǐng)日期2008年12月12日 優(yōu)先權(quán)日2008年12月12日
發(fā)明者濤 張, 李克強(qiáng), 楊殿閣, 王建強(qiáng), 羅禹貢, 連小珉, 鄭四發(fā) 申請(qǐng)人:清華大學(xué)