張 嚴(yán),黃妙華
(武漢理工大學(xué) 汽車工程學(xué)院,湖北 武漢 430070)
無(wú)人駕駛車輛中,路徑跟隨是指車輛在不同的車速、載荷、路況以及風(fēng)阻等條件下自動(dòng)跟隨目標(biāo)行車路線,并保持一定的準(zhǔn)確性、平穩(wěn)性和舒適性[1]。目前,應(yīng)用較為廣泛的路徑跟隨算法有傳統(tǒng)的預(yù)瞄跟隨算法、PID(proportion integral derivative)控制算法、Pure Pursuit算法、自適應(yīng)控制算法和模糊預(yù)測(cè)算法[2]等。
模型預(yù)測(cè)控制(model predictive control,MPC)也稱為滾動(dòng)時(shí)域最優(yōu)控制。其利用一個(gè)已知的模型、系統(tǒng)當(dāng)前的狀態(tài)量和未來(lái)控制量去預(yù)測(cè)系統(tǒng)的未來(lái)輸出,即包括預(yù)測(cè)模型、滾動(dòng)優(yōu)化、反饋矯正3個(gè)步驟。文獻(xiàn)[3]對(duì)線性時(shí)變模型預(yù)測(cè)控制算法的低速直線軌跡跟隨控制效果進(jìn)行了驗(yàn)證,但該汽車模型為運(yùn)動(dòng)學(xué)模型,沒(méi)有考慮到汽車在行駛過(guò)程中的受力情況和彎道軌跡的跟隨控制效果;文獻(xiàn)[4]雖然在動(dòng)力學(xué)的基礎(chǔ)上對(duì)模型預(yù)測(cè)控制算法進(jìn)行了驗(yàn)證,但都只是采用低速工況,沒(méi)有對(duì)高速工況的跟隨效果進(jìn)行驗(yàn)證。此外,在MPC算法中,不同的設(shè)計(jì)參數(shù)可能會(huì)影響其跟隨效果,如果按照傳統(tǒng)人工調(diào)整參數(shù)的方式,不僅費(fèi)時(shí)費(fèi)力,而且還不能確保MPC路徑跟隨控制器達(dá)到最佳的跟隨效果。為了解決上述問(wèn)題,提高無(wú)人駕駛車輛在不同速度工況下對(duì)目標(biāo)路徑跟蹤的準(zhǔn)確性,筆者通過(guò)建立三自由度汽車動(dòng)力學(xué)模型并加入約束條件,對(duì)MPC算法中的重要參數(shù)通過(guò)遺傳算法(genetic algorithm,GA)進(jìn)行優(yōu)化,找到高速、中速和低速3種不同速度工況下的最優(yōu)控制參數(shù),最后搭建 Carsim/Simulink聯(lián)合仿真平臺(tái)來(lái)驗(yàn)證其跟隨效果。
汽車作為一個(gè)復(fù)雜的非線性時(shí)變系統(tǒng),在進(jìn)行無(wú)人駕駛車輛路徑跟隨的控制中,只考慮縱向、側(cè)向和橫擺運(yùn)動(dòng)3個(gè)自由度的汽車動(dòng)力學(xué)模型便能很好地滿足所需的控制要求[5]。故建立如圖1所示的三個(gè)自由度汽車單軌動(dòng)力學(xué)模型。
圖1 三自由度汽車單軌動(dòng)力學(xué)模型
根據(jù)牛頓第二定律建立如下力平衡方程:
mx··=2Fxf+2Fxr+my·φ·
(1)
my··=2Fyf+2Fyr-mx·φ·
(2)
Izφ··=2aFyf- 2bFyr
(3)
式中:a、b分別為質(zhì)心到前、后軸的距離;m為車輛的整備質(zhì)量;Fxf、Fxr為車輛前、后車輪受到的x方向的力;Fyf、Fyr為車輛前、后車輪受到的y方向的力;Iz為車輛繞z軸的轉(zhuǎn)動(dòng)慣量;φ為車輛航向角,x·為車輛沿x方向的速度;y·為車輛沿y方向的速度;x··,y··分別為車輛沿x、y方向的加速度;φ··為航向角加速度;φ·為航向角速度。
考慮車身坐標(biāo)系與慣性坐標(biāo)系之間的轉(zhuǎn)換關(guān)系,可以得到:
Y·=x·sinφ+y·cosφ
(4)
X·=x·cosφ-y·sinφ
(5)
根據(jù)式(1)~式(5),得到車輛的非線性動(dòng)力學(xué)模型。將系統(tǒng)描述為以下?tīng)顟B(tài)空間表達(dá)式:
ξ·dyn=fdyn(ξdyn,udyn)
(6)
hdyn=mdyn(ξdyn)
(7)
其中,控制量udyn=δf(僅考慮前輪轉(zhuǎn)向,故δr=0),狀態(tài)量ξdyn=[y·,x·,φ,φ·,Y,X]T,輸出量hdyn=[φ,Y]T。
為了進(jìn)一步簡(jiǎn)化模型,還需引入輪胎模型。主要的輪胎模型包括經(jīng)驗(yàn)輪胎模型、物理輪胎模型和理論輪胎模型。筆者采用以魔術(shù)公式[6]為基礎(chǔ)的經(jīng)驗(yàn)輪胎模型,其表達(dá)式為:
Y(x)=Dsin{Carctan[Bx-
E(Bx-arctan(Bx))]}
(8)
式中:x為輸入量,分別表示輪胎側(cè)偏角α和滑移率S;B、C、D、E依次為剛度因子、形狀因子、峰值因子和曲率因子;Y(x)為輸出量,可以為縱向力F1、側(cè)向力Fc或回正力矩Mz。
該輪胎模型認(rèn)為,輪胎在垂直、側(cè)面方向上是線性的,阻尼為常量。在輪胎側(cè)偏角α≤5°,側(cè)向加速度ay≤0.4g時(shí),對(duì)輪胎的擬合精度較高。在這個(gè)范圍內(nèi),當(dāng)縱向滑移率及側(cè)偏角較小時(shí),可用式(9)和式(10)得到輪胎的側(cè)向力和縱向力:
Fc=Ccα
(9)
F1=C1s
(10)
式中:Cc為輪胎的側(cè)偏剛度;C1為輪胎縱向剛度;α為輪胎側(cè)偏角;S為縱向滑移率。
在輪胎力的計(jì)算過(guò)程中,對(duì)模型進(jìn)一步簡(jiǎn)化,故提出小角速度假設(shè),即:
sinθ≈θ,cosθ≈1,tanθ≈θ
通過(guò)簡(jiǎn)化,可以得到車輪側(cè)偏角為:
αf=y·+aφ·x·-δf
αr=y·-bφ·x
(11)
式中:δf為前輪偏轉(zhuǎn)角。
車輪側(cè)偏力為:
Fcf=Ccfδf-y·+aφ·x·
(12)
Fcr=Ccrbφ·-y·x·
(13)
式中:Ccf、Ccr為前、后輪胎側(cè)偏剛度。
車輪縱向力為:
F1f=C1fSfF1r=C1rSr
(14)
式中:C1f、C1r為前、后輪胎縱向剛度;Sf、Sr分別為前、后輪胎縱向滑移率。
將式(14)帶入式(6)和式(7),得到基于線性輪胎模型和前輪較小偏角假設(shè)的車輛動(dòng)力學(xué)模型:
x··=1m2C1fSf+Ccfδf-
(y·+aφ·)/x·δf+C1rSr+my·φ·
y··=1m(2[Ccf(δf- (y·+aφ·)/x·)+
Ccr(bφ·-y·)/x·]-mx·φ·)
Izφ··=2[aCf(δf-(y·+aφ·)/x·)-
bCcr(bφ·-y·)/x·]
(15)
式中:控制量udyn=δf,狀態(tài)量ξdyn=[y·,x·,φ,φ·,Y,X]T;X、Y分別為汽車的行駛軸心位置。
以上建立的動(dòng)力學(xué)模型為非線性系統(tǒng),不能直接作用于線性時(shí)變模型預(yù)測(cè)控制,故需要對(duì)其進(jìn)行線性化處理,得到線性時(shí)變方程如下:
ξ·dyn=Adyn(t)ξdyn(t)+Bdyn(t)udyn(t)
(16)
其中
Adyn(t)=?fdyn?udynξt,ut=-2(Ccf+Ccr)mx·t?fy··?x·02(bCcr-aCcf)mx·t-x·00
φ·-2Ccfδf,t-1mx·t?fx··?x·0y·t-2aCcfδf,t-1mx·t00
000100
2(bCcr-aCcf)Izx·t?fφ··?x·0-2(b2Ccr+a2Ccf)Izx·t00
cosφt-sinφtx·tcosφt-y·tsinφt000
-sinφtcosφt-y·tcosφt-x·tsinφt000
Bdyn(t)=?fdyn?udynξt,ut=
2Ccfm,2Ccf2δf,t-1-y·+aφ·x·tm,0,2aCcfIz,0,0
?fy··?x·=2Ccf(y·r+aφ·r)+2Ccr(y·t-bφ·t)mx·2t-φ·t
?fx··?x·= 2Ccfδf,t-1(y·t+aφ·t)mx·2t
?fφ··?x·=2(aCcf(y·t+aφ·t)-bCcr(y·t-bφ·t))Izx·2t
對(duì)式(16)采用一階差商方法進(jìn)行離散化處理,得到離散的狀態(tài)空間表達(dá)式為:
ξdyn(k+1)=Adyn(k)ξdyn(k)+Bdyn(k)udyn(k)
(17)
設(shè)定
ξdyn(k|t)=x(k|t)
udyn(k-1|t)
可以得到一個(gè)新的狀態(tài)空間表達(dá)式:
ξdyn(k+1|t)=
Ak|tξdyn(k|t)+Bk|tΔudyn(k|t)
hdyn(k|t)=Ck|t(k|t)
(18)
其中,
Ak|t=Adyn(k|t)0
0m×nIm,Bk|t=Bdyn(k|t)
Im,
Ck|t=[Cdyn(k|t) 0],Im為m階單位矩陣, Δudyn為控制增量,ξdyn為當(dāng)前狀態(tài)量,m,n分別為系統(tǒng)的狀態(tài)量和控制量個(gè)數(shù)。
為了得到控制時(shí)域內(nèi)的控制序列,需要進(jìn)行目標(biāo)函數(shù)的設(shè)計(jì)[7]??砂芽刂圃隽孔鳛槟繕?biāo)函數(shù)的狀態(tài)量,優(yōu)化目標(biāo)函數(shù)可設(shè)為如下形式:
J(ξ(t),u(t-1),ΔU(t))=
∑Npi=1‖Δηdyn(t+i|t)‖Q2+
∑Nc-1i=1‖Δudyn(t+i|t)‖2R+ρε2
(19)
式中:Δηdyn(t+i|t)=ηdyn(t+i|t)-ηdyn,ref(t+i|t)為輸出量與參考量之差;Q、R為權(quán)重矩陣;Δudyn(t+i|t)為控制增量;ρ為權(quán)重系數(shù);ε為松弛因子;Np為預(yù)測(cè)時(shí)域參數(shù);Nc為控制時(shí)域參數(shù)。
為了保證無(wú)人駕駛汽車快速平穩(wěn)地跟蹤目標(biāo)路徑,需對(duì)輪胎側(cè)偏角、前輪轉(zhuǎn)角及其增量以及質(zhì)心側(cè)偏角進(jìn)行動(dòng)力學(xué)的條件約束[8]。
2.3.1 輪胎側(cè)偏角
由式(11)可推出在某一任意時(shí)刻,當(dāng)系統(tǒng)各狀態(tài)量已知時(shí),前、后輪胎側(cè)偏角的表達(dá)式為:
αf,t=y·t+aφ·tx·t-δf,t-1αr,t=y·t-bφ·tx·t
(20)
其中,αf,t為某一任意時(shí)刻的前輪側(cè)偏角;αr,t為某一任意時(shí)刻的后輪側(cè)偏角,δf,t-1為上一時(shí)刻的前輪轉(zhuǎn)角。此處對(duì)前輪側(cè)偏角做出限定即:
-3°≤αf,t≤3°
2.3.2 前輪轉(zhuǎn)角及其增量
前輪轉(zhuǎn)角作為所設(shè)計(jì)的MPC控制器中的控制量,需要對(duì)它及它的增量進(jìn)行約束。此處將前輪轉(zhuǎn)角及其增量約束設(shè)置成:
-10°≤u≤10°,-0.85°≤Δu≤0.85°
2.3.3 質(zhì)心側(cè)偏角
汽車在附著條件較差的冰雪路面上,極限值為±2°, 而在附著條件良好的路面上行駛時(shí),質(zhì)心側(cè)偏角的極限可以達(dá)到±12°。因此質(zhì)心側(cè)偏角的約束條件為:
-12°≤β≤12° (良好路面)
-2°≤β≤2° (冰雪路面)
綜上所述,MPC路徑跟隨控制器可歸納為如以下優(yōu)化問(wèn)題:
minΔudyn,∈‖Δηdyn(t+i|t)‖2Q+∑Nc-1i=1
‖Δudyn(t+i|t)‖2R+ρε2Δηdyn(t+i|t)=
ηdyn(t+i|t)-ηdyn,ref(t+i|t)
(21)
s.t.ΔUdyn,min≤ΔUdyn≤ΔUdyn,max
Udyn,min≤AΔUdyn+Udyn,t≤Udyn,max
yhc,min≤yhc≤yhc,max
ysc,min-ε≤ysc≤yyc,max+ε
ε>0
(22)
式中:yhc為硬約束輸出;ySC為軟約束輸出;yhc,max、yhc,max為硬約束極限值;ysc,min、ysc,max為軟約束極限值;ΔUdyn為運(yùn)動(dòng)學(xué)中控制增量;Udyn為運(yùn)動(dòng)學(xué)控制量;ΔUdyn,min、ΔUdyn,max為運(yùn)動(dòng)學(xué)控制增量的極限值;Udyn,min、Udyn,max為運(yùn)動(dòng)學(xué)控制值的極限值。當(dāng)每個(gè)控制周期內(nèi)完成對(duì)上式的求解后,將控制序列中的第一個(gè)元素作為實(shí)際的控制輸入增量作用于系統(tǒng):
udyn(t)=udyn(t-1)+Δu*dyn
如此循環(huán),即可實(shí)現(xiàn)對(duì)目標(biāo)路徑的跟蹤。
假設(shè)已有規(guī)劃好的目標(biāo)路徑,故只針對(duì)其跟隨效果進(jìn)行仿真實(shí)驗(yàn)。由于雙移線路徑[9-10]可以很好地測(cè)試汽車的行駛穩(wěn)定性[11-13],故仿真實(shí)驗(yàn)以雙移線路徑為無(wú)人駕駛汽車的跟隨目標(biāo)路徑,雙移線路徑如圖2所示。
圖2 雙移線參考軌跡
遺傳算法是一類借鑒生物界自然選擇和自然遺傳機(jī)制的隨機(jī)搜索算法。其根據(jù)適應(yīng)度的好壞從上一代中選擇一定數(shù)量的優(yōu)秀個(gè)體,通過(guò)交叉、變異形成下一代群體。經(jīng)過(guò)若干代的進(jìn)化,算法收斂于最好的染色體,它即是問(wèn)題最優(yōu)解[14]。
MPC 控制器中,對(duì)預(yù)測(cè)時(shí)域Np、控制時(shí)域Nc這兩個(gè)參數(shù)進(jìn)行優(yōu)化具有重要意義。按照傳統(tǒng)人工調(diào)整參數(shù)的方式,不僅費(fèi)時(shí)費(fèi)力,而且還不能確保MPC路徑跟隨控制器的效果達(dá)到最佳。因此筆者利用遺傳優(yōu)化算法對(duì)MPC的控制參數(shù)進(jìn)行了優(yōu)化設(shè)計(jì),從而尋找出不同車速下的最優(yōu)參數(shù)。系統(tǒng)的輸出性能指標(biāo)采用絕對(duì)誤差積分準(zhǔn)則(integrated absolute error,IAE),其表達(dá)式為:
JIAE=∫∞0|e(t)|dt
遺傳算法優(yōu)化流程如圖3所示。
圖3 遺傳算法優(yōu)化流程圖
采用遺傳算法分別對(duì)30 km/h、60 km/h、90 km/h、120 km/h 4種速度工況進(jìn)行仿真試驗(yàn),找到不同速度工況下的最優(yōu)控制參數(shù)。遺傳算法中的優(yōu)化代數(shù)設(shè)為40,種群數(shù)量為40,交叉概率為0.6,變異概率為0.1。其優(yōu)化結(jié)果如圖4所示。
圖4 遺傳算法優(yōu)化結(jié)果
從圖4(a)的各代最佳適應(yīng)度隨迭代次數(shù)變化曲線可看出,30 km/h車速下最優(yōu)適應(yīng)值(即IAE 性能指標(biāo)值)在第24次迭代時(shí)趨于穩(wěn)定,并達(dá)到最小值0.711 1;60 km/h車速下最優(yōu)適應(yīng)值在第2次迭代時(shí)趨于穩(wěn)定,并達(dá)到最小值0.633 6;90 km/h車速下最優(yōu)適應(yīng)值在第5次迭代時(shí)趨于穩(wěn)定,并達(dá)到最小值1.160 4;120 km/h車速下最優(yōu)適應(yīng)值在第3次迭代時(shí)趨于穩(wěn)定,并達(dá)到最小值1.954 3。
從圖4(b)和圖4(c)的Np、Nc參數(shù)值隨迭代次數(shù)變化曲線可看出,30 km/h車速下參數(shù)最優(yōu)值分別為15.547 0和19.660 7;60 km/h車速下參數(shù)最優(yōu)值分別為18.973 9和14.145 0;90 km/h車速下參數(shù)最優(yōu)值分別為30.648 9和6.368 7;120 km/h車速下參數(shù)最優(yōu)值分別為34.508 7和7.195 7。
將優(yōu)化后的參數(shù)分別帶入對(duì)應(yīng)的速度工況,通過(guò)搭建Carsim/Simulink仿真平臺(tái),對(duì)雙移線目標(biāo)路徑進(jìn)行仿真試驗(yàn),結(jié)果如圖5所示。
圖5 優(yōu)化前后路徑跟隨效果對(duì)比
由圖5可知,經(jīng)過(guò)GA優(yōu)化過(guò)后的MPC控制器,在低速、中速和高速時(shí),均可以較好地跟隨目標(biāo)路徑。在汽車處于低速工況30 km/h時(shí),最大的橫向距離為0.1 m,可以很精準(zhǔn)地跟隨目標(biāo)路徑。在汽車處于中速工況60 km/h時(shí),最大的橫向距離為0.2 m,對(duì)目標(biāo)路徑也有很好的跟隨效果。在汽車處于高速工況90 km/h和120 km/h時(shí),在有較大道路彎曲曲率的試驗(yàn)?zāi)繕?biāo)路徑上出現(xiàn)了一個(gè)較大的偏移量,但最大的橫向距離僅為0.88 m,相當(dāng)于一半的車寬,且后期很快可以跟隨上目標(biāo)路徑,而且考慮到正常情況下,汽車高速工況行駛路況一般應(yīng)較好,很少出現(xiàn)較大的道路彎曲曲率,故其誤差距離可以接受。
汽車的其他性能指標(biāo)如圖6所示。
圖6 優(yōu)化后的汽車主要性能指標(biāo)
由圖6可知,30 km/h車速下橫擺角速度最大值在11.9 deg/s左右,側(cè)向加速度最大值在0.17 m/s2左右,質(zhì)心側(cè)偏角為1.57°;60 km/h車速下橫擺角速度最大值在24.7 deg/s左右,側(cè)向加速度最大值在0.67 m/s2左右,質(zhì)心側(cè)偏角為0.94°;90 km/h車速下橫擺角速度最大值在26.5 deg/s左右,側(cè)向加速度最大值在0.89m/s2左右,質(zhì)心側(cè)偏角為3.6°;120 km/h車速下橫擺角速度最大值在33.2 deg/s左右,側(cè)向加速度最大值在0.97 m/s2左右,質(zhì)心側(cè)偏角為5.9°。
以上實(shí)驗(yàn)結(jié)果分析表明,經(jīng)過(guò)GA優(yōu)化過(guò)的MPC控制器,雖然可能部分犧牲了駕駛員及乘客的乘坐舒適性,但是在對(duì)目標(biāo)路徑進(jìn)行跟隨時(shí),具有較好的魯棒性,且汽車響應(yīng)也符合穩(wěn)定地要求,可以準(zhǔn)確穩(wěn)定的對(duì)目標(biāo)路徑進(jìn)行跟隨。
針對(duì)無(wú)人駕駛車輛的路徑跟隨問(wèn)題,提出了一種基于模型預(yù)測(cè)的路徑跟隨控制,并通過(guò)遺傳算法,對(duì)MPC控制器中的控制參數(shù),預(yù)測(cè)時(shí)域Np和控制時(shí)域Nc進(jìn)行優(yōu)化,找到了不同速度工況下的最優(yōu)控制參數(shù),從而大大提高汽車對(duì)目標(biāo)路徑跟隨的穩(wěn)定性和準(zhǔn)確性。故將優(yōu)化后MPC控制器應(yīng)用到無(wú)人駕駛汽車路徑跟隨控制領(lǐng)域具有一定的可行性。