王 虎, 余 強(qiáng), 李學(xué)博, 王 姝
(長(zhǎng)安大學(xué) 汽車學(xué)院,陜西 西安 710064)
在現(xiàn)代車輛控制中,若可以準(zhǔn)確地實(shí)時(shí)估計(jì)整車質(zhì)量和道路坡度這2個(gè)重要參數(shù),則許多車輛控制策略能夠得到改進(jìn),進(jìn)而提高車輛的性能。整車質(zhì)量會(huì)隨乘客數(shù)量和載貨質(zhì)量變化,尤其是重型汽車,其質(zhì)量變化能夠達(dá)到400%[1],而質(zhì)量的變化對(duì)許多主動(dòng)安全控制系統(tǒng)有著重要影響。隨著智能駕駛水平的不斷提高,整車質(zhì)量和坡度的精確辨識(shí)能有效地改善包括自適應(yīng)巡航控制系統(tǒng)(adaptive cruise control,ACC)、自動(dòng)緊急制動(dòng)系統(tǒng)(automatic emergency braking,AEB)等先進(jìn)駕駛輔助系統(tǒng)(advanced driving assistant system,ADAS)的性能,為駕駛員提供更加安全和方便的駕駛體驗(yàn)[2]。此外精確的質(zhì)量和坡度對(duì)剩余續(xù)駛里程的預(yù)測(cè)、換擋質(zhì)量和坡度對(duì)剩余續(xù)駛里程的預(yù)測(cè)及換擋策略的優(yōu)化而言,都是必不可少的。
整車質(zhì)量和道路坡度的估計(jì)方法通常分為基于傳感器的方法和基于模型的方法[1]?;趥鞲衅鞯姆椒ㄐ枰谲囕v上使用額外的傳感器,從而估計(jì)1個(gè)或多個(gè)參數(shù),如道路坡度可以通過(guò)傾角傳感器或加速度傳感器間接測(cè)量[3];但這些方法所需要的設(shè)備比較昂貴,不適合量產(chǎn)車使用,因此基于模型的方法受到了更多的關(guān)注?;谀P偷姆椒ɡ密囕v縱向動(dòng)力學(xué)模型和通過(guò)控制器局域網(wǎng)絡(luò)(controller area network,CAN)獲取相關(guān)數(shù)據(jù),如發(fā)動(dòng)機(jī)扭矩、轉(zhuǎn)速、車輛速度和變速器傳動(dòng)比等,建立狀態(tài)方程,并采用各種算法對(duì)整車質(zhì)量和道路坡度參數(shù)進(jìn)行估計(jì)。
目前,在整車質(zhì)量和道路坡度估計(jì)方面,國(guó)內(nèi)外學(xué)者已經(jīng)提出了多種方法,大體可以分為以下2類。
(1) 同步估計(jì)方法,即同時(shí)估計(jì)這2個(gè)參數(shù)。文獻(xiàn)[4]提出了基于穩(wěn)態(tài)卡爾曼濾波的車輛質(zhì)量與道路坡度估計(jì);文獻(xiàn)[5]提出了基于擴(kuò)展卡爾曼濾波(extended Kalman filter,EKF)的車輛質(zhì)量與道路坡度估計(jì);文獻(xiàn)[6]提出了基于多遺忘因子最小二乘法的整車質(zhì)量和道路坡度同時(shí)估計(jì)方法;文獻(xiàn)[7]采用前饋神經(jīng)網(wǎng)絡(luò)(feedforward neural network, FFNN)對(duì)整車質(zhì)量和道路坡度進(jìn)行估計(jì)。
(2) 分步估計(jì)方法。文獻(xiàn)[8]建立雙層估計(jì)器結(jié)構(gòu)對(duì)整車質(zhì)量和道路坡度進(jìn)行估計(jì),第1層對(duì)整車質(zhì)量、輪胎慣性矩和平路坡度等慢變參數(shù)進(jìn)行估計(jì),第2層將第1層的估計(jì)量作為已知參數(shù)對(duì)不平路面的坡度等快變參數(shù)進(jìn)行實(shí)時(shí)估計(jì);文獻(xiàn)[9]提出了用于估計(jì)整車質(zhì)量和道路坡度的自適應(yīng)分級(jí)(two-stage)估計(jì)器,第1階段利用自適應(yīng)參數(shù)估計(jì)器得到整車質(zhì)量,并作為第2階段自適應(yīng)非線性快變系統(tǒng)估計(jì)器的常數(shù)輸入對(duì)道路坡度進(jìn)行估計(jì);文獻(xiàn)[10]提出了一種適用于商用車質(zhì)量估計(jì)的雙層結(jié)構(gòu)估計(jì)器,第1層基于加速度傳感器信號(hào)采用最小二乘法對(duì)坡度進(jìn)行估計(jì),其中考慮了商用車懸架變形對(duì)其估計(jì)值的影響,第2層將第1層估計(jì)得到的坡度值作為觀測(cè)量之一,采用EKF對(duì)整車質(zhì)量和坡度進(jìn)行估計(jì)。
對(duì)于雙遺忘因子遞歸最小二乘法(recursive least square with multiple forgetting factors,RLS-MFF)、EKF和無(wú)跡卡爾曼濾波(unscented Kalman filter,UKF)3種常見(jiàn)的算法,在整車質(zhì)量和道路坡度這2個(gè)變化速率不同的參數(shù)估計(jì)中,RLS-MFF采用2個(gè)遺忘因子淡化2個(gè)參數(shù)的歷史數(shù)據(jù)對(duì)估計(jì)結(jié)果的影響[11],通過(guò)遞推關(guān)系得到下一時(shí)刻的估計(jì)值;而2種濾波算法采用狀態(tài)方程,通過(guò)上一時(shí)刻狀態(tài)變量的估計(jì)值和當(dāng)前狀態(tài)變量的測(cè)量值得到當(dāng)前狀態(tài)變量的估計(jì)值[5],估計(jì)過(guò)程中EKF需要對(duì)非線性系統(tǒng)進(jìn)行線性化,而UKF通過(guò)無(wú)跡變換(unscented transform,UT)避免了這個(gè)步驟。RLS-MFF中遺忘因子的取值直接影響估計(jì)效果的好壞,EKF中線性化會(huì)引起誤差,而UKF沒(méi)有以上問(wèn)題,屬于精度相對(duì)較高的算法。
本文通過(guò)車輛縱向動(dòng)力學(xué)模型,設(shè)計(jì)基于UKF的整車質(zhì)量和道路坡度聯(lián)合估計(jì)器,并通過(guò)CarSim中建立的車輛、道路模型得到試驗(yàn)數(shù)據(jù)傳輸至MATLAB,并將得到的離線估計(jì)結(jié)果與RLS-MFF和EKF算法的估計(jì)結(jié)果進(jìn)行對(duì)比。
汽車加速上坡行駛過(guò)程中的受力情況分析如圖1所示。
圖1 汽車加速上坡受力分析
(1)
根據(jù)汽車?yán)碚撝邢嚓P(guān)公式,車輛的縱向動(dòng)力學(xué)方程可寫(xiě)為:
(2)
其中:Ttq為發(fā)動(dòng)機(jī)轉(zhuǎn)矩;ig為變速器的傳動(dòng)比;i0為主減速器的傳動(dòng)比;ηT為傳動(dòng)系的機(jī)械效率;r為車輪半徑;g為重力加速度;f為滾動(dòng)阻力系數(shù);α為坡道角;CD為空氣阻力系數(shù);A為迎風(fēng)面積;ρ為空氣密度;v為行駛速度[11]。
根據(jù)我國(guó)公路路線設(shè)計(jì)規(guī)范,一般道路的坡度均較小[12],此時(shí)sinα≈tanα=i,cosα≈1,故(2)式可寫(xiě)為:
(3)
其中,i為道路坡度。
卡爾曼濾波器用反饋控制的方法估計(jì)過(guò)程狀態(tài),即濾波算法估計(jì)過(guò)程中某一時(shí)刻的狀態(tài),然后以(含噪聲的)測(cè)量變量的方式獲得反饋[4]。在幾何上,卡爾曼濾波器可以看作狀態(tài)變量在由觀測(cè)生成的線性空間上的射影,因此對(duì)于非線性系統(tǒng)濾波問(wèn)題,卡爾曼濾波不再適用。常用的EKF是利用線性化技巧將非線性系統(tǒng)濾波問(wèn)題轉(zhuǎn)化為近似的線性濾波問(wèn)題,一般圍繞濾波值將非線性函數(shù)通過(guò)泰勒展開(kāi)并保留一階近似項(xiàng)得到,但此過(guò)程必定會(huì)引入線性化誤差,且線性化假設(shè)不成立時(shí)可能會(huì)造成濾波器發(fā)散。UKF采用卡爾曼線性濾波框架,對(duì)于一步預(yù)測(cè)方程,使用UT來(lái)處理均值和協(xié)方差的非線性傳遞問(wèn)題。UKF是對(duì)函數(shù)的概率密度分布進(jìn)行近似,從而逼近狀態(tài)的后驗(yàn)概率密度,沒(méi)有忽略高階項(xiàng),因此對(duì)于非線性分布的統(tǒng)計(jì)量有較高的計(jì)算精度,克服了前2種濾波的缺陷[13],而相對(duì)于RLS-MFF,UKF只用到上一時(shí)刻的狀態(tài)而不需要之前所有的狀態(tài),不用淡化歷史數(shù)據(jù)的影響。
非線性系統(tǒng)的狀態(tài)估計(jì)模型可以通過(guò)狀態(tài)空間方程的形式來(lái)表示,包括狀態(tài)方程和觀測(cè)方程,其離散化后的方程形式為:
(4)
其中:f為非線性狀態(tài)方程函數(shù);h為非線性觀測(cè)方程函數(shù);xk為k時(shí)刻的狀態(tài)向量;zk為k時(shí)刻的觀測(cè)向量;uk為k時(shí)刻的輸入向量;Wk、Vk分別為過(guò)程噪聲向量和觀測(cè)噪聲向量。
(5)
觀測(cè)方程為:
(6)
設(shè)Wk具有協(xié)方差矩陣Q,Vk具有協(xié)方差R。UKF算法的流程[14]如圖2所示。
圖2 UKF算法流程
UT變換方程為:
(1) 計(jì)算2n+1個(gè)Sigma點(diǎn)。計(jì)算公式為:
(7)
(2) 計(jì)算這些采樣點(diǎn)相應(yīng)的權(quán)值。計(jì)算公式為:
(8)
其中:下標(biāo)m表示均值;下標(biāo)c表示協(xié)方差;n=3;λ=a2(n+κ)-n,a的選取控制了Sigma點(diǎn)的分布狀態(tài),通常選取較小的正值10-4≤a≤1,本文取a=0.01,κ為待選參數(shù),通常n+κ=3;β為一個(gè)非負(fù)的權(quán)系數(shù),它可以合并高階項(xiàng)的動(dòng)差,對(duì)于服從高斯分布的狀態(tài)變量,β=2是最優(yōu)的[13]。
時(shí)間更新方程為:
(9)
(10)
(11)
(12)
(13)
(14)
(15)
測(cè)量更新方程為:
(16)
(17)
(18)
采用計(jì)算機(jī)虛擬仿真試驗(yàn)對(duì)3種同步估計(jì)算法性能進(jìn)行對(duì)比。在CarSim中建立車輛、道路模型并完成車輛模擬仿真試驗(yàn),通過(guò)接口將包括車速、發(fā)動(dòng)機(jī)轉(zhuǎn)矩、變速器擋位、實(shí)時(shí)坡度在內(nèi)的數(shù)據(jù)傳輸至MATLAB。同時(shí),為了反映更加真實(shí)的估計(jì)效果,參考CAN總線數(shù)據(jù)采集的實(shí)際情況,在MATLAB環(huán)境中對(duì)車速與發(fā)動(dòng)機(jī)轉(zhuǎn)矩?cái)?shù)據(jù)分別加入高斯白噪聲,最終完成實(shí)時(shí)估計(jì),仿真原理圖如圖3所示。
圖3 仿真原理圖
其余車輛模型中的參數(shù)均視為已知參數(shù),具體見(jiàn)表1所列。
表1 車輛參數(shù)
為了驗(yàn)證在不同道路狀況下估計(jì)算法的性能,在CarSim中分別構(gòu)建定坡度道路與變坡度道路,在2種道路條件下進(jìn)行3種估計(jì)算法的對(duì)比分析。
車輛由車速為0開(kāi)始以固定節(jié)氣門開(kāi)度(0.13)加速,期間未進(jìn)行換擋與制動(dòng)操作。
在RLS中,整車質(zhì)量與道路坡度所對(duì)應(yīng)的遺忘因子λ1、λ2分別設(shè)為1和0.6。在EKF和UKF中,過(guò)程噪聲協(xié)方差矩陣Q設(shè)為diag[10-41 10-4],測(cè)量噪聲協(xié)方差R設(shè)為0.1。
定坡度道路由一段平路與一段固定坡度(約5.7°)的上坡路組成,兩者之間通過(guò)緩變坡度平滑過(guò)渡。仿真時(shí)長(zhǎng)為30 s,數(shù)據(jù)采樣頻率為10 Hz。仿真模擬得到的車速和發(fā)動(dòng)機(jī)轉(zhuǎn)矩如圖4所示。
圖4 定坡度道路試驗(yàn)結(jié)果
3種同步估計(jì)算法在定坡度道路下的整車質(zhì)量與道路坡度估計(jì)結(jié)果及誤差如圖5所示。從圖5可以看出,RLS-MFF、EKF和UKF算法對(duì)整車質(zhì)量與道路坡度的估計(jì)結(jié)果與真實(shí)值都較為一致。對(duì)于EKF和UKF算法,道路坡度值會(huì)在估計(jì)初期出現(xiàn)較大的波動(dòng),這是由整車質(zhì)量的預(yù)設(shè)初始值與真實(shí)值存在一定的偏差所導(dǎo)致,隨著質(zhì)量收斂到真實(shí)值(約2 s時(shí)),道路坡度估計(jì)誤差也逐漸變小趨于穩(wěn)定;當(dāng)坡度發(fā)生變化時(shí),EKF和UFK的坡度估計(jì)值存在一定的遲滯,而RLS-MFF算法的估計(jì)結(jié)果始終與真實(shí)值偏差較小。3種算法對(duì)于整車質(zhì)量的估計(jì)都有一定誤差,其中EKF算法表現(xiàn)最好,RLS-MFF算法表現(xiàn)較差。
圖5 定坡度道路估計(jì)結(jié)果及誤差對(duì)比
變坡度道路中,坡度由0°開(kāi)始進(jìn)行無(wú)規(guī)則地連續(xù)變化,最大坡度達(dá)到約10°,仿真過(guò)程中的車速與發(fā)動(dòng)機(jī)轉(zhuǎn)矩如圖6所示。
3種同步估計(jì)算法在變坡度道路下的整車質(zhì)量與道路坡度估計(jì)結(jié)果及誤差如圖7所示。從圖7可以看出,RLS-MFF、EKF和UKF算法對(duì)整車質(zhì)量與道路坡度的估計(jì)結(jié)果都存在較小的誤差。在連續(xù)的坡度變化中道路坡度估計(jì)的誤差會(huì)出現(xiàn)上下波動(dòng),且隨著算法的運(yùn)行誤差逐漸減小,其中UKF算法表現(xiàn)介于RLS-MFF和EKF算法之間。對(duì)于整車質(zhì)量的估計(jì)UKF算法相較于定坡度道路表現(xiàn)更好,更加逼近真實(shí)值。
圖6 變坡度道路試驗(yàn)結(jié)果
圖7 變坡度道路估計(jì)結(jié)果及誤差對(duì)比
為了更加直觀地對(duì)比3種估計(jì)算法在整車質(zhì)量和道路估計(jì)方面的性能,從估計(jì)精度和實(shí)時(shí)性2個(gè)角度進(jìn)行定量分析。選擇均方根誤差(root mean square error,RMSE)與平均絕對(duì)誤差(mean absolute error,MAE)作為估計(jì)精度的量化分析指標(biāo),其計(jì)算公式分別為:
(19)
(20)
選擇單次迭代時(shí)間作為算法實(shí)時(shí)性的量化分析指標(biāo),即每進(jìn)行一次迭代計(jì)算得到當(dāng)前這一時(shí)刻估計(jì)值所用時(shí)間的平均值。本文將每種算法分別運(yùn)算10次取平均值,作為最終評(píng)價(jià)指標(biāo)。所用計(jì)算機(jī)CPU型號(hào)為Intel Core i5-3230M(主頻為2.60 GHz),運(yùn)行內(nèi)存為6 GiB,運(yùn)算環(huán)境為MATLAB R2016a。
3種算法在變坡度道路上的估計(jì)誤差和運(yùn)算時(shí)間統(tǒng)計(jì)見(jiàn)表2所列。算法精度方面,3種算法均存在較小的誤差,RLS-MFF算法所估計(jì)的坡度誤差最小,質(zhì)量誤差最大,小于5%;UKF的質(zhì)量估計(jì)誤差與EKF相差甚小,但坡度估計(jì)的精度明顯優(yōu)于EKF。實(shí)時(shí)性方面,RLS-MFF的運(yùn)算時(shí)間最短,UKF運(yùn)時(shí)間最長(zhǎng),單次迭代時(shí)間為1.223 6×10-4s,滿足估計(jì)算法的實(shí)時(shí)性要求。
表2 估計(jì)誤差和運(yùn)算時(shí)間
(1) 本文提出了基于UKF整車質(zhì)量與道路坡度的估計(jì)算法,以車輛縱向動(dòng)力學(xué)模型為基礎(chǔ),推導(dǎo)系統(tǒng)的狀態(tài)方程和觀測(cè)方程,并給出UKF算法的流程圖及相應(yīng)的公式。
(2) 利用CarSim/Simulink聯(lián)合搭建的仿真平臺(tái)比較了3種算法的估計(jì)效果,并利用RMSE與MAE評(píng)價(jià)算法的計(jì)算精度,利用單次迭代時(shí)間評(píng)價(jià)算法的實(shí)時(shí)性。結(jié)果表明UKF算法在估計(jì)精度方面表現(xiàn)良好,實(shí)時(shí)性較差,但能夠滿足算法的實(shí)時(shí)性要求,其估計(jì)結(jié)果可用于進(jìn)一步的車輛控制當(dāng)中。