巫佩軍, 楊文韜, 余馳, 楊耕
(1.清華大學(xué)自動(dòng)化系,北京 100084;2.慶安集團(tuán)有限公司,陜西西安 710000)
在某些高精度隨動(dòng)控制系統(tǒng)運(yùn)行中,往往面臨目標(biāo)被短時(shí)遮擋導(dǎo)致軌跡不連續(xù),或給定周期過大的現(xiàn)象,從而導(dǎo)致隨動(dòng)系統(tǒng)跟蹤響應(yīng)變慢、特性變差等問題。為了達(dá)到對(duì)目標(biāo)的穩(wěn)定持續(xù)跟蹤、提升對(duì)目標(biāo)的跟蹤質(zhì)量,在工程上一般采用軌跡預(yù)測(cè)的方法。實(shí)用的方法主要有卡爾曼濾波[1]、最小二乘[2]和模型預(yù)測(cè)[3]等。其中,卡爾曼濾波預(yù)測(cè)算法對(duì)目標(biāo)的軌跡預(yù)測(cè)效果較好,且不需要存儲(chǔ)以前的數(shù)據(jù),還可以獲得系統(tǒng)其它狀態(tài)信息。但算法需要精確的系統(tǒng)模型,建模誤差會(huì)給系統(tǒng)帶來較大影響。最小二乘預(yù)測(cè)算法運(yùn)算簡(jiǎn)單,計(jì)算量少,易于工程實(shí)現(xiàn)[4],但擬合函數(shù)的通用性不強(qiáng),在軌跡類型發(fā)生變化時(shí)預(yù)測(cè)效果變差。模型預(yù)測(cè)控制是一種基于模型的控制算法,在控制時(shí)域內(nèi)最小化目標(biāo)函數(shù)以求出最優(yōu)控制律。建模誤差也會(huì)對(duì)這一方法的控制效果帶來影響。
此外,普通隨動(dòng)控制器運(yùn)算能力較低,難以完成比較復(fù)雜的控制算法,因此難以滿足系統(tǒng)具有較高控制精度這一需求[5]。為了改進(jìn)此問題,本文以兩自由度高精度隨動(dòng)控制系統(tǒng)為研究對(duì)象,提出了一種適用于不同類型軌跡的預(yù)測(cè)算法。首先對(duì)被跟蹤軌跡進(jìn)行微分判定并分類,據(jù)此選擇適當(dāng)?shù)臄M合函數(shù)以及預(yù)測(cè)步長(zhǎng);其次,采用最小二乘法作為軌跡預(yù)測(cè)方法,通過提供完整的目標(biāo)軌跡信息,或等效提升位置給定速率,提升系統(tǒng)的性能。文中以連續(xù)可導(dǎo)的正弦波和不可導(dǎo)的三角波兩種軌跡為例預(yù)測(cè),結(jié)合仿真驗(yàn)證和實(shí)物實(shí)驗(yàn),對(duì)軌跡預(yù)測(cè)效果進(jìn)行綜合分析,驗(yàn)證了該預(yù)測(cè)方法的可行性。
兩自由度隨動(dòng)控制系統(tǒng)結(jié)構(gòu)如圖1所示。隨動(dòng)控制器接收上位機(jī)的跟蹤指令,通過對(duì)指令和反饋信號(hào)的處理,對(duì)執(zhí)行機(jī)構(gòu)水平、俯仰電機(jī)發(fā)出控制指令;執(zhí)行機(jī)構(gòu)按照指令,通過傳動(dòng)裝置,將被控對(duì)象移動(dòng)到指定位置來跟蹤目標(biāo);水平、俯仰編碼器,將采集到的被控對(duì)象位置信息,反饋給隨動(dòng)控制器;隨動(dòng)控制器還會(huì)將系統(tǒng)工作狀態(tài)傳回上位機(jī)。
圖1 隨動(dòng)控制系統(tǒng)原理圖Fig.1 Schematic of servo control system
不考慮負(fù)載擾動(dòng)和測(cè)量噪聲,隨動(dòng)數(shù)字控制系統(tǒng)如圖2所示。Tr、Ty、Tu分別代表輸入r(t)、輸出y(t)和控制u(t)指令周期。Tu由D/A轉(zhuǎn)換器和控制器的速度決定,為隨動(dòng)控制系統(tǒng)控制指令周期;Ty一般由傳感器的速度決定,是系統(tǒng)采集信號(hào)的周期;Tr為隨動(dòng)系統(tǒng)收到的指令周期。當(dāng)Tr<Tu,Ty時(shí),采用軌跡預(yù)測(cè)的方法,可以等效提升軌跡給定指令周期,從而提升系統(tǒng)性能。
圖2 隨動(dòng)數(shù)字控制系統(tǒng)Fig.2 Digital servo control system
最小二乘法軌跡預(yù)測(cè),是一種利用已知軌跡,采用多項(xiàng)式函數(shù)擬合,預(yù)測(cè)未來軌跡的方法。由于其擬合多項(xiàng)式不隨著軌跡變化,所以在確定了擬合多項(xiàng)式后,針對(duì)不同類型的軌跡,其預(yù)測(cè)效果也不相同。在基本預(yù)測(cè)方法的基礎(chǔ)上,通過對(duì)軌跡類型的判斷,選用不同的擬合函數(shù),會(huì)提升預(yù)測(cè)效果。
己知前n個(gè)時(shí)刻的位置給定(xi,yi),i=1,2,…,n,假定多項(xiàng)式擬合函數(shù)T(t),使得擬合誤差(實(shí)際位置與擬合曲線的距離)的平方和D最小。擬合函數(shù)為
其中:ai為待定系數(shù),ti為時(shí)間。擬合誤差平方和為
擬合問題變?yōu)?求待定系數(shù)ai,使得D取最小值。根據(jù)多元函數(shù)極值的必要條件:函數(shù)在某點(diǎn)具有偏導(dǎo)數(shù)且偏導(dǎo)數(shù)為零。我們以估計(jì)x軸位置為例,得
整理后得到
于是,上述擬合問題轉(zhuǎn)化為求以下方程的解[a0,a1,…,ar][6-7]為
仿真中分別為對(duì)正弦波和三角波的預(yù)測(cè),仿真結(jié)果如圖3所示,圖中菱形為位置給定值,圓點(diǎn)是對(duì)位置給定值的估計(jì)(圖4、圖5、圖7同)。從圖中可以看到,軌跡預(yù)測(cè)可提高實(shí)際系統(tǒng)中給定信號(hào)的頻率。這種軌跡預(yù)測(cè)方法,對(duì)于連續(xù)的、平滑變化的位置給定(圖3(a)),具有較好的預(yù)測(cè)效果,可以準(zhǔn)確預(yù)測(cè)連續(xù)兩次位置給定之間的位置信息。但是對(duì)于三角波(圖3(b)),由于其在尖點(diǎn)處不可導(dǎo),對(duì)于此點(diǎn)之后的估計(jì)并不準(zhǔn)確。即在知道尖點(diǎn)處的位置給定時(shí),沒有任何信息可以預(yù)示位置給定斜率的劇烈變化,因此在下一次位置給定到來之前的時(shí)間內(nèi),對(duì)于位置的估計(jì)值都是不準(zhǔn)確的。
圖3 軌跡預(yù)測(cè)仿真Fig.3 Simulation of trajectory prediction
實(shí)際系統(tǒng)中,位置給定對(duì)應(yīng)于跟蹤目標(biāo)的實(shí)際位置。由于被跟蹤的目標(biāo)具有較大慣性,因此其位置是連續(xù)變化的,這就使得本文提出的預(yù)測(cè)方法更為有效。
由于目標(biāo)軌跡具有多變化、不確定和隨機(jī)性,采用基于最小二乘法的多項(xiàng)式擬合預(yù)測(cè)目標(biāo)移動(dòng)軌跡時(shí),如果能夠根據(jù)目標(biāo)的已知軌跡,優(yōu)化預(yù)測(cè)步長(zhǎng),亦即優(yōu)化擬合多項(xiàng)式函數(shù)T(t)的多項(xiàng)式階數(shù),對(duì)于提升預(yù)測(cè)方法的準(zhǔn)確性,有較大幫助。這是因?yàn)閷?duì)于任意軌跡,若設(shè)置的多項(xiàng)式階數(shù)過高,則式(4)左側(cè)的方陣A的階次會(huì)變高。經(jīng)仿真驗(yàn)證,當(dāng)A的階次超過10階時(shí),A往往會(huì)變?yōu)椴B(tài)矩陣,此時(shí)求出的多項(xiàng)式系數(shù)[a0,a1,…,ar]會(huì)不準(zhǔn)確,導(dǎo)致預(yù)測(cè)效果變差。
同時(shí),由于已知的歷史數(shù)據(jù)具有誤差,預(yù)測(cè)結(jié)果也會(huì)引入誤差。此時(shí),對(duì)于同一軌跡采用不一樣的多項(xiàng)式擬合函數(shù),歷史數(shù)據(jù)誤差帶來的影響也不同,適當(dāng)?shù)倪x取擬合多項(xiàng)式,會(huì)減小這一誤差。我們以原函數(shù)為一階多項(xiàng)式為例,說明采用一階、二階擬合多項(xiàng)式后,帶來的誤差不同。
設(shè)原多項(xiàng)式為Y(t)=t+1,已知的3個(gè)點(diǎn)為
采用一階、二階多項(xiàng)式擬合函數(shù)在t+2處的值,所得結(jié)果如表1所示。
表1 一、二階擬合多項(xiàng)式擬合結(jié)果Table 1 Fitting results with first and second order polynomials
可見,不同擬合多項(xiàng)式擬合結(jié)果不同。對(duì)于由歷史數(shù)據(jù)誤差帶來的擬合誤差,選取合適的擬合多項(xiàng)式,會(huì)減小這一偏差。以下以目標(biāo)軌跡為三角波和正弦波為例,說明擬合函數(shù)對(duì)不同軌跡預(yù)測(cè)效果的影響。
若歷史軌跡為三角波,對(duì)軌跡微分可知,在大多數(shù)位置,微分結(jié)果為常數(shù)。此時(shí),可適當(dāng)降低擬合多項(xiàng)式階數(shù),采用一階或二階多項(xiàng)式參與擬合,會(huì)提升軌跡預(yù)測(cè)效果。圖4為不同階次對(duì)三角波軌跡預(yù)測(cè)結(jié)果影響對(duì)比。
由圖4可見,對(duì)于三角波軌跡預(yù)測(cè),一階多項(xiàng)式得到的結(jié)果要優(yōu)于高階多項(xiàng)式。同樣的,若歷史軌跡為正弦波,軌跡任意階可導(dǎo),則可以采用較高階數(shù)的多項(xiàng)式參與擬合。經(jīng)仿真驗(yàn)證,當(dāng)多項(xiàng)式階數(shù)為3時(shí),仿真效果較為理想。
圖4 不同階次擬合多項(xiàng)式的三角波軌跡預(yù)測(cè)結(jié)果Fig.4 Triangle wave trajectory prediction results with different order of polynomials
圖5為不同擬合函數(shù)下正弦波軌跡預(yù)測(cè)結(jié)果對(duì)比。
圖5 不同階次擬合多項(xiàng)式的正弦波軌跡預(yù)測(cè)結(jié)果Fig.5 Sine wave trajectory prediction results with different order of polynomials
由圖5可以看出,對(duì)于正弦波的預(yù)測(cè),若擬合函數(shù)階次過低,在正弦尖峰處,預(yù)測(cè)效果變差。實(shí)驗(yàn)說明,利用最小二乘法做軌跡預(yù)測(cè)時(shí),選擇的擬合函數(shù)的階次過高或過低,都會(huì)導(dǎo)致預(yù)測(cè)結(jié)果變差。對(duì)于不同類型的曲線,其擬合多項(xiàng)式的最佳階次也不相同。
實(shí)際系統(tǒng)的目標(biāo)軌跡,并不是單一的類型。由于篇幅限制,我們以正弦類軌跡與三角波類軌跡的混合軌跡作為預(yù)測(cè)目標(biāo),利用改進(jìn)后的預(yù)測(cè)算法進(jìn)行試驗(yàn),其結(jié)構(gòu)如圖6所示。以下以三角波類、正弦波類混合軌跡為例,介紹這一方法。
圖6 改進(jìn)后的預(yù)測(cè)算法流程Fig.6 Improved prediction algorithm flow
在預(yù)測(cè)開始時(shí),首先進(jìn)行軌跡分類算法選擇。利用已知?dú)v史數(shù)據(jù),采用不同階次的多項(xiàng)式,進(jìn)行擬合預(yù)測(cè)。若一階多項(xiàng)式擬合結(jié)果誤差小,則認(rèn)定為三角波類軌跡;若三階多項(xiàng)式擬合結(jié)果誤差小,則認(rèn)定為正弦波類軌跡;若二階多項(xiàng)式擬合結(jié)果誤差小,則認(rèn)為是在兩類波形之間過渡。在預(yù)測(cè)過程中,對(duì)比每個(gè)采樣點(diǎn)處軌跡預(yù)測(cè)值與實(shí)際值之間的誤差:若誤差小于設(shè)定閾值,則繼續(xù)采用當(dāng)前預(yù)測(cè)方法;否則調(diào)整預(yù)測(cè)方法,利用其他階次多項(xiàng)式擬合歷史數(shù)據(jù),將得到的預(yù)測(cè)值與實(shí)際值對(duì)比,選擇誤差最小的擬合方法,利用當(dāng)前數(shù)據(jù)點(diǎn)進(jìn)行預(yù)測(cè)。利用歷史軌跡得到預(yù)測(cè)軌跡,并將預(yù)測(cè)結(jié)果輸入隨動(dòng)控制器。這種加入軌跡判定的方法,比固定擬合函數(shù)的辦法,預(yù)測(cè)效果更好。仿真結(jié)果如圖7所示。
圖7 采用不同擬合函數(shù)預(yù)測(cè)結(jié)果Fig.7 Prediction result with different order of polynomial
圖7可以看出,對(duì)于不同類型的混合軌跡,采用不同擬合函數(shù)預(yù)測(cè)時(shí),比起單一擬合函數(shù),在不連續(xù)軌跡處,預(yù)測(cè)軌跡偏離較小;對(duì)于連續(xù)軌跡尖峰(變化較慢處),預(yù)測(cè)結(jié)果也更為準(zhǔn)確。在仿真中只是針對(duì)此類軌跡,示意性的采用了3種不同階次的多項(xiàng)式擬合函數(shù)。對(duì)于更加復(fù)雜的情況,可以采用更多不同階次,甚至不同種類的擬合函數(shù)。
實(shí)際系統(tǒng)的原理構(gòu)成圖如圖1。電動(dòng)機(jī)采用混合式兩相步進(jìn)電機(jī)。實(shí)際位置每0.5 ms采集一次(Ty=0.5 ms),位置給定每20 ms更新一次(Tr=20 ms),控制指令每2 ms更新一次(Tu=2 ms)。在不加入位置預(yù)測(cè)的情況下,系統(tǒng)響應(yīng)如圖8(a)所示(放大圖中粗實(shí)線為給定值,細(xì)實(shí)線為實(shí)際軌跡),其中系統(tǒng)最大跟蹤誤差(最高點(diǎn)處誤差)為0.081°,跟蹤時(shí)延為0.035 s。
圖8 系統(tǒng)響應(yīng)曲線Fig.8 System response curve
加入了軌跡預(yù)測(cè)模塊后的系統(tǒng),在預(yù)測(cè)準(zhǔn)確的情況下,等效于提高了系統(tǒng)的位置給定速率Tr。此時(shí)系統(tǒng)的響應(yīng)如圖8(b)所示,系統(tǒng)最大跟蹤誤差(最高點(diǎn)處誤差)為0.0202°,跟蹤時(shí)延為0.008 s。系統(tǒng)性能有明顯提高。
針對(duì)高精度隨動(dòng)控制系統(tǒng)中,目標(biāo)軌跡給定時(shí)間間隔較大或目標(biāo)軌跡不連續(xù),造成的控制精度下降的問題,本文提出了一種利用改進(jìn)最小二乘法預(yù)測(cè)軌跡,等效提升軌跡給定速率,或完善軌跡信息,從而提升系統(tǒng)性能的方法。通過對(duì)已知軌跡微分實(shí)現(xiàn)分類,并對(duì)不同類型的軌跡采用不同的預(yù)測(cè)方法。仿真證明這一方法對(duì)于系統(tǒng)性能的提升有較大幫助,且實(shí)現(xiàn)簡(jiǎn)單,無需系統(tǒng)模型。與傳統(tǒng)的最小二乘法軌跡預(yù)測(cè)相比,預(yù)測(cè)結(jié)果更好。雖然對(duì)于連續(xù)不可導(dǎo)的軌跡,本預(yù)測(cè)方法在不可導(dǎo)處有較大誤差。若跟蹤目標(biāo)具有較大慣性,其位置連續(xù),則預(yù)測(cè)效果較好;若跟蹤目標(biāo)慣性較小軌跡會(huì)發(fā)生突變,則不宜采用本文提出的預(yù)測(cè)方法。
在實(shí)際應(yīng)用中,跟蹤目標(biāo)軌跡可能還有其他類型,因此可在本文方法的基礎(chǔ)上,加入不同的擬合函數(shù),如選取正交多項(xiàng)式為基;或加入其他擬合手段,再給軌跡分類后,采用適合的辦法進(jìn)行預(yù)測(cè)。
[1]WELCH G,BISHOP G.An introduction to the Kalman filter[M].University of North Carolina,2001.
[2]黃曉林,楊建剛,朱雯蘭.目標(biāo)運(yùn)動(dòng)趨勢(shì)預(yù)測(cè)跟蹤算法及其軟件實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2005,18(6):42-43.
HUANG Xiaolin,YANG Jiangang,ZHU Wenlan.Trend forecasting and tracking algorithm for moving target[J].Industrial Control Computer,2005,18(6):42-43.
[3]周宏仁,敬忠良,王培德.機(jī)動(dòng)目標(biāo)跟蹤[M].第一版.北京:國(guó)防工業(yè)出版社,1991.
[4]譚菊.基于Kalman濾波的目標(biāo)軌跡預(yù)測(cè)[J].重慶文理學(xué)院學(xué)報(bào):自然科學(xué)版,2009,28(5):28-30.
TAN Ju.Target trajectory prediction based on kalman filtering[J].Journal of Chongqing University of Arts and Science:Natural Science Edition,2009,28(5):28-30.
[5]榮盤祥,何志軍.步進(jìn)電機(jī)數(shù)字控制系統(tǒng)設(shè)計(jì)[J].電機(jī)與控制學(xué)報(bào),2009,13(2):272-275.
RONG Panxiang,HE Zhijun.Design of numerical control system for steppermotor[J].Electric Machines and Control,2009,13(2):272-275.
[6]楊耿,和衛(wèi)星.運(yùn)動(dòng)目標(biāo)圖像識(shí)別與跟蹤系統(tǒng)的研究[J].計(jì)算機(jī)測(cè)量與控制,2005,13(3):267-269.
YANG Geng,HE Weixing.Study of system on image recognition and tracking of moving object[J].Computer Measurement and control,2005,13(3):267-269.
[7]盧迪,柳長(zhǎng)源,閆健,等.機(jī)動(dòng)目標(biāo)跟蹤的完全最小二乘法輸入估計(jì)[J].電機(jī)與控制學(xué)報(bào),2006,10(3):300-303.
LU Di,LIU Changyuan,YAN Jian,et al.Total least square input estimation in tracking maneuver target[J].Computer Measurement and Control,2006,10(3):300-303.