本發(fā)明涉及智能駕駛,尤其涉及一種基于圖結(jié)構(gòu)和強(qiáng)化學(xué)習(xí)的車輛路徑規(guī)劃方法。
背景技術(shù):
1、隨著國(guó)民經(jīng)濟(jì)的快速發(fā)展,居民汽車擁有量不斷急劇攀升,城市堵車現(xiàn)象越來(lái)越嚴(yán)重,研究如何對(duì)車輛行駛路徑進(jìn)行合理規(guī)劃,避免擁堵,也變得越來(lái)越重要。將強(qiáng)化學(xué)習(xí)的方法應(yīng)用到車輛路徑規(guī)劃當(dāng)中是這個(gè)領(lǐng)域一個(gè)主要的研究方向,城市車輛路徑規(guī)劃面臨多個(gè)難題,早晚上下班高峰、突發(fā)交通事故等情況都會(huì)極大的影響現(xiàn)有的城市擁堵情況,進(jìn)而影響實(shí)時(shí)車輛路徑,其次大量的道路與城市使得規(guī)劃問(wèn)題規(guī)模龐大,解決較為困難。
2、強(qiáng)化學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一種,可以學(xué)會(huì)如何解決各種復(fù)雜的任務(wù),隨著城市車輛的不斷增多,對(duì)車輛進(jìn)行合理的路徑規(guī)劃是解決城市擁堵的關(guān)鍵一環(huán),目前常用的車輛路徑規(guī)劃算法包括收縮層級(jí)算法、基于模型預(yù)測(cè)的路徑規(guī)劃算法等。但是以上方法都存在一些缺點(diǎn),一是使用時(shí)計(jì)算量較為龐大,計(jì)算復(fù)雜;二是沒有將實(shí)時(shí)的城市道路交通情況納入考慮。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述問(wèn)題,本發(fā)明提出了一種基于圖結(jié)構(gòu)和強(qiáng)化學(xué)習(xí)的車輛路徑規(guī)劃方法,通過(guò)交通道路圖與增強(qiáng)的實(shí)時(shí)數(shù)據(jù)訓(xùn)練強(qiáng)化學(xué)習(xí)模型,從而得到一個(gè)高效的、可以獲得最優(yōu)路徑的模型對(duì)車輛進(jìn)行實(shí)時(shí)路徑規(guī)劃。
2、一種基于圖結(jié)構(gòu)和強(qiáng)化學(xué)習(xí)的車輛路徑規(guī)劃方法,包括以下步驟:
3、步驟s1:地圖數(shù)據(jù)處理,包括道路數(shù)據(jù)處理和道路路段劃分,統(tǒng)一規(guī)范道路信息,對(duì)道路路段進(jìn)行劃分,在地圖當(dāng)中標(biāo)識(shí)信號(hào)燈,然后按照道路依次連接這些信號(hào)燈,兩個(gè)信號(hào)燈之間的道路作為一個(gè)單獨(dú)的路段;
4、步驟s2:通過(guò)道路信息,以信號(hào)燈為節(jié)點(diǎn),引入時(shí)間因素,構(gòu)建多個(gè)時(shí)效交通圖,首先構(gòu)建基準(zhǔn)交通圖,基準(zhǔn)交通圖構(gòu)建以信號(hào)燈作為節(jié)點(diǎn),構(gòu)建出節(jié)點(diǎn)矩陣存儲(chǔ)圖,信號(hào)燈之間的距離作為圖的邊的權(quán)值,再分析建筑位置,以信號(hào)燈為中心通過(guò)聚類進(jìn)行劃歸;然后構(gòu)建時(shí)效交通圖,通過(guò)現(xiàn)實(shí)數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到不同時(shí)段不同路段的平均通過(guò)時(shí)間,計(jì)算得到不同時(shí)段的路段實(shí)際通過(guò)長(zhǎng)度,更新圖的邊,得到時(shí)效交通圖;
5、步驟s3:訓(xùn)練強(qiáng)化學(xué)習(xí)模型,在時(shí)效圖當(dāng)中隨機(jī)選擇起點(diǎn)和終點(diǎn),模擬現(xiàn)實(shí)車輛行駛,根據(jù)距離將起點(diǎn)和終點(diǎn)劃歸到最近的信號(hào)燈,然后使用狄杰斯特拉算法,在各個(gè)時(shí)效交通圖間得到最短路徑作為次優(yōu)路徑,訓(xùn)練強(qiáng)化學(xué)習(xí)模型,在起點(diǎn)和終點(diǎn)間找到最優(yōu)路徑,并利用次優(yōu)路徑加快訓(xùn)練速度,不斷重復(fù)該過(guò)程,最終得到能夠規(guī)劃出最優(yōu)路徑的強(qiáng)化學(xué)習(xí)模型;
6、步驟s4:利用訓(xùn)練好的強(qiáng)化學(xué)習(xí)模型進(jìn)行路徑規(guī)劃,將用戶輸入的數(shù)據(jù)轉(zhuǎn)換為模型的輸入,以通過(guò)強(qiáng)化學(xué)習(xí)模型獲取最優(yōu)路徑,并根據(jù)用戶的實(shí)時(shí)位置對(duì)最優(yōu)路徑進(jìn)行更新。
7、進(jìn)一步地,步驟s1包括:
8、道路數(shù)據(jù)處理,針對(duì)不同道路信息的存儲(chǔ)格式進(jìn)行格式的統(tǒng)一,包括道路標(biāo)注,針對(duì)不同格式道路地圖,構(gòu)建所需的基準(zhǔn)道路地圖,設(shè)置基準(zhǔn)道路地圖單位長(zhǎng)度,通過(guò)人工識(shí)別或智能識(shí)別的方法,對(duì)道路進(jìn)行識(shí)別,記錄到基準(zhǔn)道路地圖當(dāng)中,若出現(xiàn)道路重疊的情況,則根據(jù)道路的標(biāo)號(hào)區(qū)分不同道路;
9、道路路段劃分,針對(duì)后續(xù)構(gòu)建交通圖所需的道路路段長(zhǎng)度數(shù)據(jù),對(duì)基準(zhǔn)道路地圖當(dāng)中的道路進(jìn)行分段,具體包括信號(hào)燈位置標(biāo)注和路段構(gòu)建與記錄;信號(hào)燈位置標(biāo)注,通過(guò)信號(hào)燈的經(jīng)緯度地址,在基準(zhǔn)道路地圖當(dāng)中,以點(diǎn)的形式標(biāo)注信號(hào)燈的位置;路段構(gòu)建與記錄,依次連接道路當(dāng)中的信號(hào)燈,將兩個(gè)信號(hào)燈之間的道路路段記為一個(gè)單獨(dú)的路段,并記錄該路段的長(zhǎng)度、起始信號(hào)燈、最低限速、最高限速和路段類型,其中最低限速、最高限速和路段類型與路段所在的道路保持一致,對(duì)于相鄰但是不在同一條道路上的信號(hào)燈不連接。
10、進(jìn)一步地,步驟s2包括:
11、首先構(gòu)建基準(zhǔn)交通圖節(jié)點(diǎn),圖中的一個(gè)節(jié)點(diǎn)表示一個(gè)集合,其具體為一個(gè)以信號(hào)燈為中心加上其附近多個(gè)建筑的集合,為了得到這樣的集合,采用dis聚類算法在經(jīng)緯度的差異上進(jìn)行聚類,聚類結(jié)果保證不同集合當(dāng)中距離建筑最近的信號(hào)燈就是聚類中心所表示的信號(hào)燈;
12、其次構(gòu)建基準(zhǔn)交通圖,根據(jù)上述得到的聚類集合作笛卡爾積,將該結(jié)果作為矩陣,置矩陣當(dāng)中所有點(diǎn)的初始值為-1,根據(jù)路段信息,當(dāng)對(duì)應(yīng)信號(hào)燈直接存在路徑時(shí)就置矩陣對(duì)應(yīng)位置的值為路段長(zhǎng)度;
13、最后構(gòu)建時(shí)效交通圖,根據(jù)實(shí)際統(tǒng)計(jì)數(shù)據(jù),劃分城市的早晚高峰、平常時(shí)段和深夜時(shí)段,然后通過(guò)現(xiàn)實(shí)數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到不同時(shí)段不同路段的平均通過(guò)時(shí)間,最后通過(guò)平均通過(guò)時(shí)間乘以對(duì)應(yīng)路段最高限速,將得到的結(jié)果作為額外的距離加到對(duì)應(yīng)路段的邊的權(quán)值上,以此得到不同時(shí)段的交通圖,即時(shí)效交通圖。
14、進(jìn)一步地,采用dis聚類算法進(jìn)行聚類,包括:
15、初始化:選擇k個(gè)初始質(zhì)心,這些質(zhì)心是所有信號(hào)燈,每一個(gè)信號(hào)燈作為一個(gè)質(zhì)心;
16、計(jì)算間隔距離:對(duì)于信號(hào)燈中的每個(gè)點(diǎn),計(jì)算它與每個(gè)直接連接的信號(hào)燈之間的距離,設(shè)兩個(gè)信號(hào)燈的經(jīng)緯度分別表示為traffic(lat1,lon1),traffic(lat2,lon2),間隔距離diff計(jì)算公式如下:
17、
18、劃分建筑物:對(duì)于每個(gè)信號(hào)燈以其為中點(diǎn),計(jì)算劃分范圍,設(shè)信號(hào)燈的經(jīng)緯度表示為traffic(lat1,lon1),則劃分范圍計(jì)算如下:
19、latitude=lat1+sin(θ)*diff
20、longtitude=lon1+sin(θ)*diff
21、其中,θ表示角度,范圍是0°-360°;
22、對(duì)于所有的建筑,如果其經(jīng)緯度處在(latitude,longtitude)的范圍內(nèi),它就是屬于以這個(gè)信號(hào)燈作為中心的距離范圍內(nèi);
23、對(duì)于剩下的不在劃分范圍內(nèi)的建筑,計(jì)算它們和所有信號(hào)燈的距離,然后把它們依次劃分到距離最近的信號(hào)燈所對(duì)應(yīng)的聚類。
24、進(jìn)一步地,步驟s3包括:
25、首先模擬現(xiàn)實(shí)車輛導(dǎo)航,選擇建筑作為起始點(diǎn),構(gòu)建路徑規(guī)劃任務(wù)以及次優(yōu)路徑,包括:
26、建筑映射,在選取起始點(diǎn)時(shí),需要滿足選擇的建筑所屬的聚類不是相鄰的,避免過(guò)短路程,然后對(duì)起始點(diǎn)進(jìn)行處理,映射到構(gòu)建的基準(zhǔn)交通圖的節(jié)點(diǎn)當(dāng)中,具體為將輸入的建筑經(jīng)緯度用對(duì)應(yīng)聚類中心的信號(hào)燈的經(jīng)緯度進(jìn)行替換;
27、次優(yōu)路徑構(gòu)建,在各個(gè)時(shí)段的時(shí)效交通圖當(dāng)中,采取狄杰斯特拉算法,計(jì)算最短路徑,作為次優(yōu)路徑,次優(yōu)路徑記錄如下:
28、p={nodestart,node1,...,nodeend,{時(shí)段t}}
29、其中,node是路徑當(dāng)中的信號(hào)燈,具體表示為信號(hào)燈的編號(hào),時(shí)段t表示該路徑是從哪個(gè)時(shí)效交通圖獲得的,是一個(gè)枚舉類型的值;
30、然后進(jìn)行強(qiáng)化學(xué)習(xí)模型訓(xùn)練,在訓(xùn)練強(qiáng)化學(xué)習(xí)模型時(shí),將以構(gòu)建的次優(yōu)路徑進(jìn)行輔助,加速模型訓(xùn)練,首先構(gòu)建模型輸入,模型的輸入是一個(gè)集合,集合包括路徑起點(diǎn)和終點(diǎn)建筑經(jīng)緯度以及當(dāng)前時(shí)段的編號(hào)。
31、進(jìn)一步地,通過(guò)構(gòu)建的次優(yōu)路徑引導(dǎo)模型訓(xùn)練,包括:
32、模型輸入轉(zhuǎn)換,先對(duì)模型輸入進(jìn)行處理,將輸入的建筑經(jīng)緯度通過(guò)聚類模型進(jìn)行分類,找到對(duì)應(yīng)的距離,然后用對(duì)應(yīng)聚類中心的信號(hào)燈編號(hào)進(jìn)行替換,以滿足次優(yōu)路徑的使用條件,替換后,模型輸入表示為:{信號(hào)燈編號(hào)1,信號(hào)燈編號(hào)2,時(shí)段編號(hào)},其中,信號(hào)燈編號(hào)1對(duì)應(yīng)起點(diǎn),信號(hào)燈編號(hào)2對(duì)應(yīng)終點(diǎn);
33、通過(guò)次優(yōu)路徑進(jìn)行模型訓(xùn)練,模型在訓(xùn)練過(guò)程當(dāng)中,以1-α的概率使用次優(yōu)路徑給出下一個(gè)期望的信號(hào)燈編號(hào),以α的概率使用模型預(yù)測(cè)的輸出作為下一個(gè)期望的信號(hào)燈編號(hào),α隨著訓(xùn)練輪次的增加逐漸上升,具體計(jì)算公式為:
34、α=α+α*β
35、其中,β是增長(zhǎng)參數(shù),控制α的上升速率,每訓(xùn)練一輪,就通過(guò)該公式增加α的大?。?/p>
36、輸出路徑構(gòu)建,模型獲得輸入后,會(huì)給出下一個(gè)期望的信號(hào)燈編號(hào),記錄該期望信號(hào)燈編號(hào),作為路徑的中繼點(diǎn),然后以給出的期望信號(hào)燈編號(hào)重構(gòu)模型輸入,具體操作為替換輸入的第一項(xiàng),再次輸入模型,計(jì)算下一個(gè)期望的信號(hào)燈編號(hào),直到到達(dá)終點(diǎn),將所有的期望信號(hào)燈在地圖上連接起來(lái),就得到模型輸出的路徑。
37、進(jìn)一步地,步驟s4包括:
38、獲取輸入,根據(jù)用戶選擇的起點(diǎn)和終點(diǎn),采用訓(xùn)練好的聚類模型,找到對(duì)應(yīng)的信號(hào)燈,再依據(jù)當(dāng)前時(shí)間選擇對(duì)應(yīng)的時(shí)間段,構(gòu)造模型初始輸入;
39、最優(yōu)路徑實(shí)時(shí)更新,系統(tǒng)會(huì)實(shí)時(shí)獲取用戶當(dāng)前位置經(jīng)緯度,然后采用訓(xùn)練好的聚類模型找到當(dāng)前對(duì)應(yīng)的信號(hào)燈,同時(shí)重新獲取時(shí)間,構(gòu)造新的輸入,再輸入模型,獲取模型給出的最新最優(yōu)路徑。
40、與現(xiàn)有技術(shù)相比,本發(fā)明的有益技術(shù)效果如下:
41、本發(fā)明通過(guò)對(duì)地圖信息進(jìn)行處理,構(gòu)造所需的圖結(jié)構(gòu),使之滿足后續(xù)步驟的輸入結(jié)果,車輛起始點(diǎn)可能是任何建筑,而大量建筑位置會(huì)擴(kuò)大問(wèn)題解決難度,因此本發(fā)明采取聚類的方法,以信號(hào)燈來(lái)表示多個(gè)建筑,有效降低訓(xùn)練難度。然后通過(guò)結(jié)合時(shí)間段,分析不同時(shí)間段的具體交通狀況,構(gòu)造出不同的時(shí)效交通圖,進(jìn)而可以更加符號(hào)現(xiàn)實(shí)車輛行駛狀況。在訓(xùn)練模型時(shí),通過(guò)在構(gòu)建的時(shí)效交通圖當(dāng)中構(gòu)造次優(yōu)路徑,在訓(xùn)練前期引導(dǎo)訓(xùn)練,有效避免了前期模型訓(xùn)練不足時(shí)輸出錯(cuò)誤較多,降低訓(xùn)練效率和模型能力不足的情況的出現(xiàn)。在實(shí)際使用時(shí),本發(fā)明通過(guò)定時(shí)獲取最新位置信息,更新當(dāng)前模型輸出,使得輸出構(gòu)建更加靈活,符合現(xiàn)實(shí)駕駛情況;
42、本發(fā)明將強(qiáng)化學(xué)習(xí)引入到路徑規(guī)劃當(dāng)中,從而避免了傳統(tǒng)路徑規(guī)劃面臨的計(jì)算成本大、計(jì)算時(shí)間長(zhǎng)的問(wèn)題,實(shí)際使用時(shí),利用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,可以及時(shí)的輸出所需路徑,計(jì)算量與計(jì)算成本更低;同時(shí),本發(fā)明方案結(jié)合了時(shí)間因素,能夠更加符合城市道路現(xiàn)狀,訓(xùn)練的強(qiáng)化學(xué)習(xí)模型能夠在不同時(shí)間根據(jù)不同的道路狀況給出最優(yōu)的路徑,同時(shí)考慮了距離、道路交通情況等因素,使得規(guī)劃的路徑更加準(zhǔn)確和優(yōu)化。