吳施鵬,劉冉冉,顏海彬,臧傳濤
(江蘇理工學(xué)院 汽車(chē)與交通工程學(xué)院,江蘇 常州 213000)
路徑跟隨是實(shí)現(xiàn)汽車(chē)自動(dòng)駕駛的關(guān)鍵技術(shù),其目的是控制汽車(chē)準(zhǔn)確地跟隨目標(biāo)路徑[1]。目前已有多種路徑跟蹤算法用于智能車(chē)輛的轉(zhuǎn)向控制[2]。應(yīng)用較多的有純點(diǎn)追蹤算法[3]、線性二次型調(diào)節(jié)器跟蹤控制器[4]、嵌套式PID控制算法[5]以及預(yù)瞄跟蹤最優(yōu)控制等[6]。然而,在現(xiàn)實(shí)控制中這些算法存在忽略行駛時(shí)車(chē)輛動(dòng)力學(xué)約束的問(wèn)題,而模型預(yù)測(cè)控制以準(zhǔn)確的動(dòng)力學(xué)模型作為預(yù)測(cè)模型,在控制時(shí)加入約束條件,具有提高控制器對(duì)車(chē)輛未來(lái)行為的預(yù)測(cè)能力的優(yōu)勢(shì)[7]。所以,本文中選用模型預(yù)測(cè)控制方法。
模型預(yù)測(cè)控制在實(shí)現(xiàn)過(guò)程中有模型預(yù)測(cè)、滾動(dòng)優(yōu)化和反饋校正3個(gè)關(guān)鍵步驟[8]。模型預(yù)測(cè)控制最明顯的優(yōu)點(diǎn)是能在控制過(guò)程中增加多種約束。無(wú)人車(chē)輛在低速時(shí),車(chē)輛平臺(tái)運(yùn)動(dòng)學(xué)約束影響較大,而隨著速度的增加,動(dòng)力學(xué)特性對(duì)運(yùn)動(dòng)規(guī)劃與控制的影響就越明顯,帶來(lái)多種模式的約束,這正是模型預(yù)測(cè)控制在無(wú)人車(chē)輛運(yùn)動(dòng)規(guī)劃控制方面的應(yīng)用優(yōu)勢(shì)[9]。國(guó)外的Falcone等[10]在線性車(chē)輛模型基礎(chǔ)上設(shè)計(jì)了MPC控制器并將其用于路徑跟蹤系統(tǒng),實(shí)車(chē)上對(duì)控制算法進(jìn)行了驗(yàn)證。Abbas等[11]在非線性車(chē)輛模型的基礎(chǔ)上設(shè)計(jì)MPC控制器,綜合考慮了路徑跟蹤過(guò)程中輪胎的側(cè)偏角約束,但是存在實(shí)時(shí)性較差的問(wèn)題,且對(duì)系統(tǒng)的硬件設(shè)備要求較高。Sara Mata等[12]提出了一種基于預(yù)測(cè)模型和保證穩(wěn)定性的MPC路徑跟蹤控制器。該方法優(yōu)化了橫向位移和偏航角,提供了更精確的路徑跟蹤。J Ji等[13]在MPC方法中,以約束條件下的成本最小化為優(yōu)化問(wèn)題,輸入側(cè)向位置、橫擺角速度、側(cè)滑角和方向盤(pán)轉(zhuǎn)角等約束來(lái)提高高速下的車(chē)輛穩(wěn)定性。Garcia O等[14]提出了一種利用MPC設(shè)計(jì)和仿真路徑跟蹤控制的方法,控制器的設(shè)計(jì)模型基于車(chē)輛的單一跟蹤模型和由卡爾曼濾波器觀測(cè)狀態(tài)變量的轉(zhuǎn)向模型。Arun等[15]提出了一種基于MPC的自動(dòng)駕駛控制系統(tǒng),該系統(tǒng)采用圖形處理單元,提高了計(jì)算速度和系統(tǒng)的實(shí)時(shí)性。武漢理工大學(xué)的張嚴(yán)等[16]建立了縱向、橫向和橫擺的3自由度汽車(chē)動(dòng)力學(xué)模型,確定目標(biāo)函數(shù)并加入約束條件,利用遺傳算法對(duì)模型預(yù)測(cè)控制器的預(yù)測(cè)時(shí)域、控制時(shí)域進(jìn)行優(yōu)化。但在較高車(chē)速和較大道路彎曲曲率的路徑下仍然有較大的偏差量。北京工業(yè)大學(xué)的段建民等[17]通過(guò)改進(jìn)目標(biāo)函數(shù)、增加輪胎側(cè)偏角動(dòng)力學(xué)約束,以車(chē)輛動(dòng)力學(xué)模型作為模型預(yù)測(cè)控制的預(yù)測(cè)模型,提出了一種改進(jìn)的智能汽車(chē)目標(biāo)路徑跟蹤方法,但其在高速情況下仍然會(huì)出現(xiàn)較大的側(cè)滑,導(dǎo)致跟蹤出現(xiàn)偏差。遼寧工業(yè)大學(xué)的李金良等[18]驗(yàn)證了線性時(shí)變模型預(yù)測(cè)控制算法在低速下的路徑跟蹤效果,說(shuō)明這個(gè)方法在低速下軌跡跟蹤有較好的實(shí)時(shí)性以及行駛穩(wěn)定性,但是沒(méi)有驗(yàn)證這種控制算法在高速下的路徑跟蹤效果。雖然現(xiàn)在模型預(yù)測(cè)控制有著比較成熟的理論,但是其在低路面附著系數(shù)和高速工況下的軌跡跟蹤效果并不理想。
為了解決上述問(wèn)題,提高模型預(yù)測(cè)控制器在各種工況下的跟蹤性能和行駛穩(wěn)定性。通過(guò)建立2自由度汽車(chē)動(dòng)力學(xué)模型,設(shè)置模型預(yù)測(cè)控制的目標(biāo)函數(shù),進(jìn)而對(duì)建立的目標(biāo)函數(shù)進(jìn)行求解,利用遺傳算法優(yōu)化控制器參數(shù)來(lái)提高車(chē)輛的跟蹤精度,最后在控制器中加入前輪側(cè)偏角軟約束,既保證了車(chē)輛在高速工況下的跟蹤精度,又保證了車(chē)輛的行駛穩(wěn)定性。
本文中建立整車(chē)動(dòng)力學(xué)模型,研究路徑跟蹤的魯棒性和實(shí)時(shí)性,重點(diǎn)考慮車(chē)輛縱向、橫向以及車(chē)輛橫擺動(dòng)力學(xué)特性[19]。為了簡(jiǎn)化模型的復(fù)雜程度,以減小計(jì)算量,假設(shè)汽車(chē)在平坦的路面上行駛,忽略車(chē)輛垂向運(yùn)動(dòng)和懸架運(yùn)動(dòng),不考慮車(chē)輛載荷左右轉(zhuǎn)移[20]。據(jù)此建立的2自由度車(chē)輛動(dòng)力學(xué)單軌模型如圖1所示。
根據(jù)圖1可以得到以下的關(guān)系:
建立車(chē)輛的受力平衡方程:
式中:X、Y為質(zhì)心橫縱坐標(biāo)值;x、y為質(zhì)心縱橫向位移;a、b為前后軸至質(zhì)心的距離;m為整車(chē)質(zhì)量;Fyf、Fyr、Fxf、Fxr分別為前后輪所受的橫縱向力;φ為車(chē)輛航向角;Iz為車(chē)輛繞z軸的轉(zhuǎn)動(dòng)慣量。
車(chē)輛的輪胎在x、y方向所受到的力為:
式中:Fxf、Fxr為輪胎在x方向所受到的力;Fyf、Fyr為輪胎在y方向所受到的力;Flf、Flr為輪胎所受縱向力;Fcf、Fcr為輪胎所受橫向力;δf、δr分別為前后輪轉(zhuǎn)角。
車(chē)輛在側(cè)偏角和側(cè)向滑移率較小的情況下輪胎力可以用線性函數(shù)來(lái)表示[21]。輪胎的縱側(cè)向力通過(guò)下式來(lái)計(jì)算:
式中:F1為輪胎縱向力;Fc為輪胎側(cè)向力;C1為輪胎縱向剛度;Cc為輪胎側(cè)偏剛度;s為輪胎滑移率;α為輪胎側(cè)偏角。
輪胎前后側(cè)偏角為:
可以得到車(chē)輛的前后側(cè)向力和縱向力:
式中:Ccf、Ccr為前、后輪側(cè)偏剛度;C1f、C1r為前后輪胎縱向剛度;Sf、Sr分別為前后輪胎縱向滑移率。
可以得到車(chē)輛在前輪偏角很小的狀態(tài)下的動(dòng)力學(xué)模型:
式(7)為建立的非線性動(dòng)力學(xué)模型,但其不能直接用于線性時(shí)變模型預(yù)測(cè)控制,因此需要對(duì)非線性系統(tǒng)進(jìn)行線性化處理。
參考系統(tǒng)在任意時(shí)刻的狀態(tài)量與其在某一時(shí)刻的狀態(tài)量及控制量有關(guān),在此將其表示為:
泰勒公式的形式為:
此處忽略泰勒公式的高階項(xiàng),只保留其一階項(xiàng),可以得到:
將式(10)和式(8)相減得到:
簡(jiǎn)化其線性時(shí)變方程為:
上述所建立的線性化模型為:
設(shè)模型預(yù)測(cè)控制中的2個(gè)時(shí)域參數(shù)為Np,Nc,則控制器能夠預(yù)測(cè)到系統(tǒng)的狀態(tài)量為:
在車(chē)輛高速行駛時(shí)易產(chǎn)生控制量突變的情況,使跟蹤軌跡完全偏離目標(biāo)軌跡,因此,在目標(biāo)函數(shù)中加入松弛系數(shù)來(lái)解決此問(wèn)題,故采用如下形式設(shè)計(jì)模型預(yù)測(cè)控制器的目標(biāo)函數(shù)[22]:
式中:η(t+i|t)為系統(tǒng)的實(shí)際輸出軌跡;ηr(t+i|t)為系統(tǒng)的參考輸出軌跡;Δu(t+i|t)為控制量的變化;Q、R為權(quán)重矩陣;Np為預(yù)測(cè)步長(zhǎng);Nc為控制步長(zhǎng);ρ為權(quán)重系數(shù);ε為松弛因子,當(dāng)跟蹤誤差較小時(shí)取較大值,跟蹤誤差較大時(shí)取較小值。
式(16)中的第1項(xiàng)表明設(shè)置參考路徑后的車(chē)輛跟蹤效果,第2項(xiàng)表明控制量的變化平穩(wěn)性,第3項(xiàng)加入松弛系數(shù),來(lái)對(duì)約束范圍進(jìn)行調(diào)節(jié),防止該方程無(wú)法在硬性約束下求得最優(yōu)解。
因此,模型預(yù)測(cè)控制器需要求解目標(biāo)函數(shù)的最小值,以得到最優(yōu)解,即:
在每個(gè)控制步長(zhǎng)中,需要對(duì)系統(tǒng)的控制量進(jìn)行約束。
控制量約束:
式中,k=0,1,…,Nc-1。
控制增量約束:
式中,k=0,1,…,Nc-1。
綜合考慮目標(biāo)函數(shù)和約束條件后,需要在每個(gè)周期內(nèi)解決以下優(yōu)化問(wèn)題:
式中:ΔUmax、ΔUmin為控制增量最大值和最小值。αmax、αmin為軟約束輸出最大值和最小值。
對(duì)上述問(wèn)題進(jìn)行求解可獲得每個(gè)時(shí)域內(nèi)的控制增量。將每個(gè)時(shí)域內(nèi)的控制增量表示為:
因此,系統(tǒng)實(shí)際接收到的輸入量為:
不斷地循環(huán)進(jìn)行這樣一個(gè)過(guò)程,就可以讓控制器實(shí)時(shí)地跟蹤到目標(biāo)軌跡。其控制原理如圖2所示。
由于模型預(yù)測(cè)控制器中時(shí)域參數(shù)Np和Nc的取值能夠大大影響無(wú)人駕駛車(chē)輛的路徑跟蹤性能,為了能夠獲得最優(yōu)的時(shí)域參數(shù),本文中通過(guò)遺傳算法對(duì)時(shí)域參數(shù)進(jìn)行優(yōu)化。遺傳算法是一種成熟的優(yōu)化算法,其利用適應(yīng)度函數(shù)來(lái)判斷解的好壞。
采用如下的遺傳算法步驟對(duì)時(shí)域參數(shù)Np和Nc進(jìn)行優(yōu)化:① 初始化種群,生成N個(gè)個(gè)體的初始基因;②選用適應(yīng)度函數(shù)來(lái)評(píng)估種群個(gè)體適應(yīng)度,計(jì)算出個(gè)體的適應(yīng)度值;③選出適應(yīng)力強(qiáng)的個(gè)體進(jìn)行遺傳和交叉,生成新的個(gè)體。遺傳算法會(huì)隨機(jī)地選擇少數(shù)個(gè)體進(jìn)行變異操作,以避免優(yōu)化結(jié)果陷入局部最優(yōu)[23]。本文中根據(jù)文獻(xiàn)[24],設(shè)置遺傳算法的種群大小為50,終止進(jìn)化次數(shù)為20,交叉概率為0.6,變異概率為0.1。設(shè)置優(yōu)化變量為系統(tǒng)的時(shí)域參數(shù)Np、Nc。時(shí)域參數(shù)的優(yōu)化原理如圖3所示。
因?yàn)橄到y(tǒng)的橫縱向偏差屬于不同數(shù)量級(jí),因此將其量綱為一化處理:
將橫縱向偏差進(jìn)行加權(quán)組合:
式中:σ為權(quán)重系數(shù),取值范圍為(0,1),本文中取σ=0.7。
時(shí)間乘以誤差絕對(duì)值積分(ITAE)性能指標(biāo)是一種具有很好的工程實(shí)用性和選擇性的控制系統(tǒng)性能評(píng)價(jià)指標(biāo)[25]。因此本文中的適應(yīng)度函數(shù)選用ITAE指標(biāo):
由于考慮到模型預(yù)測(cè)控制器中的預(yù)測(cè)時(shí)域和控制時(shí)域必須為整數(shù),因此在遺傳算法中隨機(jī)初始化種群時(shí)加入round函數(shù)讓種群變?yōu)檎麛?shù),避免遺傳算法無(wú)法尋找到最優(yōu)解的情況,再輸入到模型預(yù)測(cè)控制器中。在Simulink下建立模型,如圖4所示。
需要將前輪側(cè)偏角控制在合適的范圍內(nèi),來(lái)保證輪胎的側(cè)偏角和側(cè)偏力呈線性關(guān)系。本文中研究在低附著系數(shù)和較高行駛車(chē)速工況下的路徑跟蹤,側(cè)偏角對(duì)路徑跟蹤性能有較大的影響,所以將前輪側(cè)偏角軟約束的范圍設(shè)置為-2.82°≤α≤2.82°。
本文中設(shè)置的系統(tǒng)控制量為前輪轉(zhuǎn)角,其變化范圍對(duì)路徑的跟蹤效果有較大影響,因此需要約束前輪轉(zhuǎn)角及其變化范圍,設(shè)置其范圍為:
選用文獻(xiàn)[9]中傳統(tǒng)模型預(yù)測(cè)控制的無(wú)人駕駛車(chē)輛基本參數(shù),在Carsim車(chē)輛動(dòng)力學(xué)仿真軟件中車(chē)輛的基本參數(shù)見(jiàn)表1。控制器部分仿真參數(shù)見(jiàn)表2。
表1 動(dòng)力學(xué)模型基本參數(shù)
表2 控制器部分仿真參數(shù)
采用Carsim和Matlab/Simulink進(jìn)行聯(lián)合仿真,設(shè)定的參考軌跡為雙移線路徑,在附著系數(shù)為0.4和0.85的路面進(jìn)行仿真,分別對(duì)比50 km/h和100 km/h車(chē)速下傳統(tǒng)MPC、經(jīng)遺傳算法優(yōu)化后的MPC以及加入前輪側(cè)偏角軟約束后的路徑跟蹤效果。
無(wú)人駕駛車(chē)輛在 μ=0.85、v=50 km/h下的仿真結(jié)果如圖5所示。
由圖5可知,在附著系數(shù)為0.85、車(chē)速為50 km/h下的3種控制器均具有較高的控制精度。經(jīng)過(guò)遺傳算法優(yōu)化后的控制器路徑跟蹤誤差略微低于傳統(tǒng)MPC,其路徑跟蹤精度稍微好于傳統(tǒng)MPC。相比于文獻(xiàn)[16]中僅通過(guò)遺傳算法優(yōu)化的方法,本文中加入前輪側(cè)偏角約束,其路徑跟蹤誤差和橫擺角更大一點(diǎn)但差別很小,這說(shuō)明3種控制器的橫擺角相差不大,在高附著中速情況下3種控制模式的行駛穩(wěn)定性很接近,路徑跟蹤性能變化不大。
無(wú)人駕駛車(chē)輛在 μ=0.4、v=50 km/h下的仿真結(jié)果如圖6所示。
由圖6可知,在附著系數(shù)為0.4、車(chē)速為50 km/h的情況下,經(jīng)過(guò)遺傳算法優(yōu)化后的路徑跟蹤精度更高一些,但其在行駛到90 m處車(chē)輛出現(xiàn)短暫的波動(dòng),隨后可以調(diào)整過(guò)來(lái)繼續(xù)跟蹤到路徑。相比于文獻(xiàn)[16]中僅通過(guò)遺傳算法優(yōu)化的方法,本文中加入前輪側(cè)偏角約束,其路徑跟蹤誤差與文獻(xiàn)[16]方法下的路徑跟蹤誤差差別不大,但其橫擺角并未產(chǎn)生波動(dòng)。這也說(shuō)明后2個(gè)控制器的路徑跟蹤誤差要好于傳統(tǒng)的MPC,而加入了前輪側(cè)偏角約束后的車(chē)輛的行駛穩(wěn)定性要高于傳統(tǒng)MPC和加入遺傳算法后的MPC。
無(wú)人駕駛車(chē)輛在 μ=0.85、v=100 km/h下的仿真結(jié)果如圖7所示。由圖7可以看出,在μ=0.85、v=100 km/h的工況下,傳統(tǒng)MPC控制最開(kāi)始能跟蹤到參考軌跡,但在90 m之后出現(xiàn)了遠(yuǎn)離參考軌跡的情況,并在100 m之后出現(xiàn)波動(dòng),控制器輕微失穩(wěn),可以知道傳統(tǒng)的MPC在高附著高速的路面狀況下的軌跡跟蹤效果并不好。而遺傳算法優(yōu)化后在一定程度上軌跡跟蹤的誤差減小,在前100 m處能夠較好地跟蹤到軌跡,但在125 m之后出現(xiàn)了控制器失控的現(xiàn)象,無(wú)法很好地跟蹤到軌跡。再加入前輪側(cè)偏角約束之后可以看出,無(wú)人駕駛車(chē)輛在前90 m處的運(yùn)行很平穩(wěn),而且對(duì)參考軌跡具有一定的跟蹤能力,尤其是在90 m之后,無(wú)人駕駛車(chē)輛對(duì)參考軌跡的跟蹤誤差越來(lái)越小,最終可以完全跟蹤到參考軌跡。并且加入了前輪側(cè)偏角約束控制下的車(chē)輛橫擺角波動(dòng)要遠(yuǎn)遠(yuǎn)小于前2個(gè)控制器下的車(chē)輛橫擺角。相比于文獻(xiàn)[16]中僅通過(guò)遺傳算法優(yōu)化的方法,本文中加入前輪側(cè)偏角約束后的路徑跟蹤誤差和橫擺角都要遠(yuǎn)遠(yuǎn)小于文獻(xiàn)[16]方法下的路徑跟蹤誤差和橫擺角,這說(shuō)明在高附著系數(shù)高速下加入前輪側(cè)偏角約束控制器的行駛穩(wěn)定性要遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)MPC和加入遺傳算法優(yōu)化后的控制器。
無(wú)人駕駛車(chē)輛在 μ=0.4、v=100 km/h下的仿真結(jié)果如圖8所示。
可以看出,μ=0.4、v=100 km/h的工況下,傳統(tǒng)MPC無(wú)法跟蹤到路徑,控制器完全失控,傳統(tǒng)MPC在低附著和較高速度下對(duì)參考軌跡沒(méi)有跟蹤能力。經(jīng)過(guò)遺傳算法優(yōu)化后的無(wú)人駕駛車(chē)輛在前60 m處對(duì)軌跡具備一定的跟蹤性能,但在80 m處出現(xiàn)了無(wú)人駕駛車(chē)輛無(wú)限偏向一方的情況,控制器在前期對(duì)參考軌跡還具有一定的跟蹤能力,但在后期已經(jīng)無(wú)法跟蹤到參考軌跡。相比于文獻(xiàn)[16]中僅通過(guò)遺傳算法優(yōu)化的方法,本文中加入前輪側(cè)偏角約束,無(wú)人駕駛車(chē)輛可以較好地跟蹤到軌跡,控制器并沒(méi)有出現(xiàn)失穩(wěn)的情況,橫擺角的變化較為平穩(wěn),也說(shuō)明附著系數(shù)較低的路面高速行駛時(shí)加入前輪側(cè)偏角優(yōu)化后控制的車(chē)輛的行駛穩(wěn)定性明顯優(yōu)于傳統(tǒng)MPC算法和加入遺傳算法優(yōu)化后的車(chē)輛。
為了解決無(wú)人駕駛車(chē)輛在低附著系數(shù)和高速工況下路徑跟蹤效果和行駛穩(wěn)定性差的問(wèn)題,本文中提出了一種基于模型預(yù)測(cè)的無(wú)人車(chē)路徑跟蹤優(yōu)化控制方法。在高附著系數(shù)和中速的工況下利用遺傳算法尋找出控制器的最優(yōu)時(shí)域參數(shù)來(lái)減小無(wú)人駕駛車(chē)輛的路徑跟蹤誤差,再在低附著系數(shù)和高速的工況下利用遺傳算法和加入前輪側(cè)偏角軟約束來(lái)提升無(wú)人駕駛車(chē)輛的跟蹤性能,通過(guò)Carsim和Matlab/Simulink進(jìn)行聯(lián)合仿真。仿真結(jié)果表明:在高路面附著系數(shù)和中速的工況下,利用遺傳算法可以減小路徑跟蹤誤差,提高車(chē)輛的行駛穩(wěn)定性。在低路面附著系數(shù)或者高速的工況下,聯(lián)合應(yīng)用遺傳算法和前輪側(cè)偏角約束能夠大大減小無(wú)人駕駛車(chē)輛的路徑跟蹤誤差,提高行駛穩(wěn)定性,控制器具有較高的路徑跟蹤精度。車(chē)輛在低附著系數(shù)下高速行駛時(shí)能夠保持一定的跟蹤精度,并同樣可以保證一定的行駛穩(wěn)定性。本文中方法可以拓展應(yīng)用到對(duì)無(wú)人駕駛系統(tǒng)權(quán)重矩陣優(yōu)化和對(duì)后輪轉(zhuǎn)角控制算法設(shè)計(jì)方面。但對(duì)于實(shí)際的車(chē)輛系統(tǒng),其參數(shù)是非線性變化的,并且變量信息不一定能夠?qū)崟r(shí)獲取,可以在后續(xù)研究中采用非線性模型預(yù)測(cè)控制系統(tǒng),并且考慮系統(tǒng)的時(shí)滯對(duì)跟蹤效果的影響。