朱立穎,葉志玲,李玉慶,付中梁,徐 勇
(1.北京空間飛行器總體設(shè)計部,北京 100094;2.哈爾濱工業(yè)大學(xué)航天學(xué)院,哈爾濱 150001;3.國家國防科工局探月與航天工程中心,北京 100190)
小天體探測作為深空探測的重要組成部分,是人類探索和開發(fā)浩瀚宇宙的主要途徑,世界各國都競相開展各自的小天體探測任務(wù)和計劃,掀起了新一輪深空探測活動的熱潮。小天體探測航行距離遠(yuǎn)、時間長,探測任務(wù)復(fù)雜,通過上傳詳細(xì)命令序列的方式來操作和控制小天體探測器的方法受到嚴(yán)峻地挑戰(zhàn)。探測器與地球距離的增加,以光速傳輸數(shù)據(jù)的通訊時間延遲可能達(dá)到半個小時之多;探測器與地球之間存在遮擋,可能造成長時間與地球失去聯(lián)系;通過地面發(fā)送指令來控制的方式是開環(huán)控制,某個命令稍有錯誤便會引起數(shù)據(jù)的丟失,甚至整個任務(wù)的失敗;在命令序列執(zhí)行過程中的意外的硬件故障和環(huán)境的不可預(yù)期變化將引起探測器的狀態(tài)偏離,從而導(dǎo)致探測器拋棄上傳序列并進(jìn)入安全模式,等待地面再次產(chǎn)生新的命令序列。因此小天體探測自主任務(wù)規(guī)劃技術(shù)受到廣泛關(guān)注。
對于自主任務(wù)規(guī)劃技術(shù),國外以美國為代表,已經(jīng)開發(fā)了一些規(guī)劃系統(tǒng),例如美國國家航空航天局(National Aeronautics and Space Administration,NASA)針對火星探測器研發(fā)了MAPGEN[1]、Mr SPOCK[2]和SPIFE[3]任務(wù)規(guī)劃系統(tǒng);針對以哈勃望遠(yuǎn)鏡為代表的太空望遠(yuǎn)鏡開發(fā)了SPIKE任務(wù)規(guī)劃系統(tǒng)。
本文面向小行星探測的自主繞飛探測任務(wù)進(jìn)行智能規(guī)劃研究,針對平臺自主管理和載荷自主規(guī)劃兩大需求,分別進(jìn)行模型建立與算法設(shè)計,并開發(fā)仿真系統(tǒng)進(jìn)行綜合驗證。旨在減少探測器對深空測控網(wǎng)絡(luò)的依賴、降低深空探測任務(wù)由地面站收集信息、處理、形成命令序列的操作代價,從而提高實時控制能力和故障應(yīng)對能力,保持長期穩(wěn)定在軌運行。
當(dāng)前小天體探測以飛越、繞飛、著陸和采樣等探測任務(wù)和目標(biāo)為主。小天體探測任務(wù)復(fù)雜性對自主規(guī)劃需求主要體現(xiàn)在以下幾個方面。
1)具備自我診斷及管理能力
器上平臺系統(tǒng)是小天體探測器的保障,在不依賴地面控制的前提下,需具備核心設(shè)備自主管理能力。關(guān)注資源控制、健康監(jiān)測等保障小天體探測器正確運行的基本任務(wù)。
2)具備應(yīng)對未知風(fēng)險的能力
在軌運行將面臨日凌或太陽耀斑爆發(fā)等情況,日凌可導(dǎo)致器地通信中斷。探測器在該階段具有脫離地面測控的穩(wěn)定運行能力。同時依據(jù)測定軌信息完成進(jìn)出日凌自主管理,自主切換至日凌期工作模式。
3)具備關(guān)鍵事件的可靠執(zhí)行能力
在小天體探測器的整個任務(wù)階段,有若干個影響任務(wù)成敗的關(guān)鍵事件,例如器箭分離、與小行星交會、探測器下降等。這些事件時序要求強,不能中斷。如何讓器上執(zhí)行這些關(guān)鍵事件時,不受測控鏈路因素的影響,提高關(guān)鍵事件完成的可靠性與精準(zhǔn)性。
4)具備連續(xù)自主運行能力
隨著深空探測任務(wù)的增加,由于地面站資源有限,操作人員將無法經(jīng)常對各個航天器進(jìn)行管理,此時就迫切需要深空探測器具有長期連續(xù)自主運行能力。
5)具備面向科學(xué)任務(wù)的自主規(guī)劃處理能力
隨著技術(shù)的成熟和發(fā)展,自主技術(shù)將會更注重深空探測任務(wù)的核心目標(biāo)——科學(xué)目標(biāo)的實現(xiàn)程度,此時自主系統(tǒng)將重點突出科學(xué)數(shù)據(jù)的處理、科學(xué)現(xiàn)象的在軌發(fā)現(xiàn)、突發(fā)科學(xué)事件的自主跟蹤觀測等面向科學(xué)的自主功能。
小天體自主繞飛探測是適宜驗證自主運行能力的典型任務(wù)場景,其任務(wù)需求包含前期普查、后期重點區(qū)域詳查、能源安全、載荷數(shù)據(jù)傳輸、遙測數(shù)據(jù)回傳等典型需求。小行星繞飛探測任務(wù)需求的特點和難點主要體現(xiàn)在需要在短時間內(nèi)完成對小行星的普查和詳查,并尋找到最佳著陸點,實現(xiàn)平臺和載荷資源的高效利用。本文以小天體自主繞飛探測為目標(biāo),研究了智能規(guī)劃設(shè)計方法。
小天體自主繞飛探測任務(wù)中,首先需要規(guī)劃管理探測器系統(tǒng)來保障基本的系統(tǒng)運行和任務(wù)執(zhí)行,探測器系統(tǒng)包括許多分系統(tǒng),例如姿態(tài)控制系統(tǒng)、導(dǎo)航系統(tǒng)、電源系統(tǒng)、推進(jìn)系統(tǒng)等許多分系統(tǒng),而且這些分系統(tǒng)的運行是相互耦合的。其次需要對探測目標(biāo),結(jié)合存儲、能源、通信等多種約束進(jìn)行任務(wù)規(guī)劃,確定探測任務(wù)何時開始、何時結(jié)束及何種探測載荷執(zhí)行,充分、合理地利用珍貴而有限的探測資源。這兩部分的規(guī)劃優(yōu)化相互耦合,形成閉環(huán)。具體耦合方式如圖1、解決方案如圖2所示,本文將智能規(guī)劃系統(tǒng)根據(jù)任務(wù)需求分解為平臺自主管理及載荷自主規(guī)劃,分別針對規(guī)劃特點開展了規(guī)劃設(shè)計工作。
圖1 需求關(guān)系圖Fig.1 Mission requirements
圖2 總體方案圖Fig.2 Overall schematic diagram
針對探測器領(lǐng)域的特點,引入面向?qū)ο笾R表示方式,基于PDDL(Planning Domain Definition Language,PDDL)[4]語言將活動的時間信息、資源信息以及活動之間的約束等信息進(jìn)行描述,建立適合探測器領(lǐng)域的規(guī)劃知識模型。
PDDL是傳統(tǒng)規(guī)劃領(lǐng)域編碼標(biāo)準(zhǔn)語言,包含了規(guī)劃領(lǐng)域最早的領(lǐng)域描述語言STRIPS[5]和具有更豐富表達(dá)能力和建模能力的ADL,給出了詳細(xì)的規(guī)劃的語法和語義,可以方便地描述謂詞、目標(biāo)、活動、初始狀態(tài)等。一般形式如下:
(define(domain
[....]
)
主要針對數(shù)傳、電源、存儲及有效載荷幾個分系統(tǒng),建立探測器自主管理知識模型。基于PDDL語言描述的探測器自主管理知識模型主要包括域文件(Domain file)和問題文件(Problem file),其中,域文件(Domain file)主要用于描述衛(wèi)星任務(wù)規(guī)劃領(lǐng)域的通用知識,問題文件(Problem file)主要用于描述與具體規(guī)劃問題相關(guān)的內(nèi)容。通過表1~4 展示部分表格,示意知識模型結(jié)構(gòu)。
表1 域文件對象類型表Table 1 Domain file object type table
表2 部分域文件Table 2 Dommain file
表3 部分動作描述表Table 3 Partial action description table
表4 問題文件示意Table 4 Problem file
解決知識表示問題之后,針對探測器自主管理知識模型設(shè)計求解算法,以達(dá)到針對地面上注的某一高級任務(wù)指令,由探測器自主進(jìn)行規(guī)劃搜索、分配資源和時間、建立指令序列,最終完成預(yù)期任務(wù)的目的。
采用狀態(tài)及狀態(tài)時間線對航天器規(guī)劃問題進(jìn)行描述,提出一種基于狀態(tài)擴展的深空探測器自主任務(wù)規(guī)劃算法,算法根據(jù)給定的初始狀態(tài)、中止?fàn)顟B(tài)和要實現(xiàn)的目標(biāo)任務(wù)進(jìn)行擴展,其主要是通過時間線內(nèi)和時間線間的不斷擴展,直至滿足所有約束。具體過程如圖3所示。
任務(wù)規(guī)劃是一個規(guī)劃與調(diào)度過程,其中規(guī)劃為生成能夠?qū)崿F(xiàn)目標(biāo)的任務(wù)指令序列,而調(diào)度是完成任務(wù)指令序列的處理,以使其能夠滿足資源的約束。本文采用規(guī)劃和調(diào)度分開的方式,即先在不考慮資源的情況下生成任務(wù)序列,然后再加入資源時間線,進(jìn)一步擴展,最后獲得與狀態(tài)時間線對應(yīng)的動作序列,從而完成最終的任務(wù)規(guī)劃。
圖3 基于狀態(tài)擴展的任務(wù)規(guī)劃流程Fig.3 Task planning algorithms based on state extension
探測器飛行過程中進(jìn)行的任務(wù)規(guī)劃可以簡單地理解為確定飛行任務(wù)目標(biāo)并根據(jù)飛行任務(wù)目標(biāo)制定控制探測器運行的任務(wù)方案。對深空探測器來說,一旦投入使用,所有探測器上活動都必須在計算速度、存儲器空間、電源等資源環(huán)境固定的條件下進(jìn)行,而且不可能對系統(tǒng)進(jìn)行資源擴充。在這種資源一定的情況下,探測器的任務(wù)規(guī)劃就可以歸結(jié)到典型的資源受限的規(guī)劃與調(diào)度問題。本文所涉及的探測器任務(wù)規(guī)劃與調(diào)度的概念和算法就是在此基礎(chǔ)上進(jìn)行論述的。探測器任務(wù)規(guī)劃問題是動態(tài)的,它的動態(tài)特性是由于飛行任務(wù)目標(biāo)的可變性、狀態(tài)信息的不完整、不可預(yù)見的干擾等特性造成的。
為簡化建模問題,本文對探測器任務(wù)自主規(guī)劃問題做出以下合理假設(shè)[6-7]:
1)活動是不可分離的,即一項活動一旦開始,就必須一直進(jìn)行到完成,中途不許中斷;
2)允許活動因資源沖突而等待;
3)在某活動的進(jìn)行過程中系統(tǒng)所獲得的資源是恒定的,活動所需的資源也是恒定的。
根據(jù)深空探測領(lǐng)域的特點,給出深空探測器任務(wù)規(guī)劃問題的形式化定義:
定義1深空探測器任務(wù)規(guī)劃問題Φ用一個五元組描述
給定這樣一個規(guī)劃問題,下一步任務(wù)就是根據(jù)目標(biāo)要求和系統(tǒng)初始狀態(tài),找到規(guī)劃問題的解,即找到一組有序活動使其滿足所有約束,并且在執(zhí)行以后能夠達(dá)到所要求的目標(biāo)狀態(tài)。
定義2規(guī)劃問題Φ=
的解是一個n元組其中且滿足:
3)活動的執(zhí)行最終結(jié)果狀態(tài)集合包含目標(biāo)集G。
規(guī)劃問題所有解的集合定義為ΓP。
小行星探測任務(wù)規(guī)劃問題的關(guān)鍵約束條件的數(shù)學(xué)表達(dá),包括目標(biāo)觀測約束、觀測時間窗約束和衛(wèi)星唯一觀測約束等。
假設(shè)規(guī)劃過程包括n個設(shè)計活動,n∈A,系統(tǒng)可獲得m種資源,每種資源的數(shù)量已給定。本文設(shè)定了3種探測器任務(wù)規(guī)劃問題的優(yōu)化目標(biāo):
1)目標(biāo)函數(shù)一:觀測目標(biāo)收益最大
2)目標(biāo)函數(shù)二:觀測目標(biāo)數(shù)目最大
3)目標(biāo)函數(shù)三:總執(zhí)行時間最短
探測器任務(wù)規(guī)劃問題作為一個帶有時間窗約束的復(fù)雜組合優(yōu)化問題,使用傳統(tǒng)優(yōu)化算法對其求解時雖然能夠以較少的時間獲取一定質(zhì)量的解,但實踐證明該解仍有較大的提升空間。相比之下,遺傳算法能夠獲取質(zhì)量更高的解。遺傳算法的基本原理是通過適宜的方式進(jìn)行編碼,隨機得到初始種群,基于目標(biāo)函數(shù)計算適應(yīng)值,每代選擇適應(yīng)值高的個體進(jìn)行保留,并用于交叉、變異得到子代,始終保留最優(yōu)個體,當(dāng)滿足終止條件時用于輸出。從遺傳算法的原理可知,遺傳算法是一種隨機性的搜索算法,需要逐步在整個解空間中搜索,對航天器的任務(wù)規(guī)劃問題的決策變量數(shù)量多,與之相應(yīng)的解空間也自然巨大,因此算法時間開銷較大;同時,由于GA是一種隨機性算法,算法的實用性要求求解對地觀測星群任務(wù)規(guī)劃的遺傳算法必須能夠穩(wěn)定地獲取高質(zhì)量的解,這也是GA設(shè)計的一個難點。
適應(yīng)值是遺傳算法中選擇的方向和標(biāo)志,本文直接將數(shù)學(xué)模型中的目標(biāo)函數(shù)(1)選取為適應(yīng)值函數(shù)。完整的遺傳算法求解模型為
在利用遺傳算法進(jìn)行衛(wèi)星任務(wù)規(guī)劃時,常采用二進(jìn)制編碼方式,考慮場景設(shè)置中規(guī)劃的時長周期可能較長,目標(biāo)的可見時間窗口數(shù)量很多,采用二進(jìn)制編碼方式時染色體過長,而染色體的每一位都需要利用約束條件進(jìn)行沖突檢查,這將導(dǎo)致運算時間過長,降低算法效率,所以在這里采用了實數(shù)編碼的方式,如圖4所示。
圖4 遺傳算法實數(shù)編碼方式Fig.4 Real Number coding of genetic algorithms
染色體每一位代表一個目標(biāo)。例如,對于全體目標(biāo)集合I中的一個目標(biāo)i,它對應(yīng)染色體的第i位,假設(shè)這一位的取值為wi,目標(biāo)i對于探測器一共有ni個可見窗口將每一個時間窗口編號使其分別與1~ni一一對應(yīng),則染色體在該位的取值wi為這ni個自然數(shù)中的一個,表示這一目標(biāo)的觀測任務(wù)選擇目標(biāo)i的第wi個時間窗口來完成。這樣就建立了染色體與問題的搜索空間的點之間的映射關(guān)系。本文設(shè)計的遺傳算法流程圖見如圖5。
第1步:對每一個任務(wù)按照實數(shù)編碼方式進(jìn)行編碼,產(chǎn)生初始種群。
圖5 算法流程Fig.5 Arithmetic flow
第2步:考慮各種約束條件對染色體每一位即每一任務(wù)進(jìn)行約束沖突檢查,沒有通過沖突檢查的任務(wù)則放棄執(zhí)行,令染色體該位的值為0。
第3步:完成檢查后計算每一個體的目標(biāo)函數(shù)適應(yīng)值,獲得具有最高適應(yīng)值的最佳個體。
第4步:若滿足結(jié)束條件,則停止算法,轉(zhuǎn)向第5步;否則按選擇機制選擇個體進(jìn)入交配池,完成變異、交叉操作產(chǎn)生新個體,并進(jìn)行種群更新得到下一代種群,返回第2步。
第5 步:算法結(jié)束,獲得進(jìn)化之后的最佳個體,輸出相應(yīng)的規(guī)劃方案。
對上述方法開發(fā)仿真系統(tǒng)進(jìn)行驗證,計算獲得的指令序列的圖形化顯示,星上能源、光照、姿態(tài)角度變化情況的圖形化顯示等。如圖6~圖7所示。
圖6表明,該方法可綜合平臺與載荷需求,對小天體繞飛探測任務(wù)進(jìn)行統(tǒng)一的任務(wù)規(guī)劃,并得到指令序列和動作序列,圖7表明該方法可在存儲、能源、通信等多種約束條件下,對任務(wù)規(guī)劃進(jìn)行優(yōu)化,提高任務(wù)管控的智能化程度,降低任務(wù)操作的復(fù)雜性,同時保障探測資源的合理使用及任務(wù)的充分完成。
圖6 深空探測器自主運行仿真系統(tǒng)結(jié)果圖Fig.6 Simulation system diagram of deep space detector autonomous operation
圖7 觀測任務(wù)規(guī)劃優(yōu)化過程圖Fig.7 Observation mission planning optimization process chart
本文針對小天體探測自主繞飛智能規(guī)劃問題,將該問題分解為平臺任務(wù)智能規(guī)劃和載荷任務(wù)智能規(guī)劃兩部分。針對平臺任務(wù)智能規(guī)劃問題,基于PDDL語言設(shè)計了探測器自主管理知識模型,提出了基于狀態(tài)時間線擴展的求解算法;針對任務(wù)智能規(guī)劃問題,建立了基于CSP問題的智能規(guī)劃數(shù)學(xué)模型,提出了基于遺傳策略的求解算法。最后開發(fā)了仿真系統(tǒng)進(jìn)行算法驗證。仿真結(jié)果表明:該方法可綜合平臺與載荷需求,在存儲、能源、通信等多種約束條件下,對繞飛探測任務(wù)進(jìn)行統(tǒng)一的任務(wù)規(guī)劃,并得到指令序列和動作序列,能夠提高任務(wù)管控的智能化程度,降低任務(wù)操作的復(fù)雜性。綜上,該方法對小天體探測具有一定的應(yīng)用意義和工程價值。
小天體探測智能規(guī)劃技術(shù)是后續(xù)小天體探測任務(wù)重要的技術(shù)支撐,后續(xù)智能規(guī)劃技術(shù)仍需從具有廣泛性和精確性的器上知識模型庫、動態(tài)規(guī)劃能力、高速并行處理器等方面開展持續(xù)的研究,支撐小行星自主探測及深空探測智能規(guī)劃的發(fā)展。