葛 淼,張亞東,李科宏,鄧祎寧
(西南交通大學(xué)交通信息工程及控制重點(diǎn)實(shí)驗(yàn)室,成都 611756)
列車測速定位技術(shù)作為列控系統(tǒng)的三大關(guān)鍵技術(shù)之一,其準(zhǔn)確度對于提高列車的安全性和運(yùn)行效率有著重要作用[1-3]。在實(shí)際應(yīng)用中,由于諸多因素的影響,測速定位誤差不可避免。為了提高定位精度,專家學(xué)者提出了很多方法。文獻(xiàn)[4]對列車位置進(jìn)行了不確定性算法研究,該方法雖然保證了列車運(yùn)行過程中的安全性,但由于對位置的估算都采用最惡劣情況,因此運(yùn)行效率較低。文獻(xiàn)[5]通過增加應(yīng)答器數(shù)量,縮短應(yīng)答器之間的間距來校準(zhǔn)惡劣條件下列車的定位。雖然保證了整個定位的精確性,但是對整個系統(tǒng)而言,增加了造價成本和維修成本。文獻(xiàn)[6]采用補(bǔ)償方式,對空轉(zhuǎn)打滑的位移誤差進(jìn)行修正。文獻(xiàn)[7]采用改進(jìn)聯(lián)合卡爾曼濾波的算法,該算法通過其他信息采集器彌補(bǔ)了某些信息采集器可能出現(xiàn)的誤差,適應(yīng)能力強(qiáng)。文獻(xiàn)[8]采用小波神經(jīng)網(wǎng)絡(luò)輔助卡爾曼濾波,其濾波結(jié)果和適應(yīng)性都很好,但是其需要處理的數(shù)據(jù)量龐大。文獻(xiàn)[9]采用了擴(kuò)展卡爾曼濾波進(jìn)行定位,該方法能夠修正偏差較小的數(shù)據(jù)。
滑模變結(jié)構(gòu)控制是變結(jié)構(gòu)控制系統(tǒng)的一種控制策略。該控制可以使系統(tǒng)在一定特性下沿規(guī)定的狀態(tài)軌跡小幅度、高頻率的上下運(yùn)動,即所謂的滑動模態(tài)。這種滑動模態(tài)可以通過調(diào)節(jié)相應(yīng)的參數(shù)進(jìn)行設(shè)計。由于滑模控制器的滑動模態(tài)與系統(tǒng)的參數(shù)及擾動無關(guān),能夠在一定程度上改善由空轉(zhuǎn)或打滑引起誤差,因此,采用基于滑??刂频目柭鼮V波結(jié)構(gòu)能夠更加進(jìn)一步的提高精度[10]。在參考上述文獻(xiàn)的基礎(chǔ)上,將基于滑模的改進(jìn)卡爾曼濾波算法用于列車定位并通過仿真進(jìn)行驗(yàn)證。
本文采用最常見的脈沖速度傳感器和加速度計組合定位的方式進(jìn)行建模。
列車走行的距離主要是通過輪軸速度傳感器得出[11],其工作方式為:當(dāng)傳感器檢測到車輪轉(zhuǎn)動時即會產(chǎn)生一定的脈沖序列,那么根據(jù)脈沖序列可以計算出列車的走行距離[12]。
(1)
式中D——列車車輪直徑,m;
nk——k周期的脈沖個數(shù),個;
n——車輪轉(zhuǎn)動1周輸出的脈沖數(shù);
yk——k周期列車?yán)锍逃嬎阒?,m。
加速度計是一種可以測量加速度力的電子設(shè)備。其工作原理是通過壓電效應(yīng)實(shí)現(xiàn)的[13]。加速度傳感器內(nèi)部晶體在加速度作用下形變而產(chǎn)生電壓,電壓又與加速度存在相應(yīng)的關(guān)系。
電壓值U與加速度a之間關(guān)系可表示為
U=φa
(2)
式中φ——壓電系數(shù)。
采用輪軸速度傳感器能夠減少數(shù)據(jù)處理和降低通信產(chǎn)生的負(fù)擔(dān),但在列車運(yùn)行過程中,存在空轉(zhuǎn)、打滑(這里暫不考慮測量誤差)的誤差,設(shè)dk為k周期列車運(yùn)行時的補(bǔ)償值;sk為k周期列車運(yùn)行時,不含測量誤差的真實(shí)值。因此,可以將式(1)改寫為
sk=yk+dk
(3)
空轉(zhuǎn)時,yk增加,則補(bǔ)償值dk為負(fù)值;滑行時,sk減小,補(bǔ)償值dk為正值。
在加速度測量過程中,由于機(jī)器本身測量過程中存在擾動,會產(chǎn)生一個誤差,因此用εk來表示誤差補(bǔ)償,則
(4)
將上面兩種誤差設(shè)為過程誤差。
首先離散化列車的走行過程,設(shè)采樣時間為T,采樣間隔足夠小且為t。因?yàn)椴蓸娱g隔足夠小,可以將兩個采樣點(diǎn)之間看成勻加速運(yùn)動,因此根據(jù)運(yùn)動學(xué)公式可以得到
(5)
式中,ωk,μk分別為加速度和速度的合成誤差,稱為過程噪聲。
對于列車定位來說,用輪軸速度傳感器的里程計算值作為觀測量能夠簡化程序。因此,這里將輪軸速度傳感器的里程方程作為觀測方程。
Sk=sk+Dk
(6)
卡爾曼濾波模型的求解過程如下[14-16]。
將式(5)狀態(tài)方程和式(6)觀測方程用矩陣的形式表示成如下。
狀態(tài)方程
X(k+1)=φX(k)+BA(k)+ΓW(k)
(7)
即
(8)
觀測方程
Y(k)=HX(k)+V(k)
(9)
即
(10)
則:
(1)首先基于初始輸入量預(yù)測下一個系統(tǒng)狀態(tài)方程
(11)
(2)此時的協(xié)方差為
P(k|k-1)=φP(k-1|k-1)φT+Q(k-1)
(12)
(3)濾波增益方程為
K(k)=P(k|k-1)HT[HP(k|k-1)HT+R(k)]-1
(13)
(4)根據(jù)前面的公式遞推濾波估計方程
(14)
(5)相應(yīng)的協(xié)方差更新
P(k|k)=[I-K(k)H]P(k|k-1)
(15)
對于組合定位來說,卡爾曼濾波求解的值在加減速過程中,空轉(zhuǎn)和打滑造成的誤差不能得到很好的修正。而滑模控制的滑動模態(tài)不受系統(tǒng)的參數(shù)和擾動的影響[17-18],能夠很好地降低由空轉(zhuǎn)和打滑所帶來的誤差影響。因此采用基于滑??刂频母倪M(jìn)卡爾曼濾波的方式來進(jìn)一步減少空轉(zhuǎn)和打滑所造成的誤差。
則基于滑模控制的改進(jìn)卡爾曼濾波結(jié)構(gòu)如圖1所示。
圖1 基于滑模控制的卡爾曼濾波結(jié)構(gòu)
由于這里主要討論的是加速和減速過程中的空轉(zhuǎn)和打滑的影響。假設(shè)加速度計只存在測量誤差,不存在由于車體不平衡造成的過程誤差。則滑??刂破鞯乃惴ㄈ缦耓19]。
(1)將輪軸速度傳感器得到的里程計算值經(jīng)滑模濾波后輸出值設(shè)為yv,則
l(k+1)=y(k)+Cu(k)
(16)
式中,C為單位陣。
(2)確定位置指令r(k),這里的位置指令即為真實(shí)值,即
r(k)=s(k)
(17)
(3)設(shè)位置指令的變化率為dr(k),取
R=[r(k);dr(k)],R1=[r(k+1);dr(k+1)]
(18)
(4)這里選取線性外推法預(yù)測r(k+1)及dr(k+1),則
r(k+1)=2r(k)-r(k-1)
(19)
dr(k+1)=2dr(k)-dr(k-1)
(20)
(5)設(shè)切換函數(shù)為sqh(k),則
sqh(k)=CeE=Ce(R-y(k))
(21)
式中,Ce=[c,1]。參數(shù)c表示滑模面的斜率。則切換函數(shù)的遞推式為
sqh(k+1)=Ce(R1-y(k+1))
(22)
(6)設(shè)控制率為u(k),結(jié)合式(7),則
u(k)=(CeB)-1(CeR1-CeφX(k)-
CeBA(k)-sqh(k+1))
(23)
(7)設(shè)切換函數(shù)為指數(shù)趨近率,則
sqh(k+1)=sqh(k)+
t(-εsgn(sqh(k))-qsqh(k))
(24)
式中q——趨近速度參數(shù);
ε——符號函數(shù)的增益參數(shù);
sgn(x)——符號函數(shù),其性質(zhì)為,
當(dāng)x>0,sgn(x)=1;
當(dāng)x<0,sgn(x)=-1;
當(dāng)x=0,sgn(x)=0。
(8)最后將得到的l值按照前面卡爾曼濾波的步驟進(jìn)行求解。
同理可將加速度計得到的加速度值通過滑模得到相應(yīng)的輸出值。
由于獲取現(xiàn)場數(shù)據(jù)較難,本文利用仿真數(shù)據(jù)對上面的算法進(jìn)行分析說明。
設(shè)列車運(yùn)行過程為一維運(yùn)動;采樣間隔t=0.01 s,根據(jù)文獻(xiàn)[20]可知,對于卡爾曼濾波來說,系統(tǒng)噪聲協(xié)方差矩陣Q設(shè)置越大,表示對狀態(tài)方程置信度越低;觀測噪聲協(xié)方差R越大,表示對觀測方程置信度越低;協(xié)方差矩陣P初值越大,表示對初值的置信度越低,算法收斂效果越好,但是P初值如果過大,算法結(jié)果會出現(xiàn)超調(diào)現(xiàn)象,震蕩劇烈。因此,R、Q和P需要通過調(diào)試得出。
本文的仿真過程分為3個過程,即加速過程、勻速過程和減速過程。過程的真實(shí)值設(shè)定為:列車以-1 m/s2的加速度進(jìn)行10 s的減速運(yùn)動。
仿真中,在列車加速過程中加入空轉(zhuǎn)誤差隨機(jī)數(shù)和測量誤差隨機(jī)數(shù);在勻速過程中,只加入測量誤差隨機(jī)數(shù);在減速過程,加入打滑誤差隨機(jī)數(shù)和測量誤差隨機(jī)數(shù)。即在整個仿真過程中不考慮由于車體不平衡造成的加速度計的過程誤差。
首先采用卡爾曼濾波進(jìn)行濾波,在卡爾曼濾波器參數(shù)設(shè)計中,觀測噪聲協(xié)方差R不宜過大,R越大,對觀測結(jié)果越不置信,為了更好地反映滑模加卡爾曼合成濾波的效果,將參數(shù)設(shè)置為
通過Matlab軟件對加速過程進(jìn)行仿真,得到的時間位移曲線如圖2所示。
圖2 卡爾曼濾波時間-位移曲線對比
從圖2(a)可以看出,在加速階段,卡爾曼濾波能夠消除一定的抖動,但對加速過程中造成的空轉(zhuǎn)誤差修正結(jié)果較差。
從圖2(b)可以看出,在勻速階段,卡爾曼濾波能夠一定程度上消除由測量引起的系統(tǒng)誤差。
從圖2(c)可以看出,在減速階段,卡爾曼濾波能夠消除一定的抖動,但對減速過程中造成的打滑誤差修正結(jié)果較差。
然后采用基于滑模的改進(jìn)卡爾曼濾波方式進(jìn)行濾波。根據(jù)文獻(xiàn)[21]可知,對于滑模控制來說,參數(shù)q主要影響切換函數(shù)的過程,參數(shù)c是滑模面的斜率,參數(shù)ε決定系統(tǒng)的抖振幅度。
為了直觀地比較濾波結(jié)果,保持卡爾曼濾波器中的參數(shù)保持不變,通過仿真調(diào)節(jié)滑??刂破髦械膮?shù),則當(dāng)滑??刂破髦械膮?shù)如下時,結(jié)果較為理想。
通過Matlab軟件得到時間-位移曲線,如圖3所示。
圖3 基于滑模的改進(jìn)卡爾曼濾波時間-位移曲線對比
從圖2和圖3可以看出:
在加速階段中,對于卡爾曼濾波來說,由于空轉(zhuǎn)的影響使得其位移值遠(yuǎn)遠(yuǎn)大于真實(shí)值,其累計誤差比真實(shí)值多出40.028%;而對于基于滑模的改進(jìn)卡爾曼濾波值來說,其累計誤差比真實(shí)值高4.324%。雖然還是存在一定的誤差,但已經(jīng)大大減小。
在列車勻速運(yùn)行階段,雖然卡爾曼濾波能夠很好地降低系統(tǒng)誤差,但基于滑模的改進(jìn)卡爾曼濾波誤差也要優(yōu)于卡爾曼濾波的誤差值。
在減速階段與加速階段類似,只是過程誤差中的空轉(zhuǎn)變成了打滑。
目前,利用多傳感器進(jìn)行信息融合的方法是一種普遍采用的能夠有效提高列車測速定位的方法。本文選取文獻(xiàn)[7-9]的算法進(jìn)行對比。
文獻(xiàn)[7]采用了改進(jìn)聯(lián)合卡爾曼濾波,通過自適應(yīng)算法,將測得的信息進(jìn)行比例分配,對每個信息都要進(jìn)行一次濾波,然后通過分配信息比例進(jìn)行最后的濾波。該算法適應(yīng)能力強(qiáng),但對整個系統(tǒng)的結(jié)構(gòu)要求很高。
文獻(xiàn)[8]提出了采用小波神經(jīng)網(wǎng)絡(luò)輔助卡爾曼濾波,采用均方差作為研究變量,最終結(jié)果顯示其均方差由改進(jìn)前的0.15降低到改進(jìn)后的0.01。雖然精確度很高,但是該結(jié)構(gòu)復(fù)雜,數(shù)據(jù)龐大。
文獻(xiàn)[9]采用了擴(kuò)展卡爾曼濾波進(jìn)行定位,首先通過擴(kuò)展卡爾曼濾波對觀測方程進(jìn)行線性優(yōu)化,結(jié)合盲區(qū)數(shù)據(jù)進(jìn)行分析,從結(jié)論可以看出,在不發(fā)生大的偏移時,仿真結(jié)果較好。但并不適用于本文所述情況。
本文主要是針對輪軸傳感器空轉(zhuǎn)打滑產(chǎn)生的誤差,這種情況屬于較大的偏移量,采用基于滑模控制的卡爾曼濾波方法的矯正精度要優(yōu)于采用擴(kuò)展卡爾曼濾波的方法,更加具有適用性。從結(jié)構(gòu)上來看,較之改進(jìn)聯(lián)合卡爾曼濾波和小波神經(jīng)網(wǎng)絡(luò)輔助卡爾曼濾波,基于滑模控制的卡爾曼濾波方法結(jié)構(gòu)更為簡單,易于理解與實(shí)現(xiàn),在應(yīng)用上能節(jié)約成本,同時定位精度也能得到一定的保證。
主要針對目前輪軸測速傳感器與加速度計組合定位下存在定位誤差的問題進(jìn)行分析。在卡爾曼濾波對空轉(zhuǎn)打滑矯正效果不理想的情況下,利用滑??刂破鞯幕瑒幽B(tài)與系統(tǒng)的參數(shù)及擾動無關(guān)的特點(diǎn),提出基于滑模控制的卡爾曼濾波算法。該算法結(jié)構(gòu)較之其他改進(jìn)卡爾曼算法結(jié)構(gòu)更為簡單,通過仿真結(jié)果也可以看到:基于滑模控制的改進(jìn)卡爾曼濾波方法能夠在卡爾曼濾波算法的前提下進(jìn)一步減小空轉(zhuǎn)打滑誤差,提高濾波結(jié)果的穩(wěn)定性,同時也提高了列車定位精度。