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