侯現(xiàn)欽,王良明,傅 健
(南京理工大學能源與動力工程學院, 南京 210094)
氣動參數(shù)辨識是系統(tǒng)辨識中發(fā)展最成熟的領(lǐng)域之一,已經(jīng)成為彈箭研制、評估和控制過程中重要的組成部分[1]。通過試驗測量數(shù)據(jù)辨識出的氣動參數(shù)更能反映出彈丸真實飛行的狀態(tài),比風洞試驗獲取的結(jié)果更加精確,同時還可以檢驗彈丸的飛行穩(wěn)定性[2]。由于目前國內(nèi)還沒有大口徑的室內(nèi)靶道,高旋彈的飛行速度、位置尤其是姿態(tài)數(shù)據(jù)較難獲得,所以高旋彈的氣動參數(shù)辨識一直是系統(tǒng)辨識的一個難點。
極大似然估計是目前精度較高的辨識方法,在氣動參數(shù)辨識中被廣泛應用。汪清等[3]利用極大似然估計對高速自旋飛行器的氣動參數(shù)進行了辨識;郭德龍、周永權(quán)[4]使用極大似然估計以威布爾三參數(shù)分布為例進行參數(shù)估計;王曉鵬等[5]將極大似然估計應用到戰(zhàn)術(shù)導彈的非線性氣動力參數(shù)辨識中;張?zhí)祢缘萚6]采用最大似然辨識算法對風洞自由飛試驗數(shù)據(jù)進行氣動力參數(shù)辨識。
隨著智能算法的快速發(fā)展,差分進化算法由于其卓越的計算性能在辨識方面得到了廣泛應用。簡兆圣、艾劍良[7],袁瑞俠[8]等使用差分進化算法分別對飛機縱向運動氣動力參數(shù)、VTOL飛行器參數(shù)進行辨識。
文中針對傳統(tǒng)算法的初值敏感問題,將差分進化算法應用到高旋彈的氣動參數(shù)辨識中,以零升阻力系數(shù)和極阻尼力矩系數(shù)為例驗證該算法的實用性。
高速旋轉(zhuǎn)彈丸在實際運動中,質(zhì)心運動和姿態(tài)運動實際是相互關(guān)聯(lián)和影響的,為了更精確的描述高速旋轉(zhuǎn)彈丸的運動規(guī)律,文中采用六自由度剛體彈道方程[9]作為參數(shù)辨識的理論模型。其具體表達式如下:
(1)
(2)
式中:x、y、z為彈丸的位置坐標;v為速度數(shù)據(jù);θa、ψ2、φa、φ2分別為彈丸的速度高低角、速度方位角、彈軸高低角和彈軸方位角;γ為轉(zhuǎn)角;ωξ、ωη、ωζ分別為滾轉(zhuǎn)角速度、俯仰角速度和偏航角速度;Fx2、Fy2、Fz2和Mξ、Mη、Mζ分別為作用在彈丸上的力和力矩在3個坐標軸下的分量;A、C分別為赤道轉(zhuǎn)動慣量和極轉(zhuǎn)動慣量;δ1、δ2、β分別為高低攻角、方向攻角和側(cè)滑角。
差分進化算法(DE)由Storn和Price于1995年首次提出,該算法采用浮點數(shù)編碼,使用“貪婪”選擇策略,對特定優(yōu)化問題的特征信息不敏感。與其他進化算法相比,更適應于多變量優(yōu)化,收斂更快。其主要步驟如下所示。
傳統(tǒng)的迭代優(yōu)化算法需要通過先驗知識來確定待辨識參數(shù)的初值,如果初值選取偏差較大,計算過程中可能會出現(xiàn)局部收斂或者發(fā)散現(xiàn)象。DE算法無需選擇初值,只需根據(jù)以往經(jīng)驗設(shè)置待辨識參數(shù)的大致范圍即可,所以設(shè)置阻力系數(shù)的初始種群的上下限分別為BU=0、BL=1(極阻尼力矩系數(shù)類似),在此范圍內(nèi)隨機生成初始種群,種群規(guī)模為10。由于文中只選擇一組數(shù)據(jù)作為觀測量,所以向量維數(shù)D=1。
極大似然準則函數(shù)向最小方向發(fā)展,文中研究內(nèi)容中,準則函數(shù)J可能出現(xiàn)負數(shù)情況,所以設(shè)置適應度函數(shù)為f=-J+500,故選取適應度函數(shù)值較大的待辨識參數(shù)繼續(xù)變異進化。該算法收斂較快,一般在30~40代之間就會收斂,但是為了避免部分數(shù)據(jù)點出現(xiàn)局部收斂,將進化代數(shù)G設(shè)置為100。
差分進化算法也是通過變異、交叉、選擇操作逐步尋求最優(yōu)解,其優(yōu)化流程圖如圖1所示[10-11]。
圖1 DE算法優(yōu)化流程圖
1)差分變異
種群個體中的差分向量經(jīng)過縮放后,與種群內(nèi)另外的相異個體相加得到變異向量。變異方程為:
vi,g=xr1,g+F×(xr2,g-xr3,g)
(3)
式中:r1≠r2≠r3≠i;g為進化代數(shù);F為變異因子,主要影響算法的全局尋優(yōu)能力,F(xiàn)越小算法對局部的搜索能力越好,F(xiàn)越大算法越能跳出局部極小點,但是收斂速度會變慢。設(shè)置F=0.7。
2)二項式交叉
通過隨機選擇,使實驗向量至少有一個分量由變異向量貢獻。二項式交叉操作的方程為:
(4)
式中:j=1,2,3,…,D。Cr為交叉因子,主要反映的是在交叉的過程中,子代與父代、中間變異體之間交換信息量的大小程度。Cr的值越大,信息量交換的程度越大。反之,如果Cr的值偏小,將會使種群的多樣性快速減小,不利于全局尋優(yōu)。文中取Cr=0.6。
3)選擇
差分進化算法采用“貪婪”的選擇策略,根據(jù)各向量的適應度值來選擇最優(yōu)個體,方程如式(5)所示。
(5)
式中:xi,g+1為下一代的目標向量。
(6)
也可以取似然函數(shù)為ln(p(Y|θ))。
文中待辨識參數(shù)矢量為:
θ=[cx0M′xz]
(7)
實際測量值矢量為:
ym(i)=[xyzvωξ]
(8)
極大似然準則函數(shù)具體表示形式如式(9)所示[12]。
(9)
極大似然準則將參數(shù)辨識問題轉(zhuǎn)化為求極值問題,利用優(yōu)化算法將準則函數(shù)達到最小值。文中采用DE優(yōu)化算法對似然函數(shù)進行優(yōu)化。具體流程如圖2所示。
靈敏度可以衡量觀測數(shù)據(jù)和待辨識參數(shù)之間相關(guān)性的大小,靈敏度值越大,則相關(guān)性越大,反之越小[13]。下面以零升阻力系數(shù)為例,介紹靈敏度求解過程。各狀態(tài)量對零升阻力系數(shù)的靈敏度如式(10)、式(11)所示。
(10)
因為該偏微分的二階偏導是連續(xù)的,速度的靈敏度方程可作如下轉(zhuǎn)換:
(11)
其他狀態(tài)量做相同變換,將所有的靈敏度方程與六自由度彈道方程聯(lián)立進行求解,即可計算出每個狀態(tài)量對零升阻力系數(shù)的靈敏度值。通過對比將速度和滾轉(zhuǎn)角速度作為辨識零升阻力系數(shù)和極阻尼力矩系數(shù)的觀測量。
圖2 氣動參數(shù)辨識流程圖
以155 mm某高旋彈(初速為930 m/s,質(zhì)量為45.4 kg,射程為32 000 m左右,)為例進行全彈道氣動參數(shù)辨識。分別采用無噪聲數(shù)據(jù)和加噪聲數(shù)據(jù)來驗證該算法的有效性、精確性和優(yōu)越性。
1)利用六自由度彈道方程組計算得到彈道數(shù)據(jù)作為觀測量進行參數(shù)辨識。通過與標準氣動參數(shù)對比來驗證該算法的可行性。
采用小區(qū)間常數(shù)法,將彈道分為多個小區(qū)間,每個區(qū)間取10個數(shù)據(jù)點,計算步長為0.005 s,將每個區(qū)間的氣動參數(shù)看作一個常數(shù)。DE算法將每個小區(qū)間中10個氣動參數(shù)的平均值作為辨識結(jié)果。隨著代數(shù)的增加,DE算法快速收斂,圖3為辨識阻力系數(shù)時第一個小區(qū)間的平均適應度值隨代數(shù)的變化情況,可以看出收斂非???,在30~40代之間就已經(jīng)完成收斂。
圖3 適應度變化曲線
表1、表2分別為兩種方法辨識結(jié)果對比情況(隨機選取5個數(shù)據(jù)點)。圖4、圖5分別為該算法、傳統(tǒng)算法對零升阻力系數(shù)和極阻尼力矩系數(shù)導數(shù)的辨識結(jié)果與標準氣動參數(shù)對比圖??梢钥闯?,DE算法對零升阻力系數(shù)和極阻尼力矩系數(shù)的辨識誤差明顯低于傳統(tǒng)算法。由于傳統(tǒng)梯度優(yōu)化算法對初值要求高,容易出現(xiàn)局部收斂,導致辨識結(jié)果變化幅度較大。而DE算法的辨識結(jié)果更加平滑,更加接近標準值。
2)為測試所提方法對含噪聲數(shù)據(jù)的辨識精度和工程應用性,將彈道數(shù)據(jù)加上信噪比為100∶5的高斯白噪聲進行辨識。圖6、圖7分別為該算法對零升阻力系數(shù)和極阻尼力矩系數(shù)導數(shù)辨識結(jié)果與理論值的對比曲線圖??梢钥闯霰孀R結(jié)果在標準值上下震動,隨著馬赫數(shù)的增加誤差逐漸減小。
表1 零升阻力系數(shù)辨識結(jié)果對比
表2 極阻尼力矩系數(shù)導數(shù)辨識結(jié)果對比
圖4 零升阻力系數(shù)辨識結(jié)果對比圖
圖5 極阻尼力矩系數(shù)導數(shù)辨識結(jié)果對比圖
工程上通常將辨識的氣動參數(shù)代入到彈道方程,計算出各觀測量,與測量數(shù)據(jù)進行比較來驗證辨識結(jié)果的準確性[14]。為進一步驗證該方法的性能,文中采用該方法進行反驗算。圖8、圖9分別為速度和滾轉(zhuǎn)角速度的測量值和用辨識結(jié)果反算的計算值的對比??梢钥闯觯此阒蹬c測量值之間的誤差非常小,測量彈道的落點坐標為(31 755.558,1.706,1 383.374),反算得到的彈道的落點坐標為(31 767.304,1.476,1 383.731),兩者之間的距離為11.753 7 m。相對于高旋彈(如榴彈),辨識結(jié)果已具有相當高的精度。
圖6 零升阻力系數(shù)辨識結(jié)果對比圖
圖7 極阻尼力矩系數(shù)導數(shù)辨識結(jié)果對比圖
圖8 速度對比圖
圖9 滾轉(zhuǎn)角速度對比圖
對高旋彈的零升阻力系數(shù)和極阻尼力矩系數(shù)進行了辨識,通過將差分進化-極大似然方法應用到該類型彈的辨識中取得了較好的辨識結(jié)果,得到如下結(jié)論:
1)提出的差分進化-極大似然方法的辨識精度相對于傳統(tǒng)方法精度更高。
2)該方法成功解決了傳統(tǒng)算法對初值選取敏感問題。
3)也可以嘗試將DE算法與其他傳統(tǒng)辨識方法相結(jié)合(解決初值問題),進一步提高辨識精度。