鄭鶴鳴,翟 光,孫一勇
(北京理工大學(xué)宇航學(xué)院,北京 100081)
衛(wèi)星在軌加注技術(shù)可以有效延長(zhǎng)科學(xué)衛(wèi)星、戰(zhàn)略衛(wèi)星等高價(jià)值衛(wèi)星的在軌運(yùn)行壽命,從而得到了廣泛的關(guān)注和研究。美國(guó)DARPA提出并執(zhí)行的“軌道快車”計(jì)劃[1-2]中,服務(wù)星AETRO利用攜帶的電動(dòng)泵和高壓氣瓶作為燃料傳輸動(dòng)力,成功向目標(biāo)星NextSat衛(wèi)星進(jìn)行了燃料加注。美國(guó)NASA、歐空局還計(jì)劃建設(shè)空間“加油站”,實(shí)現(xiàn)實(shí)時(shí)、高效地對(duì)需要燃料補(bǔ)給的衛(wèi)星進(jìn)行在軌加注。
在軌加注任務(wù)成功的關(guān)鍵在于加注過程中保持服務(wù)星和目標(biāo)星組成的在軌加注組合體的姿態(tài)穩(wěn)定。但是,燃料由服務(wù)星向目標(biāo)星進(jìn)行傳輸,導(dǎo)致在軌加注組合體的轉(zhuǎn)動(dòng)慣量發(fā)生實(shí)時(shí)變化[3]。并且,隨著航天技術(shù)的發(fā)展,衛(wèi)星呈現(xiàn)大規(guī)?;托⌒突厔?shì),大規(guī)模的小型衛(wèi)星在軌加注任務(wù)一般使用增壓氣體對(duì)服務(wù)星中的加注儲(chǔ)箱進(jìn)行增壓驅(qū)動(dòng)液體燃料轉(zhuǎn)移[4]。由于儲(chǔ)箱內(nèi)氣液混合,液體燃料會(huì)產(chǎn)生晃動(dòng),并與質(zhì)量轉(zhuǎn)移形成復(fù)雜的耦合運(yùn)動(dòng),從而給姿態(tài)帶來隨機(jī)擾動(dòng),甚至?xí)?dǎo)致任務(wù)失敗[5]。Lee等[6]利用計(jì)算流體力學(xué)(CFD)數(shù)值仿真的方法研究了微重力環(huán)境下儲(chǔ)箱內(nèi)部燃料質(zhì)量變化時(shí)的液體運(yùn)動(dòng)規(guī)律。文獻(xiàn)[7-8]利用彈簧阻尼模型和球形單擺模型模擬了衛(wèi)星儲(chǔ)箱中的液體燃料運(yùn)動(dòng)。目前,針對(duì)在軌加注過程中復(fù)雜液體運(yùn)動(dòng)的動(dòng)力學(xué)建模還不夠充分,使得姿態(tài)控制器的設(shè)計(jì)缺乏依據(jù)。
已有很多研究提出了針對(duì)具有轉(zhuǎn)動(dòng)慣量時(shí)變特點(diǎn)的衛(wèi)星的姿態(tài)控制方法[9-11]。但是,在軌運(yùn)行過程中,同一個(gè)服務(wù)星需要連續(xù)且高效地對(duì)多顆質(zhì)量、轉(zhuǎn)動(dòng)慣量、儲(chǔ)箱結(jié)構(gòu)等參數(shù)不同的目標(biāo)星進(jìn)行加注。并且,目標(biāo)星的這些關(guān)鍵參數(shù)可能是未知或無法進(jìn)行精確測(cè)量的,這也導(dǎo)致無法對(duì)儲(chǔ)箱中液體燃料的運(yùn)動(dòng)進(jìn)行預(yù)測(cè)。在軌加注組合體是結(jié)構(gòu)參數(shù)可變、未知且具有隨機(jī)性的系統(tǒng),文獻(xiàn)[9-11]提出的經(jīng)典控制方法很難針對(duì)這些特點(diǎn)有效地控制在軌加注組合體的姿態(tài)。基于深度強(qiáng)化學(xué)習(xí)方法的智能控制器通過不斷和控制環(huán)境進(jìn)行交互,根據(jù)對(duì)環(huán)境狀態(tài)的測(cè)量和系統(tǒng)反饋的獎(jiǎng)勵(lì)值更新策略,最終達(dá)到理想的控制效果[12-13]。該方法不依賴于系統(tǒng)的模型,可以有效應(yīng)對(duì)在軌加注組合體系統(tǒng)參數(shù)未知且隨機(jī)變化的特點(diǎn)。深度強(qiáng)化學(xué)習(xí)方法在航空航天領(lǐng)域的導(dǎo)彈制導(dǎo)[14-15]、飛行器姿態(tài)控制[16]、深空探測(cè)器自主導(dǎo)航[17]、航天器機(jī)械臂路徑規(guī)劃[18]等領(lǐng)域得到了廣泛的應(yīng)用。
深度強(qiáng)化學(xué)習(xí)算法之一的SAC算法基于隨機(jī)性策略,并通過引入信息熵來提高策略尋優(yōu)的魯棒性。該算法能夠有效應(yīng)對(duì)加注過程中由液體晃動(dòng)-轉(zhuǎn)移耦合運(yùn)動(dòng)引起的姿態(tài)隨機(jī)擾動(dòng),彌補(bǔ)傳統(tǒng)控制方法在此方面的不足。SAC算法的有效性已在一些自動(dòng)化系統(tǒng)的應(yīng)用中得到了驗(yàn)證。文獻(xiàn)[19]基于SAC算法開發(fā)了無人機(jī)自主空戰(zhàn)策略,實(shí)現(xiàn)無人機(jī)自主分析空戰(zhàn)態(tài)勢(shì),率先鎖定并攻擊敵方目標(biāo)。針對(duì)工作區(qū)域內(nèi)的復(fù)雜地形環(huán)境,文獻(xiàn)[20]提出了一種基于SAC算法的多臂機(jī)器人自主路徑規(guī)劃方法,實(shí)現(xiàn)機(jī)器人自主躲避工作區(qū)域中固定和移動(dòng)的障礙物。文獻(xiàn)[21]針對(duì)海洋環(huán)境存在無法建模的復(fù)雜外擾動(dòng)的特點(diǎn),應(yīng)用SAC算法設(shè)計(jì)了自動(dòng)水下潛艇的導(dǎo)航和控制方法。上述文獻(xiàn)中,空戰(zhàn)、障礙工作區(qū)和水下的背景環(huán)境均具有強(qiáng)隨機(jī)性的特點(diǎn),而SAC算法均采用了有效的策略克服了環(huán)境的隨機(jī)性,達(dá)到了預(yù)期效果。
本文通過對(duì)SAC算法進(jìn)行改進(jìn)提出了在軌加注組合體的姿態(tài)智能控制方法。主要?jiǎng)?chuàng)新點(diǎn)有:構(gòu)建了液體燃料晃動(dòng)-轉(zhuǎn)移耦合運(yùn)動(dòng)的等效模型和在軌加注組合體變慣量姿態(tài)動(dòng)力學(xué)環(huán)境,與智能控制器進(jìn)行交互訓(xùn)練。改進(jìn)了SAC算法的動(dòng)作輸出方式,基于此設(shè)計(jì)的SAC姿態(tài)智能控制器,相較于TD3算法,在應(yīng)對(duì)時(shí)變系統(tǒng)的隨機(jī)擾動(dòng)時(shí)魯棒性較強(qiáng)。提出的SAC加注壓強(qiáng)智能控制器在保證加注效率的同時(shí),通過調(diào)節(jié)加注壓強(qiáng),減緩加注對(duì)姿態(tài)產(chǎn)生的擾動(dòng)作用,使姿態(tài)的收斂更加平穩(wěn)。
智能控制器需要通過大量的訓(xùn)練來得到最優(yōu)的控制策略。為了提高效率和可操作性并降低成本,智能控制器的訓(xùn)練在仿真環(huán)境中進(jìn)行。訓(xùn)練完成后,將訓(xùn)練好的智能控制策略部署到真實(shí)的在軌加注服務(wù)星的星載計(jì)算機(jī)中并在實(shí)際任務(wù)中應(yīng)用。為了保證智能控制器在實(shí)際任務(wù)中實(shí)現(xiàn)理想的控制效果,在仿真系統(tǒng)中對(duì)智能控制器進(jìn)行訓(xùn)練時(shí),要建立并采用高精度的姿態(tài)動(dòng)力學(xué)環(huán)境。
在軌加注組合體的結(jié)構(gòu)模型如圖1所示。假設(shè)服務(wù)星和目標(biāo)星各攜帶一個(gè)和衛(wèi)星平臺(tái)固連的燃料儲(chǔ)箱;衛(wèi)星對(duì)接后兩個(gè)儲(chǔ)箱的軸向重合。
圖1 在軌加注組合體示意圖
分別建立地球慣性坐標(biāo)系、軌道坐標(biāo)系和本體坐標(biāo)系。Oxyz代表的地球慣性坐標(biāo)系是一個(gè)原點(diǎn)固連在地球質(zhì)心、無旋轉(zhuǎn)的坐標(biāo)系。Oxoyozo代表的軌道坐標(biāo)系,其原點(diǎn)位于在軌加注組合體結(jié)構(gòu)平臺(tái)的質(zhì)心,Oxo軸與軌道速度矢量重合,Ozo軸與從組合體質(zhì)心指向地球質(zhì)心的矢量重合。Oyo軸符合右手定則。本體坐標(biāo)系由Oxbybzb表示,原點(diǎn)位于組合體結(jié)構(gòu)平臺(tái)質(zhì)心,Oxb軸與儲(chǔ)箱軸向重合并指向目標(biāo)星,Oyb軸平行于主對(duì)稱平面并垂直于Oxb軸,而Ozb軸符合右手定則。
服務(wù)星通過對(duì)加注儲(chǔ)箱進(jìn)行加壓驅(qū)動(dòng)液體燃料向受注儲(chǔ)箱轉(zhuǎn)移,在達(dá)到預(yù)定的加注質(zhì)量后停止加壓。將服務(wù)星對(duì)加注儲(chǔ)箱內(nèi)施加的加注壓強(qiáng)表示為
(1)
式中:Pc為加注過程中加壓控制裝置輸出的加注壓強(qiáng);mt和maim分別為轉(zhuǎn)移液體的質(zhì)量和加注的目標(biāo)質(zhì)量。液體的質(zhì)量流率與加注壓強(qiáng)的關(guān)系可以表示為[3]
(2)
(3)
加注過程中,儲(chǔ)箱中的液體燃料會(huì)分散成液滴,分散的液滴會(huì)發(fā)生晃動(dòng),并與質(zhì)量轉(zhuǎn)移形成復(fù)雜的耦合運(yùn)動(dòng),從而給在軌加注組合體的慣量帶來隨機(jī)的變化。通過確定液體燃料相對(duì)自身慣量主軸的慣量和質(zhì)心的運(yùn)動(dòng)來衡量液體燃料晃動(dòng)-轉(zhuǎn)移耦合運(yùn)動(dòng)對(duì)在軌加注組合體整體的影響。文獻(xiàn)[5]中提出了在軌加注過程中儲(chǔ)箱內(nèi)液體燃料晃動(dòng)-轉(zhuǎn)移耦合運(yùn)動(dòng)的等效動(dòng)力學(xué)模型,并通過與CFD模型進(jìn)行仿真對(duì)比,驗(yàn)證了該等效模型能夠精確地模擬在軌加注過程中形狀復(fù)雜的燃料液滴的慣量變化和整體質(zhì)心運(yùn)動(dòng)。對(duì)于分散液滴的慣量采用等效橢圓柱模型來進(jìn)行描述。將第i(i=1,2)個(gè)儲(chǔ)箱中液體相對(duì)自身慣量主軸的轉(zhuǎn)動(dòng)慣量表示為一個(gè)等效橢圓柱的慣量[5]:
(4)
式中:mi是任意時(shí)刻儲(chǔ)箱中液體燃料的質(zhì)量;li,ai,bi分別是液體等效橢圓柱的三個(gè)特征長(zhǎng)度,特征長(zhǎng)度的值及導(dǎo)數(shù)通過下式確定:
(5)
式中:lsi為液體燃料不發(fā)生晃動(dòng)時(shí)的特征長(zhǎng)度[5]。
第i個(gè)(i=1,2)儲(chǔ)箱中液體相對(duì)自身慣量主軸的轉(zhuǎn)動(dòng)慣量的導(dǎo)數(shù)為
(6)
第i個(gè)儲(chǔ)箱中液體燃料的質(zhì)心在本體坐標(biāo)系內(nèi)的位置和速度可以表示為
(7)
(8)
式中:ω=[ωx,ωy,ωz]T為慣性坐標(biāo)系下組合體絕對(duì)姿態(tài)角速度。
在軌加注組合體相對(duì)于自身慣量主軸的慣量由剛性平臺(tái)和液體慣量?jī)刹糠謽?gòu)成。儲(chǔ)箱內(nèi)液體晃動(dòng)-轉(zhuǎn)移耦合運(yùn)動(dòng)通過式(4)至式(8)所描述的液體自身轉(zhuǎn)動(dòng)慣量的變化和質(zhì)心的運(yùn)動(dòng)來影響在軌加注組合體整體的慣量變化。將在軌加注組合體的轉(zhuǎn)動(dòng)慣量表示為[3]
(9)
式中:Jl(t)為液體燃料相對(duì)于在軌加注組合體慣量主軸的轉(zhuǎn)動(dòng)慣量;E代表3×3的單位矩陣。將在軌加注組合體轉(zhuǎn)動(dòng)慣量的時(shí)間導(dǎo)數(shù)表示為
(10)
將在軌加注組合體的變慣量姿態(tài)動(dòng)力學(xué)表示為
(11)
式中:ω×為ω的反對(duì)稱叉乘矩陣。將x=[x1,x2,x3]T的反對(duì)稱叉乘矩陣定義為
(12)
采用姿態(tài)四元數(shù)Qatt=[q0,q]T=[q0,q1,q2,q3]T描述在軌加注組合體的姿態(tài)運(yùn)動(dòng)學(xué)。姿態(tài)四元數(shù)方法通過使本體坐標(biāo)系繞一固定軸η旋轉(zhuǎn)一定角度ξ與軌道坐標(biāo)系重合來表示本體坐標(biāo)系相對(duì)于軌道坐標(biāo)系的姿態(tài),姿態(tài)四元數(shù)可以表示為
(13)
將基于姿態(tài)四元數(shù)的姿態(tài)運(yùn)動(dòng)學(xué)的微分方程表示為
(14)
式中:ωb為本體坐標(biāo)系相對(duì)于軌道坐標(biāo)系的姿態(tài)角速度,滿足:
ωb=ω-Tbo(Qatt)ωo
(15)
式中:ωo為組合體的軌道角速度;Tbo(Qatt)為姿態(tài)四元數(shù)表示的姿態(tài)轉(zhuǎn)換矩陣:
Tbo(Qatt)=
(16)
在軌加注組合體的深度強(qiáng)化學(xué)習(xí)控制包含智能控制器(agent)和動(dòng)力學(xué)環(huán)境(environment)兩個(gè)部分,基本結(jié)構(gòu)如圖2所示。智能控制器具有學(xué)習(xí)和決策的能力。動(dòng)力學(xué)環(huán)境就是上一節(jié)中由式(11)和式(14)確定的在軌加注組合體變慣量姿態(tài)動(dòng)力學(xué)。
圖2 在軌加注組合體的強(qiáng)化學(xué)習(xí)智能控制系統(tǒng)
智能控制器通過和動(dòng)力學(xué)環(huán)境的不斷交互從而對(duì)控制策略進(jìn)行學(xué)習(xí),最終得到實(shí)現(xiàn)控制目標(biāo)的最優(yōu)控制策略,這個(gè)過程就是對(duì)智能控制器的訓(xùn)練。訓(xùn)練的過程采用馬爾科夫決策過程(MDP)進(jìn)行描述[12]。MDP通常由一個(gè)四元組構(gòu)成,表示為:,其中,S表示環(huán)境狀態(tài)的集合,A表示智能控制器動(dòng)作的集合,P為環(huán)境的狀態(tài)轉(zhuǎn)移概率,而R表示獎(jiǎng)勵(lì)函數(shù)。在訓(xùn)練過程中的任意t時(shí)刻,智能控制器感知環(huán)境的狀態(tài)St∈S,并通過一個(gè)動(dòng)作At∈A,使環(huán)境按照概率P轉(zhuǎn)移到下一個(gè)狀態(tài)St+1∈S,并得到環(huán)境的一個(gè)潛在獎(jiǎng)勵(lì)Rt。
(17)
式中:γ∈[0, 1]為折扣因子。
智能控制器中評(píng)估的功能就是通過對(duì)當(dāng)前策略能夠獲得的長(zhǎng)期累積獎(jiǎng)勵(lì)進(jìn)行估計(jì)從而評(píng)價(jià)當(dāng)前策略的質(zhì)量并對(duì)策略進(jìn)行更新。深度強(qiáng)化學(xué)習(xí)在強(qiáng)化學(xué)習(xí)的基礎(chǔ)上利用兩個(gè)命名為Actor和Critic的神經(jīng)網(wǎng)絡(luò)分別代替智能控制器中的策略和評(píng)價(jià),這種方法也稱為Actor-Critic算法。兩個(gè)神經(jīng)網(wǎng)絡(luò)均由輸入層、一個(gè)及以上的隱含層和輸出層構(gòu)成。Actor網(wǎng)絡(luò)輸入層的輸入是環(huán)境的狀態(tài),通過隱含層的擬合,輸出層輸出的是策略;對(duì)于確定性算法,網(wǎng)絡(luò)將直接給出動(dòng)作的值;對(duì)于隨機(jī)性策略,Actor將輸出一個(gè)概率分布,再根據(jù)概率分布采樣得到動(dòng)作。Critic網(wǎng)絡(luò)輸入層的輸入是環(huán)境的狀態(tài)以及動(dòng)作執(zhí)行后獲得的獎(jiǎng)勵(lì)值,輸出層輸出的是通過隱含層擬合得到的Q函數(shù)的值。Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)的參數(shù)分別用φ,θ表示。
SAC算法是深度強(qiáng)化學(xué)習(xí)中的一種基于隨機(jī)性策略的算法,它的基本原理是在智能控制器訓(xùn)練的過程中,希望長(zhǎng)期的累加獎(jiǎng)勵(lì)值和策略的信息熵都達(dá)到最大,也稱為最大熵強(qiáng)化學(xué)習(xí)[13]。該算法長(zhǎng)期累加獎(jiǎng)勵(lì)的表達(dá)式為
(18)
式中:H(Π(·|St))為策略的信息熵,定義為策略中所有動(dòng)作的平均不確定性:
H(Π(·|St))=E(-lgP(At|St))=
(19)
動(dòng)作的產(chǎn)生是一個(gè)信息熵減的過程,所以信息熵為負(fù)值。通過最大化策略的信息熵,增加策略的隨機(jī)性,使每個(gè)動(dòng)作產(chǎn)生的概率盡可能分散,而不是集中于一個(gè)動(dòng)作,從而增強(qiáng)訓(xùn)練過程中策略的探索并提高控制的魯棒性。α為熵權(quán)重系數(shù)。
SAC智能控制器中Critic神經(jīng)網(wǎng)絡(luò)的代價(jià)函數(shù)為[13]
(20)
(21)
式中:DKL(X|Y) 代表KL散度函數(shù),Qsoft(St,At)為Critic神經(jīng)網(wǎng)絡(luò)的柔性貝爾曼方程(Soft Bellman equation)。
在SAC智能控制器的訓(xùn)練過程中,由于獎(jiǎng)勵(lì)值在不斷變化,固定的熵權(quán)重系數(shù)會(huì)導(dǎo)致訓(xùn)練過程不穩(wěn)定,所以需要對(duì)熵權(quán)重系數(shù)進(jìn)行實(shí)時(shí)調(diào)節(jié)。熵權(quán)重系數(shù)的調(diào)節(jié)基于優(yōu)化的思想,設(shè)置代價(jià)函數(shù),并通過梯度下降法求解最優(yōu)值。熵權(quán)重系數(shù)調(diào)節(jié)過程中使用的代價(jià)函數(shù)為
Jα(θ)=EAt+1~Πφ(-αlgΠφ(At|St)-αH0)
(22)
SAC算法的流程如圖3所示。
圖3 SAC算法流程圖
本文針對(duì)在軌加注組合體姿態(tài)具有隨機(jī)擾動(dòng)的特點(diǎn),對(duì)SAC算法輸出動(dòng)作的方式進(jìn)行了改進(jìn)。在訓(xùn)練過程中,SAC算法輸出的是一個(gè)代表策略的高斯分布Πφ~N(μ,δ)的均值μt和方差δt,智能控制器通過高斯分布進(jìn)行采樣輸出動(dòng)作,具體采樣方式如下所示:
At=μt+rand(0,1)δt
(23)
式中:rand(0,1)代表0到1之間的隨機(jī)數(shù)。訓(xùn)練時(shí)輸出的動(dòng)作具有隨機(jī)性,這樣可以使策略快速適應(yīng)系統(tǒng)中的隨機(jī)擾動(dòng),從而提高策略尋優(yōu)的效率。但是,在實(shí)際任務(wù)中,隨機(jī)的控制輸出會(huì)給執(zhí)行機(jī)構(gòu)帶來很大的負(fù)擔(dān),甚至無法達(dá)到控制目的。所以將智能控制器部署到服務(wù)星星載計(jì)算機(jī)時(shí),將智能控制器的輸出進(jìn)行改進(jìn),消除由概率分布方差引起的隨機(jī)項(xiàng)。改進(jìn)后的控制力矩輸出為
(24)
實(shí)際任務(wù)中,根據(jù)式(24)輸出確定性的控制指令,可以有效提高控制的穩(wěn)定性。
基于上述改進(jìn)的SAC算法進(jìn)行智能控制器的設(shè)計(jì)。首先,為了能夠在加注過程中保持衛(wèi)星組合體姿態(tài)的穩(wěn)定,需要對(duì)姿態(tài)智能控制器進(jìn)行設(shè)計(jì)和訓(xùn)練。然后,姿態(tài)擾動(dòng)的慣量變化是加注過程中液體質(zhì)量重新分布導(dǎo)致的;由式(2)和式(3)不難發(fā)現(xiàn),加注壓強(qiáng)直接決定液體的質(zhì)量流率,很大程度上影響了液體質(zhì)量的重新分布過程。對(duì)加注壓強(qiáng)進(jìn)行控制,可以調(diào)節(jié)液體的質(zhì)量流率,從而減小隨機(jī)擾動(dòng)對(duì)姿態(tài)的影響;所以在訓(xùn)練并部署好姿態(tài)智能控制器的基礎(chǔ)上,對(duì)加注壓強(qiáng)智能控制器進(jìn)行設(shè)計(jì)和訓(xùn)練。
(25)
將SAC姿態(tài)智能控制器的獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)為
(26)
式中:
(27)
SAC姿態(tài)智能控制器中,兩個(gè)Critic網(wǎng)絡(luò)具有相同的結(jié)構(gòu),每個(gè)網(wǎng)絡(luò)首先分別有狀態(tài)路徑和動(dòng)作路徑兩條支路,每條支路具有若干個(gè)隱含層,兩個(gè)支路通過一條具有若干個(gè)隱含層的公共路徑連接,并最終輸出Q值。Actor網(wǎng)絡(luò)首先有一條具有若干隱含層的公共路徑,然后分出兩條具有若干隱含層的支路分別來擬合策略概率分布的均值和方差。
(28)
(29)
由式(14)和式(29),易得:
(30)
設(shè)組合體姿態(tài)的狀態(tài)向量為
(31)
選取李雅普諾夫函數(shù):
(32)
對(duì)李雅普諾夫函數(shù)求導(dǎo),并根據(jù)式(30),能夠得到:
(33)
所以組合體姿態(tài)具有穩(wěn)定性。
在完成對(duì)姿態(tài)智能控制器的訓(xùn)練后,將訓(xùn)練好的SAC姿態(tài)智能控制器部署到閉環(huán)的控制系統(tǒng)中,再對(duì)SAC加注壓強(qiáng)智能控制器進(jìn)行設(shè)計(jì)和訓(xùn)練。
(34)
將SAC加注壓強(qiáng)智能控制器的獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)為
(35)
式中:
(36)
獎(jiǎng)勵(lì)函數(shù)分為狀態(tài)相關(guān)的獎(jiǎng)勵(lì)值和懲罰項(xiàng)兩部分。由于希望更高效地完成加注任務(wù),需要液體的質(zhì)量流率盡量大,所以賦予質(zhì)量流率以正值的權(quán)重;同時(shí)希望隨機(jī)擾動(dòng)盡量小,所以賦予加注壓強(qiáng)模的平方以負(fù)值的權(quán)重;由于減小隨機(jī)擾動(dòng)的優(yōu)先級(jí)大于高效完成加注任務(wù),所以質(zhì)量流率權(quán)重的絕對(duì)值小于隨機(jī)擾動(dòng)模的平方值權(quán)重的絕對(duì)值;同時(shí)賦予時(shí)間和任務(wù)結(jié)束時(shí)間的比值以負(fù)值獎(jiǎng)勵(lì),同樣是為了促進(jìn)高效的加注。懲罰項(xiàng)中,Ptri為加注管理系統(tǒng)給加壓系統(tǒng)的開關(guān)機(jī)信號(hào),當(dāng)其值為0時(shí),加壓機(jī)構(gòu)根據(jù)指令加注壓強(qiáng)進(jìn)行加壓,其值為1時(shí),加壓機(jī)構(gòu)關(guān)機(jī)結(jié)束加注。當(dāng)任務(wù)結(jié)束時(shí)如果還未結(jié)束加注,則說明加注未能成功完成,給出較大的懲罰值。當(dāng)加注結(jié)束或達(dá)到任務(wù)結(jié)束時(shí)間,自動(dòng)退出此輪訓(xùn)練。
SAC加注壓強(qiáng)智能控制器中Actor和Critic網(wǎng)絡(luò)的結(jié)構(gòu)與SAC姿態(tài)智能控制器中的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)保持一致?;赟AC加注壓強(qiáng)智能控制給出:
定理 2.當(dāng)SAC加注壓強(qiáng)智能控制器的策略得到最優(yōu)解Πφp*,則加注擾動(dòng)和加注總時(shí)間均有界且最小。
證.若SAC姿態(tài)智能控制器的策略得到最優(yōu)解Πφp*,則采用Πφp*時(shí),獎(jiǎng)勵(lì)值隨著時(shí)間增加且獎(jiǎng)勵(lì)值總和最大,即:
(37)
(38)
即加注擾動(dòng)有界且最小。
ttot→min
(39)
即總加注時(shí)間ttot有界且最小。
根據(jù)上述變慣量姿態(tài)動(dòng)力學(xué)模型和設(shè)計(jì)的智能控制器,在仿真環(huán)境中建立在軌加注組合體姿態(tài)智能控制系統(tǒng)。首先對(duì)SAC姿態(tài)智能控制器進(jìn)行訓(xùn)練,并通過仿真算例驗(yàn)證了SAC姿態(tài)智能控制器部署到實(shí)際加注任務(wù)中的有效性。通過與TD3算法進(jìn)行對(duì)比,驗(yàn)證了改進(jìn)的SAC算法的優(yōu)勢(shì)。然后在部署好SAC姿態(tài)智能控制器的條件下,對(duì)SAC加注壓強(qiáng)智能控制器進(jìn)行訓(xùn)練,驗(yàn)證了SAC加注壓強(qiáng)智能控制對(duì)姿態(tài)控制效果的改善。
仿真算例中,根據(jù)目前的小型衛(wèi)星試驗(yàn)平臺(tái)設(shè)計(jì)了組合體相關(guān)參數(shù)[5],可為將來針對(duì)小型化衛(wèi)星在軌加注技術(shù)的空間試驗(yàn)驗(yàn)證提供仿真參考。在所有仿真算例中,任務(wù)的時(shí)間均設(shè)置為tf=300 s,時(shí)間步長(zhǎng)設(shè)置為ts=0.1 s;假設(shè)在軌加注組合體運(yùn)行在軌道高度h=400 km的圓形地球軌道上且加注的液體燃料為偏二甲肼,密度為ρ=1 011 kg/m3。
首先,對(duì)SAC姿態(tài)智能控制器進(jìn)行訓(xùn)練,并對(duì)訓(xùn)練的效果進(jìn)行分析。訓(xùn)練時(shí)選取的組合體參數(shù)要盡量與任務(wù)中實(shí)際的組合體參數(shù)接近或保持同一量級(jí)。在該算例中,在軌加注組合體的相關(guān)參數(shù)見表1。
表1 姿態(tài)智能控制器訓(xùn)練算例在軌加注組合體參數(shù)
SAC姿態(tài)智能控制器中Actor和Critic網(wǎng)絡(luò)的具體參數(shù)如圖4所示。兩個(gè)Critic網(wǎng)絡(luò)中,狀態(tài)路徑和動(dòng)作路徑兩條支路各具有兩個(gè)隱含層,每個(gè)隱含層具有64個(gè)神經(jīng)元,兩個(gè)支路通過一個(gè)具有64個(gè)神經(jīng)元的公共隱含層連接。Actor網(wǎng)絡(luò)具有一個(gè)64個(gè)神經(jīng)元的公共隱含層,均值路徑和方差路徑兩條支路各具有一個(gè)64個(gè)神經(jīng)元的隱含層和一個(gè)輸出層。
圖4 SAC姿態(tài)智能控制器神經(jīng)網(wǎng)絡(luò)參數(shù)示意圖
SAC姿態(tài)智能控制器的關(guān)鍵訓(xùn)練參數(shù)見表2。
表2 SAC姿態(tài)智能控制器的關(guān)鍵訓(xùn)練參數(shù)
為了驗(yàn)證基于隨機(jī)性策略的SAC算法在控制在軌加注組合體姿態(tài)方面的優(yōu)勢(shì),利用深度強(qiáng)化學(xué)習(xí)方法中基于確定性策略的TD3算法[22]作為對(duì)比。TD3算法采用延遲學(xué)習(xí)的思想,使兩個(gè)Critic網(wǎng)絡(luò)的更新頻率比Actor網(wǎng)絡(luò)的更新頻率要大,促進(jìn)評(píng)估和策略的穩(wěn)定收斂。并且基于確定性策略:At=Π(St|θπ),訓(xùn)練過程中對(duì)Actor網(wǎng)絡(luò)給出的動(dòng)作加入噪聲,從而促進(jìn)探索。
基于TD3算法設(shè)計(jì)了姿態(tài)智能控制器,用于與SAC姿態(tài)智能控制器對(duì)比。兩個(gè)姿態(tài)智能控制器具有相同的輸入輸出參數(shù)和獎(jiǎng)勵(lì)函數(shù)。TD3姿態(tài)智能控制器中Actor和Critic網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)如圖5所示。兩個(gè)Critic網(wǎng)絡(luò)與SAC姿態(tài)智能控制器中的Critic網(wǎng)絡(luò)結(jié)構(gòu)相同。Actor網(wǎng)絡(luò)較為簡(jiǎn)單,通過兩個(gè)具有64個(gè)神經(jīng)元的隱含層來給出確定性的動(dòng)作。
圖5 TD3姿態(tài)智能控制器神經(jīng)網(wǎng)絡(luò)參數(shù)示意圖
TD3姿態(tài)智能控制器的關(guān)鍵訓(xùn)練參數(shù)見表3。
表3 TD3姿態(tài)智能控制器的關(guān)鍵訓(xùn)練參數(shù)
對(duì)兩個(gè)姿態(tài)智能控制器進(jìn)行訓(xùn)練,訓(xùn)練過程中兩個(gè)姿態(tài)智能控制器獲得的獎(jiǎng)勵(lì)值曲線如圖6所示。兩個(gè)姿態(tài)智能控制器均經(jīng)歷了150輪訓(xùn)練。初始時(shí),SAC姿態(tài)智能控制器的獎(jiǎng)勵(lì)值從-2 150快速攀升。由于SAC算法的決策具有隨機(jī)性,會(huì)不斷嘗試不同的策略,獎(jiǎng)勵(lì)值在訓(xùn)練中途產(chǎn)生了大幅下降,這是SAC算法不斷試錯(cuò)的結(jié)果。在嘗試出現(xiàn)錯(cuò)誤后,SAC算法也能夠快速糾錯(cuò)。獎(jiǎng)勵(lì)值在4輪訓(xùn)練下降后迅速回升,說明已經(jīng)找到策略更新最優(yōu)的方向。最終,獎(jiǎng)勵(lì)值于第70輪訓(xùn)練平穩(wěn)收斂到-50。TD3姿態(tài)智能控制器的初始得分為-1 200,在經(jīng)歷120輪訓(xùn)練的波動(dòng)攀升后,獎(jiǎng)勵(lì)值平穩(wěn)收斂到-80。在訓(xùn)練的過程中,SAC算法獎(jiǎng)勵(lì)值變化的范圍和幅度比TD3算法都大,說明SAC算法對(duì)策略的嘗試更多,基于SAC算法的隨機(jī)性策略比基于TD3算法的確定性策略對(duì)環(huán)境的探索范圍更大。所以SAC算法獎(jiǎng)勵(lì)值的收斂也就更快,訓(xùn)練尋優(yōu)的效率也就更高。同時(shí)SAC算法收斂后的獎(jiǎng)勵(lì)值也比TD3算法高,這說明SAC姿態(tài)智能控制器具有更好的控制效果。
圖6 姿態(tài)智能控制器訓(xùn)練獎(jiǎng)勵(lì)值曲線
圖7所示的是訓(xùn)練完成的SAC姿態(tài)智能控制器輸出的控制力矩。該控制力矩在三軸均產(chǎn)生高頻且高幅的振動(dòng)現(xiàn)象。根據(jù)式(23),這種現(xiàn)象的發(fā)生是因?yàn)橛?xùn)練過程中姿態(tài)智能控制器輸出的是通過概率分布采樣得到的隨機(jī)控制力矩,這可以有效增加尋優(yōu)效率,但該隨機(jī)的控制信號(hào)無法直接輸入到實(shí)際的執(zhí)行機(jī)構(gòu)中。
圖7 訓(xùn)練后SAC控制力矩曲線
實(shí)際任務(wù)中,將SAC姿態(tài)智能控制器部署到服務(wù)星,連續(xù)對(duì)一系列目標(biāo)星進(jìn)行加注。這些目標(biāo)星的結(jié)構(gòu)參數(shù)存在未知的差異,且轉(zhuǎn)移燃料質(zhì)量的加注需求也不盡相同。在該仿真算例中,對(duì)組合體參數(shù)做出調(diào)整,以模擬實(shí)際中同一任務(wù)的目標(biāo)星與訓(xùn)練中的目標(biāo)星可能存在的最大差異,從而驗(yàn)證SAC姿態(tài)智能控制器部署后的魯棒性。將在軌加注組合體平臺(tái)慣量修改為Jr=diag(10,10,10) kg·m2,目標(biāo)星中儲(chǔ)箱尺寸修改為L(zhǎng)2=0.4 m,R2=0.1 m,目標(biāo)填充率修改為50%。同時(shí),由于液體晃動(dòng)-轉(zhuǎn)移耦合運(yùn)動(dòng)存在未建模的模態(tài),等效模型和液體真實(shí)運(yùn)動(dòng)之間存在細(xì)微的差距,真實(shí)的液體運(yùn)動(dòng)對(duì)姿態(tài)會(huì)產(chǎn)生復(fù)雜的隨機(jī)擾動(dòng),隨機(jī)擾動(dòng)產(chǎn)生影響的直接體現(xiàn)就是真實(shí)的在軌加注組合體慣量產(chǎn)生隨機(jī)的變化。為了模擬實(shí)際任務(wù)中在軌加注組合體慣量真實(shí)的隨機(jī)變化,在式(9)的基礎(chǔ)上引入一個(gè)正弦形式變化的慣量隨機(jī)項(xiàng):
Jreal(t)=J(t)+0.5rand(0,1)·
sin(0.02πt)1(3,3)
(40)
式中:1(3,3)為元素全為1的3×3矩陣。初始姿態(tài)改變?yōu)?姿態(tài)角Φ=[30°, 30°, 30°]T,姿態(tài)角速度ωb=[0.1, 0.1, 0.1]Trad/s。
利用上述參數(shù)設(shè)置進(jìn)行仿真,兩個(gè)姿態(tài)智能控制器輸出的控制力矩、在軌加注組合體的姿態(tài)角速度和姿態(tài)角的控制效果分別如圖8~10所示。根據(jù)式(24)改進(jìn)動(dòng)作輸出方式后,SAC姿態(tài)智能控制器輸出的三軸控制力矩沒有出現(xiàn)高頻高幅的振動(dòng)現(xiàn)象,且最大幅值為0.1 N·m,說明改進(jìn)后的SAC姿態(tài)智能控制器可以有效部署到實(shí)際的任務(wù)中。TD3算法輸出三軸控制力矩的最大幅值為0.3 N·m,是SAC姿態(tài)智能控制器輸出控制力矩最大幅值的3倍。且TD3算法輸出的控制力矩在收斂前出現(xiàn)了高頻高幅的震動(dòng)現(xiàn)象,SAC姿態(tài)智能控制器輸出的控制力矩并沒有出現(xiàn)此現(xiàn)象。相應(yīng)地,TD3算法控制的姿態(tài)角速度的波動(dòng)次數(shù)、頻率和幅值均高于SAC姿態(tài)智能控制器控制的姿態(tài)角速度。姿態(tài)角控制效果方面,為了直觀展示姿態(tài)的變化,將姿態(tài)四元數(shù)轉(zhuǎn)化為三軸的姿態(tài)角:滾轉(zhuǎn)角、俯仰角和偏航角。TD3算法控制的三軸姿態(tài)角最大幅值為73°,小于SAC姿態(tài)智能控制器的88°;但是TD3算法控制的三軸姿態(tài)角的收斂過程相較于SAC姿態(tài)智能控制器仍產(chǎn)生了更多的波動(dòng),不如SAC姿態(tài)智能控制器的控制效果平穩(wěn)。綜上,兩個(gè)姿態(tài)控制器雖然均能實(shí)現(xiàn)姿態(tài)穩(wěn)定控制;但相較于TD3算法,SAC姿態(tài)智能控制器可以實(shí)現(xiàn)利用更小幅值和更穩(wěn)定的控制力矩使在軌加注組合體的姿態(tài)更加平穩(wěn)地收斂,證明了SAC姿態(tài)智能控制器部署到實(shí)際的在軌加注任務(wù)后,應(yīng)對(duì)結(jié)構(gòu)參數(shù)和加注需求完全不同的目標(biāo)星時(shí),能夠?qū)崿F(xiàn)姿態(tài)控制的魯棒性要求。
圖8 姿態(tài)智能控制器部署后的控制力矩曲線
圖9 姿態(tài)智能控制器部署后的姿態(tài)角速度曲線
圖10 姿態(tài)智能控制器部署后的姿態(tài)角曲線
將SAC姿態(tài)智能控制器部署到在軌加注組合體的姿態(tài)控制系統(tǒng)中,進(jìn)一步對(duì)SAC加注壓強(qiáng)智能控制器進(jìn)行訓(xùn)練和部署。在對(duì)加注壓強(qiáng)智能控制器的訓(xùn)練中,在軌加注組合體的相關(guān)參數(shù)見表4。
表4 加注壓強(qiáng)智能控制器訓(xùn)練算例在軌加注組合體參數(shù)
SAC加注壓強(qiáng)智能控制器的關(guān)鍵訓(xùn)練參數(shù)見表5。Actor和Critic網(wǎng)絡(luò)參數(shù)與SAC姿態(tài)智能控制器保持一致,如圖4所示。
表5 SAC加注壓強(qiáng)智能控制器的關(guān)鍵訓(xùn)練參數(shù)
對(duì)SAC加注壓強(qiáng)智能控制器進(jìn)行訓(xùn)練。訓(xùn)練過程中,SAC加注壓強(qiáng)智能控制器獲得獎(jiǎng)勵(lì)值的曲線如圖11所示。SAC加注壓強(qiáng)智能控制器共進(jìn)行120輪訓(xùn)練。前60輪訓(xùn)練獎(jiǎng)勵(lì)值逐步攀升,說明SAC加注壓強(qiáng)智能控制器不斷對(duì)策略做出優(yōu)化。后60輪訓(xùn)練,獎(jiǎng)勵(lì)值趨于穩(wěn)定,在波動(dòng)中有小幅提高,說明加注壓強(qiáng)智能控制器已經(jīng)得到最優(yōu)控制策略并對(duì)最優(yōu)控制策略做出小幅的調(diào)整。
圖11 加注壓強(qiáng)智能控制器訓(xùn)練獎(jiǎng)勵(lì)值曲線
在部署完成訓(xùn)練的SAC加注壓強(qiáng)智能控制器時(shí),仍需按照式(24)對(duì)動(dòng)作的輸出進(jìn)行調(diào)整。調(diào)整動(dòng)作輸出后,SAC加注壓強(qiáng)智能控制器輸出的加注壓強(qiáng)如圖12所示。在加注過程的前35 s,由于SAC姿態(tài)智能控制器還未控制姿態(tài)達(dá)到穩(wěn)定,仍存在隨機(jī)擾動(dòng)作用,所以,加注壓強(qiáng)進(jìn)行了自主的波動(dòng)調(diào)整,盡量減小隨機(jī)擾動(dòng)對(duì)姿態(tài)的影響。在姿態(tài)逐漸穩(wěn)定之后,加注壓強(qiáng)保持在0.095 Pa,從而盡可能高效地完成加注任務(wù)。在140 s時(shí),加注的液體質(zhì)量達(dá)到任務(wù)要求,加注管理系統(tǒng)給加壓系統(tǒng)關(guān)機(jī)信號(hào),加注壓強(qiáng)歸零。采用與未采用加注壓強(qiáng)智能控制條件下,隨機(jī)擾動(dòng)的模如圖13所示。在采用加注壓強(qiáng)智能控制后,隨機(jī)擾動(dòng)的最大幅值相較于未采用加注壓強(qiáng)智能控制時(shí)減小了4倍;并且,在整個(gè)加注過程中,采用加注壓強(qiáng)智能控制時(shí)的隨機(jī)擾動(dòng)也均小于未采用加注壓強(qiáng)智能控制時(shí)的隨機(jī)擾動(dòng)。觀察加注壓強(qiáng)的曲線發(fā)現(xiàn),當(dāng)隨機(jī)擾動(dòng)出現(xiàn)較高峰值時(shí),SAC加注壓強(qiáng)智能控制器都相應(yīng)地降低了加注壓強(qiáng)的輸出;這說明,SAC加注壓強(qiáng)智能控制器可以自主地根據(jù)隨機(jī)擾動(dòng)調(diào)節(jié)加注壓強(qiáng),從而有效地減小液體加注對(duì)姿態(tài)產(chǎn)生的影響。
圖12 加注壓強(qiáng)智能控制器輸出曲線
圖13 采用與未采用加注壓器智能控制的隨機(jī)擾動(dòng)對(duì)比
本文針對(duì)在軌加注任務(wù)中,由液體復(fù)雜運(yùn)動(dòng)引起組合體姿態(tài)隨機(jī)擾動(dòng),以及“一對(duì)多”加注過程中組合體慣量參數(shù)不確定的問題,通過改進(jìn)深度強(qiáng)化學(xué)習(xí)SAC算法,設(shè)計(jì)了SAC姿態(tài)智能控制器和SAC加注壓強(qiáng)智能控制器。SAC姿態(tài)智能控制器以小幅值的控制力矩使組合體姿態(tài)平穩(wěn)收斂,避免了控制力矩和姿態(tài)大幅波動(dòng)的現(xiàn)象,在應(yīng)對(duì)不同結(jié)構(gòu)目標(biāo)星和系統(tǒng)隨機(jī)擾動(dòng)方面具有很強(qiáng)的魯棒性。SAC加注壓強(qiáng)智能控制器可以根據(jù)隨機(jī)擾動(dòng)智能地調(diào)節(jié)輸出的加注壓強(qiáng),在高效完成加注任務(wù)的同時(shí),有效地減小液體燃料加注對(duì)姿態(tài)產(chǎn)生的擾動(dòng)。通過仿真算例對(duì)上述結(jié)論進(jìn)行了對(duì)比驗(yàn)證。