毛 錦,陽 磊,劉 凱,杜進輔,崔亞輝
(西安理工大學 機械與精密儀器工程學院,西安 710048)
汽車自適應巡航控制(ACC)系統(tǒng)是一種先進的駕駛輔助系統(tǒng),在定速巡航的基礎上,發(fā)展了跟車和換道等多種功能,目前廣泛應用于汽車中。在汽車行駛過程中,該系統(tǒng)不僅能緩解駕駛員精神負擔,而且能保證在行車安全的前提下提高燃油經(jīng)濟性和舒適性。
目前,ACC常采用分層控制,上層控制算法的研究趨向于多元化和精細化,以便更好地契合生活需求。PERSSON等[1]提出一種適合城市道路工況的啟停ACC。LI Shengbo等[2]與LIN Yuchen等[3]在考慮跟車安全性的同時綜合協(xié)調(diào)燃油經(jīng)濟性與舒適性,提出了一種有限時域動態(tài)規(guī)劃模型預測控制的多目標ACC。FANCHER等[4]根據(jù)車頭時距將車輛運行工況劃分為巡航工況、跟隨工況。ZHAO等[5]針對時變多目標控制問題,提出了一種實時更新權重的模型預測控制,以提升ACC的燃油經(jīng)濟性和舒適性。章軍輝等[6]基于模型預測控制理論,綜合協(xié)調(diào)多目標,將行駛工況劃分為5種模式,提升了ACC的適應性和友好性,并研究了基于模型預測控制的仿駕駛員行為ACC[7]等。模型預測控制(MPC)是近年來被廣泛討論的一種反饋控制策略,由于其采用加權的方法解決相互矛盾的控制目標[8],已成為ACC中主要的控制算法。目前,大多數(shù)研究主要通過改進模型預測控制來提高多目標ACC算法的駕乘舒適性和燃油經(jīng)濟性。
近年來,隨著智能算法的發(fā)展,粒子群優(yōu)化(PSO)算法相較于其他優(yōu)化算法,具有結構簡單,運算快,參數(shù)易調(diào)整,優(yōu)化結果明顯等優(yōu)點,因此被廣泛運用[9]。顧宏杰等[10]通過對粒子賦予自適應感知的能力,提出了一種求解約束優(yōu)化問題的改進粒子群優(yōu)化算法。SUSUKI等[11]利用粒子群優(yōu)化算法優(yōu)化MPC中目標函數(shù)的權重,以達到權重的自適應取值。HUANG等[12]引用了一種改進粒子群算法求解帶有控制變量約束的目標函數(shù)。董娜等[13]引入了一種帶有混沌初始化的PSO算法來解決同時帶有輸入約束和狀態(tài)約束的控制優(yōu)化問題。梅欽等[14]將懲罰函數(shù)和PSO算法相結合,借助罰函數(shù)將約束優(yōu)化問題轉換成無約束問題。PERZE等[15]采用動態(tài)慣性權重來避免過早收斂,同時提出帶自適應懲罰因子的懲罰函數(shù)解決約束問題等。因此,改進PSO算法具有求解帶約束的多目標優(yōu)化問題的優(yōu)勢。
本文基于模型預測控制理論,設計綜合考慮車輛安全性、燃油經(jīng)濟性、舒適性等互相沖突的控制目標,在滾動優(yōu)化環(huán)節(jié),提出一種改進PSO算法優(yōu)化帶有多個約束的線性離散目標函數(shù)問題,并結合CarSim聯(lián)合仿真進行驗證。
多目標ACC控制算法是目前研究較多的一種ACC上層控制算法,通過車間縱向運動學模型,基于模型預測控制理論設計綜合協(xié)調(diào)安全性、舒適性和燃油經(jīng)濟性的目標函數(shù)。
在車輛跟馳運動過程中,ACC車輛在與目標車輛之間保持一個安全間距的前提下,能夠平穩(wěn)快速地跟上目標車輛。如圖1所示,給出了車間縱向運動學模型。
圖 1 ACC系統(tǒng)縱向運動學示意圖
圖1中,Δd為實際車間距與期望車間距之差,期望車間距為車頭時距,d0為最小安全間距,相對距離為相對距離,(d+d0)為實際相對距離,vf、af和vl、al分別為ACC車輛和目標車輛的速度、加速度。
根據(jù)ACC車輛與目標車輛縱向運動學關系[16],令為狀態(tài)向量。其中,相對速度為ACC車輛速度的加速度變化率,ACC車輛縱向運動學狀態(tài)方程為:
其中,Ts為采樣周期;τ為下層控制器的時滯常數(shù)。
由于安全性、跟車性、舒適性、燃油經(jīng)濟性是評價ACC車輛的重要指標,本文令作為優(yōu)化的性能指標向量,即:
其中,系數(shù)矩陣C的表達式為:
考慮汽車安全性、燃油經(jīng)濟性、自身及交通法律法規(guī)的限制,將相對距離、本車速度、加速度、加速度變化率和控制變量限制在一定范圍之內(nèi)。并且針對MPC滾動優(yōu)化過程中在硬約束條件下無解的情況,采用文獻[6]中的方法,區(qū)別對待需拓寬的約束范圍,對約束進行松弛化處理:
滾動優(yōu)化是模型預測控制的一大特點,在無限的時域內(nèi)向前進行有限時域的優(yōu)化。
為了使車輛行駛過程中的安全性、跟車性、舒適性、燃油經(jīng)濟性等控制目標達到期望響應,綜上目標函數(shù):
式中:YP、Yr、UN和ε分別為性能指標向量、參考軌跡和控制變量在時域P內(nèi)的矩陣;Q、R和ρ為權重矩 陣,滿 足為松弛因子向量。
PSO算法是KENNEDY和EBERHART[17]于1995年提出的一種群智能算法,把鳥類個體看作隨機的粒子,通過局部和全局最優(yōu)來引導粒子飛向最優(yōu)解。
2.1.1 初始化隨機粒子群(i=1, 2, …,NPSO)
2.1.2 個體極值與全局極值
個體極值為第i個粒子找到的迄今為止最優(yōu)位置
全局極值為個體極值中找到一個全局極值,并與歷史極值比較,選出最佳的作為當前的極值:
2.1.3 速度和位置迭代公式
式中:w稱為慣性因子;c1和c2稱為學習因子;r1和r2表示[0,1]上的隨機數(shù)。
2.1.4 達到終止條件(最大迭代次數(shù)M或相鄰兩代的偏差)
2.2.1 適應度函數(shù)
由于加速度與松弛因子為未知控制變量,將式(4)去掉與控制變量無關項作為適應度函數(shù),即:
式中:H和f為實數(shù)矩陣;x為包含U和ε的列向量。
2.2.2 約束評判函數(shù)
式中:fj(xi)為第j條約束下第i粒子群的違反值;F(xi)為評判第i粒子群的約束評判函數(shù);n代表約束的條數(shù)。
2.2.3 位置迭代
通過基本速度和位置迭代公式產(chǎn)生下一代nexti,并與原代xi比較約束評判函數(shù)值F(xi),約束評判函數(shù)值為0的進行下一步迭代,若都不為0,則定義取代值并且判斷約束評判函數(shù)值小的進行下一代迭代計算。
2.2.4 取代值
當約束違反函數(shù)值不為0時,說明其超出約束,定義取代值代替原代xi與子代nexti的值(原代作為備用群體)。
式中:a與b即約束條件ax≤b時分別對應的值。
步驟1:在約束范圍內(nèi)初始化隨機粒子群,群體規(guī)模NPSO,每個粒子速度Vi和位置Xi。
步驟2:計算每個粒子的適應度值S(x)。
步驟3:對每個微粒,將其適應值與個體極值pbest比較,若適應值優(yōu),則替代原pbest;將其適應值與全局極值gbest比較,若適應值優(yōu),則替代原gbest。
步驟5:更新粒子速度和位置產(chǎn)生下一代nexti。
步驟6:分別計算原代xi與子代nexti的約束評判函數(shù)值,若F(xi)與F(nexti)均為0,則無條件繼續(xù)產(chǎn)生子代;若F(xi)與F(nexti)有一方不為0,則選取為0的粒子群體產(chǎn)生子代;若均不為0,則定義取代值代替原代xi與子代nexti的值,且判斷約束評判函數(shù)值F(xi)與F(nexti),值小的子代進行下一步迭代計算。
步驟7:達到終止條件(最大迭代次數(shù)M或相鄰兩代的偏差)。
仿真采用Microsoft Windows 10 64bit 下的Matlab R2018a版本,仿真參數(shù)見表1(部分參數(shù)可調(diào))。分別對本文提出的ACC上層控制算法(rPSO_ACC)與未采用PSO算法的ACC上層控制算法(原ACC)、基于罰函數(shù)粒子群算法的MPC(PPSO_ACC)以及引入一個PSO工具箱到本文MPC中(PSOt_ACC)進行如下3個場景的仿真試驗。分別針對舒適性和燃油經(jīng)濟性對其進行對比,舒適性采用加速度變化率的均值評判[12],燃油經(jīng)濟性油耗量的計算采用CAPPIELLO等[18]提出的瞬時油耗模型EMIT模型,計算過程中不考慮道路、車多樣性等因素。從兩車相對距離、本車速度、本車加速度、本車加速度變化率等4個方面對幾種方法進行數(shù)值仿真。
表1 rPSO_ACC仿真參數(shù)
此工況中,假設ACC車輛與目標車輛初始速度相同,均為30 m/s,相對距離為50 m,在前4 s內(nèi)前車以1 m/s2的加速度加速行駛,在20~24 s時以-1 m/s2的減速度減速行駛,結果如圖2所示。
圖2 前車加減速工況對比
前車加減速工況下,如圖2a所示,所有算法的ACC車輛均未與前車發(fā)生碰撞,且rPSO_MPC與PSOt_MPC在0~20 s前車加速行駛時,相對距離最大值比另外兩種算法小,在20 s后前車減速行駛時,相對距離最小值比另外兩種算法大,提升了前車加速時的跟蹤性和前車減速時的安全性。由圖2b可知,rPSO_MPC與PSOt_MPC的本車速度變化平緩,跟蹤性能較好。當前車在0 s開始加速,rPSO_MPC與PSOt_MPC從2.5 s開始加速,而其他兩種算法在4 s時加速,降低了反應時間。由圖2c和d可知,rPSO_MPC相較于其他3種算法加速度與加速度變化率極大值與極小值均較小,rPSO_MPC的加速度變化率均未超過1.5 m/s3,且其值的變化更加平穩(wěn),提升了算法的舒適性和燃油經(jīng)濟性。
動態(tài)換道切入工況充分考慮當前車加速駛離,相鄰車道車輛換道插入的情況。ACC車輛與目標車輛初始速度均為20 m/s,相對距離為30 m,在第5 s時本車道前車以1 m/s2的加速度加速行駛,在第10 s時位于相鄰車道的前車以25 m/s的速度切入本道,并保持勻速前行,切入后相對距離為15 m。仿真結果如圖3所示。
圖3 動態(tài)換道切入工況對比
由圖3可知,4種算法均能有效跟蹤前車。如圖3a和b所示,在前車加速后第10 s旁車道車輛換道成為前車,相對距離突變?yōu)?5 m。由圖3b可知,在5~10 s原MPC與PPSO_MPC還在反應階段,前車加速時,本車減速,導致了圖3a中第10 s時相對間距過大,易造成換道頻發(fā),增加了事故的發(fā)生率。相對于PSOt_MPC和rPSO_MPC反應階段較短,相對距離在合適范圍,從而降低了換道工況的發(fā)生,且在發(fā)生后也能平穩(wěn)地跟上前車。如圖3c和d所示,rPSO_MPC相對于其他3種算法加速度變化平緩,加速度變化率的極值均低于其他算法,提升了舒適性和燃油經(jīng)濟性。
假設ACC車輛與目標車輛初始相對距離為50 m,速度相同均為30 m/s,前車前3 s以-3 m/s2的減速度急減速,到第10 s以2 m/s2的加速度加速4 s。仿真結果如圖4所示。
圖4 前車急加速急減速工況對比
在緊急情況下,圖4中4種算法均未與前車發(fā)生碰撞,均能有效跟蹤前車速度,有較好的安全性。圖4b中PSOt_MPC、PPSO_MPC和rPSO_MPC三種算法在0~3 s前車減速時間內(nèi),降低了反應的幅值和時間,其速度幅值在32 m/s左右,但原算法在34 m/s以上,且整個急加減速過程rPSO_MPC的速度變化相較于其他算法更加平緩。如圖4c和d所示,rPSO_MPC的加速度、加速度變化率波動比其他3種小,變化更平穩(wěn),增加了算法的舒適性和燃油經(jīng)濟性。
由3個工況仿真數(shù)據(jù),通過EMIT模型計算得到各個工況的總油耗,以及通過計算得到的加速度變換率的均值見表2。由表可知,在3個工況下,rPSO_MPC的總油耗和加速度變化率平均值均比其他算法低,相比原MPC算法在總油耗上提升了23%以上,在加速度變化率平均值上提升了44%以上。綜上,rPSO_MPC相比其他3種算法,提高了一定的燃油經(jīng)濟性和舒適性。
表2 各工況油耗與加速度變化率均值
為了驗證算法的有效性,本文利用Matlab /Simulink和CarSim進行聯(lián)合仿真。在CarSim中搭建車輛模型及環(huán)境信息,在Simulink中搭建下位控制器、制動力控制器和節(jié)氣門開度控制器。下位控制器采用反饋PID控制,油門制動切換策略和前車循環(huán)工況(ECE+EUDC)分別如圖5和圖6所示。
如圖7所示,在整個循環(huán)工況中,實際相對距離始終保持在大于0的范圍,尤其是前車減速至停車時兩車有大于2 m的相對距離,顯示了算法在循環(huán)工況下能與前車保持期望安全間距,具有較高的行車安全性。
圖5 聯(lián)合仿真平臺搭建
圖6 循環(huán)工況
圖7 距離對比
如圖8所示,前車在循環(huán)工況下,本車車速能夠有效跟上前車車速,且兩車相對車速最大值不超過15 km/h,保證了車輛在循環(huán)工況下的跟車性能。
圖 8 速度對比
為了提高ACC系統(tǒng)的適應能力以及駕乘人員接受度,設計了綜合考慮行車安全性、舒適性、燃油經(jīng)濟性及車輛自身限制等作為變量的目標函數(shù)及約束條件,基于模型預測控制理論將多目標ACC控制問題轉化為帶多約束的二次規(guī)劃問題,在模型預測控制的滾動優(yōu)化環(huán)節(jié)提出一種改進PSO算法,求解帶多個約束的二次規(guī)劃問題。數(shù)值仿真結果表明,在保證跟車安全性的前提下,本文提出的基于rPSO_MPC算法具有較低的總油耗和加速度變化率均值,說明該方法可有效提高燃油經(jīng)濟性和行車舒適性,使ACC系統(tǒng)更加可靠、穩(wěn)定地應用于行車過程。最后通過Matlab/Simulink和CarSim聯(lián)合仿真,驗證了該算法的有效性。