趙 毓
(哈爾濱工業(yè)大學航天學院,哈爾濱 150001)
隨著人類對空間環(huán)境的探索和開發(fā),空間碎片的數(shù)量快速增長,對在軌運行的空間飛行器危害日益增長[1]。軌道機動避障技術是空間在軌服務等關鍵技術開展的基礎[2],以美國為首的各航天大國均已進行了多項研究[3-5],相關研究計劃包括美國國家航空航天局(NASA)的LEGEND[6]、法國的MEDEE[7]等。國內(nèi)錢宇等[8-9]對軌道規(guī)避進行了研究,構(gòu)造了規(guī)避體系和基礎框架,但并未給出詳細的控制決策算法。晉小偉給出了基于軌道根數(shù)的有限推力軌道動力學模型,并結(jié)合空間飛行器姿態(tài)控制對有限推力軌道機動進行仿真分析,利用高斯偽譜法對有限推力軌道規(guī)劃問題離散化獲得能量最優(yōu)解[10]。蘇飛等[11]對軌道面內(nèi)規(guī)避機動進行了最優(yōu)脈沖分析。上述學者的研究分別在空間避障和有限推力軌道轉(zhuǎn)移方向取得了一定成果,但傳統(tǒng)高斯偽譜法求解速度無法滿足飛行器在軌實時避障決策需求,工程上也很難為空間飛行器提供瞬時大推力,所以有必要對有限推力空間飛行器在軌實時避障機動決策進行研究。
本文針對有限推力避障場景建立了J2000地心慣性坐標系下軌道動力學模型,在此基礎上將新興自學習神經(jīng)網(wǎng)絡技術與有限推力軌道快速機動技術相結(jié)合[12-13],使空間飛行器在軌運行期間具備自主避障能力。區(qū)別于傳統(tǒng)離線軌道機動規(guī)劃技術[14-15],本文應用強化學習理論設計了一種針對空間飛行器避障機動問題的自學習仿真架構(gòu),通過離線神經(jīng)網(wǎng)絡訓練實現(xiàn)航天器有限推力變軌時機在線自主決策能力,軌跡規(guī)劃結(jié)果相近情況下,規(guī)劃時間比傳統(tǒng)高斯偽譜法更優(yōu)。該自學習仿真架構(gòu)中以地心慣性系有限推力軌道轉(zhuǎn)移動力學為基礎,建立了以軌道轉(zhuǎn)移時間為訓練回報函數(shù)參數(shù)的評價機制。通過仿真給出特定約束條件下空間飛行器能量最優(yōu)有限推力軌道轉(zhuǎn)移避障機動方法,仿真結(jié)果與傳統(tǒng)高斯偽譜法離線軌跡優(yōu)化所得結(jié)果進行對比,可得本文所述算法得到的軌跡規(guī)劃時間更短,軌道轉(zhuǎn)移機動耗時、耗能較優(yōu)。
傳統(tǒng)的空間飛行器軌道問題研究,動力學方程通常是在發(fā)射系或軌道系中給出。此類動力學方程參數(shù)可以方便地與空間飛行器本體坐標系轉(zhuǎn)換,從而便于對制導控制系統(tǒng)進行簡化。本文所研究空間避障問題的障礙物可以是非合作目標,其相關參數(shù)需要通過遙測等方法給出,不宜使用上述坐標系對其進行描述。針對空間交會問題的C-W方程既未考慮攝動影響,又存在運算資源消耗大的問題,亦不適于本文對在軌實時決策的研究。所以,本文建立了基于J2000地心慣性坐標系的空間飛行器、障礙物軌道動力學方程,該方法可以直接使用空間位置和速度來描述空間物體在軌狀態(tài),可以更為直觀和簡便的在自學習系統(tǒng)中進行運算,進而提高系統(tǒng)的解算速度。
在地球引力與發(fā)動機推力,以及地球引力攝動、日月引力攝動和大氣阻力攝動作用下,航天器對地心的相對運動方程一般矢量形式為:
其中,r是航天器空間位置矢量;μ為地球引力常數(shù),其值為3.986×105km3/s2;T為發(fā)動機推力大??;m是航天器瞬時質(zhì)量;u為發(fā)動機推力方向單位矢量;fp是作用在航天器上的攝動加速度矢量。由此航天器在地心慣性坐標系中的運動可以描述為:
其中,x,y,z分別為航天器位置矢量沿J2000坐標系坐標軸的分量;vx,vy,vz分別為航天器速度矢量沿三維坐標軸的分量;ux,uy,uz分別為推力方向單位矢量沿J2000坐標軸的分量;T在前文中已給出;fpx,fpy,fpz為攝動加速度沿三維坐標軸的分量,為本文軌道機動控制方法主要控制量。
本文所用推力模型為0.01≤T/m0<2。該模型為空間飛行器推力模型中普適性最高的模型,發(fā)動機推力較小且作用時間較長。對于常值比沖發(fā)動機,其質(zhì)量變化率表示為:
其中,T與前文定義相同;Ve為發(fā)動機排氣速度;Isp為發(fā)動機比沖;g0為海平面處地球重力加速度,本文所采用發(fā)動機均為常比沖發(fā)動機。
如前文所述,諸多學者對空間飛行器有限推力軌跡規(guī)劃問題進行了詳細的研究,但其研究方法多是基于數(shù)值分析和力學推演等形式。此類方法如果更換問題條件或初始狀態(tài)變化過大,就需重新進行數(shù)學推導和設計,對實際工程問題的適應性較差。本文采用基于神經(jīng)網(wǎng)絡的強化學習架構(gòu)對自主避障決策訓練系統(tǒng)進行設計,可以很大程度上彌補傳統(tǒng)方法適應性不足的問題。
考慮到空間環(huán)境中飛行器和障礙物可移動范圍較大導致變量連續(xù)取值范圍過大的情況,傳統(tǒng)強化學習方法是基于環(huán)境交互試錯的形式,容易產(chǎn)生運算量指數(shù)極限上升。且傳統(tǒng)強化學習方法泛化性能差,實際工程應用中不能僅使用有限離散求解問題,易產(chǎn)生組合爆炸。所以本文對自主避障問題的強化學習框架進行了修改和優(yōu)化,使其具備解決空間有限推力決策問題的泛化能力。
自學習系統(tǒng)的目標是通過模擬訓練和學習初始參數(shù)與避障參數(shù)之間的變化關系,對有限推力避障參數(shù)進行Q值評價,從而取得優(yōu)化的避障機動能力。在空間有限推力軌跡規(guī)劃問題中可供分析使用的參量較多,避障場景又引入障礙物相關參數(shù),不利于在線實時運算。為了決策系統(tǒng)具備泛化能力,本文選取飛行器和空間障礙物在慣性系下各三自由度位置、速度參數(shù)做為強化學習神經(jīng)網(wǎng)絡系統(tǒng)的輸入?yún)?shù),共計12個輸入節(jié)點,并在運算過程中采取參數(shù)歸一化的方法。
神經(jīng)網(wǎng)絡針對非線性問題有強大的逼近功能,本文使用多層誤差反向傳播神經(jīng)網(wǎng)絡對避障決策問題進行研究。設計了一種包含兩個隱層的神經(jīng)網(wǎng)絡結(jié)構(gòu),輸入變量是十二維的,輸出變量是三維的,輸出變量分別對應于機動起始時刻、總機動時間和飛行器與障礙物間最短距離。利用神經(jīng)網(wǎng)絡的泛化功能,可以使強化學習環(huán)境狀態(tài)和動作取得連續(xù)值。
本文采用了Q學習與案例學習相結(jié)合的方法實現(xiàn)航天器對避障環(huán)境進行變軌機動學習。學習系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 學習系統(tǒng)的結(jié)構(gòu)Fig.1 The structure of self-learning system
航天器決策系統(tǒng)學習的結(jié)果以案例形式保存在案例庫中,使得航天器與環(huán)境交互時的經(jīng)驗能夠有效利用;同時相關案例反過來指導航天器對新場景繼續(xù)學習。案例庫隨著學習的進行得到動態(tài)更新,確保學習是以增量的方式進行。通過預置先驗案例(非最優(yōu))也可以避免航天器在與環(huán)境交互時產(chǎn)生錯誤行為。
神經(jīng)網(wǎng)絡的學習和Q值學習是同步進行的,且存在交互。首先使用評價函數(shù)算法更新Q值,使神經(jīng)網(wǎng)絡能夠逼近最優(yōu)的Q函數(shù)。同時用神經(jīng)網(wǎng)絡算法更新網(wǎng)絡權值以逼近問題最優(yōu)解。只要Q函數(shù)沒達到閾值范圍,兩個學習過程就會不斷更新網(wǎng)絡權值達到學習的目的。Q學習提供神經(jīng)網(wǎng)絡所需的參考值,神經(jīng)網(wǎng)絡學習過程不斷逼近Q函數(shù),使Q函數(shù)提供的參考值更加接近最優(yōu)。
結(jié)合案例庫進行Q值強化學習,強化學習過程中部分使用當前的生成案例,部分基于過去的案例。一旦算法探索到最優(yōu)目標狀態(tài)獎勵空間,案例庫中就會形成一致性很好的學習案例集。案例庫更新原理如圖2所示。
圖2 案例庫更新規(guī)則示意圖Fig.2 Diagram of case base updating rules
前文中已簡要給出自學習系統(tǒng)中神經(jīng)網(wǎng)絡結(jié)構(gòu)參數(shù),下面將對仿真系統(tǒng)中其他環(huán)節(jié)進行分析設計。仿真系統(tǒng)流程示意圖如圖3所示。
圖3 自學習系統(tǒng)的運行流程示意圖Fig.3 Diagram of self-learning system operation process
本文采用誤差反饋神經(jīng)網(wǎng)絡做有限推力避障自決策網(wǎng)絡。該網(wǎng)絡有四層節(jié)點,輸入層為12個節(jié)點,第一隱層為15個節(jié)點,第二隱層為6個節(jié)點,輸出層為3個節(jié)點。輸入層和輸出層參數(shù)物理意義已在前文給出。
學習結(jié)果評價Q值函數(shù)如下:
其中,Tst為初始有限推力機動時刻,toff為機動總耗時,Pdt為機動過程中飛行器與障礙物距離評價值。仿真開始時,可根據(jù)飛行器集合外形設定Pdt參數(shù)的評價區(qū)間,飛行器與障礙物的距離過近或過遠都將影響該值。因此,所得評價Q值越小的方案性能越優(yōu)。
為了提高系統(tǒng)的訓練速度,設定在一系列案例學習過程中,當Q值滿足特定閾值范圍時即終止學習過程,此時認為神經(jīng)網(wǎng)絡決策系統(tǒng)已經(jīng)訓練成型。隨后將訓練成型的神經(jīng)網(wǎng)絡進行固化操作,使用其對特定場景進行有限推力避障決策,并與傳統(tǒng)有限推力規(guī)劃方法進行比較分析。
在自學習系統(tǒng)訓練過程中,更改仿真參數(shù)是以增量規(guī)則進行的。同一組輸入?yún)?shù)可以被多次訓練,但不應超過限定次數(shù),否則會過多占用學習資源。本文中將同一輸入最大出現(xiàn)次數(shù)設定為1000次,該次數(shù)可根據(jù)飛行器與障礙物交會時間近似確定。自學習系統(tǒng)對某一組參數(shù)訓練達到Q值閾值或最大次數(shù)時,將不再對此組參數(shù)進行學習,改變輸入條件將會進行新的仿真學習。
利用文中所述自學習系統(tǒng)對特定場景空間飛行器有限推力自主避障問題進行仿真研究??臻g飛行器初始時刻的質(zhì)量為450kg,其中主推進劑質(zhì)量為50kg,發(fā)動機推力為400N。 為了簡化計算,設定理想化空間飛行器和障礙物的初始軌道參數(shù)參見表1。
表1 飛行器和障礙物初始軌道參數(shù)表Table 1 Initial orbital parameters table for aircraft and obstacles
初始時刻飛行器和障礙物的位置、速度參數(shù)參見表2。
表2 飛行器和障礙物初始位置速度參數(shù)Table 2 Initial position and velocity parameters of aircraft and obstacles
有限推力避障機動時間取值范圍為初始時刻到無機動飛行器與障礙物碰撞時刻之間,本算例中近似100 s。在軌跡動力學推演過程中,取仿真步長為0.1s。
自學習系統(tǒng)相關參數(shù)已在3.3節(jié)中給出。
應用本文所述方法對上述空間飛行器避障機動方法進行軌跡設計。神經(jīng)網(wǎng)絡訓練狀態(tài)如圖4所示。
圖4 神經(jīng)網(wǎng)絡訓練狀態(tài)Fig.4 Training state of neural network
得到飛行器軌跡仿真結(jié)果如圖5和圖6所示。
圖5 有限推力軌道機動圖Fig.5 Diagram of orbital maneuver with finite-thrust
圖6 飛行器與障礙物距離圖Fig.6 Distance between spacecraft and obstacles
由圖5、圖6可知,應用本文所述方法可以有效地解決有限推力空間飛行器避障問題。為了對比分析,又使用傳統(tǒng)高斯偽譜法對本仿真算例進行推導計算。通過高斯偽譜法規(guī)劃所得轉(zhuǎn)移軌跡中施加推力所耗時間為63.244s,規(guī)劃過程計算耗時約為4.4s;通過本文所述強化學習神經(jīng)網(wǎng)絡決策系統(tǒng)進行轉(zhuǎn)移軌跡規(guī)劃,所得軌跡中施加推力時間為63.2s,決策過程耗時約為0.42s。由此可見本文所述方法相比高斯偽譜法所得轉(zhuǎn)移時間更短,軌跡規(guī)劃計算過程耗時更短,且占用較少計算資源??捎糜陲w行器在線自主避障機動,能夠得到較優(yōu)結(jié)果。
本文針對有限推力空間飛行器自主避障問題,根據(jù)自學習框架需求,推導了地心慣性坐標系下空間飛行器動力學方程。然后設計了基于Q值與案例學習的強化學習仿真框架,并根據(jù)給定案例進行了數(shù)值仿真,通過與傳統(tǒng)方法的對比分析,證實了本決策仿真系統(tǒng)的正確性和有效性。得出了以下主要結(jié)論:
(1) 本文在傳統(tǒng)軌跡規(guī)劃方法的基礎上,為有限推力空間飛行器的避障機動問題提供了新的求解方法;
(2)應用本文方法可以快速對有限推力避障軌跡進行規(guī)劃和處理,相比傳統(tǒng)高斯偽譜法規(guī)劃耗時更短,求得能耗與高斯偽譜法近似;
(3)本方法計算量更小,通過訓練形成的神經(jīng)網(wǎng)絡可以提供實時軌跡規(guī)劃能力。