周楷程,余紅英,樊永生
1. 中北大學(xué)電氣與控制工程學(xué)院,太原 030051 2. 中北大學(xué)大數(shù)據(jù)學(xué)院,太原 030051
在不考慮攝動的二體模型下,航天器的軌道轉(zhuǎn)移問題可以歸結(jié)為經(jīng)典的Lambert 問題。對于固定速度增量條件下的Lambert問題,可根據(jù)給定速度增量求出轉(zhuǎn)移時間,隨即根據(jù)所求轉(zhuǎn)移時間和參與軌道轉(zhuǎn)移的兩航天器位置矢量來確定轉(zhuǎn)移軌道。針對此問題,學(xué)者們提出過多種不同的求解方案,經(jīng)典的有Battin的a迭代法、Boltz的p迭代法和普適變量法[1-2],其中以普適變量法最為經(jīng)典。經(jīng)典普適變量法在兩位置矢量共線,即轉(zhuǎn)移角為0°或180°時會發(fā)生奇異,此時轉(zhuǎn)移軌道是一條退化為直線的圓錐曲線,這在實際中是不可實現(xiàn)的[3]。
在航天工程中,通常需要選定一個或多個優(yōu)化指標來確定軌道轉(zhuǎn)移的優(yōu)化問題。文獻[4]研究與優(yōu)化了Lambert變軌中最小能量軌道問題。文獻[5] 研究與求解了能量最優(yōu)Lambert問題。文獻[6]研究與優(yōu)化了雙沖量交會問題的數(shù)值求解方法。文獻[7]研究了共面橢圓軌道間轉(zhuǎn)移所用最優(yōu)燃料的Lambert問題。文獻[8]研究了最優(yōu)轉(zhuǎn)移時間和最優(yōu)燃料的Lambert問題,并采用混合遺傳優(yōu)化算法進行了求解。文獻[9]對限制時間情況下,航天器軌道最優(yōu)轉(zhuǎn)移問題進行了研究,并采用粒子群算法進行求解。
本文在對相關(guān)文獻深入研究的基礎(chǔ)上,使用一種基于橫向偏心率的Lambert交會求解算法,以求解橫向偏心率為切入點,可避免出現(xiàn)奇異點的問題,并將轉(zhuǎn)移時間表示為橫向偏心率的函數(shù);在固定速度增量條件下,選取轉(zhuǎn)移時間作為軌道轉(zhuǎn)移優(yōu)化問題的優(yōu)化指標是最合適的選擇,利用自適應(yīng)粒子群優(yōu)化算法對軌道轉(zhuǎn)移中轉(zhuǎn)移時間進行優(yōu)化,采用自適應(yīng)慣性權(quán)重和自適應(yīng)變異機制優(yōu)化轉(zhuǎn)移時間,達到用最短的轉(zhuǎn)移時間在固定速度增量的情況下實現(xiàn)Lambert交會。
針對經(jīng)典普適變量法存在的奇異點問題,采用基于橫向偏心率的Lambert交會求解算法以避免出現(xiàn)奇異點。從橫向偏心率矢量出發(fā),通過空間固定兩點的圓錐曲線,其偏心率矢量在平行于兩點弦長方向上的分量為常值,于是該軌道的偏心率可分解成垂直于弦長方向的分量和平行于弦長方向的分量。定義偏心率在垂直于弦長方向的分量為橫向偏心率矢量。利用這一特性,可以證明通過空間固定兩點的任意圓錐曲線可由橫向偏心率矢量唯一確定。下面對算法原理進行推導(dǎo)[3,10-11],并將轉(zhuǎn)移時間表示為橫向偏心率的函數(shù)。
在軌道動力學(xué)中,軌道方程可由積分常數(shù)拉普拉斯積分推導(dǎo)和定義:
(1)
式中:H為比角動量,v為速度矢量,μ為引力常數(shù),L為Laplace矢量,r為地心矩矢量,r為r的模。兩邊除以μ,并點乘r,得:
(2)
e·r=p-r
(3)
式中:e為偏心率矢量,p為軌道半通徑。
基于橫向偏心率矢量的Lambert問題的幾何描述可以如圖1所示。點Fe為地心引力中心,P1和P2兩點分別是操控航天器轉(zhuǎn)移的初始和目標位置,所對應(yīng)的位置矢量為r1和r2,c為初始和最終位置之間的弦長,Δθ為位置矢量之間的夾角,e為飛行軌跡所對應(yīng)的偏心率矢量。ωc為初始位置矢量r1與弦單位矢量ic之間的夾角。
圖1 基于橫向偏心率矢量的Lambert幾何描述
根據(jù)式(3),P1和P2兩點對應(yīng)地心矩矢量做差可得:
e·(r2-r1)=r1-r2
(4)
(5)
eF定義為切向偏心率矢量,式(5)中eF為切向偏心率矢量沿弦長方向的分量,ic定義為弦單位矢量。同時定義偏心率矢量沿垂直于弦長方向的分量為橫向偏心率矢量,用eT表示。因此,經(jīng)過P1和P2兩點任意軌跡所對應(yīng)的偏心率矢量可由沿弦長方向的分量eF以及垂直于弦長方向的分量eT共同表征:
e=eFic+eTip
(6)
ip是在軌道平面內(nèi)垂直于弦長方向的單位矢量。由(6)式可以看出,經(jīng)過P1、P2兩點任意軌跡所對應(yīng)的偏心率矢量在弦長方向的投影為常值,即eF=|r2-r1|/c。當(dāng)eF→0時,軌跡偏心率矢量的極限方向就是垂直于弦長的方向;而當(dāng)eT→0時,經(jīng)過P1、P2兩點軌道偏心率有極小值,即emin=eF。
定義偏心率極小值所對應(yīng)的軌道為基礎(chǔ)橢圓軌道,統(tǒng)一用下標F表示。于是,基礎(chǔ)軌道的偏心率、半長軸和半通徑分別為:
(7)
根據(jù)Battin經(jīng)典Lambert算法中所推導(dǎo)的半通徑表達式,有:
(8)
Δω為近地點相對于基礎(chǔ)軌道偏心率矢量的轉(zhuǎn)過角度,即tan(Δω)=eT/eF。函數(shù)σ(·)定義為:
(9)
由式(5)知σ(eF)=-σ(r2-r1),同時考慮到|eF|=σ(eF)eF,于是式(8)可表達成橫向偏心率eT的函數(shù),即:
(10)
軌道半長軸也可以表示為eT的函數(shù):
(11)
在地心軌道坐標系中,ic和ip可以分別表示為:
(12)
根據(jù)偏心率矢量的幾何定義,可以得到以下等式:
e=[ecosθ1,-esinθ1,0]T=
[eFcosωc-eTsinωc,eFcosωc+eTsinωc,0]T
(13)
P1點和P2點所對應(yīng)的真近點角可以表示為:
(14)
式中:θ取值為[0,2π],arctan2(y,x)為反正切函數(shù)。根據(jù)偏近點角與真近點角之間的關(guān)系,所對應(yīng)的偏近點角可以表示為:
(15)
由以上公式可知,給定變軌初始和最終的位置矢量r1和r2,轉(zhuǎn)移軌道所對應(yīng)的偏近點角E1和E2、半長軸a、以及偏心率e都可以表示為橫向偏心率的函數(shù)。而給定偏近點角E1、E2、半長軸a、以及偏心率e,就可以求出從點P1轉(zhuǎn)移到點P2所需要的轉(zhuǎn)移時間t12,因此轉(zhuǎn)移時間t12也是橫向偏心率的函數(shù),如下所示:
(16)
(17)
由以上推導(dǎo)可知,當(dāng)取得航天器軌道六根數(shù)以及橫向偏心率時可求出轉(zhuǎn)移時間。并且當(dāng)Δθ=0和Δθ=180°時不存在奇異,這一點優(yōu)于經(jīng)典普適變量法。
在解決航天器的實際軌道交會問題時,常常是給定速度增量,求出轉(zhuǎn)移時間,最終得到交會轉(zhuǎn)移軌道。因此在充分利用速度增量的前提下如何得到最優(yōu)轉(zhuǎn)移時間就成了研究Lambert交會的一個重點。本文將采用自適應(yīng)粒子群算法優(yōu)化轉(zhuǎn)移時間。
目前國內(nèi)外常用于研究Lambert交會優(yōu)化問題的算法有遺傳算法和模擬退火算法等。這些算法基本上能尋找到優(yōu)化路徑,但算法涉及到粒子交叉等,過程較為復(fù)雜。而粒子群算法由于簡單和易于實現(xiàn),目前已廣泛應(yīng)用于航天器軌道轉(zhuǎn)移優(yōu)化等領(lǐng)域。
粒子群算法(Particle Swarm Optimization,PSO),PSO基于群體智能, 采用全局搜索策略尋優(yōu)。粒子根據(jù)全局和自身最優(yōu)位置更新速度[12]。
文獻[9]對多脈沖共面轉(zhuǎn)移問題進行了研究,并利用PSO優(yōu)化共面轉(zhuǎn)移軌道能量;文獻[13]研究了四脈沖異面非圓軌道交會對接問題,并運用PSO進行了優(yōu)化;文獻[14]對限制時間情況下,航天器軌道最優(yōu)轉(zhuǎn)移問題進行了研究,并采用PSO進行求解。以上說明了PSO在航天器軌道轉(zhuǎn)移優(yōu)化方面的有效性。
粒子群算法基本流程[15]: 1)目標搜尋空間為D維空間;2)粒子群由N個粒子組成; 3)第i個粒子目前運動速度為:vi=(vi1,vi2,…,viD); 4)第i個粒子在D維空間的位置為:Xi=(xi1,xi2,…,xiD);5)第i個粒子的歷史最優(yōu)位置為:Pi=(pi1,pi2,…,piD);6)粒子群歷史最優(yōu)位置為:Pg=(pg1,pg2,…,pgD);7)粒子按一定規(guī)律進行位置更新。
經(jīng)典粒子群算法存在一定的局限性,主要有以下2個問題:1)較難兼顧全局搜索和局部搜索,無法保證收斂速度;2)多樣性低,當(dāng)適應(yīng)度方差為0時容易陷入局部最優(yōu)的陷阱,算法出現(xiàn)提前收斂[16],無法得出最優(yōu)轉(zhuǎn)移時間。
針對以上問題,本文做了如下2點優(yōu)化: 1)引入自適應(yīng)慣性權(quán)重,針對不同的搜索問題可以調(diào)整全局和局部搜索的能力,提高算法性能;2)借鑒遺傳算法的變異機制,引入自適應(yīng)變異。
優(yōu)化后的粒子群算法稱為自適應(yīng)粒子群算法(Adaptive Particle Swarm Optimization,APSO)。該算法在每次粒子更新后,判斷粒子個體是否陷入局部最優(yōu)陷阱,對于符合判斷條件的粒子則對其進行變異操作,變異后的粒子能夠跳出先前搜索到的局部最優(yōu)位置,并在更大的空間中展開搜索,同時也保證了粒子群的多樣性。
經(jīng)過自適應(yīng)優(yōu)化后,本文用自適應(yīng)粒子群算法求解最優(yōu)轉(zhuǎn)移時間的流程如:
圖2 自適應(yīng)粒子群算法求解最優(yōu)轉(zhuǎn)移時間流程圖
為了更好地得到轉(zhuǎn)移軌道中的最優(yōu)轉(zhuǎn)移時間,2.2節(jié)中對粒子群算法進行了優(yōu)化,本節(jié)將研究優(yōu)化的具體實現(xiàn)。
1)引入自適應(yīng)慣性權(quán)重,在算法開始搜索時希望慣性權(quán)重比較大,使算法跳出局部最優(yōu)陷阱,以利于全局搜索;在搜索過程中希望慣性權(quán)重的值逐漸減小,以利于局部尋優(yōu),便于算法收斂,故使用式(18)計算慣性權(quán)重:
WI=(Wmax-Wmin)×(N-Nal)/N+Wmin
(18)
式中:WI代表自適應(yīng)慣性權(quán)重,Wmax代表慣性權(quán)重的高值,Wmin代表慣性權(quán)重的低值,N代表種群的迭代數(shù)目,Nal代表已經(jīng)迭代的次數(shù),其中Wmax、Wmin和N為給定值,WI的值將隨著Nal值的變化而變化。
2)引入自適應(yīng)變異,當(dāng)滿足式(19)中的變異條件則進行變異:
σ<0.005與P:=(a+(b-a)×R/Rm)<0.3
(19)
式中:σ代表適應(yīng)度方差,P代表變異率,Rm代表R所能返回的最大值,R代表隨機函數(shù),取值為(a,b)之間的隨機數(shù),本文取a=0,b=1。變異公式如式(20)和(21)所示:
Gi←Gi×Y
(20)
cos(2π×P))
(21)
式(20)和(21)中:G代表粒子每一維變量的最優(yōu)位置,經(jīng)過變異后原始值就會改變,本文變量為轉(zhuǎn)移時間,i的取值范圍為0~K,K代表變量的個數(shù),a、b和P同式(19)。
1)測試說明
采用Visual Studio軟件進行算法校驗。給定操控和目標航天器的軌道六根數(shù)以及變軌總速度增量,進行4個算例的測試。
算例1:測試自適應(yīng)粒子群算法的自適應(yīng)慣性權(quán)重的變化,驗證算法的有效性;
算例2:測試給定最優(yōu)轉(zhuǎn)移時間下輸出的兩次變軌的速度增量之和是否等于或近似等于給定的變軌總速度增量,驗證算法的有效性;
算例3:測試自適應(yīng)粒子群和經(jīng)典粒子群算法輸出的最優(yōu)轉(zhuǎn)移時間,驗證算法的優(yōu)越性;
算例4:測試兩算法在不同迭代次數(shù)下運行1000次耗時情況,驗證算法的優(yōu)越性。
2)測試初始參數(shù)
表1 操控和目標航天器的軌道六根數(shù)
表2 自適應(yīng)粒子群和經(jīng)典粒子群算法初始參數(shù)
3)算例1
由于在算法初始化時已經(jīng)迭代過一次,初始化時不需要慣性權(quán)重這一參數(shù),因此慣性權(quán)重迭代次數(shù)測試為49次和99次。如圖3所示,慣性權(quán)重值先大后小,與第2節(jié)理論相吻合,驗證了自適應(yīng)粒子群優(yōu)化算法的有效性。
圖3 自適應(yīng)粒子群算法慣性權(quán)重隨迭代次數(shù)的變化圖
4)算例2
經(jīng)多次迭代測試自適應(yīng)粒子群算法,得到轉(zhuǎn)移時間穩(wěn)定在37750 s,因此以37750 s作為給定轉(zhuǎn)移時間,測試變軌速度增量。
操控航天器為了完成軌道交會,會進行2次變軌,歷次變軌時刻(相對于初始時刻的偏移量)和變軌速度增量如表3所示:
表3 變軌速度增量
根據(jù)表3所示,驗證變軌速度增量。記總速度增量為v:
(22)
第一次變軌x,y和z分量記為x1,y1和z1;第二次變軌x,y和z分量記為x2,y2和z2,代入式(22),驗證結(jié)果為v=2000 (m/s)。
經(jīng)驗證,實際總速度增量與給定變軌速度增量相吻合,證明了Lambert交會求解和自適應(yīng)粒子群算法的有效性。
5)算例3
圖4(a)中帶折線散點的經(jīng)典粒子群2和單折線的自適應(yīng)粒子群得到的最優(yōu)轉(zhuǎn)移時間基本一致,無折線散點的經(jīng)典粒子群1因為陷入了局部最優(yōu)的陷阱,無法得到最優(yōu)轉(zhuǎn)移時間;圖4(b)中2種算法得到的最優(yōu)轉(zhuǎn)移時間基本一致。
圖4 迭代50次和100次自適應(yīng)粒子群和經(jīng)典粒子群輸出轉(zhuǎn)移時間對比
6)算例4
表4表示2種算法在迭代50次、100次和200次下重復(fù)運行1000次所花費的時間。由表4結(jié)果可知,本文所用自適應(yīng)粒子群算法效率比經(jīng)典粒子群算法高7%以上,并且隨著迭代次數(shù)的增加,效率提升越明顯。
表4 自適應(yīng)粒子群與經(jīng)典粒子群算法運行時間對比
針對固定速度增量條件下Lambert交會中的轉(zhuǎn)移時間,主要做了如下工作:
1)使用基于橫向偏心率的Lambert交會求解算法研究轉(zhuǎn)移時間,該算法與經(jīng)典普適變量法相比,優(yōu)勢是不存在奇異點,解決了經(jīng)典普適變量法存在的奇異點問題,并將轉(zhuǎn)移時間表示為橫向偏心率的函數(shù);
2)在給定速度增量的條件下,采用自適應(yīng)粒子群優(yōu)化算法得出最優(yōu)轉(zhuǎn)移時間。該算法針對經(jīng)典粒子群算法存在的問題,引入自適應(yīng)慣性權(quán)重和自適應(yīng)變異機制進行優(yōu)化;
3)測試了自適應(yīng)慣性權(quán)重的變化和變軌速度增量,證明了本文所研究算法的有效性;對自適應(yīng)粒子群算法和經(jīng)典粒子群算法進行對比測試,測試結(jié)果表明本文所用自適應(yīng)粒子群優(yōu)化算法能跳過局部最優(yōu)陷阱,并且求解效率比經(jīng)典粒子群算法高至少7%;經(jīng)以上測試表明本文研究算法可應(yīng)用于航天器空間交會。