張文麗,郭俊文,曲俊海,2,孫漢青
(1.北方自動控制技術(shù)研究所,太原 030006;2.北京理工大學(xué),北京 100085)
武器穩(wěn)定系統(tǒng)是裝甲車輛火控系統(tǒng)的重要組成部分,其功能是接收火控計(jì)算機(jī)的指令,驅(qū)動火炮迅速、準(zhǔn)確、穩(wěn)定地瞄準(zhǔn)目標(biāo),并在適當(dāng)?shù)臅r(shí)機(jī)實(shí)施射擊,摧毀目標(biāo),其性能好壞直接影響裝甲車輛火力的發(fā)揮[1]。傳統(tǒng)的機(jī)理建模經(jīng)過大量簡化推導(dǎo)獲得的系統(tǒng)模型,且依據(jù)的參數(shù)有限,與實(shí)際系統(tǒng)有較大差別。因此,通過機(jī)理建模和參數(shù)辨識相結(jié)合的方法來建立、完善模型,是武器穩(wěn)定系統(tǒng)設(shè)計(jì)的關(guān)鍵工程問題。
武器穩(wěn)定系統(tǒng)是一種復(fù)雜的非線性多系統(tǒng),目前系統(tǒng)的辨識模型大多忽略非線性環(huán)節(jié)或者將其簡單線性化,文獻(xiàn)[2]運(yùn)用遞推最小二乘法對某型戰(zhàn)車的單慣量模型炮控系統(tǒng)進(jìn)行了離線辨識,忽略了中間傳動機(jī)構(gòu)的彈性因素。但對武器穩(wěn)定系統(tǒng)來說,如果在設(shè)計(jì)控制器時(shí)不考慮彈性因素,容易引發(fā)機(jī)械諧振、速度控制不精確,甚至造成驅(qū)動部件的損壞。而準(zhǔn)確辨識系統(tǒng)外部機(jī)械參數(shù)是抑制諧振、維持系統(tǒng)安全性的基本條件[3]。根據(jù)工程實(shí)踐經(jīng)驗(yàn),摩擦和齒隙非線性是影響武器穩(wěn)定系統(tǒng)性能的主要因素且直接測量有一定難度。因此,武器穩(wěn)定系統(tǒng)中非線性環(huán)節(jié)的準(zhǔn)確建模具有重要意義。
傳統(tǒng)參數(shù)辨識方法主要有最小二乘法、梯度校正法和極大似然法,隨著優(yōu)化理論和智能算法的快速發(fā)展,這些算法憑借不依賴問題模型,能快速有效地搜索復(fù)雜、高度非線性和多維空間的特性,非常適合于系統(tǒng)參數(shù)的辨識,為解決傳統(tǒng)辨識問題開辟了新途徑[4]。尤其差分進(jìn)化算法具有參數(shù)少、實(shí)現(xiàn)簡單、自組織、收斂速度快等特點(diǎn),已經(jīng)在多個(gè)領(lǐng)域成功應(yīng)用。但差分進(jìn)化算法跟其他優(yōu)化算法一樣容易早熟,陷入局部最優(yōu)。針對提升差分進(jìn)化算法性能的問題,國內(nèi)外學(xué)者提出的改進(jìn)策略主要有3種[5-7]:1)采用動態(tài)控制參數(shù)的改進(jìn)算法,使參數(shù)隨進(jìn)化過程不斷變化而不是固定不變;2)改變算法的結(jié)構(gòu),如改變變異策略,或交叉策略。3)差分進(jìn)化算法與其他算法組合,結(jié)合兩種算法的優(yōu)點(diǎn)形成一種新的混合算法。因此,結(jié)合實(shí)際綜合考慮,本文運(yùn)用自適應(yīng)差分進(jìn)化算法開展參數(shù)辨識研究,建立武器系統(tǒng)模型較完整的數(shù)學(xué)模型。
圖1 某步兵戰(zhàn)車武器穩(wěn)定系統(tǒng)結(jié)構(gòu)
某步兵戰(zhàn)車武器穩(wěn)定系統(tǒng)主要由控制器、驅(qū)動器、執(zhí)行電機(jī)(方位、高低)和炮塔、炮管等組成。該系統(tǒng)采用典型三閉環(huán)控制結(jié)構(gòu),由內(nèi)而外分別是電流環(huán)、速度環(huán)、位置環(huán),如圖1 所示。下面主要分析系統(tǒng)中的非線性環(huán)節(jié)并建立模型。
火炮和炮塔在動力傳動裝置的作用下運(yùn)動,考慮到傳動機(jī)構(gòu)的彈性形變,建立電機(jī)-傳動鏈-火炮/炮塔三慣量模型,以高低向火炮控制系統(tǒng)為例建立如下模型:
齒隙非線性是機(jī)械傳動系統(tǒng)中齒輪輪齒之間存在齒隙而導(dǎo)致的非線性位置誤差[8],描述齒隙的模型主要有遲滯模型,死區(qū)模型和沖撞模型,因齒隙只與相對位置有關(guān),選擇對應(yīng)的死區(qū)模型對其進(jìn)行描述:
系統(tǒng)中摩擦非線性的存在,容易引起火炮的低速爬行和穩(wěn)態(tài)誤差等問題,甚至引起極限環(huán)振蕩[9]。根據(jù)Stribeck 摩擦模型中摩擦力與速度的對應(yīng)關(guān)系,建立如下模型:
根據(jù)上述模型設(shè)置待辨識參數(shù)如下:
表1 模型參數(shù)及其含義
差分進(jìn)化(Differential Evolution,DE)算法是模擬自然界生物種進(jìn)化發(fā)展規(guī)律而形成的一種隨機(jī)啟發(fā)式搜索算法,是一種新興的進(jìn)化計(jì)算技術(shù)[10]。DE 算法共有初始化、變異、交叉、選擇4 個(gè)步驟,主要涉及到種群規(guī)模Size、變異因子F、交叉因子CR和最大迭代次數(shù)G 這4 個(gè)控制參數(shù)。
在種群規(guī)模、最大迭代次數(shù)確定的情況下,影響算法性能的主要是變異因子和交叉因子。但標(biāo)準(zhǔn)差分進(jìn)化算法中的參數(shù)均為固定值,不能隨著優(yōu)化過程的發(fā)展而自適應(yīng)調(diào)整,易陷入局部最優(yōu)。有學(xué)者提出了自適應(yīng)差分進(jìn)化算法,設(shè)置隨迭代次數(shù)或個(gè)體的目標(biāo)函數(shù)值而自適應(yīng)變異的控制參數(shù),本文則根據(jù)迭代次數(shù)和個(gè)體目標(biāo)函數(shù)值,分別對變異因子和交叉因子自適應(yīng)地作出改變,算法步驟如下:
在D 維空間里隨機(jī)產(chǎn)生滿足約束條件的M 個(gè)個(gè)體
由變異公式可以看出,變異因子F 大小決定了差分量擾動基向量的程度,F(xiàn) 較大時(shí)擾動較大,有利于增加種群多樣性,提高算法的全局搜索能力;變異因子F 較小時(shí),擾動較小,算法在后期有較強(qiáng)的局部勘探能力,有利于找到最優(yōu)解。因此,為使變異因子在算法初期有較大值,在后期有較小值,定義隨迭代次數(shù)自適應(yīng)變化的變異因子:
交叉操作是將變異個(gè)體與預(yù)先確定的父代個(gè)體按照一定規(guī)則混合來產(chǎn)生新個(gè)體,可增加群體的多樣性,具體操作如下:
交叉因子CR 控制著個(gè)體參數(shù)的各維數(shù)對交叉的參與程度,由上式可知,交叉過程受到交叉概率的影響,隨機(jī)性強(qiáng)。CR 太小,種群多樣性減小,容易過早收斂;交叉因子太大,種群更新速度過快,可能會破壞適應(yīng)度好的個(gè)體,進(jìn)而影響算法收斂。因此,定義如下自適應(yīng)交叉因子,使之隨著種群進(jìn)化,個(gè)體目標(biāo)函數(shù)值的變化而變化,保證算法收斂的穩(wěn)定性。
其中,CRu和CRl分別為CR 的上限和下限,fi為第i個(gè)個(gè)體的自適應(yīng)度值;fmax為當(dāng)前種群中最大的目標(biāo)函數(shù)值;fbest為當(dāng)前種群中最優(yōu)的個(gè)體目標(biāo)函數(shù)值。
如果試驗(yàn)個(gè)體的目標(biāo)函數(shù)值小于等于目標(biāo)個(gè)體的目標(biāo)函數(shù)值,則在下一代中取代目標(biāo)個(gè)體,否則目標(biāo)個(gè)體仍保存下來,該操作稱為選擇。選擇操作采用一對一的貪婪選擇,為了確定xij(t)是否成為下一代的成員,將試驗(yàn)向量vi(t)和xi(t)目標(biāo)向量的目標(biāo)函數(shù)進(jìn)行比較,目標(biāo)函數(shù)更小的個(gè)體進(jìn)入下一代。
算法流程如圖2 所示。
圖2 算法流程圖
圖3 實(shí)驗(yàn)結(jié)構(gòu)圖
考慮到給系統(tǒng)輸入一個(gè)緩慢變化的信號而不是一個(gè)突變信號能更好地辨識到齒隙。給系統(tǒng)施加幅值為2 000 頻率為1 Hz 的正弦激勵信號,在武器穩(wěn)定系統(tǒng)能夠正常穩(wěn)定運(yùn)行的情況下,通過連接在系統(tǒng)外部的CAN 總線給上位機(jī)發(fā)送實(shí)驗(yàn)數(shù)據(jù),采集多組電流環(huán)、速度環(huán)、位置環(huán)等多個(gè)輸入輸出響應(yīng),經(jīng)處理后導(dǎo)入MATLAB,運(yùn)行程序進(jìn)行辨識實(shí)驗(yàn)。
運(yùn)用小波閾值去噪法去除速度響應(yīng)中存在野值和干擾后,火炮的速度、位置及電流輸出響應(yīng)曲線如圖4 所示。
圖4 輸入信號、火炮速度、位置及驅(qū)動電流輸出響應(yīng)曲線
根據(jù)前面的系統(tǒng)結(jié)構(gòu)圖及非線性模型,在Silulink 搭建系統(tǒng)辨識模型如圖5 所示。
實(shí)驗(yàn)中算法的參數(shù)設(shè)置如下:群體規(guī)模200、最大迭代次數(shù)200,參數(shù)維度16,根據(jù)經(jīng)驗(yàn)設(shè)置參數(shù)的搜索范圍,這里將不一一展示。設(shè)初始變異因子F=0.5,交叉因子CR=0.6,將均方誤差平方和設(shè)置為目標(biāo)函數(shù),誤差越小越好。待辨識參數(shù)為:
設(shè)置目標(biāo)函數(shù)如下:
其中,y(k)表示實(shí)際系統(tǒng)的輸出采樣點(diǎn),ym(k)表示辨識所得模型系統(tǒng)的輸出采樣點(diǎn),N 為采樣點(diǎn)個(gè)數(shù)。
系統(tǒng)參數(shù)辨識具體流程為:
1)建立待辨識系統(tǒng)模型并確定待辨識參數(shù);本文選取的待辨識參數(shù)如表1 所示,并根據(jù)經(jīng)驗(yàn)及材料特性設(shè)置參數(shù)的搜索范圍;
2)輸入采樣數(shù)據(jù),以某一指令為輸入信號,采集火炮的位置、速度及驅(qū)動電流為一組輸出信號,并用小波閾值去噪法進(jìn)行預(yù)處理;
3)初始化種群,隨機(jī)生成多個(gè)個(gè)體,設(shè)置相關(guān)參數(shù)的初始值及最大迭代次數(shù),迭代次數(shù)g=0;
4)計(jì)算初代種群中所有個(gè)體的目標(biāo)函數(shù)值,得到當(dāng)前種群的最優(yōu)目標(biāo)函數(shù)值與最優(yōu)個(gè)體;計(jì)算當(dāng)前種群變異因子和交叉因子;
5)按照自適應(yīng)差分進(jìn)化算法進(jìn)行變異、交叉、選擇,產(chǎn)生新一代種群個(gè)體;
圖5 武器穩(wěn)定系統(tǒng)的參數(shù)辨識仿真模型
6)迭代次數(shù)加1,直到滿足終止條件,輸出辨識結(jié)果,否則重復(fù)步驟4)~6)。
用標(biāo)準(zhǔn)差分進(jìn)化算法(DE)、粒子群算法(particle Swarm Optimization,PSO)以及自適應(yīng)差分進(jìn)化算法(ADE)3 種算法分別對系統(tǒng)參數(shù)進(jìn)行辨識,群體規(guī)模、最大迭代次數(shù)、約束條件以及目標(biāo)函數(shù)的設(shè)置相同,以保證對比的公平性。3 種算法的目標(biāo)函數(shù)J 隨迭代次數(shù)的變化趨勢見圖6,算法性能對比如表2 所示。
圖6 3 種算法仿真結(jié)果對比
表2 3 種算法辨識結(jié)果對比分析
從圖表可以看出:自適應(yīng)差分進(jìn)化算法所用時(shí)間在3 種算法中最短,目標(biāo)函數(shù)值最?。辉诒孀R速度方面,粒子群收斂較快但陷入局部最優(yōu),自適應(yīng)差分進(jìn)化比標(biāo)準(zhǔn)進(jìn)化算法較快收斂。綜上所述,本文所用自適應(yīng)差分進(jìn)化算法更適合武器穩(wěn)定系統(tǒng)的辨識。
由于每一次的運(yùn)行結(jié)果有一定的隨機(jī)性,將運(yùn)行30 次辨識得到的參數(shù)取平均值作為辨識的最終結(jié)果,在Simulink 中進(jìn)行模型驗(yàn)證,將本文辨識模型得到的電流、速度、位置響應(yīng)與實(shí)際系統(tǒng)的響應(yīng)對比結(jié)果如圖7 所示,從圖中看出,辨識結(jié)果能較好地與實(shí)際的速度和位置響應(yīng)相符合,符合度能達(dá)到80%,電流響應(yīng)較差一些,但辨識模型基本能反應(yīng)實(shí)際系統(tǒng),說明了算法的有效性。參數(shù)的辨識值如表3 所示。
為了進(jìn)一步驗(yàn)證辨識結(jié)果,將表3 的辨識結(jié)果代入模型結(jié)構(gòu)完善完整模型。改變激勵信號頻率為5 Hz 的方波信號,分別激勵辨識模型和系統(tǒng),對比兩個(gè)系統(tǒng)的輸出響應(yīng)曲線如圖8 所示,結(jié)果表明辨識模型基本可用。
圖7 差分進(jìn)化辨識結(jié)果與實(shí)際響應(yīng)對比圖
表3 參數(shù)辨識結(jié)果
圖8 辨識模型與實(shí)際系統(tǒng)響應(yīng)對比圖
本文以某步兵戰(zhàn)車為例,建立了基于三慣量模型的武器穩(wěn)定系統(tǒng)模型,綜合考慮迭代次數(shù)和目標(biāo)函數(shù)值對差分進(jìn)化算法的影響,利用自適應(yīng)差分進(jìn)化算法實(shí)現(xiàn)對武器穩(wěn)定系統(tǒng)模型參數(shù)的辨識,并驗(yàn)證了辨識的有效性。與粒子群算法和標(biāo)準(zhǔn)進(jìn)化算法的辨識結(jié)果對比,驗(yàn)證了自適應(yīng)差分進(jìn)化算法的優(yōu)越性。參數(shù)辨識的結(jié)果在實(shí)際系統(tǒng)的調(diào)試工作中已經(jīng)初步有效,未來還需要進(jìn)一步研究。