鄧國紅,肖皓鑫,韓龍海,吳鵬飛,張 勇,覃 亮,2
(1.重慶理工大學(xué) a.機械工程學(xué)院; b.車輛工程學(xué)院, 重慶 400054;2.重慶大江智防特種裝備有限公司, 重慶 401320)
跟蹤控制是實現(xiàn)車輛自動駕駛的關(guān)鍵一步,其目的是通過控制車輛的速度和前輪轉(zhuǎn)向保證車輛按照期望的軌跡行駛?,F(xiàn)階段國內(nèi)外對車輛的跟蹤控制方法研究主要有:比例-積分-微分(PID)控制[1],其將真實輸出值和參考值的偏差通過比例、積分、微分進行線性組合進行控制,廣泛應(yīng)用于工業(yè)界;反演控制[2],將高階的非線性系統(tǒng)細(xì)分為低階子系統(tǒng),選擇合適的李亞普洛夫函數(shù)確保系統(tǒng)穩(wěn)定,并求解出最優(yōu)控制率;模糊控制[3],根據(jù)工程經(jīng)驗,確定控制變量的模糊控制規(guī)則,常與PID算法結(jié)合形成Fuzzy-PID復(fù)合控制;預(yù)瞄跟隨理論[4],通過在道路前方設(shè)置一個預(yù)瞄點,控制預(yù)瞄點和車道中心線的橫向位移為0來實現(xiàn)車輛對軌跡的跟蹤;滑??刂芠5],在控制系統(tǒng)中設(shè)計一個滑模面,使?fàn)顟B(tài)量能在有限時間內(nèi)到達滑模面的一種變結(jié)構(gòu)控制方法;線性二次型調(diào)節(jié)器(LQR)[6],適用于線性模型,通過反饋控制器使目標(biāo)函數(shù)達到最小值;以及模型預(yù)測控制(MPC)[7]等多種方式。但由于車輛復(fù)雜性和運動的不確定性,目前的跟蹤控制器進行軌跡跟蹤控制時多數(shù)只控制車輛的橫向運動,即控制車輛的前輪轉(zhuǎn)角進行換道操作。
1978年,模型預(yù)測控制[8](model predictive control,MPC)這一概念被Richalet等學(xué)者提出,此后模型預(yù)測控制被大量應(yīng)用在了車輛控制、智能產(chǎn)業(yè)中[9]。Sun等[10]提出了一種基于模仿學(xué)習(xí)與優(yōu)化相結(jié)合的自動駕駛規(guī)劃、控制模型,該模型包括兩層結(jié)構(gòu),上層通過BP神經(jīng)網(wǎng)絡(luò)對MPC進行模仿來規(guī)劃長期軌跡,下層通過MPC來進行跟蹤,并通過2個高速駕駛實例驗證模型的有效性。Chen等[11]基于自行車模型和8自由度模型建立了2個MPC控制器,并用2個控制器分別控制8自由度和14自由度車輛模型在特定工況下進行驗證比較,論證了基于自行車模型的MPC控制器在運算速度上的優(yōu)越性以及能更好滿足實時性的要求,而8自由度的控制器能夠更加充分考慮到轉(zhuǎn)彎過程中車身側(cè)傾與車輪載荷轉(zhuǎn)移帶來的影響。Liu等[12]研究了高速情況下自動駕駛車輛換道過程,在保證模型保真度和計算可行性的前提下,提出了變時間步長對動力學(xué)模型進行離散化的方法,以此保證足夠長的預(yù)測時間。Luo等[13]提出了一種魯棒MPC控制方法,該控制方法包含基于事件觸發(fā)的(Event-Trigger)ETMPC控制器和狀態(tài)反饋控制器,使系統(tǒng)在特定條件下在MPC控制和狀態(tài)反饋控制間來回切換。該方法旨在減少MPC的計算量,并提升系統(tǒng)魯棒性,在計算量和控制性能之間取得平衡。梁忠超等[14]提出了一種動態(tài)卡爾曼濾波和MPC相結(jié)合的控制策略,通過不斷更新卡爾曼狀態(tài)觀測器中的增益矩陣補償車輛非線性和測量噪聲帶來的影響,使控制器能適應(yīng)變化的車輛系統(tǒng)。石貞洪等[15]采用以模糊控制來優(yōu)化MPC控制器中目標(biāo)函數(shù)權(quán)重系數(shù)的方法,使目標(biāo)函數(shù)權(quán)重系數(shù)能根據(jù)跟蹤誤差以及路徑曲率的變化進行動態(tài)調(diào)整,以此提升行駛安全性與系統(tǒng)穩(wěn)定性。孫銀健[16-17]考慮到算法的實時性問題,提出了非線性系統(tǒng)與線性系統(tǒng)之間的轉(zhuǎn)化方法,以及如何用標(biāo)準(zhǔn)二次規(guī)劃方法求解MPC模型。
在此前對于換道跟蹤控制器的研究中,未考慮車輛在橫向控制時的縱向運動控制,大多數(shù)是對橫向的行駛方向和縱向的速度設(shè)計獨立的控制器,且控制目標(biāo)多為車輛的前輪轉(zhuǎn)角而沒有引入縱向速度控制量,跟蹤過程中的縱向速度為定值,而車輛在換道過程中的行駛狀態(tài)是由行駛方向和行駛速度共同決定的,沒有考慮縱向速度的變化會大大降低控制精度和安全性。因此,本文以智能車為研究對象,以模型預(yù)測控制算法為基礎(chǔ)設(shè)計了橫縱向聯(lián)合跟蹤控制器,以前輪轉(zhuǎn)角和縱向加速度作為控制量。首先建立車輛橫縱向聯(lián)合控制器的非線性預(yù)測模型,其次將非線性預(yù)測模型進行線性化處理,然后進行二次規(guī)劃求解,最優(yōu)求解車輛所需的前輪轉(zhuǎn)角和加速度,最后進行仿真驗證,驗證本文設(shè)計的橫縱向聯(lián)合跟蹤控制器的有效性和魯棒性。
使用何種預(yù)測模型是模型預(yù)測控制的關(guān)鍵內(nèi)容,被控單元的效果由預(yù)測模型的精度決定,所建立的預(yù)測模型精度越高,預(yù)測的輸出和被控單元的輸出就會越貼近,但精度越高的模型伴隨著更大的計算量,從而降低控制系統(tǒng)的響應(yīng)速度。綜合穩(wěn)定性與實時性的考量,本文將會闡述如何選擇適當(dāng)?shù)能囕v模型作為橫縱向跟蹤控制器的預(yù)測模型。
根據(jù)文獻[11]的表述,采用二輪3自由度模型(有橫擺、縱向和橫向3個自由度)作為預(yù)測模型(如圖1所示)對車輛的軌跡進行跟蹤時誤差較小,能夠輸出理想的曲線。
圖1 3自由度車輛模型
根據(jù)圖1所示,XOY是大地坐標(biāo)系,將車輛質(zhì)心作為原點,構(gòu)建坐標(biāo)系XOY、XOY坐標(biāo)系中,X方向代表車輛的縱向運動方向,Y軸和1819軸由右手定則確立。車輛3自由度模型如式(1)所示。
(1)
式中:vx、vy分別為縱向速度、橫向速度(m/s);γ為車輛的橫擺角速度((°)/s);δf為前輪轉(zhuǎn)角(°);Flf、Fcf為地面施加于前輪的縱向力和橫向力(N);Flr、Fcr為地面施加于后輪的縱、橫向力(N);Iz為z軸的轉(zhuǎn)動慣量(kg·m2);m為汽車質(zhì)量(kg);a為質(zhì)心到前軸距離;b為質(zhì)心到后軸距離(m)。
根據(jù)圖1能夠得到模型的前輪和后輪側(cè)偏角αf、αr。
(2)
式中:vc、vl為輪胎的橫向速度和縱向速度(m/s)。但由于車輛在行駛時,其縱向和橫向的速度不容易直接獲得,通??梢酝ㄟ^圖1中汽車質(zhì)心的縱向與橫向速度vx、vy輪胎的轉(zhuǎn)角以及其余參數(shù)求解得到。
(3)
(4)
在搭建預(yù)測模型前,需要對輪胎工作過程中的受力進行簡化,因為輪胎具有顯著的非線性特性,這樣可以降低系統(tǒng)的復(fù)雜度。根據(jù)文獻[18]的試驗和使用魔術(shù)輪胎公式搭建的模型在仿真之后所呈現(xiàn)出的結(jié)果顯示,在正常行駛的工況中,輪胎的縱向滑移率s以及側(cè)偏角都小于或者等于 4~5,車輛側(cè)向加速度ay≤0.4g,輪胎的側(cè)偏角和側(cè)向力之間,以及滑移率和縱向力之間的關(guān)系可以看作是線性關(guān)系??紤]到本文所涉及的車輛在換道過程中,輪胎力會一直處于線性區(qū)域內(nèi),所以采用式(5)求得輪胎縱、橫向力。
(5)
由于模型中的車輪側(cè)偏角在計算過程中有三角函數(shù)關(guān)系,而在實際行駛過程中,考慮到車輛的車輪轉(zhuǎn)角和側(cè)偏角數(shù)值都較小,因此可采用以下的假設(shè)條件:
sinθ≈θ,cosθ≈1,tanθ≈θ
(6)
θ值包括車輪轉(zhuǎn)角以及側(cè)偏角。
對前、后輪縱向力與橫向力、車輪側(cè)偏角進行化簡后可得到式(7)~(9):
(7)
(8)
(9)
在對軌跡進行跟蹤時,控制器的參考軌跡往往建立于大地坐標(biāo)系之上,如圖2所示,所以還需要確立車輛位置與大地坐標(biāo)系之間的關(guān)系,具體的關(guān)系方程由式(10)所示。
(10)
圖2 大地坐標(biāo)系下的車輛位置
聯(lián)立式(1)~式(10),得到橫向模型,如式(11)所示。
(11)
此外還需要考慮車輛的縱向速度控制,以縱向位移x以及速度v作為縱向狀態(tài)量,以加速度ax作為縱向控制量,最終確定點質(zhì)量模型為橫縱向跟蹤控制器的縱向預(yù)測模型,如式(12)所示:
(12)
同樣地,需要確定車輛位置系和大地坐標(biāo)系之間的關(guān)系,其車速和大地坐標(biāo)系下速度關(guān)系用下列方程表示:
(13)
綜合車輛橫向以及縱向運動預(yù)測模型得出,本文所設(shè)計的車輛橫縱聯(lián)合跟蹤控制器的非線性預(yù)測模型如式(14)所示。
(14)
在式(14)中含有2個加速度變化量,由于車輛的縱向速度通過控制加速度得到,因此對其進行修正:
(15)
把上式改寫成狀態(tài)空間方程:
(16)
由于式(14)所建立的模型是非線性的,對應(yīng)使用的控制算法也是非線性的,然而在實際的控制過程中,模型要求控制過程的實時和穩(wěn)定,非線性模型預(yù)測控制很難達到要求,此外還會形成較為復(fù)雜的非線性約束[19]。而將模型線性化之后,可以使控制器性能更符合要求。常用的線性化方法有近似線性化與精確線性化。本文選用近似線性化的方法,其原因在于:MPC控制器是一個閉環(huán)控制器,它的反饋矯正以及滾動優(yōu)化的特征使其能夠進行實時調(diào)節(jié)。每一個采樣時刻都會根據(jù)控制對象的實際輸出,調(diào)節(jié)預(yù)測模型的輸出,不斷優(yōu)化更新,以減少因受外界因素擾動而產(chǎn)生控制輸出和參考值之間誤差過大的問題。除此之外,因為MPC要求較高的實時性,更精確的模型會要求更高的算力以及更容易產(chǎn)生一些難以排查的問題。
首先將前文中的非線性模型進行近似線性化,采用文獻[20]中所使用的方法,線性時變方程如式(17)所示。
(17)
式中:
之后對式(17)進行離散化處理。
(18)
式中:Ak,t(k)=I+TAt(t),Bk,t(k)=TBt(t),Ck,t(k)=Ct(t),Dk,t(k)=Dt(t),T為離散后的系統(tǒng)采樣周期,ξd(k+1)=ξ(k+1)-ξ0(k+1),ξd(k)=ξ(k)-ξ0(k),ud(k)=u(k)-u0。
根據(jù)式(18)中的條件進一步處理可以得到:
(19)
式中:dk,0(k)=ξ0(k+1)-Ak,tξ0(k)-Bk,tu0ξ0(k+1)ξ0(k+1)指的是系統(tǒng)在整個采樣周期中用連續(xù)的控制量u0所獲得的新的采樣時刻的狀態(tài)量。
為了使控制器穩(wěn)定運行,需要對控制量的變化量施加約束,因為上式中的控制量會在控制過程中產(chǎn)生跳變。此處把式(19)里的控制量u(k)改寫成控制增量Δu(k),將控制增量進行約束從而減少控制過程中的跳變,因此式(19)應(yīng)改寫為:
(20)
經(jīng)過線性化和離散化后的狀態(tài)空間方程為:
(21)
(22)
式中:Np表示預(yù)測時域,Nc表示控制時域,且Np≥Nc。
通過式(22)判斷Np中系統(tǒng)未來每個采樣時刻的狀態(tài)量以及輸出量。
此處把式(21)寫作矩陣來表述Np中的系統(tǒng)狀態(tài)量以及輸出量。
(23)
式中各矩陣如下:
優(yōu)化問題的重點在于目標(biāo)函數(shù),目標(biāo)函數(shù)可以顯示設(shè)計的系數(shù)追求的一些特定的目的。在目標(biāo)函數(shù)的設(shè)計過程中,需要確保車輛可以平穩(wěn)而且迅速地跟蹤上期望路徑以及期望速度。此外為確保求解器可以在約束條件限制下求得最優(yōu)解,需要在目標(biāo)函數(shù)中加入松弛因子ε。本文參考文獻[20],使用了二次型目標(biāo)函數(shù):
(24)
考慮到車輛行駛過程中的安全性,需要對輸出量、控制量(ax,δf)、控制量增量(Δax,Δδf)作出如下約束:
(25)
把式(24)和式(25)整理過后得到系統(tǒng)的優(yōu)化函數(shù)。
(26)
式(26)設(shè)計的優(yōu)化函數(shù)是二次型函數(shù),二次型函數(shù)的求解,可以轉(zhuǎn)化為二次規(guī)劃問題,即:
(27)
在每個采樣時間,都可以使用二次規(guī)劃確定最優(yōu),算得控制器的最優(yōu)控制序列:
(28)
在式(28)中,如果把第一項當(dāng)成是目前時刻的控制增量,那么目前時刻的控制量就是上一個時刻控制量和目前控制增量的和,即:
u(k)=u(k-1|k)+Δu(k)
(29)
然后進行下一次求解,重復(fù)上述過程,獲得最優(yōu)控制序列。
在Matlab/Simulink和CarSim軟件中搭建橫縱向聯(lián)合跟蹤控制器以及車輛動力學(xué)模型,整車參數(shù)如表1所示。
表1 整車參數(shù)
目前國內(nèi)外大多數(shù)研究智能車輛的換道路徑跟蹤性能時選擇等速偏移的換道軌跡、正反梯形加速度的換道軌跡、圓弧的換道軌跡和多項式的換道軌跡。本文選取5次多項式換道軌跡作為車輛橫向跟蹤的參考軌跡,縱向運動跟蹤參考速度選擇基于sin的函數(shù)參數(shù)。
車輛橫向運動參考軌跡表達式為:
y(x)=a5x5+a4x4+a3x3+
a2x2+a1x+a0
(30)
(31)
式(30)中的常數(shù)a0、a5由式(31)確定。
車輛縱向運動參考速度為:
Vref(X)=v0+fzsin(z3(X))
(32)
式中:Vref表示參考速度;v0表示車輛初始速度;fz表示速度幅值;z3(X)表示與縱向位移有關(guān)的函數(shù)。
為了驗證本文設(shè)計的橫縱向聯(lián)合跟蹤控制器的有效性和魯棒性,設(shè)置3種不同初始車速下的橫向和縱向工況下的跟蹤能力。
從上述仿真結(jié)果可以看出,車輛在不同工況下的橫縱向跟蹤控制能力基本上可以跟蹤上期望的軌跡。圖3~5表示車輛在不同車速下的橫向跟蹤性能。從圖3、4中可看出,控制器能夠使車輛在不同車速下基本上按照期望的換道軌跡行駛。
圖3 車輛橫向位移
圖4 車輛航向角
圖5為車輛在不同車速下的橫向跟蹤誤差,隨著車速的增加其跟蹤效果下降,但從圖中可看出車輛在108 km/h的車速下橫向跟蹤誤差在0.05 m范圍內(nèi),控制器的橫向跟蹤性能較好。
圖5 車輛橫向跟蹤誤差
圖6、7表示車輛的縱向跟蹤性能,其中圖6設(shè)置了3種不同的速度參考軌跡,車輛能夠較好地跟蹤上期望的速度軌跡。
圖7表示車輛在3種速度下的跟蹤誤差,從圖中可以看出控制器在72 km/h和90 km/h狀態(tài)下跟蹤誤差都在0.5 km/h內(nèi),但隨著速度繼續(xù)增加,在108 km/h的速度跟蹤誤差達到了1 km/h,表明控制器的跟蹤效果隨著速度增加變差。
圖8和圖9表示車輛在不同車速下的前輪轉(zhuǎn)角和加速度變化。
圖9 車輛加速度變化
從圖6中可以得出,隨車速提高,前輪轉(zhuǎn)角變化幅度隨之增大,在108 km/h的速度下,前輪轉(zhuǎn)角的變化也在0.6°以內(nèi),車輛能夠穩(wěn)定行駛;從圖9可以看出加速度的變化隨著車速增加變化范圍為從78 km/h速度下的[-1 1]增加到了108 km/h速度下的[-2.2 2],表明其跟蹤性能隨著速度增加而下降。結(jié)合控制器的橫縱向跟蹤性能可以得出,該控制器基本上能夠較好地跟蹤期望軌跡,但其高速的跟蹤性能低于低速的跟蹤性能。
考慮到多數(shù)研究只針對換道過程中車輛橫向位置變化設(shè)計了跟蹤控制器,而沒有考慮到縱向速度變化帶來的影響,本文以MPC算法為基礎(chǔ),設(shè)計了橫向路徑跟蹤與縱向速度跟蹤的控制器,將3自由度車輛模型和點質(zhì)量模型相結(jié)合,在通過前輪轉(zhuǎn)角對車輛換道進行橫向控制的同時考慮車輛的縱向運動帶來的影響,并將加速度作為控制量控制縱向運動,為了減少控制器在運行過程中的復(fù)雜度和保證模型穩(wěn)定性,對模型中的非線性部分進行了線性化和離散化,最后使用二次規(guī)劃求解目標(biāo)函數(shù)。在仿真環(huán)節(jié),設(shè)計了72、90、108 km/h 3種速度的仿真工況對控制器的效果進行驗證,結(jié)果表明:控制橫向跟蹤誤差在 0.04 m內(nèi),控制器能較好地跟蹤期望軌跡,速度跟蹤誤差在1 km/h內(nèi),前輪轉(zhuǎn)角增幅在0.6°內(nèi),變化較為平緩,汽車能夠穩(wěn)定行駛,加速度變化范圍隨著車速提高也有所增大,其變化范圍為[-2.2 2],雖然高速下的跟蹤效果有所下降,但仍符合預(yù)期。仿真結(jié)果表明:本文設(shè)計的橫縱向聯(lián)合跟蹤控制器在橫向和縱向控制上有較好的有效性和魯棒性。