王 卓,徐 瑞
(1.北京理工大學(xué) 宇航學(xué)院,北京 100081;2.深空自主導(dǎo)航與控制工業(yè)和信息化部重點實驗室,北京 100081)
隨著深空探測技術(shù)的不斷發(fā)展,對深空探測器的姿態(tài)機動能力提出了越來越高的要求[1],特別是在深空導(dǎo)航和科學(xué)探測等方面。與傳統(tǒng)的航天任務(wù)相比,深空探測任務(wù)具有任務(wù)周期長、飛行距離遠、通信和控制能力不足的特點,需要盡可能減少時間和燃料資源的消耗。因此,深空探測器在執(zhí)行大角度姿態(tài)機動任務(wù)時,通常需要優(yōu)化一個或多個性能指標(biāo)參數(shù),比如機動時間或能耗[2-3]。跟蹤目標(biāo)時探測器需要執(zhí)行快速姿態(tài)機動,同時減少能量消耗,以盡可能地增加探測器在軌工作時間。此外,深空探測器還會受到其它復(fù)雜約束,比如以強光為特征的天體必須禁止進入某些特定的光學(xué)傳感器區(qū)域(如紅外敏感器件或低光敏器件)以免其敏感部件損壞,這類約束極大地限制了探測器姿態(tài)機動的可行域。同時,角速度和控制力矩的上限也會影響姿態(tài)機動[4]。在這些復(fù)雜的約束條件下,同時優(yōu)化多種性能指標(biāo)參數(shù)的姿態(tài)機動路徑對深空探測器姿態(tài)控制系統(tǒng)來說是一個極大的挑戰(zhàn)。
姿態(tài)約束顯著減小了姿態(tài)機動路徑的可行空間,在姿態(tài)約束處理方面,McInnes采用歐拉角描述深空探測器大角度姿態(tài)機動過程中對太陽矢量的回避問題[5],但是只考慮了單個姿態(tài)指向約束。由美國和意大利聯(lián)合研制的“卡西尼號”(Cassini)探測器采用了約束監(jiān)測算法來進行約束姿態(tài)機動[6],沒有考慮該算法的收斂性。仲維國等[7]利用羅德里格參數(shù)來表示探測器姿態(tài),同時通過快速擴展隨機樹(Rapidly exploring Random Tree,RRT)規(guī)劃器規(guī)劃出了安全可行的姿態(tài)機動路徑,沒有考慮姿態(tài)動力學(xué),事實上實際的姿態(tài)機動過程中需要全方位考慮動力學(xué)約束與外部環(huán)境約束。Kjellberg等[8]通過A*算法進行姿態(tài)機動路徑搜索,將連續(xù)的姿態(tài)空間進行離散化,而且設(shè)計了反饋控制器,但是該方法沒有同時考慮多種姿態(tài)約束。
在姿態(tài)機動性能指標(biāo)優(yōu)化方面,關(guān)于有界約束的姿態(tài)機動路徑優(yōu)化研究,取得了一定的成果。被普遍認同的算法主要包括最速下降法、打靶法和多重打靶法等[9-11],但這類方法都具有一定的缺陷,限制了其適用性,比如最速下降法的收斂速度較慢、打靶法對初值要求過高等?;谏鲜霾蛔悖咚箓巫V法作為一種直接求解方法,在進行時間最優(yōu)控制的相關(guān)應(yīng)用中體現(xiàn)出許多性能優(yōu)勢,F(xiàn)leming等[12]首次在探測器時間最優(yōu)機動問題中應(yīng)用了高斯偽譜法,但是高斯偽譜法在處理多約束情況下的能力是有限的。考慮能量優(yōu)化的情況,Kim等[13]將目標(biāo)能量函數(shù)表示成關(guān)于狀態(tài)的二次型,通過半正定規(guī)劃獲得姿態(tài)路徑,但這樣的單步控制模式很難滿足深空探測器的指向約束。Spiller等[14]將元啟發(fā)式算法引入到姿態(tài)機動問題中,將逆動力學(xué)方法和粒子群算法結(jié)合在一起,獲得了時間最優(yōu)姿態(tài)機動路徑。武長青等[15]使用角速度時間編碼的方式,采用標(biāo)準(zhǔn)差分的方法對姿態(tài)機動路徑進行時間優(yōu)化,但算法收斂速度較慢。在多目標(biāo)優(yōu)化方面,通常是將指標(biāo)參數(shù)進行多目標(biāo)加權(quán),通過高斯偽譜法進行優(yōu)化可得到最優(yōu)解,但是運算時間過長,不適合深空探測姿態(tài)規(guī)劃環(huán)境[16-18]。
本文主要關(guān)注深空探測器姿態(tài)機動多目標(biāo)優(yōu)化問題,提出多目標(biāo)組合規(guī)劃方法,旨在得到同時滿足多種約束條件和優(yōu)化指標(biāo)的深空探測器姿態(tài)機動路徑。多目標(biāo)最優(yōu)路徑規(guī)劃模型的特殊性主要表現(xiàn)在目標(biāo)函數(shù)的構(gòu)造上。通過物理規(guī)劃方法設(shè)計目標(biāo)函數(shù),將多目標(biāo)優(yōu)化分解為單目標(biāo)規(guī)劃問題,以替代適應(yīng)度函數(shù)作為優(yōu)化標(biāo)準(zhǔn)。通過快速歐拉機動獲得初始姿態(tài)路徑,設(shè)計組合差分進化算法,以設(shè)定概率用快速歐拉機動路徑改進變異過程,得到滿足多約束多目標(biāo)的深空探測器姿態(tài)機動路徑。最后,基于深空探測器的姿態(tài)機動過程,進行多目標(biāo)組合規(guī)劃數(shù)值仿真,驗證了所提出方法的可行性和有效性。
深空探測器在軌運行時需要進行大量的姿態(tài)機動來完成各種跟蹤和探測等任務(wù),姿態(tài)系統(tǒng)需要時刻規(guī)劃出有效合理的姿態(tài)機動路徑。所以,對深空探測器姿態(tài)機動過程中約束的建模和分析是設(shè)計深空探測器姿態(tài)機動路徑規(guī)劃算法的前提。
本文將探測器視為剛體。為避免奇異性,采用四元數(shù)形式來描述姿態(tài)運動學(xué)和動力學(xué)約束探測器姿態(tài)機動
在實際深空探測任務(wù)中,深空探測器的執(zhí)行機構(gòu)提供的力矩幅值是有限的,控制輸入有界約束為
其中:γ1表示系統(tǒng)控制力矩的幅值。
系統(tǒng)敏感器的量程有限,要求深空探測器的角速度必須保持在某個范圍內(nèi),角速度有界約束為
其中:γ2表示系統(tǒng)角速度幅值。
深空探測器在執(zhí)行空間任務(wù)時,會面臨較為復(fù)雜的指向約束,這些指向約束極大程度地縮小了姿態(tài)機動的可行空間。一旦違反指向約束,將會對深空探測器攜帶的光學(xué)載荷造成嚴重的損壞,進而影響對應(yīng)空間執(zhí)行的任務(wù),所以要分析和處理深空探測器的指向約束。
深空探測器在姿態(tài)機動過程中必須避免強光天體進入敏感光學(xué)元件的視場角中,這種約束稱為“禁止指向約束”。圖1為深空探測器指向約束關(guān)系圖,rg1表示該光敏元件在本體下的方向矢量,rI表示某一強光天體在慣性系下的方向矢量。
圖1 深空探測器指向約束示意圖Fig.1 Schematic diagram of pointing constraint of deep space probe
姿態(tài)機動過程中要求強光天體方向矢量和光敏元件的視線方向夾角不能低于視場角,約束表示形式為
將指向約束的姿態(tài)余弦矩陣展開,將指向約束表示為更加簡潔的二次型形式
姿態(tài)機動多目標(biāo)優(yōu)化不僅要滿足上述復(fù)雜約束條件,還需要重點考慮時間和能量參數(shù)作為優(yōu)化性能指標(biāo)。這里將多約束下深空探測器姿態(tài)機動多目標(biāo)規(guī)劃問題歸納為以下形式,具體比例參數(shù)由第2節(jié)給出。
這里采用物理規(guī)劃方法,將探測器姿態(tài)機動的多目標(biāo)優(yōu)化問題轉(zhuǎn)化為單目標(biāo)優(yōu)化問題。通過分析多目標(biāo)之間的關(guān)系,得到一個在Pareto最優(yōu)解前沿附近的解[19]。
通過物理規(guī)劃將不同性質(zhì)的多個指標(biāo)融合成一個分段指標(biāo),在分段區(qū)域根據(jù)指標(biāo)優(yōu)先級設(shè)置不同的權(quán)重,既能夠根據(jù)指標(biāo)的特性進行針對性的優(yōu)化,又能夠?qū)Χ嗄繕?biāo)優(yōu)化進行解耦,簡化路徑規(guī)劃過程和提高規(guī)劃效率。
其中:Pi是分解函數(shù);nsc是目標(biāo)函數(shù)的個數(shù)。
分解函數(shù)被劃分成多個區(qū)間,在各個區(qū)間之中,通過分段曲線擬合能夠得到各個性能指標(biāo)函數(shù)的分解函數(shù),用分段樣條函數(shù)表示。第一段和剩下的多段表示如下
使用目標(biāo)優(yōu)化函數(shù)代替差分進化算法的總體適應(yīng)度函數(shù),用于改進差分進化算法的選擇標(biāo)準(zhǔn)。目標(biāo)優(yōu)化函數(shù)由分解函數(shù)pi和性能指標(biāo)適應(yīng)度函數(shù)Ji(x)組成。
差分進化算法的性能指標(biāo)適應(yīng)度函數(shù)設(shè)置為越小越好型,通過尋找目標(biāo)優(yōu)化函數(shù)的最小值來變異、交叉和選擇得到最優(yōu)姿態(tài)機動路徑。性能指標(biāo)適應(yīng)度函數(shù)除了探測器的性能指標(biāo)機動時間和能量之外,也要考慮探測器遇到的路徑指向約束、有界約束和終端約束。
首先考慮深空探測器姿態(tài)機動過程中的時間和能量優(yōu)化指標(biāo)參數(shù),轉(zhuǎn)換為多目標(biāo)優(yōu)化的時間和能量適應(yīng)度函數(shù)為
姿態(tài)路徑指向約束的適應(yīng)度函數(shù)針對禁忌約束
探測器有界約束的適應(yīng)度函數(shù)取為
為了確保算法的準(zhǔn)確性與收斂性,將終端約束擴展到所有節(jié)點的目標(biāo)導(dǎo)向約束,這時終端約束的適應(yīng)度函數(shù)為
得到所有性能指標(biāo)適應(yīng)度函數(shù),與分解函數(shù)組合得到目標(biāo)優(yōu)化函數(shù)。
為了加快算法收斂,本文將首先生成初始機動路徑,并與改進差分進化算法組合,共同生成多目標(biāo)優(yōu)化姿態(tài)機動路徑。
本文通過快速歐拉旋轉(zhuǎn)方法得到從初始到目標(biāo)的機動路徑,并不考慮指向和有界約束,得出轉(zhuǎn)動四元數(shù)
根據(jù)歐拉定理,得出歐拉轉(zhuǎn)角
再根據(jù)初始姿態(tài)參數(shù),進行逐步姿態(tài)路徑節(jié)點計算,得到整個姿態(tài)路徑上的姿態(tài)四元數(shù),即得到初始的姿態(tài)機動路徑,用以引導(dǎo)優(yōu)化過程的中間姿態(tài)機動路徑。
1)初始化
利用n個向量P作為每一代的種群,每個個體向量Pi,G表示為
其中:ω為當(dāng)前節(jié)點的姿態(tài)角速度;t為節(jié)點的機動時間;i表示個體在種群中的序號;G表示進化代數(shù)。
初始化的過程主要是生成算法優(yōu)化的初始種群。通常為了避免算法后期的收斂效率過低,常用的生成初始種群的方法是基于給定約束值進行邊界內(nèi)部隨機選擇。
2)組合變異
對于單個個體向量Pi,G,采用組合變異的方式。由歐拉旋轉(zhuǎn)得到的初始機動路徑為Pc,以設(shè)定的概率選擇是否將Pc放入差分進化的變異過程中,變異個體的產(chǎn)生如式(22)所示
其中:ra為0~1之間的隨機數(shù);f為相應(yīng)范圍內(nèi)的判斷概率,判斷是否將初始路徑Pc加入變異過程中;Pc是歐拉旋轉(zhuǎn)得到的最短距離姿態(tài)機動路徑,引導(dǎo)當(dāng)前的中間姿態(tài)機動路徑向最短距離姿態(tài)機動路徑變異,加快算法收斂速度;突變算子F的取值顯著影響算法的搜索范圍,F(xiàn)值越大,算法搜索的范圍越廣,全局搜索能力強,也能夠避免過早收斂。相反,一個較小的值F可以提高算法的局部搜索能力,加快局部搜索速度和算法的收斂速度。一般的F值固定選取為1,這里將F值設(shè)置為根據(jù)算法進程可變的形式,搜索前期較大,搜索后期較小,使算法同時具有較好的前期全局搜索能力和后期收斂速度
其中:ki是當(dāng)前節(jié)點數(shù);kmax是總節(jié)點數(shù);c5和p為控制參數(shù)。
3)交叉
作為變異策略的補充,利用交叉策略在變異向量的基礎(chǔ)上保留原始目標(biāo)個體的信息,并生成一個測試向量與原始目標(biāo)個體競爭。交叉向量可以表示為
其中:CR為交叉概率因子,是0~1的正實數(shù);rb是0~1的隨機數(shù);rn為[1,2,···,D]的隨機整數(shù)。
4)選擇
表1 仿真條件Table 1 Simulation conditions
算法的仿真環(huán)境為Matlab 2019b,計算機主頻為3.2 Ghz,內(nèi)存4 G,采用本文提出的多目標(biāo)組合規(guī)劃算法進行姿態(tài)機動路徑求解。
深空探測器姿態(tài)機動過程中的姿態(tài)四元數(shù)、控制力矩和角速度分別如圖2~4所示??梢钥闯?,探測器的姿態(tài)機動路徑滿足有界約束,沒有超出探測器的角速度和控制力矩上限,同時角速度和控制力矩路徑的前后轉(zhuǎn)變平穩(wěn),比較方便實際工程實現(xiàn)。
圖2 深空探測器姿態(tài)四元數(shù)曲線Fig.2 Attitude maneuver quaternion curve of deep space probe
圖3 深空探測器控制力矩曲線Fig.3 Attitude maneuver control torque curve of deep space probe
圖4 深空探測器角速度曲線Fig.4 Attitude maneuver angular velocity curve of deep space probe
經(jīng)過組合規(guī)劃算法得到探測器在天球坐標(biāo)系下的姿態(tài)機動路徑,如圖5所示,環(huán)形區(qū)域表示姿態(tài)指向約束,紅色連線表示姿態(tài)機動路徑??梢钥闯?,深空探測器運動從起始點成功姿態(tài)機動到目標(biāo)點,并且沒有進入約束區(qū)域,說明該算法能夠得到安全的姿態(tài)機動路徑。
圖5 探測器在天球坐標(biāo)系下姿態(tài)機動路徑Fig.5 Attitude maneuver path of deep space probe in celestial coordinate system
同時,探測器在天球坐標(biāo)系下可見光相機的空間姿態(tài)機動路徑如圖6所示,其中,圓形區(qū)域表示的是姿態(tài)指向約束,紅線表示空間姿態(tài)機動路徑。由此可以看出,在探測器機動過程中光學(xué)相機成功地規(guī)避了4個發(fā)光天體,滿足了姿態(tài)指向約束,得到了安全的姿態(tài)機動路徑。從上述所有結(jié)果可以看出,本文提出的組合規(guī)劃算法可以滿足多種姿態(tài)約束,證明了算法的有效性。
圖6 天球坐標(biāo)系下深空探測器可見光相機空間姿態(tài)機動路徑Fig.6 Space attitude maneuver path of visible camera of deep space detector in celestial coordinate system
多目標(biāo)組合規(guī)劃算法的平均運行時長為36 s,姿態(tài)機動時長為200 s,能量消耗的相對單位為0.8?;谙嗤姆抡姝h(huán)境,對比基于時間優(yōu)化的差分進化算法,時間優(yōu)化后的標(biāo)準(zhǔn)差分進化算法的平均運行時長為60 s,姿態(tài)機動時長為220 s,能量消耗的相對單位為1.5??梢钥闯?,多目標(biāo)組合規(guī)劃算法同時提高了時間和能量的優(yōu)化效率以及程序運行速度,具有較好的時間和能量優(yōu)化效果。
本文研究深空探測器姿態(tài)機動多目標(biāo)規(guī)劃問題,提出多目標(biāo)組合規(guī)劃方法??紤]時間、能量和約束等多目標(biāo)函數(shù),將多目標(biāo)優(yōu)化分解為單目標(biāo)規(guī)劃,通過快速歐拉機動獲得初始姿態(tài)路徑,并改進差分進化算法,設(shè)計新的變異過程,提高收斂速率和程序運行效率。仿真結(jié)果表明,通過本文提出的多目標(biāo)組合規(guī)劃方法生成姿態(tài)機動路徑,可以實現(xiàn)多約束多目標(biāo)姿態(tài)機動路徑規(guī)劃,且具有較好的時間和能量優(yōu)化效果。