崔 遠
(蘭州職業(yè)技術學院 信息工程學院, 甘肅 蘭州 730070)
近年來,隨著人們生活水平的不斷提高以及國內(nèi)汽車工業(yè)的不斷發(fā)展,我國汽車保有量不斷增加,據(jù)公安部統(tǒng)計,2022年全國機動車保有量達4.17億輛,其中汽車3.19億輛[1]。汽車保有量的快速增加,導致交通事故的數(shù)量也急劇增多,據(jù)相關統(tǒng)計數(shù)據(jù)顯示,2021年交通事故數(shù)量為27.3萬起。對于城市交通而言,汽車保有量的增加和交通事故的增多,會造成城市交通系統(tǒng)效率低下。自動駕駛技術的出現(xiàn),為緩解交通壓力、提高行車效率和駕駛安全性提供了新的思路。自動駕駛汽車依托車載攝像頭、激光雷達等傳感器對車輛周圍的環(huán)境進行實時掃描,獲取車輛周圍的道路路況,然后根據(jù)道路路況規(guī)劃車輛行進路徑,最后控制車輛按照規(guī)劃的速度、轉(zhuǎn)向等信息以及行進路徑平穩(wěn)自主地運行。路徑規(guī)劃應滿足通行距離短、通行時間少、路徑最平滑等特點,其核心問題在于獲得一個最優(yōu)解[2]。人工勢場法是將車輛的路徑模擬為力場的一種路徑方法,目標對車輛產(chǎn)生引力,障礙物對車輛產(chǎn)生斥力,引力場和斥力場共同作用控制車輛運動。然而當前人工勢場法容易出現(xiàn)不可抵達目標和無法獲取局部最優(yōu)兩類問題,導致車輛無法按照規(guī)劃路線到達目標。為解決上述問題,改進了人工勢場法中引力和斥力生成的目標,通過構(gòu)建結(jié)構(gòu)化道路、車道引力勢場、道路邊界勢場,改進障礙物斥力勢場,同時將行進路徑上的障礙物拓展為三維空間的橢圓形障礙物以平滑控制路徑。
傳統(tǒng)人工勢場主要用于低速機器人的路徑規(guī)劃,鑒于其特殊的使用環(huán)境,在設計之初并沒有考慮到邊界環(huán)境對路徑規(guī)劃的影響。自動駕駛中的人工勢場建模則需要考慮自動駕駛中的道路情況,如車道數(shù)量、車道限速、車輛數(shù)量、車輛速度、障礙物目標大小等信息,所以在自動駕駛的人工勢場建模中,需要重構(gòu)結(jié)構(gòu)化道路場景。
物體在人工勢場法中的引力和斥力的受力如圖1所示。
圖1 引力場和斥力場
一般來說,自動駕駛中目的地為一個點,引力直指目標點;對于障礙物來說,其形狀多樣,為了方便計算,把障礙物簡化為一個橢圓,所有的斥力都垂直于橢圓的切線[3]。在車輛駕駛場景中,距離目標點越遠,則引力場越強。引力勢場可以表示為:
Uatt(x)=Kaρ(px,ptar)2
(1)
其中Uatt(x)表示目標點tar對點x的引力大小,Ka表示引力增益系數(shù),ρ(px,pt)表示目標點t到點x的距離。
障礙物對車輛的斥力勢場強弱是由節(jié)點與障礙物之間的距離決定的,距離障礙物越近則斥力場越強,且當距離超過一定閾值后,將不再產(chǎn)生斥力作用。斥力勢場可以表示為:
(2)
其中Urep(x)表示障礙物obs對點x的斥力大小,Ko表示斥力增益系數(shù),ρ(px,pobs)表示障礙物obs與點x之間的距離。
在人工勢場模型中,如果在目標點附近出現(xiàn)障礙物,而此時障礙物對節(jié)點產(chǎn)生的斥力與目標點對節(jié)點產(chǎn)生的引力大小相同、方向相反,則目標點因為沒有動力而出現(xiàn)無法抵達目標和獲得局部最優(yōu)的問題。
1.結(jié)構(gòu)化道路構(gòu)建
相對于低速機器人的隨機軌跡,自動駕駛車輛的行進軌跡具有明顯特點,如車輛大部分時間運行在車道的中間位置,車道的寬度有限,且運行軌跡相對平滑。自動駕駛環(huán)境中的結(jié)構(gòu)化道路構(gòu)建,需要分辨如下概念:
車道:道路分為多個車道,且每個車道單向通行。
車道標線:標線包括實線、虛線、交替的虛實線,傳感器需要分清車道線以保證車輛在正確的車道上行駛。
交叉路口和路口:主要識別交通信號、停車標志和交通指示等,需要根據(jù)交通標識選擇行進路線。
障礙物檢測:識別道路上的障礙物,如行人、自行車、其他車輛、道路占用標識等,需要采取適當?shù)目刂苿幼?避免碰撞。
道路幾何形狀:道路的整體結(jié)構(gòu),如直線、曲線、坡度、車道半徑等。
車輛的激光雷達探測距離,毫米波雷達探測頻率、距離、車道和道路寬度等。
結(jié)構(gòu)化道路如圖2所示,其中車輛的坐標為(x,y),道路中間線的橫坐標為xline,車載傳感器的有效探測范圍為s,障礙物所在坐標為(x,yobs)。
圖2 結(jié)構(gòu)化道路
2.車道中心線引力勢場構(gòu)建
正常情況下車輛駕駛在車道中間,車道中心線的引力勢能與車輛距離車道中心的距離成正比,距離越遠則引力越大;車道邊界線對車輛產(chǎn)生斥力,距離越近則斥力越大。車輛的行車路徑由引力和斥力共同作用決定。以傳感器獲取最遠距離且范圍內(nèi)無障礙物的場景為例,前方車道線對車輛的引力可以計算為:
(3)
其中k表示引力勢場增益系數(shù)[4],x表示車輛在車道上的橫向坐標,y表示車輛在車道上的縱向距離。
3.車道邊界線斥力勢場構(gòu)建
車輛在正常行駛過程中出現(xiàn)變道時,越靠近車道邊緣則斥力越大,當回到車道中心時,車輛左右兩端的斥力相同,斥力勢場為0。設當車輛的邊緣挨著車道線時的斥力勢場的值0≤δ=p(x,y)≤100,根據(jù)常識,車輛越靠近車道邊界線則行駛越危險,因此斥力勢場就越大,可以采用階躍函數(shù)表示車輛在不同位置所受到的斥力,表示為:
P(x)=|sgn(x-xl)+sgn(x-xr)|(1-0.01δ)δ/2
(4)
其中xl、xr分別表示車輛左右側(cè)標線的x坐標。道路邊界的斥力與車速和車長相關,此時的道路斥力可以表示為:
Uroad(x,y)=P(x)×(cosx+1)
(5)
4.障礙物斥力勢場構(gòu)建
在自動駕駛環(huán)境中,路徑規(guī)劃是沿著結(jié)構(gòu)化道路進行的,道路上主要的障礙物是移動或者靜止的汽車、行人、路障等,且正常情況下車輛的橫向避讓距離遠低于縱向避讓距離。由于車輛在行駛過程中,通過雷達探測到的障礙物的坐標會隨著行進軌跡的變化而不斷變化,為了方便計算,需要將傳感器檢測到的障礙物的坐標轉(zhuǎn)化到車輛或者車載地圖的坐標系中。假設車輛的位置為(xt,yt),障礙物的探測位置為(xs,ys),轉(zhuǎn)換后的坐標為(xtran,ytran)=(xs-xt,ys-yt),經(jīng)過坐標轉(zhuǎn)換后的障礙物在車輛坐標系或全局坐標系下的位置為[xtrancos(θ)-ytransin(θ),xtransin(θ)+ytrancos(θ)]。
為了自動駕駛的平穩(wěn)性,規(guī)劃的路徑需要一定的平滑度,因此需要對障礙物模型進行平滑,如前文所述,需要把車輛類化為橢圓,則車輛的橢圓障礙模型可以表示為:
(6)
其中σ1和σ2是橢圓勢場的外形控制參數(shù)。由于行進路線大概率是在一個三維空間內(nèi),因此可以把式(2)的斥力勢場分布在三維空間中,并引入梯度的概念,則斥力在三維空間中的分布表示為:
(7)
為了方便計算,對三維空間中的斥力勢場進行二維切層,具體到二維層面則有:
(8)
在式(6)中,通過參數(shù)σ1和σ2控制障礙物的外形曲線才能在最大程度上保證路徑的曲率和平滑性。為了簡化設計,設ρ=0,令β=(2πσ1σ2)-1,則式(6)可以簡化為:
(9)
其中β表示斥力勢場增益系數(shù),μp是一個非零的極小正數(shù),以保證e的指數(shù)在特殊情況下為0。由于規(guī)劃的路線可能與實際的道路有一定的夾角,具體到某個點,規(guī)劃路線和實際路線的夾角由參數(shù)σ1和σ2決定[5]。
如圖3所示,假設車輛的初始避障位置為A(xa,ya),避障中點為B(xb,yb),避障終點為C(xc,yc),在避障過程中,以點A到點B為例,汽車的縱向位移為dy=|yb-ya|,橫向位移為dx=|xb-xa|。當汽車從點B到點C之后,車輛將不再受到障礙物的斥力影響,在該點斥力為0,因此可以計算σ2的值為:
圖3 車輛避障過程
(10)
在局部路徑規(guī)劃中,如圖3所示的弧形路徑上,各個點的斥力相等,因此可以計算σ1的值為:
(11)
經(jīng)過上述介紹,車輛在自動駕駛過程中,所受到的力可以表示為:
Usum=Utar+Uobs+Uroad
(12)
在人工勢場局部路徑規(guī)劃算法中,車輛在行駛過程中的方向由各種引力和斥力共同作用決定,主要包括道路邊界斥力勢場、障礙物斥力勢場、車道中線引力勢場,以及目標引力勢場等各種引力和斥力的矢量疊加。一般來說,路徑規(guī)劃的過程如下:
一是在車輛運行到T時刻,已知車載傳感器感知距離S內(nèi),每次路徑規(guī)劃長度為S,行駛過程中的最大移動角度(車道寬度及車輛的長度)為θ;
二是獲取當前路段的路況信息,如車道數(shù)量、車道寬度、車道限速、導航信息、障礙物信息以及車輛的重量和剎車距離等;
三是車輛在T時刻的位置為(xT,yT),根據(jù)式(12)計算車輛受力,包括目的點對車輛的引力、障礙物對車輛的斥力以及車道線對車輛的引力等,如圖4所示。
圖4 車輛在行駛過程中的受力分析
四是根據(jù)上一步各種力的矢量和避障方向夾角分析計算,可以確定車輛在下一路徑規(guī)劃時刻的位置為(xT+1,yT+1)=(xT+γcosθ,yT+1+γcosθ)。
五是重復(3)、(4),直至車輛抵達目的地。
本文采用Carsim[6]和Simulink[7]搭建聯(lián)合仿真測試平臺,使用Carsim構(gòu)建車輛動力學模型和結(jié)構(gòu)化道路場景,同時使用Simulink搭建控制器仿真模型。在該仿真測試環(huán)境中,筆者模擬了常見的雙向四車道,車道中間為虛線,在無障礙道路、單一障礙物道路以及多障礙物道路三種路況下,對局部路徑規(guī)劃算法進行測試,測試環(huán)境如圖5所示。
圖5 模擬仿真測試環(huán)境
模擬環(huán)境道路長2000 m,寬度12 m,單條車道寬度3 m,中間車道限速80 km/h,兩邊車道限速50 km/h,預測時域為15,控制時域為10,車載激光雷達探測時間為0.01 s,有效探測距離為200 m[8]。
無障礙道路路況下,車輛在一條車道正常行駛,因此如圖6(a)所示,車輛在行駛初期預測結(jié)果與實際結(jié)果有一些區(qū)別,但是隨著時間和行駛距離的增加,預測路徑和實際路徑的擬合程度逐漸提高,說明了該路徑規(guī)劃算法符合正常的駕駛邏輯。圖6(b)是預測路線和實際路線的航向角誤差,可以看出預測結(jié)果與實際結(jié)果相差較小,角誤差范圍在(-0.3,0.3)之間,在正常駕駛誤差范圍之內(nèi)。圖6(c)是車輛在預測路徑行駛過程中的橫向加速度,橫向加速度直接關系到車輛駕駛的安全性和舒適性,從圖中可以看出,橫向加速度在(-1,1.5)之間,也處于正常駕駛的范圍之中,相對于實際駕駛路徑,預測路徑的橫向加速度更為平滑,因此駕駛傾向較為保守。
圖6 無障礙物道路路況測試結(jié)果
由于在本模擬環(huán)境中,每個方向有兩條車道,因此在單一障礙物路況下,如圖7(a)所示,實際行駛的路線可能有兩條,一條是越過障礙物后返回原車道,另外一條路徑是繞過障礙物后在另一條車道行駛。在預測路線為返回原車道測試中,預測路線與實際運行的返回原車道的路線基本相同。在返回原車道的實際路線和預測路線中,航向角誤差也基本維持在(-0.3,0.2)之間,滿足日常行駛要求。和無障礙物路況類似,在橫向加速度上預測路線也相對較為平穩(wěn),可以滿足變道過程中駕駛?cè)说氖孢m性。
圖7 單一障礙物道路路況測試結(jié)果
在該測試環(huán)境下,車輛模擬了遇到三個車輛的情況,通過圖8(a)可以看出,本預測方法和實際駕駛情況較為類似,且橫向移動距離較為平滑,在遇到三個障礙物時,車輛可以按照合適的橫向加速度進行避障,當避障結(jié)束后,車輛可以迅速返回原車道,偏移角速度也在合理范圍內(nèi),橫向加速度同樣偏向舒適。
圖8 多障礙物道路路況測試結(jié)果
智能駕駛系統(tǒng)的安全和穩(wěn)定性取決于局部路徑的選擇是否平順穩(wěn)定,為此提出了改進型人工勢場路徑規(guī)劃算法。該算法構(gòu)建了結(jié)構(gòu)化道路,同時對車道中心線、車道邊界線、道路障礙物進行建模,以局部目的地為目標,構(gòu)建局部環(huán)境內(nèi)的引力和斥力勢場,同時將障礙物拓展為三維空間的橢圓形障礙物以平滑控制路徑。實驗結(jié)果表明,該算法生成路徑的平滑性更好,精度更高,可有效提高自動駕駛的安全性。