韓 鵬,郭延寧,李傳江,李文博,馬廣富
(1.哈爾濱工業(yè)大學(xué)控制科學(xué)與工程系,哈爾濱 150001;2.北京控制工程研究所,北京 100190;3.空間智能控制技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100190)
敏捷成像衛(wèi)星是指具有三軸快速姿態(tài)機(jī)動(dòng)能力的對地觀測衛(wèi)星,近年來,已成為各國競相研發(fā)的新一代對地觀測衛(wèi)星,目前,已投入使用的型號包括美國的WorldView系列,法國的Pleiades星座以及我國發(fā)射的“高景”系列衛(wèi)星等[1-2]。觀測范圍廣、靈活性強(qiáng)的特點(diǎn)使其獲得了比傳統(tǒng)的對地觀測衛(wèi)星更高的效率。觀測能力的提高也對衛(wèi)星的管控與任務(wù)規(guī)劃帶來了挑戰(zhàn),要想充分發(fā)揮敏捷衛(wèi)星的優(yōu)勢,必須有高效可靠的任務(wù)規(guī)劃與調(diào)度系統(tǒng)[3-4]。
相比于非敏捷衛(wèi)星,敏捷衛(wèi)星增加了俯仰和偏航兩個(gè)自由度的姿態(tài)機(jī)動(dòng)能力,因此對目標(biāo)的時(shí)間窗口更長,觀測、推掃的方式也更加多樣。傳統(tǒng)成像衛(wèi)星對目標(biāo)點(diǎn)的可見時(shí)間窗較短,因此其觀測時(shí)刻固定,而敏捷衛(wèi)星對點(diǎn)目標(biāo)進(jìn)行凝視觀測時(shí),由于目標(biāo)可見時(shí)間窗口的增加,不同的成像時(shí)刻將對應(yīng)不同的姿態(tài),在觀測序列固定時(shí),成像時(shí)刻的變化會(huì)導(dǎo)致觀測序列對姿態(tài)轉(zhuǎn)移時(shí)間約束的滿足性發(fā)生變化,從而導(dǎo)致觀測收益和觀測能耗的變化。并且,對于時(shí)間窗口重合的目標(biāo)點(diǎn),觀測時(shí)刻的變化也會(huì)導(dǎo)致觀測序列的變化。觀測序列與成像時(shí)刻的互相影響與耦合為任務(wù)規(guī)劃與調(diào)度問題的建模與求解帶來了較大困難。
近年來,國內(nèi)外許多學(xué)者都針對敏捷成像衛(wèi)星的任務(wù)規(guī)劃調(diào)度問題展開了相關(guān)研究。一些用以描述敏捷衛(wèi)星任務(wù)規(guī)劃問題的數(shù)學(xué)模型相繼提出,例如基于“邏輯約束”的背包模型[5],整數(shù)規(guī)劃模型[6-7],基于復(fù)雜網(wǎng)絡(luò)理論的規(guī)劃模型[8],混合整數(shù)規(guī)劃模型[9-10],約束滿足模型[11-12]等。以上文獻(xiàn)的規(guī)劃模型中大多只考慮了時(shí)間窗口增加而帶來的觀測序列多樣性,卻鮮有考慮成像時(shí)刻和姿態(tài)轉(zhuǎn)移方式對任務(wù)收益及衛(wèi)星資源變化的影響,只將觀測序列或每個(gè)目標(biāo)點(diǎn)是否被觀測作為決策變量的模型對問題的描述是不夠完整的。另外,衛(wèi)星在對多點(diǎn)目標(biāo)進(jìn)行連續(xù)觀測時(shí),需進(jìn)行快速姿態(tài)轉(zhuǎn)移,不同目標(biāo)間姿態(tài)轉(zhuǎn)移時(shí)間約束是任務(wù)規(guī)劃問題中必須考慮的一項(xiàng)關(guān)鍵約束條件[2]。然而,已有研究一般將衛(wèi)星姿態(tài)轉(zhuǎn)移時(shí)間約束視為勻速運(yùn)動(dòng),姿態(tài)轉(zhuǎn)移要么保守性強(qiáng),要么可能導(dǎo)致觀測任務(wù)無法按照規(guī)劃結(jié)果完成。因此,趙琳等[13]基于衛(wèi)星姿態(tài)運(yùn)動(dòng)模型,以時(shí)間最優(yōu)為指標(biāo),利用高斯偽譜法完成對姿態(tài)轉(zhuǎn)移時(shí)間約束的檢查,但其在規(guī)劃模型建立時(shí)主要基于旅行商問題模型,需保證待觀測目標(biāo)點(diǎn)全部觀測,不能對目標(biāo)點(diǎn)進(jìn)行選擇和取舍。針對該問題,文獻(xiàn)[14]基于動(dòng)態(tài)旅行商問題建立了任務(wù)規(guī)劃模型,但仍未考慮長規(guī)劃周期下,衛(wèi)星對目標(biāo)點(diǎn)存在多個(gè)可見時(shí)間窗口的情況。
元啟發(fā)式算法是一類多用于復(fù)雜優(yōu)化問題中的智能化算法,近年來也被應(yīng)用于敏捷衛(wèi)星任務(wù)規(guī)劃問題的求解中,如禁忌搜索[15]、差分進(jìn)化算法[16]、蟻群算法[14]、遺傳算法(Genetic algorithm,GA)[13-14,17-22]等。其中遺傳算法由于流程簡單,收斂速度快等特性,應(yīng)用最為廣泛。遺傳算法求解時(shí),編碼解碼方式設(shè)計(jì)以及有針對性的算法改進(jìn)措施是影響求解結(jié)果的關(guān)鍵因素[4]。已有文獻(xiàn)中,大多采用符號編碼方法,利用基因型表征衛(wèi)星對目標(biāo)點(diǎn)的觀測序列完成對決策變量的編碼過程。該編碼方式具有直觀易懂,迭代搜索效率高的特點(diǎn),但無法完成對觀測時(shí)刻的搜索優(yōu)化,在解碼時(shí)通常通過一定的規(guī)則得到目標(biāo)點(diǎn)的觀測時(shí)刻,這可能會(huì)使得算法在優(yōu)化過程中丟失優(yōu)質(zhì)解。為此,文獻(xiàn)[14]設(shè)計(jì)了一種將觀測序列與觀測時(shí)刻混合的二維編碼偽譜遺傳算法,能夠同時(shí)完成對目標(biāo)觀測序列與觀測時(shí)刻的優(yōu)化與求解;文獻(xiàn)[19]同樣設(shè)計(jì)了一種將觀測時(shí)間窗和觀測時(shí)刻結(jié)合的二維雜合編碼。通過二維編碼可以將規(guī)劃模型中的觀測時(shí)間窗口與觀測時(shí)刻兩決策變量同時(shí)進(jìn)行優(yōu)化,能夠保證完整的搜索空間。但二維實(shí)數(shù)編碼方式在交叉、變異過程中容易產(chǎn)生不符合取值約束的染色體,需要設(shè)計(jì)復(fù)雜的約束檢查和調(diào)整規(guī)則,或設(shè)計(jì)全新的遺傳算子,容易導(dǎo)致求解效率降低。
本文同樣以遺傳算法作為敏捷成像衛(wèi)星任務(wù)規(guī)劃問題的基本求解算法,并嘗試針對上述文獻(xiàn)中存在的局限性加以改進(jìn)。文章的主要貢獻(xiàn)如下:
1)在任務(wù)規(guī)劃問題構(gòu)建中,綜合考慮對地凝視成像點(diǎn)目標(biāo)觀測收益與衛(wèi)星姿態(tài)轉(zhuǎn)移期間能耗,構(gòu)建了衛(wèi)星任務(wù)規(guī)劃優(yōu)化目標(biāo)。特別地,在單次姿態(tài)轉(zhuǎn)移過程進(jìn)行了能量最優(yōu)化求解。
2)在任務(wù)規(guī)劃問題求解中,提出了一種基于相對成像時(shí)刻編碼的自適應(yīng)遺傳算法(Relative imaging time coding based adaptive genetic algorithm,RITC-AGA)。通過一維實(shí)數(shù)編碼完成對兩個(gè)決策變量編碼,既可保證對決策變量有完整搜索空間,也能保證在遺傳算子迭代過程中不產(chǎn)生不符合取值約束的染色體。利用該編碼還可解決長觀測周期下衛(wèi)星對目標(biāo)有多個(gè)時(shí)間窗口情況下的任務(wù)規(guī)劃問題。同時(shí),設(shè)計(jì)了參數(shù)自適應(yīng)變化的交叉和變異算子,可提高算法收斂速度,并使其不易陷入局部最優(yōu)。
首先對建模過程中用到的參數(shù)變量進(jìn)行定義:
C={c1,c2,...,cn}:待規(guī)劃目標(biāo)點(diǎn)集合,ci表示第i個(gè)目標(biāo),n表示目標(biāo)點(diǎn)的數(shù)量。
lgt_ci=[Bi,Li,hi]Τ:ci的經(jīng)緯高坐標(biāo)。
tsi:ci的開始成像時(shí)刻。
di:ci的觀測時(shí)長。
wi=Lidi:ci的觀測收益,Li為目標(biāo)觀測優(yōu)先級。
si:ci的觀測狀態(tài),若si=1代表ci將被觀測,si=0表示不被觀測。
Q={ci,cj,ck,…}:任務(wù)觀測序列。
T={tsi,tsj,tsk,…}:任務(wù)觀測序列Q對應(yīng)的開始成像時(shí)刻,
u=[u1,u2,u3]T:衛(wèi)星三軸輸出力矩。
rs=[rx,ry,rz]T:衛(wèi)星在地心慣性系的位置矢量。
任務(wù)規(guī)劃問題構(gòu)建包含三個(gè)元素,分別是:指標(biāo)函數(shù)、約束條件和決策變量。下面進(jìn)行詳述。
1)指標(biāo)函數(shù)
在敏捷衛(wèi)星執(zhí)行多目標(biāo)觀測任務(wù)過程中,一方面要提升觀測收益,另一方面也要降低姿態(tài)轉(zhuǎn)移和凝視觀測產(chǎn)生的能耗。不失一般性,這里假設(shè)cj是ci的后續(xù)觀測目標(biāo)。因此,構(gòu)建如下指標(biāo)函數(shù):
(1)
指標(biāo)函數(shù)由兩部分組成,前一部分表示觀測ci所獲收益,后一部分表示衛(wèi)星執(zhí)行觀測任務(wù)時(shí)的姿態(tài)轉(zhuǎn)移能耗,包括衛(wèi)星由觀測ci到cj的姿態(tài)轉(zhuǎn)移能耗及衛(wèi)星跟蹤觀測目標(biāo)cj的能耗。κ為能耗代價(jià)權(quán)重。其中,衛(wèi)星進(jìn)行不同目標(biāo)點(diǎn)之間的姿態(tài)轉(zhuǎn)移能耗與各軸輸出的姿控力矩及姿態(tài)轉(zhuǎn)移時(shí)長有關(guān)。衛(wèi)星跟蹤觀測目標(biāo)cj過程中的能耗包括衛(wèi)星姿態(tài)凝視跟蹤能耗和相機(jī)凝視成像的能耗兩部分,為簡化問題將其設(shè)定為與時(shí)間相關(guān)線性函數(shù)。k為其常系數(shù)。
2)決策變量
取所有目標(biāo)點(diǎn)觀測狀態(tài)si及被觀測目標(biāo)點(diǎn)開始成像時(shí)刻tsi為決策變量,其中i=1,2,……,n。
3)約束條件
a)衛(wèi)星軌道動(dòng)力學(xué)約束:
(2)
式中:μ為一常量??紤]衛(wèi)星軌道固定且已知,在執(zhí)行觀測任務(wù)過程中不進(jìn)行軌道機(jī)動(dòng)。衛(wèi)星軌道動(dòng)力學(xué)約束通常用于求解衛(wèi)星在任意時(shí)刻的位置。
b)衛(wèi)星姿態(tài)轉(zhuǎn)移控制力矩約束:
|ui|≤um,i=1,2,3
(3)
其中:um為衛(wèi)星最大控制力矩。
c)衛(wèi)星姿態(tài)轉(zhuǎn)移時(shí)間約束:
(4)
該約束由衛(wèi)星當(dāng)前位置rs、慣性姿態(tài)qs、衛(wèi)星控制力矩u、cj的經(jīng)緯高坐標(biāo)lgt_cj、cj開始成像時(shí)刻tsj等因素相關(guān),具體求解方法將在下節(jié)詳細(xì)敘述。
d)相鄰任務(wù)開始成像時(shí)刻約束:
(5)
衛(wèi)星姿態(tài)從指向目標(biāo)點(diǎn)ci機(jī)動(dòng)至指向cj對cj進(jìn)行觀測時(shí),其姿態(tài)轉(zhuǎn)移結(jié)束時(shí)刻不得晚于預(yù)定對sj觀測的開始時(shí)刻。
e)目標(biāo)觀測時(shí)間窗口約束:
(6)
衛(wèi)星對任意目標(biāo)點(diǎn)的觀測開始時(shí)刻必須在其可見時(shí)間窗口內(nèi)。
f)目標(biāo)觀測次數(shù)約束:
ci≠cj, ?ci,cj∈Q,i,j=1,…,n
(7)
上式表示觀測序列中任意兩個(gè)目標(biāo)點(diǎn)不能相同,亦即每個(gè)目標(biāo)點(diǎn)只需被觀測一次。
g)目標(biāo)觀測時(shí)長約束:
di≡const,i=1,…,n
(8)
此處考慮每個(gè)目標(biāo)點(diǎn)的凝視觀測時(shí)長固定,有效觀測時(shí)長少于預(yù)定觀測時(shí)長則收益為0。
考慮衛(wèi)星在執(zhí)行觀測任務(wù)期間無軌道機(jī)動(dòng),即衛(wèi)星位置可由約束條件a)唯一確定,同時(shí)地球自轉(zhuǎn)角速度恒定,目標(biāo)點(diǎn)在慣性系的位置[xi,yi,zi]T可通過目標(biāo)的經(jīng)緯度坐標(biāo)lgt_ci經(jīng)過地心固連系和地心慣性系之間轉(zhuǎn)換得到。因此,由衛(wèi)星與目標(biāo)相對位置可得衛(wèi)星指向目標(biāo)的期望姿態(tài)。
如圖1所示,衛(wèi)星在t0時(shí)刻完成對目標(biāo)點(diǎn)ci的觀測,考慮載荷軸沿本體軸z軸指向目標(biāo)點(diǎn)ci,對應(yīng)慣性姿態(tài)四元數(shù)為qs=[q0,q1,q2,q3]T,若獲得可行解使得衛(wèi)星在t1時(shí)刻使得本體軸z軸觀測目標(biāo)點(diǎn)cj,因此衛(wèi)星需在[t0,t1]時(shí)段內(nèi)完成姿態(tài)機(jī)動(dòng)。要判斷是否能在預(yù)定時(shí)間完成姿態(tài)機(jī)動(dòng),首先需要確定終端姿態(tài)。由于沒有觀測視角的限制,因此終端姿態(tài)只有本體z軸是固定的,x軸與y軸的指向任意,無法唯一確定衛(wèi)星姿態(tài)。因此,以最小化兩目標(biāo)間姿態(tài)機(jī)動(dòng)角度為目的,本文設(shè)計(jì)了一種凝視觀測期望姿態(tài)確定方法。
圖1 衛(wèi)星姿態(tài)機(jī)動(dòng)示意圖Fig.1 Sketch of satellite attitude maneuver
設(shè)t1時(shí)刻衛(wèi)星和目標(biāo)點(diǎn)cj的位置矢量分別為res和re_cj,則衛(wèi)星指向目標(biāo)cj的慣性矢量可表示為:
rs_cj=re_cj-res
(9)
為了將rs_cj變換到t0時(shí)刻的衛(wèi)星本體坐標(biāo)系下,考慮如下由四元數(shù)描述的方向余弦矩陣:
(10)
(11)
進(jìn)而可得t0時(shí)刻rs_cj在本體坐標(biāo)系下的投影:
(12)
(13)
(14)
進(jìn)一步,便可得到t1時(shí)刻的姿態(tài)四元數(shù):
(15)
至此,可建立衛(wèi)星對目標(biāo)成像時(shí)刻與觀測姿態(tài)的唯一關(guān)系,若給出一組目標(biāo)觀測狀態(tài)和成像時(shí)刻的可行解,便可唯一確定衛(wèi)星在整個(gè)觀測過程中的姿態(tài)序列。通過調(diào)整和優(yōu)化兩決策變量可以改變序列之間的機(jī)動(dòng)角度,進(jìn)一步可以改變觀測收益和目標(biāo)間姿態(tài)機(jī)動(dòng)的能耗。
由于在規(guī)劃模型的指標(biāo)函數(shù)中包含對姿態(tài)轉(zhuǎn)移過程能量的優(yōu)化,因此,需要在兩觀測目標(biāo)間滿足約束條件d)的情況下確定姿態(tài)機(jī)動(dòng)能量最優(yōu)解。
考慮如下衛(wèi)星姿態(tài)運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)模型:
(16)
其中:ω=[ω1,ω2,ω3]T表示衛(wèi)星慣性姿態(tài)角速度。I=diag(I1,I2,I3)代表三軸轉(zhuǎn)動(dòng)慣量。
指標(biāo)函數(shù):
(17)
狀態(tài)與輸出約束:
(18)
式中:q0和qf分別代表衛(wèi)星在上一目標(biāo)點(diǎn)觀測結(jié)束的期望姿態(tài)和下一目標(biāo)點(diǎn)觀測開始的期望姿態(tài),tf表示衛(wèi)星姿態(tài)從上一目標(biāo)轉(zhuǎn)移至下一目標(biāo)點(diǎn)的轉(zhuǎn)移時(shí)間。由于姿態(tài)運(yùn)動(dòng)方程具有強(qiáng)非線性,上述問題的求解需借助非線性優(yōu)化算法??紤]非線性優(yōu)化過程復(fù)雜,求解耗時(shí)較長,且受初值影響較大等問題,不適于求解本文描述的復(fù)雜規(guī)劃問題的子問題。因此,本文嘗試通過將模型線性化,結(jié)合傳統(tǒng)最優(yōu)控制的極小值原理進(jìn)行求解。
考慮將衛(wèi)星簡化為一球體,其繞任意軸旋轉(zhuǎn)的轉(zhuǎn)動(dòng)慣量均為常值,沿各軸的控制力矩也假定一致。實(shí)際任務(wù)中,為不失保守性,可令I(lǐng)r=max{I1,I2,I3}。給定衛(wèi)星初末姿態(tài)下的能量最優(yōu)姿態(tài)機(jī)動(dòng)為繞歐拉軸旋轉(zhuǎn)的過程?;谝陨戏治?可得到簡化后的衛(wèi)星姿態(tài)動(dòng)力學(xué)方程:
(19)
式中:θ,ω,ur分別為沿歐拉軸的角度、角速度和力矩,對應(yīng)有如下能量最優(yōu)姿態(tài)機(jī)動(dòng)問題。
指標(biāo)函數(shù):
(20)
狀態(tài)與輸出約束:
ω(0)=0,ω(tf)=0
(21)
θ(0)=0,θ(tf)=θr
(22)
|ur|≤umax
(23)
其中:歐拉軸e=[ex,ey,ez]T,并且有|e|=1以及沿歐拉軸的轉(zhuǎn)角可通過已知的初末姿態(tài)四元數(shù)唯一確定。沿歐拉軸的最大輸出力矩umax
(24)
由最優(yōu)控制理論可知,當(dāng)初末狀態(tài)下的角速度均為0時(shí),單次姿態(tài)機(jī)動(dòng)對應(yīng)的tf必須為固定值,否則該能量最優(yōu)控制問題無解。對于待觀測的相鄰兩目標(biāo)點(diǎn)ci,cj,假設(shè)姿態(tài)機(jī)動(dòng)過程完全符合約束條件d),則有0 對于上文描述的最優(yōu)控制問題,利用極小值原理可以得到能量最優(yōu)控制 (25) 協(xié)態(tài)變量 (26) 其中策略1稱為線性控制,策略2和3稱為“飽和-線性-飽和”控制,兩類控制策略中輸出力矩隨時(shí)間變化的示意圖如圖2所示。 圖2 能量最優(yōu)控制下沿歐拉軸控制力矩輸出變化Fig.2 Energy optimal control torque along Euler axis 對于策略1,可得能量最優(yōu)解為: (27) 其中:終端時(shí)刻tf需滿足: (28) 以策略2為例,設(shè)兩次控制切換時(shí)刻分別為th,tf-th,可得能量最優(yōu)解為: (29) 其中: (30) 終端時(shí)刻tf需滿足的邊界條件為: (31) 進(jìn)一步,當(dāng)機(jī)動(dòng)角度θr固定,th=tf/2時(shí),有 (32) 此時(shí),控制策略變?yōu)椤帮柡?飽和”控制,中間的線性控制段消失,此時(shí)的控制形式為終端時(shí)間任意的時(shí)間最優(yōu)控制解,此時(shí)能耗為 (33) 根據(jù)以上分析,在衛(wèi)星姿態(tài)機(jī)動(dòng)開始時(shí)刻姿態(tài)與位置已知,目標(biāo)位置已知,觀測時(shí)刻固定的情況下,姿態(tài)機(jī)動(dòng)角度θr固定,此時(shí)姿態(tài)機(jī)動(dòng)g耗時(shí)存在下界 (34) 此時(shí),約束條件c)被轉(zhuǎn)化為不等式約束。 進(jìn)一步,根據(jù)式(5)可知,在滿足約束d)的情況下,允許的時(shí)間取值范圍為: (35) 根據(jù)式(34)~(35),給出的可行解若要同時(shí)滿足約束條件c)d),則應(yīng)保證 (36) 其中:θr的求解過程在2.1節(jié)中敘述。 遺傳算法中,將待求解問題的可行解從其解空間轉(zhuǎn)換到遺傳算法所能處理的搜索空間的轉(zhuǎn)換方法稱為編碼。編碼規(guī)則的設(shè)計(jì)對遺傳算法的求解效率有至關(guān)重要的作用。解碼過程與編碼過程相對,即將染色體表示的搜索空間通過固定的規(guī)則轉(zhuǎn)換為實(shí)際優(yōu)化問題的決策變量,進(jìn)而通過決策變量完成遺傳算法中適應(yīng)度函數(shù)的計(jì)算,便于整個(gè)遺傳算法迭代流程的進(jìn)行。 本文設(shè)計(jì)了一種基于相對開始成像時(shí)刻的實(shí)數(shù)編碼方式。將每個(gè)目標(biāo)點(diǎn)相對于其時(shí)間窗口的開始成像時(shí)刻作為基因,對于目標(biāo)點(diǎn)個(gè)數(shù)為n的觀測任務(wù),可利用n個(gè)基因構(gòu)成一個(gè)染色體。這樣便保證了遺傳算法在迭代過程中產(chǎn)生的可行解始終滿足約束條件f)。解碼過程基于每個(gè)基因點(diǎn)位對應(yīng)目標(biāo)點(diǎn)的時(shí)間窗口,得到其實(shí)際開始成像時(shí)刻,若目標(biāo)點(diǎn)的開始觀測時(shí)刻導(dǎo)致其觀測時(shí)長不滿足約束條件g),則代表其不進(jìn)行觀測。這樣通過一維實(shí)數(shù)編碼方式便可實(shí)現(xiàn)對目標(biāo)觀測狀態(tài)和成像時(shí)刻兩個(gè)決策變量的編碼與優(yōu)化求解。 目標(biāo)點(diǎn)擁有多個(gè)時(shí)間窗口時(shí),需要完成對時(shí)間窗口的選擇,這時(shí),對于每個(gè)目標(biāo)點(diǎn)對應(yīng)的基因點(diǎn)位,設(shè)定其取值范圍為所有時(shí)間窗持續(xù)時(shí)間的總和。對于解碼過程,首先將基因點(diǎn)位的取值按順序減去目標(biāo)時(shí)間窗口時(shí)長,當(dāng)?shù)玫降慕Y(jié)果為負(fù)時(shí),此時(shí)對應(yīng)的時(shí)間窗口即為目標(biāo)點(diǎn)的開始成像時(shí)刻所在的時(shí)間窗口。 基于以上分析,可以得到編碼過程的步驟: 2)對每個(gè)基因點(diǎn)位,在取值范圍內(nèi)生成隨機(jī)數(shù)作為其初始值,將所有基因點(diǎn)位結(jié)合成為一個(gè)染色體(個(gè)體),此時(shí)對某一條染色體的編碼完成。 3)反復(fù)執(zhí)行步驟2),直到染色體數(shù)量等于設(shè)定的最大染色體數(shù)量,完成初始染色體的編碼。 同樣地,也可得到單條染色體解碼的基本步驟: 1)對于目標(biāo)點(diǎn)ci,對應(yīng)基因點(diǎn)位取值為tri,令j=1,t=tri; 3)判斷t的取值,若t≥0,則令循環(huán)變量j增1,并返回至步驟2);若t<0,則轉(zhuǎn)到步驟4); 5)反復(fù)執(zhí)行步驟1)~4)直到染色體中每個(gè)個(gè)體都得到絕對成像時(shí)刻; 7)依據(jù)得到的每個(gè)目標(biāo)點(diǎn)的絕對開始成像時(shí)刻的早晚,對目標(biāo)點(diǎn)進(jìn)行排序,得到觀測序列,完成解碼。 表1給出了一組目標(biāo)點(diǎn)可見時(shí)間窗口的示例數(shù)據(jù),根據(jù)示例數(shù)據(jù)可以得到編碼解碼過程如圖3所示,圖中陰影的基因點(diǎn)位表示對應(yīng)目標(biāo)點(diǎn)不被觀測。 表1 目標(biāo)點(diǎn)時(shí)間窗口示例Table 1 Example of time windows of point targets 圖3 編碼與解碼過程示意圖Fig.3 Sketch of encoding and decoding process 相比于已有文獻(xiàn)[13,14,17-21]中的編碼方式,本文所述的編碼方式有如下優(yōu)勢: 1)編碼方式簡單:不同于文獻(xiàn)[13,19]中采用的二維編碼方式,本文僅通過一維編碼即可同時(shí)完成對兩個(gè)決策變量從解空間到搜索空間的完整映射,顯著降低了遺傳算子設(shè)計(jì)時(shí)的復(fù)雜度。 2)迭代效率高:不易產(chǎn)生無效的可行解。對于時(shí)間窗口相鄰且不存在重疊的目標(biāo)點(diǎn),其觀測順序必定是確定的。若采用現(xiàn)有的基于觀測序列的符號編碼方式,在進(jìn)行迭代過程中會(huì)出現(xiàn)時(shí)間窗口靠后的目標(biāo)點(diǎn)順序位于時(shí)間窗口靠前的目標(biāo)點(diǎn),這樣就造成了無效的可行解。對于基于相對成像時(shí)刻的編碼方式便不存在這類問題,在遺傳算法執(zhí)行過程中,其對于觀測序列的迭代優(yōu)化只存在于相互重合的時(shí)間窗口對應(yīng)的目標(biāo)點(diǎn)之間,對于不重合的時(shí)間窗口,只進(jìn)行成像時(shí)刻的優(yōu)化。 3)適用于長規(guī)劃周期,衛(wèi)星多軌道圈次,目標(biāo)多時(shí)間窗口的情況。目標(biāo)點(diǎn)存在多個(gè)時(shí)間窗口時(shí),首先需要完成對時(shí)間窗的選擇,利用本文的編碼方式,通過調(diào)整基因點(diǎn)位的取值便能完成時(shí)間窗口的選擇。而基于觀測序列的符號編碼方式較難完成對時(shí)間窗口的選擇。 3.2.1選擇算子 選擇算子采用精英保留策略和輪盤賭轉(zhuǎn)法(Roulette wheel selection,RWS)。 精英保留策略是指保留每一代中染色體適應(yīng)度函數(shù)值最大的,即適應(yīng)度函數(shù)值最高的染色體一定會(huì)被選中,遺傳至下一代。 對于其他染色體,則采用輪盤堵轉(zhuǎn)法確定其是否被選中。首先計(jì)算該染色體在整個(gè)中群眾被選中的概率和累計(jì)概率,表示為: (37) (38) 式中:Pi為第i個(gè)染色體被選中的概率;Qi為第1個(gè)染色體到第i個(gè)染色體的累計(jì)概率。N為種群中染色體數(shù)量。之后產(chǎn)生一個(gè)隨機(jī)數(shù)r∈(0,1),其滿足Qi-1 3.2.2自適應(yīng)交叉算子 交叉算子采用部分映射交叉法(Partial-mapped crossover,PMC)。具體做法為,對于待交叉的兩個(gè)個(gè)體,隨機(jī)確定兩個(gè)基因點(diǎn)位,將兩個(gè)點(diǎn)位之間的基因進(jìn)行調(diào)換,即完成交叉操作,如圖4所示。對于種群中相鄰的兩個(gè)染色體,以交叉概率Pc進(jìn)行交叉操作。Pc的大小基于染色體的適應(yīng)度值在一定范圍內(nèi)自適應(yīng)變化,由式(39)確定: (39) 其中,Pc1和Pc2分別代表交叉概率的上界和下界,在算法迭代開始時(shí)設(shè)定。為進(jìn)行交叉的兩個(gè)染色體中的較大的適應(yīng)度值,Favg和Fmax分別代表種群中的平均適應(yīng)度值和最大適應(yīng)度值。式(39)表示對于種群中適應(yīng)度較小的個(gè)體,采用較大的交叉概率,從而增加搜索效率,加快尋優(yōu)進(jìn)度。 3.2.3自適應(yīng)變異算子 變異算子中,首先根據(jù)變異概率Pm確定染色體是否發(fā)生變異,對于發(fā)生變異的染色體,隨機(jī)選取一個(gè)基因點(diǎn)位,然后生成該基因取值范圍內(nèi)隨機(jī)數(shù)進(jìn)行替代即可,如圖5所示。 圖5 變異過程Fig.5 Mutation process Pm同樣基于染色體的適應(yīng)度值在一定范圍內(nèi)自適應(yīng)變化,由式(40)確定: (40) 其中:Pm1和Pm2分別代表交叉概率的上界和下界,在算法迭代開始時(shí)設(shè)定。式(40)表示,對于適應(yīng)度較高的個(gè)體,采取較高的變異概率,防止其陷入局部最優(yōu),使得算法在迭代末期仍具有一定的尋優(yōu)能力,而由于精英保留策略的存在,較高的變異概率不會(huì)破壞已有的最優(yōu)個(gè)體。 通常情況下,遺傳算法的優(yōu)化目標(biāo)是使適應(yīng)度函數(shù)達(dá)到極小值,結(jié)合式(1)表征的指標(biāo)函數(shù),可定義適應(yīng)度函數(shù)如下: (41) 設(shè)通過遺傳算子迭代得到的染色體解碼后得到的可行解對應(yīng)的觀測序列和觀測時(shí)刻集分別為Q′,T′,根據(jù)3.1節(jié)可知,可行解Q′,T′滿足約束條件(e)(f)(g),但不一定滿足其他約束條件,需基于第2節(jié)所述的方法,以約束條件(a)(b)為以滿足的條件,對約束條件(c)(d)進(jìn)行檢查。對于序列中相鄰的兩目標(biāo)點(diǎn)ci,cj若兩目標(biāo)點(diǎn)間的姿態(tài)機(jī)動(dòng)時(shí)間不滿足約束條件(c)(d),則默認(rèn)刪除觀測序列Q′中的后序任務(wù),即目標(biāo)點(diǎn)cj,及其在T′中對應(yīng)的成像時(shí)刻tsj。通過對Q′的遍歷完成約束檢查,最后得到滿足所有約束條件的觀測序列與觀測時(shí)刻Q,T進(jìn)行適應(yīng)度函數(shù)計(jì)算。 綜上,可以得到RITC-AGA求解敏捷成像衛(wèi)星任務(wù)規(guī)劃問題的基本流程如圖6所示: 圖6 RITC-AGA流程圖Fig.6 Flow chart of RITC-AGA 本節(jié)主要考慮衛(wèi)星在較短的任務(wù)執(zhí)行時(shí)段,對待觀測目標(biāo)點(diǎn)最多只有一個(gè)可見時(shí)間窗口下的可行性驗(yàn)證。仿真采用個(gè)人PC完成,CPU型號為Intel Core i5-8300H@2.3 GHz,內(nèi)存為8 GB。 首先選取中國境內(nèi)的25個(gè)城市作為待觀測目標(biāo)點(diǎn),規(guī)定每個(gè)目標(biāo)點(diǎn)固定觀測時(shí)長為10 s,將目標(biāo)分成1~3級優(yōu)先級,劃分結(jié)果見表2。衛(wèi)星軌道為太陽同步軌道,衛(wèi)星的具體參數(shù)由表3給出。仿真過程中RITC-AGA的各項(xiàng)參數(shù)見表4。仿真結(jié)果如圖7、表5所示。 表5 對我國境內(nèi)25個(gè)城市進(jìn)行觀測的任務(wù)規(guī)劃結(jié)果(部分)Table 5 Task planning results of 25 cities in China (part) 圖7 RITC-AGA得到的觀測軌跡Fig.7 Observation trajectory obtained by RITC-AGA 表2 各目標(biāo)點(diǎn)(城市)的優(yōu)先級Table 2 Priority of each point target(city) 表3 衛(wèi)星參數(shù)Table 3 Satellite parameters 為進(jìn)一步測試本文算法的性能,繼續(xù)設(shè)計(jì)了目標(biāo)點(diǎn)數(shù)量分別為25、50、75、100,四組不同規(guī)模下的仿真實(shí)驗(yàn),并與基于序列編碼的遺傳算法(SGA)、基于混雜編碼的量子遺傳算法[19](HQGA)、啟發(fā)式蟻群算法[12](HACO)進(jìn)行對比。其中,HQGA在處理姿態(tài)機(jī)動(dòng)過程相關(guān)約束和姿態(tài)機(jī)動(dòng)路徑采用本文第2節(jié)敘述的方法,SGA和HACO采用文獻(xiàn)[12]敘述的姿態(tài)約束檢查與姿態(tài)機(jī)動(dòng)路徑確定方法。四種算法的參數(shù)設(shè)定由表4給出。仿真時(shí)間設(shè)定為24 Dec 2018 04∶00∶00——24 Dec 2018 04∶50∶00,目標(biāo)點(diǎn)均勻分布在衛(wèi)星在此段時(shí)間的星下點(diǎn)軌跡周圍并保證衛(wèi)星對每個(gè)目標(biāo)都可見,目標(biāo)點(diǎn)的優(yōu)先級隨機(jī)設(shè)定為1~3。衛(wèi)星參數(shù)與上述實(shí)驗(yàn)相同,每組仿真場景運(yùn)行50次,選取平均指標(biāo)函數(shù)值、平均任務(wù)完成數(shù)量、單個(gè)任務(wù)平均能耗、算法平均運(yùn)行時(shí)間作為評估指標(biāo)。仿真對比結(jié)果見表6。 表4 算法參數(shù)Table 4 Algorithm parameters 由表6可知,在問題規(guī)模相同的情況下,RITC-AGA相比其他三種方法總能得到更高的收益,驗(yàn)證了本文所設(shè)計(jì)算法的優(yōu)越性。進(jìn)一步,對比三種不同編碼方式的遺傳算法可知,在種群數(shù)量和迭代次數(shù)相同的情況下,基于相對觀測時(shí)刻編碼的遺傳算法在解決衛(wèi)星任務(wù)規(guī)劃問題時(shí)擁有較好的迭代效率,在完成任務(wù)數(shù)量和指標(biāo)函數(shù)值上總是優(yōu)于剩下兩者。特別地,SGA在問題規(guī)模增加時(shí),指標(biāo)函數(shù)值并未明顯增加,但任務(wù)完成率急劇下降,這是因?yàn)榛谛蛄芯幋a方式在迭代時(shí)會(huì)產(chǎn)生大量的無效序列,問題規(guī)模增加時(shí),無效序列所占比例會(huì)大幅增加,降低搜索效率。而RITC-AGA則是直接在時(shí)間域上進(jìn)行搜索,對于時(shí)間窗不重疊的目標(biāo),其觀測的先后順序固定,此時(shí)通過時(shí)間域的搜索優(yōu)化機(jī)動(dòng)能耗;對于時(shí)間窗口重合的目標(biāo),則是通過對觀測時(shí)刻的調(diào)整而調(diào)整前后的觀測順序,因而極大的增加了搜索效率,能夠得到更加優(yōu)質(zhì)的結(jié)果。 表6 單時(shí)間窗口下的4種算法優(yōu)化結(jié)果對比Table 6 Comparison of optimization results of four algorithms under single time window scenarios 對比單個(gè)任務(wù)平均能耗可知,RITC-AGA與HQGA結(jié)果相近,明顯優(yōu)于SGA和HACO。這是因?yàn)?SGA和HACO中,上層算法僅針對觀測序列進(jìn)行優(yōu)化,序列確定后,將觀測時(shí)刻固定在每個(gè)目標(biāo)點(diǎn)的最早可達(dá)時(shí)刻,并采用“最大加速-最大減速”的方式進(jìn)行姿態(tài)機(jī)動(dòng),而本文則是通過線性化的姿態(tài)動(dòng)力學(xué)方程和能量最優(yōu)理論對姿態(tài)機(jī)動(dòng)約束檢查和能耗估計(jì),同時(shí)RITC-AGA、HQGA均可對觀測時(shí)刻進(jìn)行進(jìn)一步優(yōu)化,因此,會(huì)得更低的機(jī)動(dòng)能耗。 對比四種算法運(yùn)行時(shí)間可知,SGA算法在各類場景中運(yùn)行時(shí)間均為最短,但問題規(guī)模增加時(shí),其解的質(zhì)量急劇下降。HACO在問題規(guī)模較小時(shí)運(yùn)行時(shí)間較短,但問題規(guī)模增加時(shí),其運(yùn)行時(shí)長也急劇增加,在星載計(jì)算機(jī)算力受限的環(huán)境下難以應(yīng)用。RITC-AGA在求解質(zhì)量和運(yùn)行時(shí)間上達(dá)到了互相平衡,能較好地適用于實(shí)際工程。 相同規(guī)模的目標(biāo)觀測問題,若規(guī)劃時(shí)長增加,衛(wèi)星在規(guī)劃時(shí)段內(nèi)對目標(biāo)通常有多個(gè)可見時(shí)間窗口,則決策變量的解空間也會(huì)有所增加。若算法有較強(qiáng)的尋優(yōu)能力,得到規(guī)劃結(jié)果應(yīng)優(yōu)于在單時(shí)間窗口下的規(guī)劃結(jié)果。因此,本節(jié)將設(shè)置與4.1節(jié)中相同的任務(wù)場景,將任務(wù)時(shí)間進(jìn)一步增加,以驗(yàn)證基于相對成像時(shí)刻編碼的遺傳算法在多時(shí)間窗口下的適用性。 保持衛(wèi)星和算法參數(shù)不變,將仿真時(shí)長設(shè)為一天,此時(shí)衛(wèi)星可以對某些目標(biāo)有多個(gè)可見時(shí)間窗口。首先以4.1節(jié)中觀測我國25個(gè)城市的仿真場景為例,進(jìn)行遺傳算法在衛(wèi)星對目標(biāo)有多個(gè)時(shí)間窗口情況下的仿真效驗(yàn),結(jié)果如圖8、表7所示。需要注意的是,衛(wèi)星在仿真時(shí)段內(nèi)會(huì)多次經(jīng)過中國上空,相鄰兩次經(jīng)過中國上空的時(shí)間間隔較大,因此,需要將連續(xù)進(jìn)行的觀測任務(wù)按照衛(wèi)星過境的次數(shù)劃分為不同的階段執(zhí)行,劃分依據(jù)為前后兩任務(wù)的時(shí)間間隔大于衛(wèi)星運(yùn)行的軌道周期,本算例中,觀測任務(wù)被劃分為3個(gè)階段,見表7。 圖8所示為RITC-AGA得到的觀測軌跡,在任務(wù)執(zhí)行時(shí)段內(nèi),衛(wèi)星共有三次經(jīng)過我國上空,目標(biāo)點(diǎn)的時(shí)間窗口數(shù)量最多為三個(gè),因此,整個(gè)規(guī)劃結(jié)果被分為三個(gè)觀測階段完成。表7給出了部分任務(wù)規(guī)劃結(jié)果,最終任務(wù)完成率為100%,指標(biāo)函數(shù)值為422.7648。三個(gè)階段中觀測的目標(biāo)點(diǎn)數(shù)量分別為10、7、8,各階段內(nèi)的觀測任務(wù)數(shù)量基本均衡。與圖7中衛(wèi)星對目標(biāo)只有一個(gè)時(shí)間窗口的情況相比,任務(wù)完成率提高了16%,指標(biāo)函數(shù)收益增加了14%,充分說明了算法在目標(biāo)具有多時(shí)間窗口下的有效性。 表7 目標(biāo)點(diǎn)有多時(shí)間窗口情況下的任務(wù)規(guī)劃結(jié)果(部分)Table 7 Task planning results with multiple time windows for point targets (part) 圖8 目標(biāo)點(diǎn)有多時(shí)間窗口時(shí)RITC-AGA得到的觀測軌跡Fig.8 Observation trajectory obtained by RITC-AGA when the point targets have multiple time windows 為衡量在不同問題規(guī)模下的算法性能,同樣設(shè)計(jì)了與4.1節(jié)中4類問題規(guī)模一致的測試場景,并將仿真時(shí)長均設(shè)定為1天,其他參數(shù)保持不變。由于SGA和HACO不具備在目標(biāo)有多時(shí)間窗口下的優(yōu)化能力,因此只進(jìn)行RITC-AGA與HQGA的對比實(shí)驗(yàn),最后得到的實(shí)驗(yàn)結(jié)果見表8。 由表8可知,任務(wù)規(guī)模相同時(shí),RITC-AGA在指標(biāo)函數(shù)值和任務(wù)完成率上均好于HQGA,與在單時(shí)間窗口下的仿真結(jié)果一致。雖然HQGA具備對目標(biāo)觀測狀態(tài)和觀測時(shí)刻兩個(gè)變量的求解能力,但由于其采用混雜編碼方式,將兩決策變量進(jìn)行獨(dú)立編碼,獨(dú)立迭代優(yōu)化,并未考慮兩變量之間的相互依存和耦合性,因此在迭代結(jié)果的最優(yōu)性上略差于RITC-AGA。以上對比實(shí)驗(yàn)結(jié)果進(jìn)一步說明了本文設(shè)計(jì)的基于遺傳算法的求解算法在長規(guī)劃周期,多時(shí)間窗口下的有效性。 表8 多時(shí)間窗口場景下兩算法優(yōu)化結(jié)果對比Table 8 Comparison of optimization results of the two algorithms under multiple time windows scenarios 本文針對敏捷成像衛(wèi)星對多點(diǎn)目標(biāo)連續(xù)觀測的任務(wù)規(guī)劃問題,將觀測收益和姿態(tài)能耗兩個(gè)指標(biāo)作為優(yōu)化指標(biāo),將目標(biāo)點(diǎn)觀測狀態(tài)和成像時(shí)刻作為決策變量。將衛(wèi)星在目標(biāo)姿態(tài)機(jī)動(dòng)的能量最優(yōu)問題看作一個(gè)最優(yōu)控制問題,并基于線性化的姿態(tài)動(dòng)力學(xué)模型完成能量最優(yōu)求解和姿態(tài)機(jī)動(dòng)約束檢查。設(shè)計(jì)了基于相對成像時(shí)刻編碼的自適應(yīng)遺傳算法完成規(guī)劃問題的求解,基于該編碼方式可同時(shí)完成對觀測序列和成像時(shí)刻兩個(gè)決策變量的求解優(yōu)化,且適用于長時(shí)間,多時(shí)間窗口的規(guī)劃問題。最后分別在單一時(shí)間窗口和多時(shí)間窗口下的不同規(guī)模的仿真對比實(shí)驗(yàn)驗(yàn)證了算法的優(yōu)越性和有效性。3 基于相對成像時(shí)刻編碼的自適應(yīng)遺傳算法
3.1 編碼與解碼規(guī)則設(shè)計(jì)
3.2 遺傳算子設(shè)計(jì)
3.3 適應(yīng)度函數(shù)計(jì)算
4 任務(wù)規(guī)劃典型算例
4.1 單一時(shí)間窗口下的任務(wù)規(guī)劃
4.2 多時(shí)間窗口下的任務(wù)規(guī)劃
5 結(jié) 論