馬亞磊,付亮,蔡遠利
(西安交通大學控制工程研究所,陜西西安710049)
為了提高對高速、大機動再入目標及其他現(xiàn)代空襲武器的攔截概率,攔截彈必須具備足夠強的機動能力和靈活性[1]。傳統(tǒng)的氣動舵控制方式在高空中受攔截彈舵機、飛行速度及環(huán)境的影響,攔截彈的響應速度、法向過載均不能滿足要求,導致攔截精度受到影響。近年來,對末端制導精度有更高要求的直接碰撞殺傷技術[2-3]得到了廣泛的應用,采用該技術的新一代攔截彈通過引入直接側向力控制,增大可用法向過載、縮短過載響應時間,提高了高空攔截的制導精度。常見的直接力控制形式是在彈體質心處或彈體前端安裝脈沖發(fā)動機陣列,通過點火在俯仰或偏航方向上產生脈沖推力,使導彈的軌跡或者姿態(tài)發(fā)生變化。但考慮到脈沖發(fā)動機數(shù)量有限,小噴管噴完一次后無法繼續(xù)使用,不可能在整個末制導段持續(xù)開啟。因此,研究有效的脈沖發(fā)動機點火控制方法,使其達到最優(yōu)組合點火狀態(tài)具有重要理論意義和工程應用價值。
近年來,部分學者對姿控脈沖發(fā)動機的點火邏輯控制問題開展了若干研究。文獻[4]基于矢量分解的原則,結合噴管周向原則和徑向原則對點火發(fā)動機進行選擇,但沒有進行必要的優(yōu)化。文獻[5]將姿控發(fā)動機的點火問題轉化為0-1規(guī)劃問題,利用貪心算法進行求解,但只能獲得局部最優(yōu)解。文獻[6]應用離線遺傳算法對脈沖推力器的開啟數(shù)量及位置進行優(yōu)化,以減小對控制指令的跟蹤誤差,但其要求的離線表較難設計。
1998年,Joslin等[7]在基于光纖電纜生產中調度問題和著色問題試驗的基礎上,提出了吱呀輪優(yōu)化(Squeaky-Wheel Optimization,SWO)算法,但沒有引起應有的重視。該算法是一種大鄰域空間的啟發(fā)式搜索算法,不同于直接在解空間搜索的傳統(tǒng)算法,該方法在兩個空間進行操作,通過調整優(yōu)先級改變待搜索空間引導算法迅速跳出無效搜索區(qū)域,從而快速地取得滿意的解,尤其適用于實時性要求較高的優(yōu)化問題。
本文以姿控式直接力/氣動力復合控制攔截彈為對象,采用SWO算法對姿控發(fā)動機組的點火邏輯優(yōu)化問題進行了研究。在分析脈沖發(fā)動機數(shù)學模型和點火控制約束條件的基礎上,提出了基于SWO的點火控制算法,并與貪心算法和遺傳算法進行仿真比較,驗證了本文算法的有效性和可行性。
本文以PAC-3攔截彈為對象進行分析建模,彈體前部有10圈脈沖發(fā)動機,每圈等角度分配18個,相鄰圈采用交錯排列的方式。第一圈脈沖推力發(fā)動機到彈體質心的距離為L,相鄰圈的距離為d,在彈體上的布局如圖1所示。由于脈沖發(fā)動機燃料質量很小,設計中假設開啟脈沖發(fā)動機不會引起導彈質心位置的顯著改變。

圖1 脈沖發(fā)動機空間布局Fig.1 Layout of pulse engine
直接力系統(tǒng)的每個脈沖發(fā)動機噴射一次后不能再次使用,所產生的推力以脈沖力的形式作用在攔截彈上,大小固定,方向垂直于彈體坐標系下的x軸,通過產生的力矩對攔截彈姿態(tài)進行調整和控制。脈沖發(fā)動機工作方式如圖2所示,每個發(fā)動機平均噴流力大小為T,平均工作時間為τ。為了防止連續(xù)工作的不同發(fā)動機之間產生對噴現(xiàn)象,兩次脈沖噴力間設有一定的時間間隔Δτ。

圖2 脈沖發(fā)動機工作方式Fig.2 Working style of pulse engine
由于脈沖發(fā)動機相鄰圈互相交錯排列,因此設定脈沖發(fā)動機按照5×36的方式排列。從彈尾沿彈體坐標系x軸將所有層上的發(fā)動機投影到一個圓周上,得到一個投影圓。將此圓從參考基準開始順時針沿環(huán)向編號分別為0,1,2,…,M,其中 M=35。參考基準為彈體坐標系中的y軸,并隨彈體旋轉而改變。發(fā)動機在縱向平面內的環(huán)向投影如圖3所示。每一列脈沖發(fā)動機與y軸的角度為:

式中:“%”表示浮點型取余。

圖3 發(fā)動機縱向平面投影Fig.3 Longitudinal plane projection of engine
考慮到導彈旋轉和點火指令延遲時間,第j 列發(fā)動機對應的實際點火角度θact為:

式中:θd為脈沖發(fā)動機工作過程中彈體旋轉的平均角度;θt為點火指令延時時間t內彈體旋轉的角度。
脈沖發(fā)動機的狀態(tài)可用5×36的二維數(shù)組表示,設定1表示未點火狀態(tài),0表示正在點火狀態(tài),-1表示點火完成。由式(2)可知,點火發(fā)動機在y軸和z軸方向上的噴流合力分別為:

由于姿控發(fā)動機數(shù)目有限,且一次性使用,一次點火發(fā)動機數(shù)目過多可能會引起導彈質心的快速漂移等問題[8],需要對點火邏輯進行約束以保證姿控發(fā)動機的使用效率及攔截彈的控制精度。其主要約束如下:
(1)多個姿控脈沖發(fā)動機同時點火會引起側向噴流干擾效應,同時點火的脈沖發(fā)動機數(shù)量不宜過多,本文設定最多允許10個脈沖發(fā)動機同時工作;
(2)點火控制算法應滿足能夠在短時間內快速尋找到脈沖發(fā)動機組合并給出點火指令,即必須滿足快速性要求;
(3)姿控發(fā)動機數(shù)量是一定的,只有在攔截彈末端雷達導引頭捕獲到目標時,即彈-目距離小于R時,姿控發(fā)動機與氣動舵開始協(xié)同工作;
(4)脈沖發(fā)動機與氣動舵產生的法向過載不能大于彈體的最大可用過載;
(5)當法向過載指令誤差大于一定閾值時,脈沖發(fā)動機允許點火,即為縱向過載誤差指令為橫向過載誤差指令。
本文脈沖發(fā)動機采用開關控制的方式工作,其控制策略也稱為點火邏輯,目前對點火邏輯設計主要采用基于矢量合成的方法、0-1規(guī)劃等。通過將發(fā)動機的點火問題轉化為對發(fā)動機的優(yōu)化調度問題,利用SWO算法的大鄰域導向式搜索特點,設計基于SWO的點火控制算法,在短時間內搜索到最佳點火組合。
SWO算法是一種啟發(fā)式優(yōu)化算法,目前已有學者將其應用于空軍衛(wèi)星控制網(wǎng)絡調度[9]、多衛(wèi)星數(shù)傳調度[10]等。該算法主要由構造器、分析器、優(yōu)先排序器三部分組成,其核心思想是“構造-分析-優(yōu)先級排序”的循環(huán)過程[7]。首先,將調度問題中的每個任務賦予一定的優(yōu)先級并根據(jù)優(yōu)先級進行排序;構造器利用貪婪算法等方法得到一個初始解;分析器對構造器生成的問題解進行分析,按照一定的規(guī)則確定各任務的責罰值,并進行分析,改變相應的責罰值;優(yōu)先級排序器根據(jù)責罰值修改任務的優(yōu)先級,并對任務按照優(yōu)先級重新排序。構造器在下一次構造解的過程中給予高優(yōu)先級任務更多關注,重新產生問題解。整個循環(huán)過程SWO算法可以認為在優(yōu)先級空間(P)和解空間(f(P))兩個空間上交替操作進行搜索,如圖4所示。

圖4 耦合搜索空間Fig.4 Coupled search spaces
通過優(yōu)先級空間的改變使得解空間的解發(fā)生較大變化,再根據(jù)對解的分析調整優(yōu)先級空間,如此迭代直到找到滿意解或者滿足迭代條件退出。
(1)構造初始解
首先確定點火中心。給出點火指令角θc,設編號為M列發(fā)動機為點火中心,則有:

式中:[˙]表示四舍五入取整。
以M為參考基準,選取±90°內不同位置的發(fā)動機進行任務規(guī)劃,由發(fā)動機任務組成任務集合每個包含兩個元素,其中為該發(fā)動機的編碼值為其優(yōu)先級。
脈沖發(fā)動機點火組合優(yōu)化的目的是在短時間內找到最優(yōu)點火發(fā)動機組,使該發(fā)動機組產生的噴流合力與指令合力的矢量差最小。將指令合力與噴流合力的誤差作為尋找最優(yōu)解的判斷條件,令

式中:Fcy,F(xiàn)y,F(xiàn)cz,F(xiàn)z分別為指令合力和噴流合力在參考坐標系y軸和z軸方向上的分力。由于最多允許10個發(fā)動機同時點火,從前10個優(yōu)先級最高的任務中貪婪地選取矢量誤差最小的組合存入最優(yōu)解集合AS,作為優(yōu)化算法的初始解。
(2)分析當前解
分析器的主要任務是對構造器產生的問題解進行分析,根據(jù)各任務對結果的影響大小產生責罰值,通過責罰值改變優(yōu)先級。對于點火邏輯優(yōu)化問題,產生最優(yōu)解時的誤差Err與優(yōu)先級排序在10之后的發(fā)動機做矢量差,取責罰值為:

(3)調整優(yōu)先級
采用排序算法對發(fā)動機任務集合A中的元素按照優(yōu)先級從大到小進行排序,進而更新搜索空間。如果優(yōu)先級相同,選擇靠近點火中心的發(fā)動機任務排在前面;如果是相同列,選擇i值小的排在前面。
(4)重新構造解
根據(jù)優(yōu)先級從A集合中選擇最優(yōu)的發(fā)動機組合,計算當前發(fā)動機組合產生的合力與期望力的矢量誤差,并將所得誤差值與歷史最優(yōu)解進行誤差值比較。如果該誤差值更小,則以此值作為最優(yōu)解來更新歷史最優(yōu)解,并存入集合AS中;如果誤差不滿足最小誤差條件,繼續(xù)重復步驟(2)~(4),直到算法達到最大迭代次數(shù)或滿足最小誤差條件,并退出循環(huán)。將集合AS中的元素進行解碼,得到優(yōu)化后的發(fā)動機點火組合。
本文未考慮大氣層內噴流與外部流場相互作用產生的干擾作用力[8],設定每個脈沖發(fā)動機平均噴流力為T=5 115 N,平均工作時間為 τA=10 ms。SWO點火控制算法滿足迭代次數(shù)(50次)或發(fā)動機點火產生的合力與期望合力矢量誤差小于0.5%時退出。
貪心算法和遺傳算法是解決優(yōu)化問題的常用方法。為了驗證本文點火邏輯優(yōu)化控制算法的可行性,引入了貪心算法和遺傳算法,并與SWO算法進行對比仿真。貪心算法的實現(xiàn)過程為:每次從當前可行解中增加一個發(fā)動機,直到誤差變大或滿足最小誤差條件時退出;遺傳算法采用文獻[6]思想設計,算法迭代次數(shù)設為50代。
三種算法均在VC++6.0環(huán)境下編程實現(xiàn),并在AMD Phenom Triple-Core處理器、2.29GHz主頻,Windows XP系統(tǒng)的計算機中進行仿真。記錄點火指令角為θc=0.1 rad時不同點火指令合力F下SWO算法、貪心算法和不同種群大小N的遺傳算法的仿真結果,分別如表1和表2所示。表中nm為所開發(fā)動機數(shù)。
分析表1、表2可知,對于不同點火指令合力,三種算法在消耗脈沖發(fā)動機相當?shù)那闆r下,SWO算法與遺傳算法的誤差大大小于貪心算法。尤其當貪心算法產生的合力誤差較大時,SWO算法有更明顯的優(yōu)化效果,接近遺傳算法的最優(yōu)解。當貪心算法產生的合力誤差較小時,三種算法得到的合力誤差結果比較接近。由于SWO是一種大鄰域局部搜索算法,而遺傳算法是一種全局搜索算法,通過誤差分析可知,當種群規(guī)模為200時的遺傳算法結果雖優(yōu)于SWO,但是差距不大。遺傳算法初始種群為50時,由于算法在個別值時出現(xiàn)早熟收斂,產生的誤差不如SWO算法和200種群時的遺傳算法。

表1 SWO和貪心算法仿真結果Table 1 Results of SWO and greedy algorithm

表2 遺傳算法不同種群大小仿真結果Table 2 Results of GA with different population size
圖5為三種算法在點火指令角θc=0 rad時誤差值的柱狀圖,驗證了不同點火指令角下由表1、表2所得結論的正確性。

圖5 不同算法誤差Fig.5 Error of different algorithms
圖6 為點火指令角為0 rad時SWO算法與貪心算法和遺傳算法計算時間比較。可以看出,遺傳算法種群為50時耗時15 ms左右,種群為200時耗時200 ms左右,耗時遠遠大于SWO算法和貪心算法,且遺傳算法隨著種群規(guī)模的擴大,耗時成指數(shù)增長。貪心算法的計算時間為10-5級,隨著指令合力增大,計算時間呈線性增加。SWO算法整體比貪心算法耗時長一些,但均能在0.35 ms以內完成優(yōu)化,提前退出迭代,耗時更短。直接控制系統(tǒng)給出點火指令到發(fā)動機點火時間約為5 ms,加上SWO算法耗時,仍然比氣動力控制時舵機的反應時間 (約22 ms)小很多,因此,該算法滿足實時性要求。

圖6 不同算法計算時間Fig.6 Computing time of different algorithms
本文針對姿控式直接力/氣動力復合控制系統(tǒng)的脈沖組合發(fā)動機點火問題,設計了一種基于SWO的優(yōu)化控制方法。在VC++6.0環(huán)境下對設計的算法進行了仿真,并與典型的貪心算法和遺傳算法進行了比較。結果表明,SWO算法能夠滿足控制精度和實時性要求,具有一定的理論意義和工程應用價值。本文主要對點火邏輯優(yōu)化算法進行設計,尚未考慮復合控制系統(tǒng)的控制分配問題,下一步的工作是將本文設計算法與控制分配相結合,進行更深入的研究。
[1] Fenghua H,Kemao M,Yu Y.Firing logic optimization design of lateral jets in missile attitude control systems[C]//CCA 2008 IEEE International Conference on Control Applications.NJ:IEEE,2008:936-941.
[2] Herman R D,Butler J H.Subsystems for the extended range interceptor(ERINT-1)missile[C]//AIAA and SDIO,Annual Interceptor Technology Conference.Huntsville:AL,1992.
[3] Walters E D,Butler J H.Extended range interceptor(ERINT-1)flight test program[C]//AIAA and SDIO,Annual Interceptor Technology Conference.Huntsville:AL,1992.
[4] 朱京.姿控發(fā)動機點火邏輯研究[J].現(xiàn)代防御技術,2007,35(3):42-45.
[5] 楊銳,徐敏,陳士櫓.動能攔截彈姿控發(fā)動機組合點火算法研究[J].西北工業(yè)大學學報,2006,24(1):15-18.
[6] 尹永鑫,楊明,王子才.基于遺傳算法的脈沖推力器控制方法研究[J].哈爾濱工業(yè)大學學報,2007,39(5):721-724.
[7] Joslin D E,Clements D P.Squeaky wheel optimization[J].Journal of Artificial Intelligence Research,1999,10:353-373.
[8] 程鳳舟,萬自明,陳士櫓,等.防空導彈直接力與氣動力復合控制系統(tǒng)設計[J].飛行力學,2003,21(2):49-52.
[9] Barbulescu L,Howe A E,Whitley L D.Understanding algorithm performance on an oversubscribed scheduling application [J].Journal of Artificial Intelligence Research,2006,27:577-615.
[10]經飛,王鈞,李軍,等.基于吱呀輪優(yōu)化的多衛(wèi)星數(shù)傳調度問題求解方法[J].宇航學報,2011,32(4):863-870.