(東風(fēng)商用車有限公司技術(shù)中心先行商品開發(fā)部,湖北 武漢 430056 ) (華中科技大學(xué)人工智能與自動(dòng)化學(xué)院, 湖北 武漢 430074)
自動(dòng)駕駛縱向控制技術(shù)起源于輔助駕駛(ADAS)中的ACC功能,但不同于自動(dòng)駕駛的是ACC功能需要在一定速度下才能開啟,而自動(dòng)駕駛的縱向控制技術(shù)需要在車輛起步、車輛低速行駛時(shí)也必須作用,從而穩(wěn)定舒適地跟隨前方車輛。因此,筆者在目前常用于實(shí)現(xiàn)ACC功能的控制算法(如PID控制、LQR控制以及更為復(fù)雜的MPC算法[1~3])的研究基礎(chǔ)上,研究了自動(dòng)駕駛的縱向控制技術(shù)。
目前,關(guān)于自動(dòng)駕駛的跟車算法[4,5]大部分采用3種最大速度的最小值作為自動(dòng)駕駛的跟車速度,這3個(gè)最大速度分別為用戶設(shè)定的最高車速,道路曲率限速,根據(jù)最大縱向加速度、最大縱向減速度和安全距離計(jì)算得到的最大速度。部分跟車算法[6,7]考慮了安全與動(dòng)力舒適等多種評(píng)價(jià)指標(biāo),采用模糊分析、深度學(xué)習(xí)等非規(guī)則化邏輯,導(dǎo)致出現(xiàn)算法運(yùn)算量大、車輛響應(yīng)速度緩慢等問題。
在實(shí)際情況中,自動(dòng)駕駛車輛在起步階段,由于自動(dòng)駕駛車輛離前車的距離較近時(shí),會(huì)導(dǎo)致加速較慢,進(jìn)而使得從車輛起步到穩(wěn)定跟車的行駛距離會(huì)拉長,會(huì)導(dǎo)致自動(dòng)駕駛車輛無法達(dá)到穩(wěn)定速度。為此,筆者提出了一種新的跟車算法:基于前車車速、距離、當(dāng)前車速、當(dāng)前加速度等少量參數(shù),得到最優(yōu)的期望速度和期望加速度,通過模擬分析對(duì)比證明是目前比較適合在自動(dòng)駕駛車輛實(shí)現(xiàn)的算法,優(yōu)化了算法公式,降低了算法的運(yùn)算量,提升了車輛的響應(yīng)速度,實(shí)現(xiàn)了快速安全地跟車。同時(shí),基于PID控制提出了一種在跟車算法基礎(chǔ)上提升控制精確度的自動(dòng)駕駛車輛縱向控制策略,通過PID控制計(jì)算出一個(gè)加速度補(bǔ)償量,在期望加速度的基礎(chǔ)上增加一個(gè)補(bǔ)償量輸出給動(dòng)力系統(tǒng),提升控制的精度,提升車輛跟車的穩(wěn)定性、舒適性和安全性。
自動(dòng)駕駛車輛在道路上行駛,遇到前方有車輛時(shí)需要先快速、安全地跟隨前方車輛,之后再通過決策系統(tǒng)執(zhí)行換道行駛,因此在跟車過程中需要設(shè)定一個(gè)策略。筆者引入前方車輛距離權(quán)重因子,通過權(quán)重計(jì)算自動(dòng)駕駛車輛的期望速度和加速度。在計(jì)算期望速度和期望加速度時(shí)需要先獲得車輛與前方車輛之間的安全距離Ds:
Ds=max{sd,ts*vcurr}
(1)
式中:sd為動(dòng)態(tài)最小安全距離,為系統(tǒng)配置參數(shù);ts為安全時(shí)間,為系統(tǒng)配置參數(shù);vcurr為車輛當(dāng)前車速,通過車輛的輪速傳感器進(jìn)行計(jì)算得到。
在獲得車輛與前方車輛的安全距離Ds后,還需要獲得車輛的變速距離s才可計(jì)算車輛的期望速度。變速距離s通過如下的公式計(jì)算得到:
s=sf-Ds
(2)
式中:sf為前方車輛距離當(dāng)前車輛的距離,該值由自動(dòng)駕駛車輛的感知系統(tǒng)實(shí)時(shí)輸出。
當(dāng)變速距離s>0時(shí),期望的速度vtar的計(jì)算公式為:
vtar=α*vf+(1-α)*vlimit
(3)
式中:vf為前方車輛的速度,通過自動(dòng)駕駛車輛感知系統(tǒng)實(shí)時(shí)輸出;vlimit為系統(tǒng)設(shè)定的最高車速,根據(jù)感知系統(tǒng)識(shí)別的道路限速標(biāo)識(shí)確定并輸出;α為障礙物對(duì)最大速度的影響權(quán)重,其計(jì)算公式如下:
(4)
當(dāng)變速距離s≤0時(shí),期望的速度vtar的計(jì)算公式為:
vtar=min{max(vf-VRC,0),Vlimit}
(5)
式中:VRC為當(dāng)前車輛在與前方車輛的距離小于安全距離時(shí)速度降低值,為系統(tǒng)配置參數(shù)。
圖1 跟車算法流程圖
圖2 縱向控制策略
根據(jù)輸出的期望車速,計(jì)算車輛變速所需的時(shí)間t:
(6)
根據(jù)變速所需的時(shí)間t可最終計(jì)算出期望的加速度atar為:
(7)
通過算法獲得的期望速度vtar和期望加速度atar輸出給自動(dòng)駕駛控制系統(tǒng);由于計(jì)算方法簡(jiǎn)單以及權(quán)重α的存在,可保證在同等安全距離的前提下,加快車輛跟隨前車的響應(yīng)速度,增加系統(tǒng)的反應(yīng)時(shí)間。整個(gè)算法的流程圖如圖1所示。
為了實(shí)現(xiàn)自動(dòng)駕駛車輛平穩(wěn)的行駛,需要對(duì)車輛的動(dòng)力系統(tǒng)和制動(dòng)系統(tǒng)進(jìn)行協(xié)調(diào)控制,使得整車在縱向(即整車X方向)上達(dá)到?jīng)Q策系統(tǒng)下發(fā)的目標(biāo)速度和目標(biāo)加速度。
筆者以車輛動(dòng)力學(xué)模型作為前饋環(huán)節(jié),計(jì)算車輛需求的扭矩;當(dāng)實(shí)際車速與目標(biāo)車速偏差時(shí),通過PID反饋控制對(duì)加速度進(jìn)行補(bǔ)償。當(dāng)車輛需求扭矩為正時(shí),將需求扭矩請(qǐng)求發(fā)給動(dòng)力系統(tǒng);當(dāng)車輛需求扭矩為負(fù)時(shí),將需求減速度請(qǐng)求發(fā)送給制動(dòng)系統(tǒng)。自動(dòng)駕駛車輛的控制策略如圖2所示。
PID的控制表達(dá)式為:
(8)
e(t)=vtar-vcurr
(9)
(10)
(11)
式中:e(t)為系統(tǒng)偏差,在控制系統(tǒng)中為期望速度和實(shí)際執(zhí)行速度的偏差以及期望加速度和實(shí)際執(zhí)行加速度的偏差:Kp為比例系數(shù),根據(jù)車輛實(shí)際情況進(jìn)行標(biāo)定;Ti為積分時(shí)間常數(shù);Ki為積分系數(shù),根據(jù)車輛實(shí)際情況進(jìn)行標(biāo)定;Td為微分時(shí)間常數(shù);Kd為微分系數(shù),根據(jù)車輛實(shí)際情況進(jìn)行標(biāo)定。
簡(jiǎn)單來說,PID各矯正環(huán)節(jié)的作用如下:比例環(huán)節(jié)及時(shí)成比例反映控制系統(tǒng)的偏差信號(hào)e(t),偏差一旦產(chǎn)生,控制器立即產(chǎn)生調(diào)節(jié)作用,以減少偏差;積分環(huán)節(jié)主要用于消除靜態(tài)差,提高系統(tǒng)的誤差度,積分作用的強(qiáng)弱取決于積分時(shí)間常數(shù)Ti,Ti越大,積分作用越弱,反之則越強(qiáng);微分環(huán)節(jié)反映偏差信號(hào)的變化趨勢(shì),即偏差信號(hào)的變化速率,并能在偏差信號(hào)值變化太大之前在系統(tǒng)中引入一個(gè)有效的早期修正信號(hào),從而快速加快系統(tǒng)的動(dòng)作速度,減少調(diào)節(jié)時(shí)間。
根據(jù)計(jì)算得到的加速度補(bǔ)償量acal加上期望的加速度atar獲得準(zhǔn)確的加速度請(qǐng)求areq發(fā)送給車輛的相關(guān)執(zhí)行系統(tǒng),其計(jì)算公式如下所示:
areq=atar+acal
(12)
同時(shí)按照車輛行駛方程可以根據(jù)需求的加速度反算出動(dòng)力系統(tǒng)的需求扭矩,車輛行駛方程如下:
(13)
圖3 縱向控制系統(tǒng)示意圖
式中:Ff為滾動(dòng)阻力;Fw為空氣阻力;Fj為坡度阻力;Fi為加速阻力;r為車輪半徑;ig為變速箱傳動(dòng)比;i0為主減速器傳動(dòng)比;ηt為傳動(dòng)系統(tǒng)的機(jī)械效率,默認(rèn)為常值1。
通過計(jì)算得到的需求扭矩Treq和需求減速度areq輸出給車輛的相關(guān)執(zhí)行器來執(zhí)行加/減速指令,具體的縱向控制系統(tǒng)輸入、輸出示意圖如圖3所示。
圖4 簡(jiǎn)單模擬場(chǎng)景
圖5 某一段時(shí)間內(nèi)跟車距離曲線
自動(dòng)駕駛車輛跟車算法性能的評(píng)價(jià)主要從舒適性(車輛速度、與前車距離的震蕩周期)、達(dá)到穩(wěn)定時(shí)的時(shí)間、達(dá)到穩(wěn)定時(shí)行駛的距離、加速度的最大值和最小值、加速度變化率的最大值和最小值、速度的最大值和最小值、安全性(車輛的TTC時(shí)間,即本車撞上前車的時(shí)間)等幾個(gè)方面進(jìn)行考慮。
為驗(yàn)證算法的性能,筆者利用自己編寫的簡(jiǎn)單模擬程序?qū)λ惴ㄟM(jìn)行了模擬仿真,同時(shí)將Li等[7]所采用的跟車算法也進(jìn)行模擬對(duì)比,模擬場(chǎng)景如圖4所示。
模擬場(chǎng)景為2車初始位置相距10m,前車為人工駕駛,后車為自動(dòng)駕駛,設(shè)定前車的目標(biāo)速度為60km/h,后車的目標(biāo)速度為70km/h。同時(shí)前車的加速度為1.51m/s2,減速度為1.01m/s2;后車的最大加速度為1.0m/s2,最大減速度也為1.0m/s2。2車同時(shí)開始行駛,行駛200s獲取車輛的行駛過程中的數(shù)據(jù)。提取車輛穩(wěn)定行駛后某一段時(shí)間內(nèi)(20s)的跟車距離,如圖5所示,圖5中每幀表示50ms。從舒適性方面來,改進(jìn)算法的震動(dòng)頻率為0.75Hz,Li算法的震動(dòng)頻率為0.045Hz;改進(jìn)算法的距離波峰與波谷差異為0.0018m,Li算法的距離波峰與波谷差異為0.0135m。從數(shù)據(jù)對(duì)比可以得出,改進(jìn)算法相比于Li算法的舒適性略差,但是距離穩(wěn)定性更好。文獻(xiàn)[8,9]的研究表明,震動(dòng)頻率小于1Hz時(shí)處于非敏感區(qū),對(duì)舒適性影響較小,因此認(rèn)為改進(jìn)算法在不影響舒適性前提下提升了跟車距離的穩(wěn)定性。
根據(jù)圖6和圖7所示,從達(dá)到穩(wěn)定的時(shí)間和達(dá)到穩(wěn)定行駛時(shí)的距離2個(gè)方面來看,改進(jìn)算法使車輛達(dá)到穩(wěn)定行駛的時(shí)間為60.2s,行駛的距離為855.1m;Li算法使車輛達(dá)到穩(wěn)定行駛的時(shí)間為62s,行駛的距離為914.6m,性能提升了2.9%,可以看出,改進(jìn)的跟車算法提升了車輛的響應(yīng)速度。
圖6 車輛速度曲線 圖7 行駛距離與主車速度的關(guān)系
以2s的距離得到的速度作為采樣間隔,提取穩(wěn)定行駛前的加速度,數(shù)據(jù)如圖8所示,圖8中每幀代表50ms。筆者計(jì)算得到的加速度最大值為1m/s2,最小值為-0.045m/s2;Li算法的加速度最大值為1m/s2,最小值為-0.0635m/s2。根據(jù)自動(dòng)駕駛車輛的實(shí)際測(cè)試經(jīng)驗(yàn)判斷,當(dāng)減速度小于0.3m/s2時(shí),人體的體驗(yàn)較為舒適,因此2種算法的加速度都在舒適范圍內(nèi),改進(jìn)算法略好一些。
以2s的距離得到的加速度作為采樣間隔,提取穩(wěn)定行駛前的加速度變化率,數(shù)據(jù)如圖9所示,圖9中每幀代表50ms。改進(jìn)算法的加速度變化率最大值為0.025m/s3,最小值為-0.3178m/s3;Li算法的加速度最大值為0.0167m/s3,最小值為-0.1612m/s3。根據(jù)自動(dòng)駕駛車輛的實(shí)際測(cè)試經(jīng)驗(yàn)判斷,當(dāng)加速度的值小于2.5m/s3即為可接受范圍,因此2種算法均在可接受范圍,改進(jìn)算法略差于Li算法。
圖8 車輛加速度曲線 圖9 車輛加速度變化率曲線
圖10 車輛TTC時(shí)間曲線
從速度的最大值和最小值方面來看,在跟車穩(wěn)定后,改進(jìn)算法的最大速度為60.0255km/h,最小為59.9787km/h,速度波動(dòng)為0.0468km/h;Li算法的最大速度為60.4919km/h,最小速度為59.9552km/h,速度波動(dòng)0.5367km/h。根據(jù)自動(dòng)駕駛車輛的實(shí)際測(cè)試經(jīng)驗(yàn)判斷,當(dāng)速度波動(dòng)小于2km/h即為可接受范圍,因此2種算法均在可接受范圍,改進(jìn)算法優(yōu)于Li算法。
從安全性方面來看,在跟車穩(wěn)定后,提取車輛的TTC時(shí)間,其波動(dòng)情況如圖10所示,圖10中每幀代表50ms。改進(jìn)算法的TTC時(shí)間最大值為2.1177s,最小值為2.005s,波動(dòng)值為0.1127s;Li算法的TTC時(shí)間最大值為2.1479s,最小值為2.0105s,波動(dòng)值為0.1374s。2種算法的安全性都很好,改進(jìn)算法略優(yōu)于Li算法,性能有小幅的提升,減少了TTC的波動(dòng),提升了車輛的安全性。
綜合以上各評(píng)價(jià)因素,改進(jìn)算法基本優(yōu)于Li算法,該算法簡(jiǎn)化了計(jì)算公式,降低了算法的計(jì)算量,提升了車輛的響應(yīng)速度,提升了跟車距離的穩(wěn)定性以及跟車算法的安全性。
1)設(shè)計(jì)了一種結(jié)合自動(dòng)駕駛實(shí)際工況的跟車算法,引入距離權(quán)重因子和分段計(jì)算公式,采用簡(jiǎn)單有效的算法公式,降低了算法的計(jì)算量。
2)建立了基于PID控制的縱向控制策略,引入車輛行駛方程,通過加速度補(bǔ)償量提升車輛控制精度,實(shí)現(xiàn)穩(wěn)定、舒適、安全地跟車。
3)通過目前的主流仿真軟件對(duì)算法進(jìn)行模擬仿真,并與主流算法進(jìn)行對(duì)比分析,全方面分析了改進(jìn)算法的性能。分析對(duì)比結(jié)果表明,改進(jìn)算法提升了車輛的響應(yīng)速度,提升了跟車距離的穩(wěn)定性以及跟車算法的安全性。
4)改進(jìn)算法在車輛接近穩(wěn)定距離時(shí),偶爾會(huì)出現(xiàn)短暫剎車的現(xiàn)象,后續(xù)需要對(duì)改進(jìn)算法進(jìn)行適度的修改,消除減速度的跳變。