王孟濤 張妍
河北農(nóng)業(yè)大學(xué)機(jī)電工程學(xué)院 河北 保定 071000
無(wú)人駕駛汽車(chē)中路徑的規(guī)劃是其主要研究的技術(shù)之一,備受關(guān)注,無(wú)人駕駛汽車(chē)在路徑規(guī)劃中環(huán)境十分復(fù)雜,受到多種因素的影響,隨機(jī)性較強(qiáng),因此,路徑規(guī)劃工作至關(guān)重要,要采取適合的設(shè)備和技術(shù)進(jìn)行路徑設(shè)計(jì)與規(guī)劃,進(jìn)而為無(wú)人駕駛汽車(chē)的上市或使用提供科學(xué)的依據(jù)。
無(wú)人駕駛汽車(chē)的核心功能主要在于路徑規(guī)劃,主要利用感知技術(shù)和控制技術(shù),路徑規(guī)劃的作用是承上啟下,主要目標(biāo)在于在復(fù)雜的道路環(huán)境下,設(shè)計(jì)出和規(guī)劃出最安全可靠的路徑。無(wú)人駕駛汽車(chē)的路徑規(guī)劃分為全局和局部?jī)煞N,全局規(guī)劃指的是宏觀的規(guī)劃,路徑規(guī)劃要符合周邊環(huán)境和汽車(chē)駕駛實(shí)際道路,局部路徑規(guī)劃一般是指一段路程的起點(diǎn)到終點(diǎn)的規(guī)劃過(guò)程。無(wú)人駕駛汽車(chē)路徑規(guī)劃方式有很多種,例如柵格法、人工勢(shì)場(chǎng)法、可視圖法、人工智能算法等。
無(wú)人駕駛汽車(chē)路徑規(guī)劃是十分重要的環(huán)節(jié),路徑規(guī)劃的目的是汽車(chē)無(wú)人駕駛過(guò)程中可以繞過(guò)障礙物,實(shí)現(xiàn)安全運(yùn)行,規(guī)劃出一條最合理,最節(jié)省能源,且安全可靠的自動(dòng)駕駛路線,可以滿足多種條件的智能技術(shù)。全局路徑規(guī)劃不是很復(fù)雜,主要利用拓?fù)浼?jí)地圖,局部路徑規(guī)劃通過(guò)傳感器感知交通信息,實(shí)現(xiàn)車(chē)道保持、動(dòng)態(tài)避障等功能。無(wú)人駕駛汽車(chē)路徑規(guī)劃對(duì)于算法要求較高,對(duì)局傳感器、算法的效率和處理器的運(yùn)算能力都要求較高,不僅考慮空間序列還考慮時(shí)間序列。對(duì)于路徑規(guī)劃,現(xiàn)在有很多中相對(duì)成熟的算法,可以保證汽車(chē)安全駕駛,但根據(jù)傳感器實(shí)時(shí)探測(cè)局部環(huán)境進(jìn)行路徑規(guī)劃還處于研究階段。
為了規(guī)劃出最合理的路徑,一般我們會(huì)結(jié)合道路情況、周邊環(huán)境、道路質(zhì)量、車(chē)輛情況等等綜合分析,無(wú)人駕駛汽車(chē)路徑規(guī)劃其實(shí)是目標(biāo)優(yōu)化的問(wèn)題,在復(fù)雜環(huán)境和路況下,如何為無(wú)人駕駛汽車(chē)規(guī)劃出最安全合理的路徑是十分必要的。一般可以通過(guò)建立一個(gè)模型來(lái)綜合考量上面提到的因素,要找到?jīng)Q定目標(biāo)的變量,從成本、時(shí)間、能源等角度多重考慮,一般是最短路徑,但不等同于一定結(jié)果是最短路徑。目前,避免常見(jiàn)的路徑規(guī)劃計(jì)算方法有常Dijkstra 算法、Floyd 算法、SPFA算法、最佳優(yōu)先算法(BFS)、A*算法,其中 Floyd 算法使用較為普遍,計(jì)算較為周密,運(yùn)行效率較高。Floyd 算法是一種利用動(dòng)態(tài)規(guī)劃的方法,適用于任何節(jié)點(diǎn)的路徑規(guī)劃計(jì)算,雖然與Dijkstra 算法類(lèi)似,但時(shí)間要求較高,在以距離為變量的背景下,這類(lèi)計(jì)算方法十分適用。
(1)建立模型
假設(shè)道路環(huán)境中,一條道路中有n個(gè)路口,每個(gè)路口與其余路口相連,這里需要使用到兩個(gè)概念,距離矩陣D和路徑矩陣P,都是n×n的矩陣。距離矩陣D中的d(i,j)表示i,j 路口間的距離,其中i=(1,2,3,...,n),j=(1,2,3,...,n):路徑矩陣P中的path(i,j)代表 i 通往j經(jīng)過(guò)的路口,其中i=(1,2,3,...,n),j=(1,2,3,...,n):路徑矩陣P分析中發(fā)現(xiàn),現(xiàn)有路徑方案僅有直通兩個(gè)路口,i→j,并沒(méi)有過(guò)渡路口,這是不成立的。因此要至少引入一個(gè)過(guò)渡路口k,即i→k→j才引入了中轉(zhuǎn)。在沒(méi)引入新路口后,刷新原有路徑矩陣D與離矩 P的信息,如此迭代n次后,得到最終任意兩點(diǎn)間最短間距。
Floyd 算法分為以下步驟:(1)根據(jù)數(shù)據(jù)得到初始距離矩陣D與路徑矩陣P,其中 d(i,j)為已知i與j路口最短距離,path(i,j)為從 i→j經(jīng)過(guò)路口;(2)更新信息。引入新路口k,如果 d(i,k)+d(k,j)<d(i,j),則d(i,j)= d(i,k)+d(k,j),path(i,j)=path(i,k);
(3)如果 d(i,j)<0,則停止,否則 k=k+1 后返回第二步繼續(xù)進(jìn)行迭代,直至 k=n。
本論文模型中假設(shè)道路網(wǎng)絡(luò)為L(zhǎng)NNet,行車(chē)道路節(jié)點(diǎn)為N,行車(chē)道路集合為L(zhǎng)。無(wú)人駕駛汽車(chē)從出發(fā)點(diǎn)出發(fā),經(jīng)過(guò)N個(gè)節(jié)點(diǎn)和L條不同的道路后到達(dá)終點(diǎn),在實(shí)際計(jì)算和規(guī)劃中要考慮道路中是否有交通紅綠燈,要考慮道路的長(zhǎng)度、道路類(lèi)型、道路車(chē)道數(shù)量,道路類(lèi)型主要可以分為高速公路、國(guó)道、主干道、縣級(jí)道路、市區(qū)道路等。在無(wú)人駕駛汽車(chē)路徑規(guī)劃中要遵守我國(guó)的交通法,還有一些軟性約束條件,包括道路堵車(chē)情況,行車(chē)道路的紅綠燈情況,選擇處罰值最低和最安全可靠的路徑。
在無(wú)人駕駛汽車(chē)路徑規(guī)劃中要做好動(dòng)態(tài)道路規(guī)劃,要綜合考慮路口通行規(guī)則和行車(chē)路線變化規(guī)則,行駛中的汽車(chē)需要變更路線時(shí)要遵守以下規(guī)則:(1)在下個(gè)節(jié)點(diǎn)路口左轉(zhuǎn)時(shí)必須行駛到最左邊;(2)下個(gè)節(jié)點(diǎn)路口要右轉(zhuǎn)時(shí)必須從行駛車(chē)道最右邊轉(zhuǎn)彎。(3)下一個(gè)節(jié)點(diǎn)路口需直行時(shí)允許行駛在任一車(chē)道。(4)車(chē)輛前方有另一輛車(chē),且行車(chē)速度較慢,阻塞時(shí)此車(chē)更改車(chē)道可能性為25%。其中,如在下個(gè)路口需轉(zhuǎn)彎時(shí),則不能在當(dāng)前更改車(chē)道。