胡均平, 朱萬霞, 李科軍2, 李勇成, 任常吉
(1.中南大學 機電工程學院,湖南 長沙 410083; 2.中南林業(yè)科技大學 物流與交通學院,湖南 長沙 410004)
汽車的行駛過程中,汽車狀態(tài)信息的準確獲取,是汽車動態(tài)安全控制系統(tǒng)穩(wěn)定工作的前提和基礎(chǔ)。但直接使用車速儀等技術(shù)成本過高,短時間內(nèi)難以普及。由此衍生出的采用加速度傳感器等較低成本傳感器,結(jié)合技術(shù)理論以實現(xiàn)汽車狀態(tài)估計逐漸成為研究的熱點[1-2]。
目前應用最廣泛的是UKF(Unscented Kalman Filter)算法[3]、CKF(Cubature Kalman Filter)算法[4]及其改進算法[5-6]等。Boada等人[7]提出了自適應神經(jīng)網(wǎng)絡與UKF結(jié)合的車輛狀態(tài)觀測算法,對車速等狀態(tài)量進行了聯(lián)合觀測;張家旭等人[8]采用交互式多模型與CKF結(jié)合的算法,實現(xiàn)了車速及橫擺角速度的估計。但上述方法都是將汽車參數(shù)(汽車質(zhì)量)或噪聲協(xié)方差設置為已知常量來實現(xiàn)狀態(tài)估計的。若汽車參數(shù)或噪聲協(xié)方差發(fā)生變化,濾波精度將會降低,嚴重時甚至會造成濾波發(fā)散。
為實現(xiàn)汽車參數(shù)及狀態(tài)信息的并行估計,本文提出了一種遞推最小二乘算法(Recursive Least Squares,RLS)、蟻群優(yōu)化算法(Ant Colony Optimization,ACO)及容積卡爾曼濾波算法(CKF)多算法結(jié)合的估計算法。該算法對汽車參數(shù)及狀態(tài)信息進行估計時,對噪聲協(xié)方差進行實時尋優(yōu),以實現(xiàn)算法的動態(tài)自適應。
假設:① 忽略滾動阻力對汽車狀態(tài)的影響;② 不考慮汽車的垂向運動;③ 不考慮汽車的俯仰及側(cè)傾運動。建立的三自由度非線性整車模型[9],如圖1所示。
圖1 三自由度非線性整車模型
汽車運動微分方程如下。
縱向運動:
(1)
ax=[(Fx1+Fx2)cosθ-(Fy1+Fy2)sinθ+Fx3+Fx4]/m
(2)
側(cè)向運動:
(3)
ay=[(Fx1+Fx2)sinθ+(Fy1+Fy2)cosθ+Fy3+Fy4]/m
(4)
橫擺運動:
(5)
式中,ax、ay分別為縱向加速度和側(cè)向加速度;vx、vy分別為縱向速度和側(cè)向速度;r為橫擺角速度;m為汽車質(zhì)量;θ為前輪轉(zhuǎn)角;Fxi、Fyi(i=1,2,3,4)分別為各車輪上的縱向力和側(cè)向力;Iz為整車繞垂直軸的轉(zhuǎn)動慣量;Tf、Tr分別為前輪和后輪的輪距;L1、L2分別為整車質(zhì)心到前軸和后軸的距離。
在保證準確估算輪胎力的前提下,為減少計算時間,采用了參數(shù)較少的Dugoff 輪胎模型。作用在輪胎上的縱向力和側(cè)向力[10]分別為
(6)
(7)
(8)
(9)
式中,F(xiàn)zi(i=1,2,3,4)為輪胎垂向載荷;μ為路面附著系數(shù);si為縱向滑移率;Cx、Cy分別為輪胎縱向剛度和側(cè)偏剛度;αi為輪胎側(cè)偏角;ε為速度影響因子。
輪胎模型的輸入?yún)?shù)Fzi、αi及si可以表示為θ、ax、ay、vx、vy的函數(shù)形式,詳見文獻[10]。
RLS算法的估計精度高、實時性好,因此廣泛應用于單輸入單輸出模型的參數(shù)識別。其輸入輸出遞推方程為[11]
(10)
式中,u(k)為輸入;y(k)為輸出;n為待估計參數(shù)個數(shù);e(k)為噪聲或建模引起的誤差。將式(10)改寫為
y(k)=φ(k)Tψ+e(k)
(11)
式中,ψ=(a1,a2,…,an,b1,b2,…,bn)T;φ(k)=[-y(k-1),…,-y(k-n),u(k-1),…,u(k-n)]T。
算法的實現(xiàn)步驟如下。
① 參數(shù)估計增益。
K(k)=W(k-1)φ(k)[φ(k)TW(k-1)φ(k)+1]-1
(12)
② 參數(shù)估計更新。
(13)
③ 估計誤差更新。
W(k)=[I-K(k)φ(k)T]W(k-1)
(14)
式中,W(k)為誤差協(xié)方差;I為單位矩陣,其階數(shù)等于待估計參數(shù)個數(shù)。
本文所說的汽車參數(shù),特指汽車質(zhì)量。為獲取精確的汽車狀態(tài)估計,汽車起步時就進行參數(shù)估計,此時輪胎處于線性區(qū)域[12],因此建立汽車質(zhì)量估計模型。
(15)
式中,k1、k2分別為汽車前輪及后輪的側(cè)偏剛度總和。
整理式(15),得到汽車質(zhì)量估計方程
(16)
ACO算法是Marco Dorigo提出的一種啟發(fā)式全局優(yōu)化方法,其靈感來自螞蟻尋找食物時出現(xiàn)的路徑選擇現(xiàn)象。在t時刻,螞蟻p從位置i向位置j轉(zhuǎn)移的概率為[13]
(17)
式中,τij(t)為t時刻螞蟻p留在位置i和位置j之間的信息素;ηij(t)為螞蟻p從位置i轉(zhuǎn)移到位置j的啟發(fā)程度;A為螞蟻p下一步可以選擇的位置集合;α表示軌跡的相對重要性;γ表示能見度的相對重要性。
一次循環(huán)完成后,(t+1)時刻各路徑上的信息素濃度按照下式進行實時更新,即
(18)
(19)
CKF算法的實現(xiàn)步驟如下[14]:
(20)
(21)
(2) 時間更新。
① 誤差協(xié)方差Pk|k的Cholesky分解:
(22)
(23)
② 輸出容積點:
(24)
③ 狀態(tài)預測值:
(25)
④ 協(xié)方差預測值:
(26)
(3) 量測更新。
① 誤差協(xié)方差Pk+1|k的Cholesky分解:
(27)
(28)
② 傳播容積點:
Zi,k+1|k=h(Xi,k+1|k,uk)
(29)
③ 量測預測值:
(30)
④ 新息協(xié)方差:
(31)
⑤ 互協(xié)方差:
(32)
⑥ 增益矩陣:
(33)
⑦ 狀態(tài)變量:
(34)
⑧ 誤差協(xié)方差:
(35)
根據(jù)式(1)~式(9),建立非線性汽車系統(tǒng)離散化后的狀態(tài)空間方程,即
(36)
式中,wk、vk分別為符合高斯分布、互不相關(guān)的過程噪聲和量測噪聲,它們的協(xié)方差分別為Q和R。
根據(jù)傳感器測量的θ、ax、ay、r及輪速w1、w2、w3、w4,估算vx、vy、r、μ。因此,狀態(tài)變量為x= [vx,vy,r,μ]T,系統(tǒng)輸入為u= [θ,w1,w2,w3,w4]T,觀測向量為z= [ax,ay,r]T。其中,將r設置為被估計量的目的是更好地利用量測信息,將μ設置為被估計量的目的是使算法能夠適應各種路面。因此,可以得到過程噪聲協(xié)方差Q=diag[q11,q22,q33,q44],量測噪聲協(xié)方差R=diag[r11,r22,r33]。其中,qii、rii分別為協(xié)方差Q和R的對角元素。
傳統(tǒng)的CKF算法將噪聲協(xié)方差Q和R設置為已知定值,但由于汽車系統(tǒng)的強非線性及其運動的復雜性,Q和R一般時變且未知。為使算法表現(xiàn)出良好的估計能力,將Q和R作為ACO算法的待優(yōu)化參數(shù)。為避免尋優(yōu)過程過早收斂,以便獲得全局最優(yōu)解,選取新息的實際方差作為目標函數(shù),以其值最小為目標進行尋優(yōu)。
定義目標函數(shù)如下:
(37)
(38)
采用ACO算法對Q和R進行實時優(yōu)化,以實現(xiàn) CKF算法的動態(tài)自適應。至此,建立了用于式(36)所示非線性汽車系統(tǒng)的狀態(tài)信息估計算法,即蟻群優(yōu)化容積卡爾曼濾波算法(Ant Colony Optimization Cubature Kalman Filter,ACOCKF) (式(17)~式(35)、式(37)、式(38))。
在CarSim中選擇某b型車為仿真車輛,部分參數(shù)為:m=1560 kg,L1=1.48 m,L2=1.08 m,Iz=1342 kg·m2,Tf=1.50 m,Tr=1.50 m,k1= -264500 N/rad,k2=-226790 N/rad?;赗LS+ACOCKF算法建立的CarSim/Simulink聯(lián)合仿真原理圖,如圖2所示。
圖2 聯(lián)合仿真原理圖
選擇蛇形、雙移線兩種工況,將CarSim的狀態(tài)輸出結(jié)果作為真實值,同CKF算法、RLS+CKF算法、ACOCKF算法及RLS+ACOCKF算法的估計結(jié)果進行對比分析。為檢驗本文提出算法對含有不準確模型參數(shù)及未知時變噪聲的非線性系統(tǒng)的估計性能,汽車參數(shù)初始值設置為m0=1200 kg,過程噪聲及量測噪聲均設為具有時變統(tǒng)計特性的高斯白噪聲,信息揮發(fā)系數(shù)ρ=0.28,采樣時間間隔T=0.02 s。
汽車的蛇形線行駛路徑,如圖3所示。
圖3 蛇形線路徑
仿真工況:路面附著系數(shù)為0.8,車速為120 km/h。初值設置為x0=[120/3.6,0,0,0.8]T;P0=diag[1,1,1,1];Q0=0.1·diag[1,1,1,1];R0=0.5·diag[1,1,1];ψ0=1200;W0=1?;赗LS+ACOCKF算法的汽車質(zhì)量估計結(jié)果,如圖4所示。
圖4 蛇形線工況下質(zhì)量估計結(jié)果
由圖4可知,待估計的汽車質(zhì)量能夠在3 s內(nèi)跟蹤到真實值附近,且之后波動較小,估計值與真實值的最大偏差為18.8 kg,相對誤差為1.21%,估計精度滿足控制要求??梢奟LS+ACOCKF算法能夠較好地補償模型參數(shù)誤差,使得狀態(tài)估計建立在較準確的模型之上。真實值同CKF算法、RLS+CKF算法、ACOCKF算法及RLS+ACOCKF算法的汽車狀態(tài)信息估計結(jié)果對比情況,如圖5~圖8所示。
圖5 蛇形線工況下縱向速度估計結(jié)果
圖6 蛇形線工況下側(cè)向速度估計結(jié)果
圖7 蛇形線工況下橫擺角速度估計結(jié)果
圖8 蛇形線工況下路面附著系數(shù)估計結(jié)果
由圖5~圖8可知,對于縱向速度,RLS+ACOCKF算法的估計值基本同真實值保持一致,估計精度優(yōu)于CKF算法、RLS+CKF算法及ACOCKF算法。對于側(cè)向速度及橫擺角速度,RLS+ACOCKF算法在估計過程中能對真實值進行良好跟蹤,估計值同真實值基本吻合, CKF算法、RLS+CKF算法及ACOCKF算法在幅值處出現(xiàn)了比較大的瞬態(tài)估計誤差, RLS+ACOCKF算法的整體估計效果優(yōu)于其余3種算法。對于路面附著系數(shù),由于汽車的連續(xù)快速轉(zhuǎn)向運動,輪胎進入了非線性區(qū)域,4種算法的估計過程都出現(xiàn)了波動,但RLS+ACOCKF算法在估計精度及收斂速度上仍具有優(yōu)越性。
汽車的雙移線行駛路徑,如圖9所示。
圖9 雙移線路徑
仿真工況為:路面附著系數(shù)為0.5,車速為80 km/h。初值設置為x0=[80/3.6,0,0,0.5]T;P0=diag[1,1,1,1];Q0=0.1·diag[1,1,1,1];R0=0.5·diag[1,1,1];Ψ0=1200;W0=1?;赗LS+ACOCKF算法的汽車質(zhì)量估計結(jié)果,如圖10所示。
圖10 雙移線工況下質(zhì)量估計結(jié)果
由圖10可知,待估計的汽車參數(shù)能夠在3 s內(nèi)實現(xiàn)對真實值的良好跟蹤,3 s后估計值與真實值的最大偏差為23.9 kg,相對誤差為1.53%,估計精度可以滿足控制要求。真實值同CKF算法、RLS+CKF算法、ACOCKF算法及RLS+ACOCKF算法的汽車狀態(tài)信息估計結(jié)果對比情況,如圖11~圖14所示。
圖11 雙移線工況下縱向速度估計結(jié)果
圖12 雙移線工況下側(cè)向速度估計結(jié)果
圖13 雙移線工況下橫擺角速度估計結(jié)果
圖14 雙移線工況下路面附著系數(shù)估計結(jié)果
由圖11~圖14可知,對于縱向速度,RLS+ACOCKF算法的整體估計結(jié)果比較理想,收斂精度及收斂趨勢均優(yōu)于CKF算法、RLS+CKF算法及ACOCKF算法。對于側(cè)向速度及橫擺角速度,RLS+ACOCKF算法在估計過程中能對真實值進行良好跟蹤,CKF算法、RLS+CKF算法及ACOCKF算法的估計值同真實值之間存在一定的誤差,在幅值處的瞬態(tài)估計誤差達到了最大。對于路面附著系數(shù),RLS+ACOCKF算法的整體估計效果較好,估計值同真實值一直很接近,而其余三種算法的估計結(jié)果都出現(xiàn)了較大波動,RLS+ACOCKF算法在估計精度及收斂速度上表現(xiàn)出良好的優(yōu)勢。
為了定量地評價CKF算法、RLS+CKF算法、ACOCKF算法及RLS+ACOCKF算法的預測效果,給出了平均絕對誤差(MAE)指標及均方差根誤差(RMSE)指標[15]。表達式分別為
(39)
(40)
4種算法的誤差指標如表1和表2所示。從表1和表2中很直觀地看出RLS+ACOCKF算法的MAE指標值及RMSE指標值都低于CKF算法、RLS+CKF算法及ACOCKF算法,可見RLS+ACOCKF算法的估計精度優(yōu)于其余三種算法。
表1 蛇形線工況下4種算法的MAE指標和RMSE指標
表2 雙移線工況下4種算法的MAE指標和RMSE指標
由對系統(tǒng)狀態(tài)變量的估計結(jié)果分析可知,RLS+ACOCKF算法的整體估計效果顯著優(yōu)于CKF算法、RLS+CKF算法及ACOCKF算法。在估計過程中,CKF算法以不準確的汽車參數(shù)初始值代替真實汽車參數(shù)且按照固定的協(xié)方差進行計算,因此估計結(jié)果誤差較大。RLS+CKF算法只能實時更新汽車參數(shù)信息,但不能實時優(yōu)化噪聲協(xié)方差,ACOCKF算法只能對噪聲協(xié)方差進行實時優(yōu)化,但不能實時校正汽車模型參數(shù)信息,因此這兩種算法的估計精度及收斂速度雖優(yōu)于CKF算法,但仍具有一定的局限性。而RLS+ACOCKF算法在進行狀態(tài)估計時,實時校正汽車參數(shù)并對噪聲協(xié)方差進行尋優(yōu),因此減小了估計誤差,使得估計結(jié)果更加接近于真實值。
筆者提出了一種用于汽車參數(shù)信息及狀態(tài)信息估計的多算法結(jié)合的自適應算法。該算法將RLS算法與CKF算法進行有效結(jié)合,并利用ACO算法的尋優(yōu)功能對CKF算法的噪聲協(xié)方差進行實時優(yōu)化,解決了時變統(tǒng)計特性噪聲的估計問題,實現(xiàn)了汽車參數(shù)及狀態(tài)信息的并行估計。聯(lián)合仿真實驗結(jié)果表明,在過程噪聲及量測噪聲具有未知時變統(tǒng)計特性時,該算法能夠保持較高的估計精度,具有一定的自適應性。
選取蛇形及雙移線兩種典型工況開展對比試驗,結(jié)果表明,RLS+ACOCKF算法的估計結(jié)果優(yōu)于傳統(tǒng)CKF算法、RLS+CKF算法及ACOCKF算法,可以更準確地估計車速及橫擺角速度等狀態(tài)量,算法的穩(wěn)定性高、魯棒性強、實時性好。