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