譚宇航
(長安大學(xué) 工程機(jī)械學(xué)院,陜西 西安 710064)
車輛縱向動力學(xué)控制是智能汽車控制的基礎(chǔ)。其目的是根據(jù)駕駛條件進(jìn)行加速與減速,從而減少駕駛員的操作量。縱向跟隨式控制系統(tǒng)通常根據(jù)前方車輛和被控車輛之間的相對速度和相對位置等信息來確定被控車輛的期望加速度,以便于和前方車輛保持適當(dāng)?shù)木嚯x,并通過控制車輛的油門和制動器跟蹤期望加速度。
針對車輛縱向跟隨式控制,國內(nèi)外許多學(xué)者已經(jīng)進(jìn)行了大量的研究,文獻(xiàn)[1]利用比例積分(Proportion Integration, PI)與前饋控制,提出了一種用于車輛停走巡航控制的車速和車距控制算法;文獻(xiàn)[2]提出了一種無模型巡航控制算法(Model Free Cruise Control, MFCC),該算法根據(jù)參考模型參數(shù)直接確定油門與制動器的輸入;文獻(xiàn)[3]基于迭代學(xué)習(xí)方法設(shè)計(jì)了車輛驅(qū)動和制動控制算法;文獻(xiàn)[4]根據(jù)對駕駛員的行為分析,提出了一種車輛縱向加速度跟隨控制的校正策略,符合真實(shí)駕駛員的操作行為;文獻(xiàn)[5]使用車間反應(yīng)時距描述自車對目標(biāo)車輛做出的反應(yīng),分別設(shè)計(jì)了基于線性二次型調(diào)節(jié)器和模型預(yù)測控制器的上位控制器,仿真結(jié)果表明,線性二次型調(diào)節(jié)器(Linear Quadratic Regulator, LQR)與模型預(yù)測控制(Model Predictive Control, MPC)控制器均能有效處理復(fù)雜交通環(huán)境信息;文獻(xiàn)[6]基于前饋控制與模糊邏輯對節(jié)氣門開度和制動壓力進(jìn)行控制,在各種工況下保持了良好的性能;文獻(xiàn)[7]提出了一種基于非線性干擾觀測器的無人駕駛車輛模糊滑模車速控制方法,為減少控制抖振,滑??刂频脑鲆嫦禂?shù)由模糊邏輯進(jìn)行在線調(diào)節(jié),結(jié)果表明,該方法可以精確地估計(jì)和補(bǔ)償模型的不確定性和外部干擾。
由于車輛在行駛過程中環(huán)境多變,具有非線性、存在外界干擾等特點(diǎn),因此,設(shè)計(jì)一種魯棒性強(qiáng)、穩(wěn)定性好的車輛縱向動力學(xué)控制器是很有必要的。無模型自適應(yīng)控制(Model-Free Adaptive Control, MFAC)是一種基于非線性系統(tǒng)的控制方法,該方法基于被控對象的輸入和輸出數(shù)據(jù),無需依賴系統(tǒng)的數(shù)學(xué)模型,即可實(shí)現(xiàn)參數(shù)和結(jié)構(gòu)的非線性自適應(yīng)控制[8]。MFAC計(jì)算量小,易于實(shí)現(xiàn),且適用于復(fù)雜的非線性系統(tǒng),與傳統(tǒng)的比例-積分-微分(Proportion Integration Differentiation, PID)等方法相比,具有更強(qiáng)的魯棒性與抗干擾能力。目前,MFAC控制已被廣泛研究并實(shí)現(xiàn)在許多實(shí)際應(yīng)用中,如車輛控制[9-11]、陰極開放式質(zhì)子交換膜燃料電池(Proton Exchange Membrane Fuel Cell,PEMFC)系統(tǒng)控制[12]、濕式離合器壓力控制[13]、電機(jī)控制[14]、城市交通網(wǎng)絡(luò)控制[15]等。
預(yù)測控制是一種廣泛應(yīng)用的控制方法,可以結(jié)合當(dāng)前時刻的測量值和預(yù)測值,來預(yù)測未來時刻內(nèi)的系統(tǒng)輸出值。本文針對車輛縱向動力學(xué)系統(tǒng)的特點(diǎn),結(jié)合預(yù)測控制與無模型自適應(yīng)控制算法各自的優(yōu)點(diǎn),采用了基于無模型自適應(yīng)預(yù)測控制(Model-Free Adaptive Predictive Control, MFAPC)的車輛縱向動力學(xué)控制方法,該方法僅利用車輛縱向行駛過程中的在線輸入/輸出數(shù)據(jù),通過建立每個點(diǎn)處的緊格式動態(tài)線性化數(shù)據(jù)模型,達(dá)到設(shè)計(jì)控制器的目的。
為了驗(yàn)證MFAPC控制方法的有效性,本文基于車輛跟隨式自動駕駛場景,設(shè)計(jì)了分層式的縱向跟隨控制器,其中上層控制器為線性二次型最優(yōu)控制器,根據(jù)前后兩車的車速誤差與車間距誤差得到車輛的期望加速度;下層控制器分別是前饋控制器與基于無模型自適應(yīng)預(yù)測控制的控制器,通過控制車輛的節(jié)氣門開度或制動壓力,跟隨上層控制器得出的期望加速度。最后,在MATLAB/Simulink與CarSim平臺進(jìn)行聯(lián)合仿真,并與PID算法進(jìn)行比較,對所設(shè)計(jì)的控制算法的優(yōu)越性進(jìn)行了驗(yàn)證。
車輛縱向動力學(xué)存在很多非線性的因素影響,例如發(fā)動機(jī)非線性、空氣阻力、輪胎非線性等,考慮到車輛縱向跟隨場景的應(yīng)用環(huán)境,基于以下假設(shè)與簡化的條件,建立車輛縱向動力學(xué)模型:
1)忽略車輛縱向與橫向耦合;
2)發(fā)動機(jī)動態(tài)特性近似為一階慣性環(huán)節(jié);
3)輪胎與地面之間的相對滑移可以忽略不計(jì);
4)自動變速器的換擋邏輯為節(jié)氣門開度和車速的非線性函數(shù);
5)制動壓力與制動力矩為固定增益關(guān)系,其動態(tài)特性由一階慣性延遲環(huán)節(jié)描述。
車輛所受力包含四個部分:驅(qū)動/制動力F,空氣阻力Fw,滾動阻力Ff和坡道阻力Fg。因此,車輛縱向動力學(xué)方程可表示為
本文所應(yīng)用的車輛跟隨式自動駕駛模型如圖2所示,前車為有人駕駛的領(lǐng)航車,并安裝部分檢測車輛狀態(tài)的傳感器采集速度等信號,通過車間通信的方式將信息傳輸給后車。后車接受到信息且與領(lǐng)航車保持一定的安全距離以及相同的速度,達(dá)到跟隨行駛的目的。
圖1 車輛縱向跟隨示意圖
本文設(shè)計(jì)的車輛跟隨式自動駕駛縱向控制系統(tǒng)框架如圖2所示,主要由上位控制器和下位控制器兩部分組成。其中上位控制器根據(jù)車間狀態(tài),綜合考慮車間距誤差Δd、相對速度Δv與加速度af,通過線性二次最優(yōu)控制理論得到后車期望的跟車加速度ades;下位控制器首先使用切換邏輯來判斷車輛處于驅(qū)動或制動狀態(tài),然后將前饋控制與MFAPC相結(jié)合,共同控制車輛的驅(qū)動和制動系統(tǒng)。前饋控制通過上位控制器得到的期望加速度給出控制量,可以提高控制系統(tǒng)的響應(yīng)速度,降低控制延遲;無模型自適應(yīng)預(yù)測控制在考慮到車輛縱向動力學(xué)模型參數(shù)時變、發(fā)動機(jī)非線性、執(zhí)行器延遲等特點(diǎn),外加前饋控制環(huán)節(jié)可能面臨失配問題等不確定因素的情況下,利用系統(tǒng)的I/O數(shù)據(jù),使車輛的實(shí)際加速度能快速、精確地跟蹤上層控制器給出的期望加速度。
圖2 控制器整體架構(gòu)
圖1顯示了前車與后車的縱向運(yùn)動學(xué)關(guān)系,現(xiàn)定義為
式中,Δd為車間距誤差;d為前后兩車的車間距;ddes為期望車間距;Δv為前后車相對速度;vf為前車速度;vr為后車速度。
后車跟隨行駛期望車間距采用固定車間時距:
式中,th為設(shè)定的車間安全時距;d0為后車停車后與前車最小安全距離,為一常數(shù)。
通??梢允褂靡浑A延遲環(huán)節(jié)來表示后車實(shí)際加速度a與期望加速度ades之間的關(guān)系為
式中,K為系統(tǒng)增益;τ為時間常數(shù)。
根據(jù)上述分析,車間縱向運(yùn)動學(xué)模型可以用如下狀態(tài)空間方程表示為
式中,
穩(wěn)態(tài)跟車工況時,上位控制器以同時減少期望車間距誤差Δd與前后車相對速度Δv為控制目標(biāo),以此設(shè)計(jì)線性二次型優(yōu)化性能指標(biāo)函數(shù):
式中,矩陣Q為狀態(tài)量權(quán)重系數(shù),Q=diag[q1,q2,q3];q1,q2和q3分別為車間距誤差、相對速度和后車加速度的加權(quán)系數(shù),本文取值分別為q1=1,q2=1,q3=1;R為控制量的權(quán)重系數(shù),本文取值R=10。
車輛的驅(qū)動機(jī)構(gòu)與制動機(jī)構(gòu)屬于兩套不同的系統(tǒng),二者不能同時工作,因此,根據(jù)車輛行駛狀況的不同,加速度跟隨控制需要在節(jié)氣門與制動器兩套機(jī)構(gòu)之間進(jìn)行切換[3]。
根據(jù)式(1)可知,車輛在行駛時會受到滾動阻力Ff與空氣阻力Fw等外部阻力,因此,通常以車輛怠速滑行數(shù)據(jù)為基礎(chǔ),記錄不同車速下的減速度,得滑行減速度,以此作為驅(qū)動/制動切換的基準(zhǔn)a0,并且為了提高舒適性的要求與部件可靠性,將基準(zhǔn)偏置一定值h。
2.3.1 驅(qū)動系統(tǒng)前饋控制
當(dāng)車輛處于驅(qū)動工況時,制動力矩為零,由式(1)及上位控制器計(jì)算出的期望加速度可以得到此時車輛的期望驅(qū)動力矩的表達(dá)式為
發(fā)動機(jī)的期望轉(zhuǎn)矩可以表示為
式中,Te,des為發(fā)動機(jī)的期望轉(zhuǎn)矩;ig為變速器的傳動比;i0為主減速器的傳動比;ηt為傳動系的機(jī)械效率;r為車輪等效半徑。
發(fā)動機(jī)穩(wěn)態(tài)輸出扭矩與發(fā)動機(jī)轉(zhuǎn)速以及節(jié)氣門開度存在對應(yīng)關(guān)系,因此,利用式(8)得到的發(fā)動機(jī)期望轉(zhuǎn)矩Te,des和當(dāng)前的發(fā)動機(jī)轉(zhuǎn)速ne逆向得到期望的前饋節(jié)氣門開度α1,可表示為
式中,Eng(*)為發(fā)動機(jī)的穩(wěn)態(tài)扭矩特性函數(shù)。
2.3.2 制動系統(tǒng)前饋控制
當(dāng)車輛處于制動工況時,驅(qū)動力矩Twp為零,此時的期望制動壓力表達(dá)式為
式中,p1,des為期望制動壓力;Twb,des為期望制動力矩;Kb為制動增益系數(shù)。
本文基于如圖3所示的緊格式動態(tài)線性化的MFAPC,分別設(shè)計(jì)了車輛驅(qū)動系統(tǒng)與制動系統(tǒng)控制算法,使車輛的實(shí)際加速度能夠快速、準(zhǔn)確地跟蹤期望加速度。
圖3 縱向動力學(xué)無模型自適應(yīng)預(yù)測控制結(jié)構(gòu)框圖
2.4.1 離散時間非線性系統(tǒng)動態(tài)線性化
首先,建立如下非線性輸入-輸出函數(shù)描述車輛的驅(qū)動/制動動力學(xué)系統(tǒng):
式中,y(k)∈R,u(k)∈R分別為系統(tǒng)在k時刻的輸出與輸入,對應(yīng)車輛的加速度和節(jié)氣門開度/制動壓力;nu∈Z,ny∈Z為兩個未知的正整數(shù);f(*)為一個非線性函數(shù)。
控制器的設(shè)計(jì)需首先滿足以下兩個假設(shè):
假設(shè)1:非線性函數(shù)f(*)關(guān)于控制輸入u(k)存在連續(xù)的偏導(dǎo)數(shù);
假設(shè) 2:系統(tǒng)滿足廣義 Lipschitz條件,即對任意2個不同k1、k2均滿足:
式中,y(ki+1)=f(y(ki),y(ki-1),…,u(ki),u(ki-1),…,u(kinu));i=1,2;b是一個正常數(shù)。
對于式(11)描述的系統(tǒng),滿足假設(shè) 1和假設(shè) 2時,則必然存在一個時變參數(shù)?c(k)∈R,當(dāng)Δu(k)=u(k)-u(k-1)≠0時,非線性系統(tǒng)可線性化為緊格式動態(tài)線性化(Compact Form Dynamic Linearization, CFDL)數(shù)據(jù)模型,可表示為
式中,?c(k)∈R稱為系統(tǒng)的偽偏導(dǎo)數(shù)(Pseudo Partial Derivative, PPD);Δy(k+1)為k+1時刻車輛的加速度變化量;Δu(k)為k時刻節(jié)氣門開度或制動壓力控制輸入變化量。
基于上述增量形式的驅(qū)動/制動動力學(xué)系統(tǒng)的數(shù)據(jù)模型,可得出系統(tǒng)在k+1時刻的向前一步預(yù)測輸出方程,即
同理,N步向前預(yù)測輸出方程可以表示為
式中,
式中,YN(k+1)為系統(tǒng)輸出的N步向前預(yù)報(bào)向量;ΔUNu(k+1)為控制輸入增量向量;Nu為控制時域常數(shù)。
2.4.2 驅(qū)動/制動MFAPC算法設(shè)計(jì)
本小節(jié)將設(shè)計(jì)MFAPC算法,對輸出誤差與控制增量加權(quán)的準(zhǔn)則函數(shù)為
式中,YN*(k+1)=[y*(k+1),…,y*(k+N)]T;λ為加權(quán)系數(shù)。
令?J??ΔUNu(k)=0,控制增量表達(dá)式為
因此,當(dāng)前時刻的控制輸入為
式中,g=[1,0,…,0]T。
2.4.3 偽偏導(dǎo)數(shù)的估計(jì)與預(yù)測
矩陣A(k)是由偽偏導(dǎo)數(shù)?c(k),?c(k+1),…,?c(k+Nu-1)等組成的,因此,控制輸入的求解需要對偽偏導(dǎo)數(shù)進(jìn)行參數(shù)估計(jì),將偽偏導(dǎo)數(shù)估計(jì)的性能函數(shù)定義為
式中,μ>0為權(quán)重因子。對式(22)求關(guān)于?c(k)的偏導(dǎo),并令其為零,可得PPD的估計(jì)算法:
式中,η∈(0,1]為步長因子。
為了使偽偏導(dǎo)數(shù)估計(jì)更好地跟蹤過程的時變動態(tài),引入如下重置機(jī)制:
式(21)、式(22)給出了偽偏導(dǎo)數(shù)?c(k)的估計(jì)算法,而式(17)中,A(k)所包含的 PPD參數(shù)還有?c(k+1),...,?c(k+Nu-1),這些未知元素可以通過k時刻已估計(jì)或已知的序列進(jìn)行預(yù)測得到。本文采用自回歸模型對k+1時刻后的偽偏導(dǎo)數(shù)進(jìn)行預(yù)測,預(yù)測方法的公式為
式中,j=1,2,…,Nu-1;θ1(k),θ2(k),…,θnp(k)為系數(shù);np為一個適當(dāng)?shù)碾A數(shù),本文中取np=3。
令Θ(k)=[θ1(k),θ2(k),…,θnp(k)]T,其公式為
為了驗(yàn)證本文設(shè)計(jì)的控制算法,在 CarSim-Simulink環(huán)境中搭建車輛縱向跟隨系統(tǒng)仿真模型。在CarSim中建立的車輛模型參數(shù)如表1所示。
表1 車輛參數(shù)
本小節(jié)對所設(shè)計(jì)的下位控制器算法進(jìn)行驗(yàn)證,并將結(jié)果與應(yīng)用較為廣泛的 PID算法進(jìn)行對比。
對于無模型自適應(yīng)預(yù)測控制算法,偽偏導(dǎo)數(shù)的初值設(shè)定為?c(1)=1.4,重置值為 1.4,δ=1,η=1,μ=0.01,ε=10-5,預(yù)測時域N=4,控制時域Nu=3,對于驅(qū)動系統(tǒng),權(quán)重因子λ1取值為2 000;對于制動系統(tǒng),權(quán)重因子λ2取值為800;PID算法中的參數(shù)Kp=1.5,Ki=5,Kd=0。
設(shè)置了梯形信號作為期望加速度,車輛的初速度為80 km/h,仿真時間分別為30 s,并在車輛輸出的加速度上加入隨機(jī)噪聲干擾。
兩種控制算法的仿真結(jié)果如圖4所示。由圖4可知,前饋-MFAPC算法的調(diào)節(jié)時間更小,并且具有更快的響應(yīng)速度。圖5顯示了加速度誤差的響應(yīng)曲線,前饋-MFAPC控制不僅具有更快的響應(yīng)速度,且具有更小的跟蹤誤差。
圖4 加速度跟蹤仿真對比
圖5 加速度跟蹤誤差仿真對比
另一方面,圖6給出了兩種控制算法在跟蹤期望加速度信號時的節(jié)氣門開度與制動壓力。當(dāng)期望加速度降低到一定值時,前饋-MFAPC算法和 PID算法均能從驅(qū)動控制切換到制動控制,且過度平穩(wěn),表明 2.2節(jié)設(shè)計(jì)的驅(qū)動/制動切換邏輯有效。
圖6 梯形信號控制輸入仿真對比
從仿真結(jié)果可以看出,由于外部隨機(jī)干擾的存在,PID算法的節(jié)氣門開度和制動壓力都出現(xiàn)了十分劇烈的震蕩,實(shí)車中這將減少執(zhí)行機(jī)構(gòu)的壽命,甚至導(dǎo)致執(zhí)行機(jī)構(gòu)失效,前饋-MFAPC算法的節(jié)氣門開度和制動壓力變化平穩(wěn),并且未出現(xiàn)震蕩現(xiàn)象,符合實(shí)際中的操作表現(xiàn),表明存在外界干擾的情況下,前饋-MFAPC控制算法對車輛的控制過程更加穩(wěn)定,且對干擾具有更好的魯棒性。
為了驗(yàn)證本文所設(shè)計(jì)的前饋-MFAPC控制方法在縱向跟隨工況下的控制效果,本小節(jié)利用提出的分層控制策略,對所設(shè)計(jì)的上層控制器與下層控制器進(jìn)行協(xié)同仿真。
設(shè)定前車初始速度為72 km/h,0~5 s勻速運(yùn)動,第5 s開始加速,到15 s時加速至100 km/h,15~25 s勻速運(yùn)動,25~35 s減速至60 km/h,前后兩車的初始車間距誤差和速度誤差均為0,仿真結(jié)果如圖7—圖9所示。
圖7 車速跟蹤仿真結(jié)果
圖8 車間距跟蹤仿真結(jié)果
圖9 期望加速度跟蹤仿真結(jié)果
由圖7、圖8可知,后車可以始終保持對前車跟隨行駛的狀態(tài),速度誤差與間距誤差維持在較小的范圍之內(nèi),證明了分層控制策略的有效性。
圖9為后車對期望加速度跟蹤的仿真結(jié)果,可以看出,當(dāng)前車加速度發(fā)生突變時,后車的期望加速度變化平穩(wěn),并且后車的實(shí)際加速度可以精確而迅速地跟隨期望加速度,證明了下位控制器控制效果良好。
本文提出了一種分層縱向跟隨式自動駕駛的控制方法,通過在 MATLAB/Simulink與 CarSim平臺的聯(lián)合仿真,得到結(jié)論如下:
1)基于線性最優(yōu)二次型的上位控制器所得到的期望加速度變化平穩(wěn),滿足了縱向跟隨場景的安全性與舒適性。
2)提出了前饋控制與無模型自適應(yīng)預(yù)測控制相結(jié)合的控制方法,該方法不僅響應(yīng)迅速,并且當(dāng)存在外界隨機(jī)干擾時,仍可以保持較好的跟蹤精度。
3)在不同信號的激勵下,本文算法控制下的車輛執(zhí)行機(jī)構(gòu)變化平穩(wěn),沒有出現(xiàn)劇烈的波動,而 PID算法控制下的車輛執(zhí)行機(jī)構(gòu)出現(xiàn)了劇烈的震蕩現(xiàn)象,說明PID算法對外界隨機(jī)干擾的魯棒性較差,而基于前饋-MFAPC的控制方法對外界隨機(jī)干擾有著良好的魯棒性。