范旭偉,萬士正,程禹,馬玉杰
(上海機電工程研究所,上海 201109)
半實物仿真是一種硬件在環(huán)實時仿真技術(shù),對于高精度制導(dǎo)武器的設(shè)計驗證和性能鑒定起到至關(guān)重要的作用[1]。目前,飛行器制導(dǎo)控制系統(tǒng)半實物仿真多采用三軸轉(zhuǎn)臺對飛行姿態(tài)進行運動模擬。一方面,由于內(nèi)部定時器相互獨立,且未與仿真系統(tǒng)中斷同步,三軸轉(zhuǎn)臺在閉環(huán)鏈路中存在3~4 ms響應(yīng)時間滯后[2]。另一方面,由于長期使用,受機械摩擦磨損、沖擊振動、金屬銹蝕等,三軸轉(zhuǎn)臺動態(tài)性能下降,響應(yīng)時延加劇。轉(zhuǎn)臺時延對仿真系統(tǒng)的影響最終體現(xiàn)在探測裝置對目標的動態(tài)跟蹤誤差上,降低了半實物仿真試驗結(jié)果置信度。
目前,解決三軸轉(zhuǎn)臺時延問題,以升級改造、硬件維護保養(yǎng)等方式為主,存在成本高、周期長等缺點。另外,通過一些先進的控制方法,雖然能有效減小跟蹤誤差,但無法在現(xiàn)有三軸轉(zhuǎn)臺基礎(chǔ)上應(yīng)用,不具備實用意義。
本文從實際工程需求入手,充分考慮低成本及可實現(xiàn)性,提出了一種基于迭代預(yù)補償?shù)霓D(zhuǎn)臺時延優(yōu)化方法,以增強半實物仿真準確性,提高仿真結(jié)果置信度。
轉(zhuǎn)臺是典型的伺服系統(tǒng),一般采用工控機作為控制元件,電機驅(qū)動器作為驅(qū)動元件,無刷直流電機作為執(zhí)行元件,光電碼盤作為測量元件,其具體結(jié)構(gòu)[3]如圖1所示。
圖1 轉(zhuǎn)臺系統(tǒng)結(jié)構(gòu)圖Fig.1 Turntable system structure
工控機用于接收位置偏差信號并對信號進行計算處理,得到數(shù)字控制信號,使用D/A板卡將控制器輸出的數(shù)字信號轉(zhuǎn)化為模擬信號輸出給電機系統(tǒng);電機系統(tǒng)包括驅(qū)動器和永磁同步電機,驅(qū)動器根據(jù)工控機提供的控制信號帶動電機運動;位置傳感器用于讀取電機角位置,對位置信號處理后,傳回給驅(qū)動器和工控機進行位置閉環(huán)。
電機系統(tǒng)的控制方式通常為矢量控制,其結(jié)構(gòu)圖如圖2所示。
圖2 電機系統(tǒng)控制結(jié)構(gòu)圖Fig.2 Motor system control structure
其中,Vin為指令輸入,i為電流,Te為電機輸出力矩,ω為電機機械角速度,θ為位置輸出;ke為反電勢系數(shù),kps為驅(qū)動器放大系數(shù),kv為電流放大系數(shù),kT為電機力矩系數(shù);r為電樞電阻;L為電樞電感;J為等效總轉(zhuǎn)動慣量;Tf為干擾力矩,包含摩擦力矩及波動力矩等。
由此可得,由指令輸入到位置輸出的開環(huán)傳遞函數(shù)為
為便于問題描述,在保留轉(zhuǎn)臺伺服系統(tǒng)本質(zhì)特征的信息基礎(chǔ)上,采用二階頻響特性近似其閉環(huán)響應(yīng)特性,如式(2)所示,即
參數(shù)辨識是指在輸入輸出數(shù)據(jù)基礎(chǔ)上,基于某種準則或算法,估計系統(tǒng)模型未知參數(shù)的過程[4]。在實際試驗中,選擇辨識算法要考慮的因素主要有算法的辨識精度、收斂速度、穩(wěn)定性以及算法在平臺上實現(xiàn)的難易程度。考慮到最小二乘算法具有無偏性、有效性和一致性等良好的統(tǒng)計特性[5],且自身原理簡單,便于工程實現(xiàn),所以本文以遺忘因子遞推最小二乘算法作為轉(zhuǎn)臺模型在線辨識方法。
考慮一個單輸入單輸出系統(tǒng),其差分方程可寫為
設(shè)參數(shù)矩陣θ=[a1,a2,...,an,b1,b2,...,bm]T,則遞推最小二乘算法可寫為
通過在最小二乘算法中引入遺忘因子,以降低舊數(shù)據(jù)在算法中的置信度,保證當前時刻數(shù)據(jù)結(jié)果的重要程度,降低冗余舊數(shù)據(jù)對辨識結(jié)果的影響。遺忘因子遞推最小二乘算法的遞推公式[6]可以寫為
λ即為遺忘因子,通常取0.9 <λ<0.99[7]。
在三軸轉(zhuǎn)臺的實際應(yīng)用場景中,角位置控制是最為常見的一種伺服系統(tǒng)控制方式。上位機通過將參考位置輸入到下位機,由轉(zhuǎn)臺系統(tǒng)進行響應(yīng),驅(qū)動轉(zhuǎn)臺臺體最終達到指定姿態(tài)。迭代預(yù)補償方法[8]是對直接補償方法的一種改進,可以實時對角位置指令進行相應(yīng)的修改,進而在線補償轉(zhuǎn)臺跟蹤誤差。
直接補償方法如圖3所示。
圖3 直接補償方法原理圖Fig.3 Schematic diagram of direct compensation method
采集三軸轉(zhuǎn)臺系統(tǒng)的輸入輸出信號,通過Matlab離線辨識工具箱,建立轉(zhuǎn)臺傳遞函數(shù)模型Gr(s)。直接預(yù)補償方法將預(yù)測的跟蹤誤差ex直接加到位置指令xref上,作為補償后的位置指令xref_IPC,輸入給轉(zhuǎn)臺下位機。直接預(yù)補償方法的原理和實現(xiàn)都較為簡單,但受限于離線補償,無法直接應(yīng)用于半實物仿真實時系統(tǒng)。
迭代預(yù)補償方法的優(yōu)勢在于對跟蹤誤差ex進行了迭代預(yù)測。在每一次迭代時,利用上一次迭代得到的補償指令xref_IPC與傳遞函數(shù)Gr(s)預(yù)測新的跟蹤誤差,進而將其累加到補償指令上。如此迭代若干次后,即可得到最優(yōu)補償值[9]。過程如圖4所示。
圖4 迭代預(yù)補償方法原理圖Fig.4 Schematic diagram of iterative pre-compensation
設(shè)第1次迭代的預(yù)測誤差為ex,則可以表示為
經(jīng)三軸轉(zhuǎn)臺系統(tǒng)傳遞函數(shù)模型輸出的預(yù)測位置為xact_pre,則可以表示為
設(shè)第2次迭代的預(yù)測誤差為,則可以表示為
將補償?shù)絽⒖贾噶钌?,則第2 次迭代預(yù)補償后的位置指令可以表示為
以此類推,第k次迭代預(yù)補償后的位置指令可以表示為
則第k次迭代預(yù)補償后,預(yù)測的跟蹤誤差可以表示為
當‖ 1?G(s) ‖<1時,迭代預(yù)補償有效[10]。
三軸轉(zhuǎn)臺由轉(zhuǎn)臺控制機柜及轉(zhuǎn)臺臺體組成,在半實物仿真系統(tǒng)中用于模擬飛行器姿態(tài)運動,如圖5 所示。轉(zhuǎn)臺控制機柜即為轉(zhuǎn)臺下位機,主要有3個部分組成:仿真模塊、數(shù)字信號處理(DSP)控制系統(tǒng)以及界面部分。
圖5 半實物仿真系統(tǒng)組成Fig.5 Composition of hardware-in-loop simulation system
仿真模塊用于獲取仿真數(shù)據(jù)和轉(zhuǎn)臺數(shù)據(jù),并將仿真指令傳遞給需要的模塊。DSP控制系統(tǒng)負責(zé)伺服系統(tǒng)的閉環(huán)控制。界面部分負責(zé)接收遠程控制指令并傳遞給DSP 及仿真模塊。根據(jù)轉(zhuǎn)臺的運行機制[11],在仿真系統(tǒng)給出位置控制指令時刻起,到轉(zhuǎn)臺執(zhí)行到位為止,存在著3~4 ms 的響應(yīng)時間滯后。由于機械設(shè)備損耗等因素,也會降低轉(zhuǎn)臺動態(tài)性能,惡化跟蹤精度。
為了解決轉(zhuǎn)臺時延問題,提高控制精度,在遺忘因子遞推最小二乘算法[12]基礎(chǔ)上,提出基于迭代預(yù)補償?shù)霓D(zhuǎn)臺時延優(yōu)化方法。算法流程如圖6所示。
圖6 轉(zhuǎn)臺時延優(yōu)化方法流程圖Fig.6 Flow chart of turntable time delay optimization method
首先采集反射內(nèi)存網(wǎng)中三軸轉(zhuǎn)臺角位置控制指令及轉(zhuǎn)臺下位機反饋的轉(zhuǎn)臺執(zhí)行角度,作為在線辨識算法的參考指令。當數(shù)據(jù)累計到一定程度,對三軸轉(zhuǎn)臺閉環(huán)系統(tǒng)進行在線參數(shù)辨識。若辨識系數(shù)迭代誤差不滿足門限要求,則輸出原始角位置控制指令。當辨識系數(shù)迭代誤差小于預(yù)設(shè)門限時,代表模型辨識精度達到要求,可以基于辨識模型進行跟蹤誤差預(yù)測。再基于2.1 節(jié)提到的迭代預(yù)補償方法,對實時輸入的轉(zhuǎn)臺角位置控制指令進行預(yù)補償,并進行保護判斷。將滿足安全性要求的補償后的控制指令輸出,用于驅(qū)動三軸轉(zhuǎn)臺運動。如果不滿足安全性要求,則直接輸出原轉(zhuǎn)臺角位置控制指令。
為了證明基于迭代預(yù)補償?shù)霓D(zhuǎn)臺時延優(yōu)化方法的可行性,仿真應(yīng)從2個方面進行驗證:(1)基于在線辨識算法可以有效預(yù)測系統(tǒng)跟蹤誤差;(2)基于迭代預(yù)補償算法,可以有效修正控制指令,降低跟蹤誤差,優(yōu)化響應(yīng)時延。
仿真驗證的整體流程如圖7所示。
根據(jù)式(1)建立轉(zhuǎn)臺開環(huán)傳遞函數(shù)模型為
設(shè)計串聯(lián)校正控制器,校正后的閉環(huán)系統(tǒng)波特圖如圖8 所示,滿足性能指標要求。在此基礎(chǔ)上增加7.5 ms時延環(huán)節(jié),以此模擬轉(zhuǎn)臺系統(tǒng)時延特性,完成轉(zhuǎn)臺系統(tǒng)傳遞函數(shù)模型設(shè)計。
圖8 校正后閉環(huán)系統(tǒng)波特圖Fig.8 Bode diagram of the corrected closed loop system
仿真試驗選取了幅值為1°,1~9 Hz 掃頻正弦曲線作為轉(zhuǎn)臺指令曲線,能夠覆蓋實際仿真試驗中絕大多數(shù)頻率,如圖9所示。
圖9 掃頻指令曲線Fig.9 Sweep command curve
在輸入指令激勵下,求得轉(zhuǎn)臺系統(tǒng)的響應(yīng)輸出。再通過在線辨識算法,可以得到辨識后的轉(zhuǎn)臺系統(tǒng)模型。由圖10 可知,在線辨識算法收斂,辨識誤差小于5‰,有較好的辨識精度和穩(wěn)定性。
圖10 在線辨識迭代誤差曲線Fig.10 Iterative error curve of online identification
通過對比輸入指令的時域響應(yīng)曲線,如圖11 所示,可以得到在線辨識算法環(huán)節(jié)的指令跟蹤預(yù)測效果,在6 Hz輸入指令下最大誤差小于6%。
基于預(yù)測的跟蹤誤差,運用迭代預(yù)補償算法,可以得到修正后的輸入指令。在此激勵作用下,得到應(yīng)用轉(zhuǎn)臺時延優(yōu)化算法后的時域輸出,如圖12 所示。局部放大如圖13 所示,轉(zhuǎn)臺響應(yīng)延遲優(yōu)化效果明顯,在6 Hz 輸入指令下最大跟蹤誤差由30% 降低到10%。
圖12 迭代預(yù)補償算法應(yīng)用前后跟蹤曲線比較Fig.12 Comparison of tracking curves before and after the application of iterative pre-compensation algo‐rithm
圖13 跟蹤曲線局部放大圖Fig.13 Partial enlarged view of tracking curve
由圖14 可知,迭代預(yù)補償算法能夠有效降低跟蹤誤差,提高跟蹤精度。經(jīng)過仿真驗證,基于迭代預(yù)補償?shù)霓D(zhuǎn)臺時延優(yōu)化方法具有可行性。
圖14 迭代預(yù)補償算法應(yīng)用前后跟蹤誤差比較Fig.14 Comparison of tracking error before and after application of iterative pre-compensation algorithm
本文在建立三軸轉(zhuǎn)臺系統(tǒng)機理模型基礎(chǔ)上,介紹帶遺忘因子的最小二乘在線辨識算法,通過在線辨識轉(zhuǎn)臺模型參數(shù),再應(yīng)用迭代預(yù)補償控制結(jié)構(gòu),實時修正轉(zhuǎn)臺的驅(qū)動指令,進而補償轉(zhuǎn)臺系統(tǒng)時延。通過仿真試驗表明,應(yīng)用基于迭代預(yù)補償?shù)霓D(zhuǎn)臺時延優(yōu)化方法,有效提高了轉(zhuǎn)臺跟蹤精度,降低了轉(zhuǎn)臺系統(tǒng)響應(yīng)時延,提高了仿真置信度。