吳 旭,孫春霞,沈玉玲
(蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070)
在光電跟蹤控制系統(tǒng)的視場(chǎng)中,目標(biāo)的位置與視場(chǎng)的中心之間的特定偏差被稱為脫靶量。脫靶量是用作伺服控制系統(tǒng)運(yùn)動(dòng)的誤差量,使得目標(biāo)保持在視場(chǎng)中[1~4]。由于光電子器件在圖像合成,處理和傳輸?shù)纫幌盗羞^(guò)程中消耗一定的時(shí)間,因此在目標(biāo)實(shí)際位置信息和輸出脫靶量信息之間存在滯后。脫靶量的滯后對(duì)跟蹤性能影響的大小是光電跟蹤系統(tǒng)是否穩(wěn)定的重要因素之一。
近年來(lái)復(fù)合控制結(jié)構(gòu)[5~7]常被用于光電跟蹤控制系統(tǒng),光電跟蹤中的復(fù)合控制主要由反饋控制結(jié)構(gòu)組成,在反饋控制結(jié)構(gòu)中,學(xué)者們建立目標(biāo)運(yùn)動(dòng)模型,構(gòu)建系統(tǒng)傳遞函數(shù),使用傳感器與各類濾波方法來(lái)獲得目標(biāo)運(yùn)動(dòng)的參數(shù),使系統(tǒng)能夠與實(shí)際運(yùn)動(dòng)模型相符合從而更準(zhǔn)確地跟蹤目標(biāo)。
對(duì)目標(biāo)運(yùn)動(dòng)狀態(tài)進(jìn)行估計(jì)是彌補(bǔ)滯后的一種方法,卡爾曼濾波器是一種常用的基于模型的運(yùn)動(dòng)目標(biāo)參數(shù)估計(jì)算法,它利用狀態(tài)方程和遞推公式根據(jù)前一周期估計(jì)數(shù)據(jù)獲得當(dāng)前周期信號(hào)數(shù)據(jù)。然而由于實(shí)際運(yùn)動(dòng)中目標(biāo)運(yùn)動(dòng)的時(shí)變性、機(jī)動(dòng)性、不確定性和脫靶量滯后,傳統(tǒng)的卡爾曼濾波不能保證高精度和魯棒性[8~10]。
針對(duì)以上問(wèn)題,提出了一種基于CSM模型[11,12]和STF算法[13,14]的自適應(yīng)卡爾曼濾波跟蹤方法,算法通過(guò)CSM模型來(lái)描述目標(biāo)的運(yùn)動(dòng),借鑒STF強(qiáng)跟蹤濾波算法的思想,利用殘差序列計(jì)算調(diào)節(jié)因子,校正當(dāng)前的CSM模型的參數(shù),再根據(jù)校正后的參數(shù)更新自適應(yīng)卡爾曼預(yù)測(cè)信息,將其輸入與速度環(huán)。
圖1 加入自適應(yīng)卡爾曼濾波方法的復(fù)合控制結(jié)構(gòu)示意
卡爾曼濾波算法需要基于某個(gè)目標(biāo)運(yùn)動(dòng)模型進(jìn)行濾波預(yù)測(cè),機(jī)動(dòng)目標(biāo)的當(dāng)前統(tǒng)計(jì)模型CSM認(rèn)為當(dāng)目標(biāo)以一定加速度運(yùn)動(dòng)時(shí)下一時(shí)刻的加速度值受限,它只能是當(dāng)前加速度的鄰域。
(1)
(2)
式中a+max與a-max分別為加速度分布為正與負(fù)時(shí)的極值。
X(k+1|k)=φ(k+1|k)X(k|k)+w(k)
(3)
式中w(k)為過(guò)程噪聲,狀態(tài)轉(zhuǎn)移矩陣φ(k|k+1)為
(4)
式中T為采樣周期。預(yù)測(cè)誤差方差矩陣P(k+1|k)為
P(k+1|k)=φ(k+1|k)P(k│k)φT(k+1|k)+
Q(k+1)
(5)
殘差序列ek+1表示為
ek+1=Z(k+1)-H(k+1)X(k+1|k)
(6)
式中H(k+1)=[1 0 0],根據(jù)卡爾曼濾波理論,當(dāng)運(yùn)動(dòng)模型與實(shí)際運(yùn)動(dòng)一致時(shí),殘差序列應(yīng)具有以下屬性
ek+1=Z(k+1)-H(k+1)X(k+1|k),E[e(k+1)]=0,
(7)
機(jī)動(dòng)目標(biāo)的當(dāng)前統(tǒng)計(jì)模型可以更好地描述機(jī)動(dòng)目標(biāo)運(yùn)動(dòng)特性,但由于實(shí)際運(yùn)動(dòng)的不確定性,濾波器的狀態(tài)估計(jì)不能總是符合系統(tǒng)的真實(shí)狀態(tài),當(dāng)目標(biāo)運(yùn)動(dòng)模型與實(shí)際運(yùn)動(dòng)條件不匹配時(shí),基于運(yùn)動(dòng)模型的目標(biāo)狀態(tài)預(yù)測(cè)值X(k+1|k)將出現(xiàn)大的偏差,此時(shí)殘差序列ek+1不再滿足等式(7)中所示的關(guān)系。
引入STF算法,使得殘差序列保持正交,將自適應(yīng)卡爾曼濾波器的協(xié)方差矩陣修改為P*(k+1|k)
P*(k+1|k)=λ(k+1)φ(k+1|k)P(k|k)φT×
T(k+1|k)+Q(k+1)
(8)
其中,調(diào)節(jié)因子
(9)
λ0的計(jì)算為
(10)
式中ρ為遺忘因子且0<ρ≤1,通常ρ=0.95。
由于機(jī)動(dòng)目標(biāo)模型與實(shí)際運(yùn)動(dòng)狀態(tài)不完全匹配,因此模型中預(yù)設(shè)的參數(shù)需要自適應(yīng)調(diào)整。對(duì)于機(jī)動(dòng)頻率α,當(dāng)目標(biāo)機(jī)動(dòng)性較弱時(shí),根據(jù)經(jīng)驗(yàn)將其設(shè)定為較小的值;當(dāng)目標(biāo)機(jī)動(dòng)增強(qiáng)時(shí),使用調(diào)節(jié)因子調(diào)整λ(k+1),即
αk+1=λ(k+1)αk
(11)
基于CSM模型,自適應(yīng)卡爾曼濾波算法的步驟如下:
1)在時(shí)間k+1,利用式(3)計(jì)算狀態(tài)預(yù)測(cè)值X(k+1|k),利用式(5)計(jì)算預(yù)測(cè)誤差方差矩陣P(k+1|k)。
2)根據(jù)等式(6),計(jì)算殘差序列ek,并通過(guò)等式(9),計(jì)算λ(k+1)。
3)計(jì)算調(diào)整后的機(jī)動(dòng)頻率αk+1,并計(jì)算修正狀態(tài)轉(zhuǎn)移矩陣φ*(k),有
φ*(k+1|k)=φ(k+1|k)(αk+1)
(12)
4)利用式(8)計(jì)算調(diào)整后的預(yù)測(cè)誤差方差矩陣P*(k+1|k)。
5)計(jì)算卡爾曼增益并遞歸地獲得更新值,公式如下
K(k+1)=P*(k+1│k)HT(k+1)×
[H(k+1)P*(k+1│k)HT(k+1)+R(k+1)]-1
X(k+1|k+1)=X(k+1|k)+K(k+1)×
[Z(k+1)-H(k+1)X(k+1|k)]
P(k+1|k+1)=[I-K(k+1)H(k+1)P*(k+1|k)]
(13)
為了驗(yàn)證本文改進(jìn)的自適應(yīng)卡爾曼濾波算法的有效性,對(duì)跟蹤目標(biāo)軌跡在MATLAB平臺(tái)上進(jìn)行仿真分析。根據(jù)項(xiàng)目指標(biāo)需求,將目標(biāo)運(yùn)動(dòng)軌跡分解為方位和俯仰兩個(gè)方向,這里以方位軸為例,將角加速度為400(°)·s-2,角速度為5(°)·s-1的運(yùn)動(dòng)目標(biāo)進(jìn)行等效正弦計(jì)算,結(jié)果為θ=0.063 sin(80t)
在相同干擾的情況下,分別使用傳統(tǒng)卡爾曼濾波算法與本文提出的改進(jìn)的自適應(yīng)卡爾曼濾波算法對(duì)等效正弦波進(jìn)行跟蹤。圖2為跟蹤誤差示意圖,其橫坐標(biāo)為運(yùn)動(dòng)的周期T,T=t/0.01,縱坐標(biāo)為跟蹤誤差。
圖2 對(duì)以θ=0.063sin(80t)運(yùn)動(dòng)的目標(biāo)進(jìn)行跟蹤的位置跟蹤誤差
表1給出了算法的最大跟蹤誤差(error)與跟蹤誤差的均方根誤差(RMS)的比較。
表1 卡爾曼與自適應(yīng)卡爾曼的比較結(jié)果
從結(jié)果可以知,自適應(yīng)卡爾曼濾波方法的最大跟蹤誤差和均方根誤差(RMS)相對(duì)傳統(tǒng)卡爾曼濾波方法均有明顯減小,最大誤差的降低為傳統(tǒng)方法的0.39倍,均方根誤差(RMS)降低為傳統(tǒng)方法的0.21倍。由此可以看出,改進(jìn)后的自適應(yīng)卡爾曼方法可以有效地提高跟蹤精度。
為更進(jìn)一步驗(yàn)證本文算法的可用性,搭建如圖3所示實(shí)驗(yàn)平臺(tái)進(jìn)行系統(tǒng)的測(cè)試,平行光管打出一束平行光電作為跟蹤對(duì)象,相隔0.5 m處有一與平行光管等高的折射鏡,經(jīng)一定角度轉(zhuǎn)動(dòng)的折射鏡的折射后,目標(biāo)被0.5 m外的CCD圖像傳感器捕獲,傳感器架設(shè)于離地面約0.8 m的控制臺(tái)上,由DSP控制驅(qū)動(dòng)電機(jī)和控制架對(duì)平行光束進(jìn)行跟蹤,最后各項(xiàng)數(shù)據(jù)導(dǎo)入主控機(jī)平臺(tái)。
圖3 實(shí)驗(yàn)平臺(tái)示意
在跟蹤平臺(tái)上,將被跟蹤目標(biāo)運(yùn)動(dòng)分解為方位軸和俯仰軸兩個(gè)方向,以方位軸為例進(jìn)行跟蹤狀況的分析,圖4為實(shí)驗(yàn)平臺(tái)上的跟蹤結(jié)果圖,圖4(a)為利用自適應(yīng)卡爾曼濾波跟蹤目標(biāo)時(shí)的方位軸跟蹤結(jié)果圖,圖4(b)為系統(tǒng)的跟蹤誤差圖,跟蹤誤差約為0.02°復(fù)合控制系統(tǒng)的跟蹤誤差滿足實(shí)時(shí)性及精確度的要求。
圖4 在實(shí)驗(yàn)平臺(tái)中的跟蹤結(jié)果
本文設(shè)計(jì)了一種自適應(yīng)卡爾曼濾波方法來(lái)補(bǔ)償脫靶量延遲,通過(guò)自適應(yīng)調(diào)節(jié)與強(qiáng)跟蹤濾波的思想,改進(jìn)了卡爾曼濾波進(jìn)行前饋,構(gòu)成復(fù)合控制結(jié)構(gòu)。通過(guò)實(shí)驗(yàn)與仿真分析了傳統(tǒng)算法與本文算法的跟蹤精度,仿真結(jié)果表明:在高機(jī)動(dòng)情況下采用改進(jìn)的自適應(yīng)卡爾曼濾波方法,最大跟蹤誤差約為傳統(tǒng)算法的0.4倍,跟蹤誤差的均方根誤差約為傳統(tǒng)算法的0.2倍,誤差都有顯著的減小,在搭建的實(shí)驗(yàn)平臺(tái)中進(jìn)行的跟蹤實(shí)驗(yàn),其結(jié)果表明本文提出的自適應(yīng)卡爾曼跟蹤方法在光電跟蹤系統(tǒng)中有良好的表現(xiàn),滿足跟蹤系統(tǒng)對(duì)跟蹤誤差的要求。