?

基于CGAPIO的航天器編隊重構路徑規劃方法

2021-03-26 04:02華冰孫勝剛吳云華陳志明
北京航空航天大學學報 2021年2期
關鍵詞:鴿群算子適應度

華冰,孫勝剛,吳云華,陳志明

(南京航空航天大學 航天學院,南京210016)

微小航天器具有體積小、質量輕、成本低、靈活性高及研制周期短等顯著優點。多個微小航天器編隊飛行,可以實現一些復雜的功能,且能夠大幅度降低開發成本和風險[1],在對地觀測、航天器物聯網、海運和天氣監測等方面有著廣闊應用前景。隊形重構是航天器編隊飛行任務的重要組成部分,在編隊重構進行路徑規劃時,首先應該考慮的是防止各成員之間在變軌過程中的碰撞,以及變軌燃料消耗的最優化問題。

針對路徑規劃問題,目前的研究方法大致可以分為傳統算法和啟發式智能算法2類。傳統算法包括視圖法、人工勢場法、單元分解法、精確數學規劃法等[2],存在模型復雜、效率低和容易陷入局部最優等缺點。啟發式智能算法包括遺傳算法、蟻群算法、粒子群(Particle Swarm Optimization,PSO)算法和鴿群(Pigeon-Inspired Optimization,PIO)算法等[3],具有模型參數少、求解速度快和收斂性好等優點。

鴿群算法是2014年Duan和Qiao[4]受到鴿群自主歸巢行為啟發提出的仿生智能優化算法。自提出后,鴿群算法在編隊路徑規劃方面取得了許多成果。林娜、黃思銘、拱長青[5]利用鴿群算法解決無人機航跡規劃問題,引入自適應權重系數,解決了局部最優和收斂速度慢的問題,但是航跡質量和效率有待提高,另外需要經過樣條平滑算法改進。北京航空航天大學的胡耀龍、馮強等[6]為了避免標準鴿群算法陷入局部最優,提出了一種基于自適應學習策略的改進鴿群優化算法,該算法提升了多峰函數優化問題中的收斂精度和收斂速度,并且能有效避免陷入局部最優解,但是沒有針對實際問題建模分析。哈爾濱工程大學的崔文豪[7]研究了J2攝動下的衛星編隊隊形重構與隊形保持方法,利用極小值理論,運用多重打靶法結合改進鴿群算法,改善重構控制精度和燃料消耗,但是并沒有考慮各成員星變軌時的碰撞問題。Zhang和Duan[8]提出了一種滿足高斯分布的鴿群算法用來解決航天器編隊重構路徑規劃問題,考慮了各成員不發生碰撞情況下的燃料消耗最小化問題,但穩定性需要提高。雖然已有很多研究體現了鴿群算法的有效性,但是鴿群算法仍然存在參數優化、收斂速度慢、易陷入局部最優等問題,路徑規劃的效果并不理想。

針對上述鴿群算法本身及應用的不足之處,本文對基本鴿群算法進行了3點改進:采用Tent Map混沌模型進行鴿群初始化操作,增加種群多樣性;設計了自適應的地圖和指南針算子防止搜索停滯;在地標算子階段引入高斯擾動,幫助算法跳出局部最優?;谏鲜龈倪M,本文提出了一種基于混沌初始化和高斯擾動的自適應鴿群(CGAPIO)算法,來解決航天器編隊重構路徑規劃問題,實現燃料消耗最優化。

1 模型構建

1.1 軌道動力學模型

假設地球是均勻球體,忽略任何攝動力,參考航天器為A,伴隨航天器為B,兩航天器軌道均為圓軌道。

航天器編隊飛行時,兩航天器之間的相對位置矢量δr與伴隨航天器的慣性位置矢量r0相比,相對位置矢量的模很小,如下:

編隊飛行相對參考坐標系與地心慣性坐標系的關系如圖1所示。O-XYZ為地心慣性坐標系。A-xyz為參考航天器的相對運動坐標系,其原點與參考航天器的質心固連,y軸與參考航天器的地心矢量r重合,由地心指向參考航天器。x軸在參考航天器的軌道面內垂直于y軸并指向運動方向為正,z軸由右手規則確定。

圖1 編隊飛行相對參考坐標系Fig.1 Relative frame of reference for formation flight

基于上述假設和條件,根據相對運動動力學,可以用Clohessy-Wiltshire方程[9](C-W 方程)來描述航天器間相對運動。C-W 方程表示為

式中:ω為參考航天器軌道角速度的大??;x、y、z分別為相對位置矢量在參考航天器軌道坐標系三軸的投影。

1.2 目標函數及約束

本文提出的航天器編隊重構路徑規劃問題,將總燃料消耗作為目標函數,將碰撞概率視為約束條件。通過罰函數,將帶約束條件的最優化問題轉化為無約束條件的最優化問題。

罰函數是目前解決帶約束優化問題的方法之一,其思想是:對違反約束條件的非可行點或者試圖穿越約束邊界逃離可行域的點給予懲罰,使其靠近可行域[10-11]。具體實施方法是:將約束函數組成一個懲罰項,與原目標函數相加,迫使迭代點逼近可行域[12]。

構造CGAPIO算法的適應度函數S(X)為

式中:F(X)為航天器變軌過程中燃料的總消耗量;γ為懲罰因子;C(X)為碰撞概率[13]。

本文提出的CGAPIO算法將航天器軌跡離散化,計算所有相鄰離散點之間的相對速度變化量之和,以此來衡量燃料總消耗量。當兩航天器之間的相對距離小于臨界安全距離時,表示碰撞風險較大,此時C(X)起到懲罰作用使航天器遠離風險區域。

2 基于混沌初始化和高斯擾動的自適應鴿群算法

本文對基本鴿群算法提出了3點改進,基于此,提出了CGAPIO算法。

2.1 基本鴿群算法

鴿群算法將每一個鴿子個體視為可能解,每個個體包含位置和速度2個參數,并且根據鴿子飛行的不同階段提出了2種算子模型。

1)地圖和指南針算子

在距離目的地較遠時,鴿群主要依靠地磁場的指引靠近目的地。隨著鴿群越來越接近目的地,會減少對地磁場的依賴。此階段,個體的速度由上一代原有速度、種群的最佳位置與上一代原有位置的差值共同決定;個體的位置由其上一代原有位置和當前速度共同決定。地圖和指南針算子的數學表達式為

式中:t為迭代次數;R為地圖和指南針因子,是一個[0,1]的常數;rand為[0,1]的隨機數;Vi(t)和Xi(t)分別為個體i在第t代的速度和位置;Xg為當前種群最佳位置。

2)地標算子

距離目的地較近時,鴿群會依靠地標導航,跟隨熟悉地標的個體飛行,不熟悉地標的個體將被逐漸舍棄,鴿群的中心位置成為速度的參考方向。地標算子的數學表達式為

式中:Np(t)為第t次迭代的個體數目;Xc(t)為第t次迭代的剩余鴿群的中心位置;S(Xi(t))為個體i在第t次迭代時的適應度函數。

2.2 混沌初始化改進算法

基本鴿群算法的位置和速度矢量初值由隨機數產生,該方法盡可能地保證了隨機性,整體上可以保證初始鴿群在整個解空間均勻分布,但是通過隨機數產生的方法,會使某些初值遠離最優解,影響種群迭代效果。

混沌現象是普遍存在于非線性動態系統中的偽隨機過程?;煦邕\動是指在一個確定性系統中,存在著貌似隨機的不規則運動,具有遍歷性、隨機性和對初始條件敏感等特點[14]。Tent Map混沌模型[15]是研究動力系統、混沌、分形等復雜系統行為的一個經典模型,數學表達式為

式中:a?[0,4]為Tent Map映射參數。

初始值Y0取值影響混沌效果,Y0?(0,1)。圖2舉例說明并對比了Y0分別取0.288和0.588產生50個混沌隨機數的效果。

針對本文解決的問題,經過反復測試的取值,最終選擇為0.280,可以產生較好的多樣性效果。本文以式(11)生成初代鴿群位置。

式中:Nmax為初代鴿群的鴿子總數。

圖2 不同初始值下的Tent Map混沌模型結果Fig.2 Results of Tent Map chaotic model with different initial values

圖3以Nmax=50,X1的模值為0.280 km 為例,對比了Tent Map混沌模型和隨機數各自產生初代鴿群位置的效果??梢钥闯?,隨機數在矩形框圍住的區域內基本沒有取值,初始值多樣性效果較差;而在橢圓框圍住的區域內,取值又比較集中,容易在迭代過程中形成局部最優。使用Tent Map混沌模型產生的初值無明顯集中或者遠離某區域的現象,比較均勻地分布在整個平面內,比使用隨機數產生的初值有更好的多樣性和覆蓋性。

為了在保持群體初值隨機性的前提下,提高多樣性和覆蓋性,本文使用Tent Map混沌模型代替隨機數賦予鴿群位置矢量和速度矢量初值。

圖3 隨機數與Tent Map混沌模型初始化結果對比Fig.3 Comparison of initialization results between random numbers and Tent Map chaotic model

2.3 自適應因子改進算法

基本鴿群算法對多維函數進行求解時,普遍存在易陷入局部極值的缺點[16]。為了提高種群個體的全局搜索能力,本文在基本鴿群算法原有的地圖和指南針算子迭代公式基礎上引入了自適應權重因子和學習因子。

通過分析基本鴿群算法地圖和指南針算子模型的速度迭代公式可以發現,個體速度的更新一方面取決于上一代的速度影響,該部分影響大小主要體現在地圖和指南針因子;另一方面取決于上一代全局最優的位置對個體位置的修正。

基本鴿群算法中地圖和指南針因子在迭代前期的作用是保持鴿群個體的多樣性,使種群在整個解空間內廣泛搜索[17]。但是,在基本鴿群算法中的值是固定不變的,而且式(5)中Vi(t-1)e-Rt代表的是個體保持原來速度的大小和方向的效果,該乘積項包含指數函數,衰減速度太快。令R=0.4,當t=18次時,e-Rt≈0即迭代到第18次,種群就完全放棄了個體原有的速度,只參考種群最佳位置。此時算法不再進行全局搜索,使得種群圍繞在當前全局最優進行搜索和迭代,陷入局部最優的陷阱[18]。

為了解決基本鴿群算法中地圖和指南針因子的固有弊端,本文引入自適應的權重因子w代替指數函數e-Rt,如式(12)所示;引入自適應的學習因子c來控制種群最優位置的影響,如式(13)所示。

式中:tmax為迭代總次數;wmax為權重因子最大值,取0.9;wmin為權重因子最小值,取0.6。

引入自適應權重因子和學習因子后,地圖和指南針算子速度迭代公式為

圖4顯示了權重因子和學習因子隨著迭代次數的變化情況。w的初值較大,c的初值較小,體現了在迭代初期,多樣化的個體在全局的搜索能力比全局最優個體的貢獻更重要。隨著迭代過程的進行,權重因子線性遞減,學習因子呈三角函數非線性遞增,體現了在迭代后期,篩選出來的全局最優位置更加具有指導性,局部搜索能力更加重要,能夠加快收斂。

圖4 自適應權重因子和學習因子隨迭代次數的變化Fig.4 Changes of adaptive weighting factor and learning factor with number of iterations

2.4 高斯擾動改進算法

在地標算子階段,鴿群整體的中心位置成為速度的參考方向,個體向中心位置靠攏。但是如果當前鴿群中心位置是一個局部極值點,會更加容易導致鴿群陷入局部最優。為了解決這一問題,本文將高斯擾動項引入到鴿群算法的地標算子中。

以f(x)=x為例,圖5對比了加入均值為0、方差為100的高斯擾動前后的情況??梢钥吹?,加入高斯擾動后f(x)的值圍繞著原值進行波動,波動的大小可以由方差控制。在鴿群算法的地標算子階段,鴿群的中心位置已經接近最優解,加入適宜的高斯擾動既不會過度偏離已知解,保證了算法的收斂性,又可以避免陷入局部最優無法擺脫。

圖5 高斯擾動示意圖Fig.5 Schematic diagram of Gaussian disturbance

CGAPIO算法在地標算子中增加高斯擾動項后,鴿群個體位置按照式(15)更新。

式中:G(μ,σ2)為高斯擾動項,μ為均值,σ2為方差。

在相關的加入高斯擾動的仿生群體智能算法研究中,通常均值取0,保證高斯分布均勻性[19-22];而方差σ2的數值大小需要根據具體問題來確定。針對本文研究的問題,在其他條件相同的情況下,經過對比發現方差取值為20時得到的效果最好。

圖6為CGAPIO算法的流程。首先根據C-W方程建立航天器編隊相對運動的數學模型,然后利用Tent Map混沌模型給位置和速度賦初值。根據初值進行首次適應度排序,然后引入自適應因子到鴿群算法的地圖和指南針算子迭代過程。在經過規定次數的迭代后,進入地標算子迭代過程,在此階段利用高斯擾動跳出局部最優。在完成設定的總迭代次數后,輸出規劃后的路徑。

圖6 CGAPIO算法流程Fig.6 Flowchart of CGAPIO

3 仿真實驗

本文算法以4個航天器從圓形編隊變換到直線形編隊為例,軌跡離散點設為3個;鴿群總數為30個,路徑規劃維度為20維。迭代次數為100次,其中地圖與指南針算子階段迭代66次,地標算子階段迭代34次。在C-W 坐標系下,航天器初始位置和目標位置如表1所示。

表1 航天器初始位置與目標位置Table 1 Initial and target positions of spacecraft

CGAPIO、PIO、PSO三種算法規劃的路徑結果分別如圖7~圖9所示。

觀察PIO算法和PSO算法的規劃結果,規劃路徑的起始方向與目標位置所在的方向相差甚多,這是由于使用隨機數方法賦予初始值,種群可能選取到距離最優解較遠的初值;規劃所得到的路徑比較曲折,方向改變幅度很大。這是由于種群過早喪失了全局搜索能力,所跟隨的“最優解”是局部最優,才導致規劃所得的路徑質量不高。

相比之下,CGAPIO算法的路徑規劃結果明顯更加平滑,沒有大幅度轉折。特別是對于航天器3,CGAPIO算法規劃得到的路徑近似于連接起點與終點的直線。各航天器速度方向改變不大,保證了各航天器之間有一定安全距離余量,降低了碰撞概率;又避免了過大幅度的無效機動。

圖7 CGAPIO算法路徑規劃結果Fig.7 Path planning results of CGAPIO

圖8 PIO算法路徑規劃結果Fig.8 Path planning results of PIO

圖9 PSO算法路徑規劃結果Fig.9 Path planning results of PSO

圖7~圖9路徑規劃結果對應的總燃料消耗如表2所示。CGAPIO算法總燃料消耗與PIO算法相比,平均降低了12.86%;與PSO算法相比,平均降低了22.71%。

由于采用了Tent Map混沌模型進行初始化,鴿群初始值分布比較均勻,靠近最優解的可能性較大,在開始迭代時,CGAPIO算法的適應度值小于50,甚至優于用PSO算法得到的最優解。

PIO和PSO算法分別在第10次和第16次就停止了適應度的更新,最終的適應度值分別是49.73和45.78,都在迭代初期陷入了局部最優的陷阱,并且始終無法擺脫。然而CGAPIO算法在迭代初期保留了全局搜索的能力,對應的是圖10中迭代初期適應度變化緩慢。同時CGAPIO算法保證了種群有較快的演化速度,快速淘汰距離最優解較遠的個體,對應的是圖10中適應度呈折線形變化,在迭代不到30次的時候就已經十分接近用PIO算法得到的最優解。CGAPIO算法一直保持更新適應度到第72次迭代,最終的適應度值為38.06,得到了更深的種群演化深度。

表2 不同算法總燃料消耗對比Table 2 Comparison of total fuel consumption among different algorithms

圖10 不同算法適應度對比Fig.10 Comparison of fitness curves among different algorithms

4 結 論

1)引入混沌初始化模型、自適應因子和高斯擾動對基本鴿群算法進行改進,提出CGAPIO算法用于航天器編隊重構路徑規劃。規劃結果路徑平滑,消耗燃料少,既避免了碰撞,又避免了無效機動。

2)仿真結果表明,與PIO算法和PSO算法相比,不論是編隊的總燃料消耗還是各個航天器的燃料消耗,CGAPIO算法都是最少的。

3)CGAPIO算法有著較低的初始適應度值,表明Tent Map混沌模型確實起到了增強種群的多樣性的作用;而PSO算法和PIO算法使用隨機數模型,導致在開始迭代時,適應度初始值均超過了CGAPIO算法。

4)CGAPIO算法兼顧了全局搜索能力和演化深度,最終的適應度值比PSO算法和PIO算法大大降低。

猜你喜歡
鴿群算子適應度
改進的自適應復制、交叉和突變遺傳算法
鴿群即景
看見(外二首)
一起種鴿新城疫病因分析與防治
一個鴿群飛過的黃昏
Domestication or Foreignization:A Cultural Choice
QK空間上的疊加算子
啟發式搜索算法進行樂曲編輯的基本原理分析
基于人群搜索算法的上市公司的Z—Score模型財務預警研究
逼近論中的收斂性估計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合