高宏建,陳霖周廷,胡建興,蘇小東,汪陽生,王文舉
(1.貴州理工學院航空航天工程學院,貴州 貴陽 550025;2.貴州省無人機應急減災信息化工程研究中心,貴州 貴陽 550003;3.中航貴州飛機有限責任公司,貴州 安順 561000)
導彈穩定控制參數的設計大多以經典控制理論為基礎,首先采用小擾動線性化理論將時變非線性的導彈數學模型在彈體變化的若干個關鍵點(即特征點)上線性化為若干個參數分段定常的線性模型,然后針對這些定常線性模型,在保留足夠的穩定裕度和性能的情況下設計控制系統。基于這種思想的導彈穩定控制參數的設計是建立在一定的“試湊”基礎之上的,整個設計過程包含了多次循環迭代設計和校驗過程[1]。
目前,工程設計中多采用以上先對特征點進行設計,再將設計結果應用于導彈穩定控制系統進行校驗的迭代設計思路。但針對多個特征點,在無本質性差異的穩定裕度和時域性能等相同約束條件下,進行多次循環迭代設計和校驗是這種設計方法的一個“弊端”。針對導彈控制參數的優化問題,管茂橋等[2]利用最速梯度下降法對攻角駕駛儀外回路的控制器參數進行了優化設計;王朝政等[3]用小生境遺傳算法優化了靶彈爬升段彈道控制參數,通過罰函數的加入將待優化模型改造成無約束優化問題;徐帥等[4]采用隨機魯棒法優化了導彈姿態控制參數,該方法可以在一定程度上提高系統抑制彈體參數攝動的能力。但上述文獻均未對優化算法收斂的快速性做出分析并給出改進措施。文獻[5]為了減小導彈姿態控制對各級發動機合成擺角最大值的需求,用粒子群算法優化了姿態控制參數,通過將彈道特征與最優控制參數間的關系用多層神經網絡擬合,雖然能夠避免在線尋優過程耗時過長的問題,但這種解決辦法是在參數尋優完成之后離線進行的,并未對尋優過程采取措施,優化過程耗時長的問題并未得到徹底解決。本文擬采用改進后的遺傳算法實現對不同特征點控制器參數的自尋優設計,通過確定性因子的引入,不僅能夠提高算法收斂于最優解的速度,還可將設計人員從多次循環反復設計和校驗中解脫出來。
遺傳算法(genetic algorithm,GA)借助“適者生存、不適應者被淘汰”的遺傳學概念以及自然進化的思想,可以在全局范圍內實現對復雜問題近似最優解的求解。遺傳算法的隨機性可以增加個體多樣性,使其具備找到全局最優解的能力,但同時隨機操作會以一定概率將父代最優個體排除在種群之外。本文針對遺傳算法的隨機性進行改進設計,通過引入確定性因子n,將父代適應度最高的前n個個體繼承到子代,而對其他個體則仍以基本遺傳算法進行隨機遺傳操作。
由Holland提出的Schema定理和由Goldberg給出的積木塊假設是遺傳算法的基礎性理論支撐。模式定理表明,當一個特定“模式”適應度保持大于種群平均適應度時,可以保證此較優“模式”的個體按指數增長;而積木塊假設則表明,在具有隨機性的遺傳算子作用下,算法能產生更高適應度值的“模式”,從而向更優的可行解方向收斂[6-7]。本文的側重點在于改進基本遺傳算法,通過引入確定性因子,在保留算法隨機性的同時,使其具備一定程度的確定性,最終提高算法收斂于最優解的速度,并將改進后的算法應用在導彈穩定控制參數自尋優設計中,最后通過仿真驗證算法的有效性。
基本遺傳算法(simple genetic algorithm,SGA)的一般流程如圖1所示[8]。

圖1 基本遺傳算法流程
a.種群初始化及編碼。根據設定的種群大小,隨機初始化產生初始種群,設定編碼規則對每個個體進行編碼,生成便于遺傳操作的編碼個體。為了解決不同的實際問題,提出了多種編碼方法,包括二進制編碼、整數編碼[9]、浮點數編碼、交叉編碼、符號編碼、多參數級聯編碼以及多染色體混合編碼[10-11]等。
b.適應度計算及優化準則判斷。針對每個個體計算適應度,并判斷個體適應度是否符合進化終止條件,若符合則結束計算,同時給出近似最優解,否則跳轉至步驟c。通常,適應度函數的設計要結合約束條件以及待解決的優化(最大值或最小值)問題來確定。需要指出的是,適應度函數設計的合理性,將在很大程度上影響問題優化的整體性能。
c.選擇操作。依據父代個體適應度值以一定概率確定子代個體。常用的選擇策略包括局部選擇法、隨機遍歷抽樣選擇法、錦標賽選擇法、輪盤賭選擇法和截斷選擇法等。
d.交叉操作。按照交叉方法和一定的交叉概率,生成新個體。交叉操作相當于基因重組,可以采用二進制交叉中的單點交叉、多點交叉、循環交叉、順序交叉、算數交叉[12]和交換啟發式交叉[13]等方法。
e.變異操作。按照變異方法(包括二進制變異、實值變異、動態變異[14]和量子變異[14-16]等)和一定的變異概率,生成新個體,并返回至步驟b。
上述過程中,除種群大小、迭代次數、編碼方式和適應度函數的設計等外,遺傳操作(即選擇、交叉、變異)中均含有隨機性。本文是針對基本遺傳算法中以概率遺傳操作進行的一種改進設計。
基本遺傳算法中的選擇、交叉和變異操作,分別是在一定概率下確定的子代個體,子代個體存在隨機性。因此,雖然群體中最優個體的適應度值最大,但在隨機操作后,仍有可能導致群體中的最優個體隨著進化過程的進行而被“篩選”掉,這樣當代群體中的最優值將不能夠遺傳至下一代,進而影響算法向最優解的收斂速度。
針對上述問題,本文采取如下改進策略:


(1)
(2)
式中:i1,i2,…,in為進化前的n個最好個體索引標志。


(3)
(4)
式中:j1,j2,…,jn為子代種群中的n個最差個體索引標志。
改進后的遺傳算法流程如圖2所示。

圖2 改進后遺傳算法流程
本文以彈體的俯仰平面為例展開介紹,彈體俯仰運動模型為
(5)
式中:a1、a2、a3、a4和a5為導彈動力系數;θ為彈道傾角;?為俯仰角;α為攻角;Δδ為舵偏角。


圖3 穩定控制回路結構
舵系統為控制系統的執行機構,其數學模型為
(6)
陀螺和加速度計為測量環節。陀螺用于測量彈體運動角速度,其數學模型為
(7)
加速度計用于測量彈體線加速度,其數學模型為
(8)
式中:T1為舵系統時間常數;T2和ξ2分別為陀螺時間常數和阻尼系數;T3和ξ3分別為加速度計時間常數和阻尼系數。
在設計之初,考慮到舵系統、陀螺和加速度計相對于彈體運動模型來說帶寬較高,因此,可以將舵系統、陀螺和加速度計模型看作是直通環節,其數學模型可以在回路性能仿真驗證時加以考慮。采用基于現代控制理論的極點配置設計控制器參數K1、K2、K3和K4,由于彈體為二階環節,故閉環系統為三階系統。這里確定期望特征多項式為三階,即
f1(s)=p1s3+p2s2+p3s+p4
(9)
這樣,設計出參數p1、p2、p3和p4后,即可通過極點配置法求解出K1、K2、K3和K4。現在的問題即可歸結為:如何根據控制系統的主要性能指標要求(如上升時間、超調量以及穩定裕度等)來確定期望特征多項式的系數p1、p2、p3和p4,這將由改進遺傳算法對其進行尋優求解。
采用如圖2所示的改進遺傳算法流程進行導彈穩定控制參數的自尋優設計過程如下:
a.基本參數設置。種群大小設置為60,進化代數設置為200。
b.產生初始種群。通常,初始種群可以根據設計經驗設定,或者在給定的參數范圍內隨機生成。為了驗證算法的一般性,本文采取隨機生成的方法產生初始種群。
c.編碼方式及參數范圍確定。采用二進制編碼,變化范圍為[amin,amax]的參數a和m位的二進制數b之間的關系可由下式確定,即
(10)
根據設計經驗及參數精度要求,用長度為5的二進制編碼串表示p1∈[0.03,0.20]和p2∈[1,2],采用長度為10的二進制編碼串表示p3∈[30,120]和p4∈[20,115]。
d.遺傳操作算子。本文采用的基本遺傳操作為輪盤賭選擇運算、2點交叉運算以及離散變異運算。
輪盤賭選擇法是利用種群中每個個體xi的適應度值f(xi),計算得到每個個體的選擇概率P(xi),最后利用累計概率L(xi)完成個體的選擇操作[17]。
(11)
(12)
式中:N為種群大小。
基本遺傳算法的交叉算子和變異算子為固定值,為了避免由此引起的尋優后期局部搜索能力差,算法出現早熟等現象,引入自適應調節交叉概率[18]Pc和變異概率[19]Pm的機制。

(13)
Pm=Pm,max-
(14)
式中:g為進化當前代數;gmax為進化最大代數;Pc,max為交叉概率最大值,取為0.9;Pc,min為交叉概率最小值,取為0.5;Pm,max為變異概率最大值,取為0.10;Pm,min為變異概率最小值,取為0.01。
本文對經過遺傳操作后的子代種群,引入確定性因子n,將父代適應度最高的前n個(n的取值應視種群大小而定,但不能過大,一般取1或2即可,此處取n=1)個體保留至下一代。這樣做的目的是增加一定程度的確定性,確保父代中適應度最高的個體一定能夠被保留下來,而不是以概率被保留下來,并且n≠1可以在一定程度上避免算法陷入局部最優。
e.適應度函數的設計。為衡量控制回路響應性能,導彈穩定控制參數的設計除了要考慮時域指標(包括過載上升時間、超調量、振蕩次數等),還要選用頻域的穩定裕度為評估準則(包括幅值裕度、相位裕度等)。因此,適應度函數的設計原則為:綜合體現各項指標要求,并且考慮到各項指標的性質、量綱不統一等因素,從而將適應度函數設計為如下形式的多目標加權適應度函數,即
(15)
式中:m為性能指標個數;xi為待優化參數;p1、p2、p3和p4為影響的第i項實際性能;xi0為第i項性能指標要求;ωi為第i項性能的權重系數[20]。
考慮到導彈穩定控制回路各項性能指標量級不同,故ωi實際可設計為第i項性能指標的無量綱系數。
以某型導彈為被控對象,首先針對特征點采用改進遺傳算法完成對導彈穩定控制回路控制器參數的自尋優設計,然后將尋優結果應用于六自由度仿真模型,以驗證尋優設計結果的正確性和可行性。
首先,針對特征點采用上述設計進行參數自尋優,尋優設計結果如圖4和圖5所示。由圖4可知,各點回路幅裕度大于6 dB,相裕度大于50°;由圖5各特征點的單位階躍響應曲線可知,各點過載響應超調量均小于20%,上升時間均小于0.5 s。

圖4 各特征點的頻域特性曲線

圖5 各特征點的單位階躍過載響應曲線
其次,將上述定點設計結果直接應用于六自由度仿真模型。以此型導彈的某條控制彈道為例,通過六自由度數字仿真檢驗控制彈道動態性能,仿真結果如圖6 ~ 圖9所示。由過載響應曲線可知,改進遺傳算法自尋優設計的控制器與傳統人工設計的控制性能相當;但由姿態角速度響應曲線、舵偏角響應曲線以及舵偏角速度響應曲線可知,改進遺傳算法自尋優設計的控制器,其最大姿態角速度、最大舵偏角和最大舵偏角速度均小于傳統人工設計結果,這將有利于工程實際應用。

圖6 過載響應曲線

圖7 姿態角速度響應曲線

圖8 舵偏角響應曲線

圖9 舵偏角角速度響應曲線
最后,通過2個特征點仿真案例來分析本文改進措施的有效性。針對特征點1 和特征點2,設置進化代數為50,重復仿真20次。在不引入確定性因子的情況下,特征點1一次仿真最優適應度收斂曲線如圖10所示,引入確定性因子后的一次仿真最優適應度收斂曲線如圖11所示。特征點2引入確定性因子前后的一次仿真最優適應度收斂曲線如圖12和圖13所示。

圖10 特征點1改進前最優適應度收斂曲線

圖11 特征點1改進后最優適應度收斂曲線

圖12 特征點2改進前最優適應度收斂曲線

圖13 特征點2改進后最優適應度收斂曲線
特征點1在不引入確定性因子的情況下,圖10中,隨著進化代數的增加,部分最優適應度曲線有起伏現象(如圖中由圓圈所標示的幾個點處),這表明遺傳算子的隨機操作將父代最優個體過濾掉了,且第50代最優適應度的最小值為0.956 9,最大值為1.241 3,均值為1.153 9,標準差為0.004 1。
特征點1采取改進措施后的圖11中,每條最優適應度曲線均為單調遞減,不存在起伏現象,表明由于確定性因子的存在,父代最優個體被保留下來,且第50代最優適應度的最小值為0.773 0,最大值為0.974 5,均值為0.880 6,標準差為0.003 2,均優于改進前。
特征點2引入確定性因子前后的一次仿真最優適應度收斂情況與特征點1類似,具體對比結果如表1所示。由表1可知,采取改進措施后,第50代最優適應度的最小值、最大值、均值和標準差均小于改進前,這表明采取改進措施后,算法向最優解收斂的速度得到了一定程度的提高。

表1 引入確定性因子前后2個特征點終代最優適應度對比
針對目前導彈穩定控制參數設計中依賴設計師的工程設計經驗、有可能無法在全局范圍內獲得組合優化的控制器參數問題,本文提出一種基于改進遺傳算法的導彈穩定控制參數自尋優設計方法。針對遺傳算法的隨機性進行改進設計,通過確定性因子n的引入,將父代適應度最高的前n個個體保留至下一代,而不是以概率被保留下來,在保留隨機性的同時,增加了一定程度的確定性。將改進后的遺傳算法應用于某型導彈穩定控制回路的參數自尋優設計中,六自由度仿真結果表明控制效果良好,驗證了改進措施的有效性。本文為實現導彈穩定控制參數的自動化設計提供依據,具有一定的工程實用價值。
本文引入確定性因子的改進措施,雖然能使算法具有一定確定性,但這種確定性本質上來說是相對于初代最優個體來說的,亦即算法的收斂是在初代最優個體基礎之上,向全局最優解快速單調收斂的。因此,初始種群的生成將對算法最終的收斂值產生很大影響。對于此問題,可以通過先驗知識來初步確定初始種群,也可以利用現代進化算法產生初始種群。另外,本文僅研究了確定性因子對基本遺傳算法收斂速度的影響,尚未將其應用于其他形式的遺傳算法。下一步將考慮確定性因子對其他形式遺傳算法的有效性,以期使算法具有更快的收斂速度,達到更好的尋優效果。