孫 康,王耀兵,杜德嵩,齊乃明
(1. 哈爾濱工業(yè)大學(xué) 航天工程系, 哈爾濱 150001; 2. 北京空間飛行器總體設(shè)計(jì)部,北京 100094)
隨著人類航天活動的逐年增加,空間飛行器的數(shù)量呈現(xiàn)快速增長趨勢[1]。在軌航天器由于使用壽命有限,零部件故障或意外碰撞等原因而無法正常運(yùn)行,從而形成非合作的失效航天器或稱太空垃圾,通常還帶有一定程度的翻滾特性[2]。失效航天器的及時捕獲、接管、修復(fù)或清理等對于正常在軌運(yùn)行航天器的安全以及軌道資源再回收等有重大意義。
空間機(jī)械臂因其具有質(zhì)量輕、靈活性高、操控性強(qiáng)等優(yōu)勢,在空間失效目標(biāo)的捕獲任務(wù)中具有廣泛的應(yīng)用前景[3-4]。為實(shí)現(xiàn)抓捕過程的穩(wěn)定可靠,應(yīng)使空間機(jī)械臂在接近目標(biāo)抓捕位置時平穩(wěn),且相對速度應(yīng)盡可能小,從而減小抓捕碰撞力。國內(nèi)外學(xué)者針對抓捕過程空間機(jī)械臂的控制策略進(jìn)行了諸多研究。Yoshida等[5-7]研究了針對空間機(jī)械臂的在軌動力學(xué)與控制問題,并在ETS-VII任務(wù)中進(jìn)行了實(shí)際應(yīng)用;Matsumoto等[8-9]對捕獲空間失效航天器的路徑規(guī)劃和捕獲過程的動力學(xué)進(jìn)行了研究;Angel等[10-11]針對空間翻滾目標(biāo)的抓捕任務(wù),通過控制空間機(jī)械臂的接近速度,使其與目標(biāo)的相對速度通過抓捕系統(tǒng)的質(zhì)心,實(shí)現(xiàn)了基座姿態(tài)擾動最優(yōu);Yu等[12]針對帶有柔性帆板的空間漂浮機(jī)械臂的動力學(xué)建模和非合作目標(biāo)的抓捕任務(wù)進(jìn)行了研究;Xu等[13]針對空間機(jī)械臂的運(yùn)動學(xué)、動力學(xué)和末端執(zhí)行器存在的不確定性問題,提出一種改進(jìn)的自適應(yīng)反步控制器 (Backstepping Controller),保證了傳統(tǒng)動態(tài)曲面控制方法跟蹤誤差的漸近收斂性。上述針對空間機(jī)械臂的抓捕控制均基于多體系統(tǒng)動力學(xué)模型來實(shí)現(xiàn),而多體系統(tǒng)的動力學(xué)模型很難被精確建立,特別是針對帶有柔性帆板、柔性臂桿等結(jié)構(gòu)的航天器,嚴(yán)格按照動力學(xué)模型實(shí)現(xiàn)抓捕控制會產(chǎn)生較大的位置和速度偏差,從而產(chǎn)生抓捕逃逸或碰撞力過大等問題。
強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)算法在機(jī)器人系統(tǒng)控制中的應(yīng)用近年來逐漸興起,并取得了較好的應(yīng)用[14]。Smrui[15]基于深度強(qiáng)化學(xué)習(xí)算法(Deep Reinforcement Learning, DRL)對機(jī)械手臂的多種操作任務(wù)進(jìn)行了研究,同時介紹了DRL針對高維狀態(tài)空間的目標(biāo)逼近策略的實(shí)驗(yàn)室級的應(yīng)用;Wang等[16]基于深度強(qiáng)化學(xué)習(xí)算法對輪式機(jī)器人在斜坡路面上的動態(tài)路徑規(guī)劃進(jìn)行了研究,并與傳統(tǒng)的依靠動力學(xué)模型的D*規(guī)劃算法作對比,仿真結(jié)果證明了深度強(qiáng)化學(xué)習(xí)算法能在保證精度的前提下較快地實(shí)現(xiàn)動態(tài)路徑規(guī)劃。
DRL算法具有不依賴系統(tǒng)運(yùn)動學(xué)或動力學(xué)模型的特點(diǎn),通過設(shè)定獎賞函數(shù)實(shí)現(xiàn)機(jī)器人系統(tǒng)的運(yùn)動軌跡及驅(qū)動力矩控制,對于空間非合作目標(biāo)的多自由度機(jī)械臂抓捕問題有較好的適用性。本文基于DRL算法提出一種深度確定性規(guī)則策略(Deep Deterministic Policy Algorithm, DDPG),將空間非合作目標(biāo)的抓捕過程的漂浮基機(jī)械臂的位置、力矩和速度控制問題轉(zhuǎn)化為高維空間的目標(biāo)逼近問題,通過設(shè)置目標(biāo)獎賞函數(shù),驅(qū)動空間機(jī)械臂的末端位置和運(yùn)動參數(shù)滿足抓捕條件,從而實(shí)現(xiàn)穩(wěn)定可靠抓捕。
圖1為漂浮基空間機(jī)械臂抓捕空間非合作目標(biāo)的物理模型??臻g機(jī)械臂具有n自由度,一端與漂浮狀態(tài)的本體星連接,非合作目標(biāo)為帶有自旋特性的空間漂浮物體。FI(OXYZ)為系統(tǒng)慣性坐標(biāo)系;F0(o0x0y0z0)為本體星質(zhì)心坐標(biāo)系,其原點(diǎn)位于本體星質(zhì)心位置;Fi(oixiyizi)為空間機(jī)械臂關(guān)節(jié)i的中心坐標(biāo)系,qi(i=1,…,n)為關(guān)節(jié)i的轉(zhuǎn)角,關(guān)節(jié)轉(zhuǎn)動方向zi(i=1,…,n)與關(guān)節(jié)轉(zhuǎn)軸平行;Fe(oexeyeze)為空間機(jī)械臂末端抓捕機(jī)構(gòu)中心坐標(biāo)系;Ft(otxtytzt)為非合作自旋目標(biāo)質(zhì)心坐標(biāo)系;Fh(ohxhyhzh)為非合作目標(biāo)的抓捕位置中心坐標(biāo)系;ωt為目標(biāo)自旋角速度;R0為慣性系下的本體星質(zhì)心矢徑;Ri(i=1,…,n)為慣性系下關(guān)節(jié)i中心坐標(biāo)系的原點(diǎn)矢徑;Re為慣性系下的空間機(jī)械臂末端機(jī)構(gòu)中心坐標(biāo)系的矢徑;Rt為慣性系下自旋目標(biāo)的質(zhì)心矢徑;r0為關(guān)節(jié)1的中心坐標(biāo)系F1在基座質(zhì)心坐標(biāo)系F0下的矢徑;rh為Ft到Fh的矢徑;di(i=1,…,n)為臂桿i+1的始末點(diǎn)矢徑(由Fi指向Fi+1)。
圖1 空間漂浮基機(jī)械臂非合作目標(biāo)抓捕物理模型Fig.1 Physical model of free-floating space manipulator capturing uncooperative target
利用代理(Agent)的思想實(shí)現(xiàn)對漂浮基座的空間機(jī)械臂進(jìn)行抓捕控制,將控制指標(biāo)作為獎賞函數(shù)的變量,利用代理對空間機(jī)械臂的關(guān)節(jié)運(yùn)動進(jìn)行控制,并將獎勵值最為運(yùn)動方向的控制反饋,逐步訓(xùn)練,使空間機(jī)械臂滿足抓捕條件。
1)定義狀態(tài)空間S={s0,s1,…,sn},起始時刻的狀態(tài)s0及其所對應(yīng)的概率分布P(s0);
2)定義行為空間A={a0,a1,…,an};
3)定義環(huán)境的動態(tài)更新驅(qū)動函數(shù)p(st);
4)定義行為獎賞函數(shù)R(st,at,st+1);
5)定義獎賞折扣系數(shù)λ∈[0,1],用于強(qiáng)調(diào)即時的回報(bào)。
圖2 深度強(qiáng)化學(xué)習(xí)算法的狀態(tài)-行為-學(xué)習(xí)循環(huán)框圖Fig.2 State-action-learning loop of DRL algorithm
DRL算法具有局部決策獨(dú)立與整體歷程的基本特性,即當(dāng)前環(huán)境狀態(tài)st僅與前一時刻的環(huán)境狀態(tài)st-1和行為at-1有關(guān),而與此前0時刻到t-2時刻對應(yīng)的環(huán)境狀態(tài)和行為均無關(guān)。DRL算法的這種特性滿足Markov離散隨機(jī)變量的概率分布特性,因此其深度強(qiáng)化學(xué)習(xí)的過程也可稱為Markov過程,數(shù)學(xué)表述如式(1):
p(st|a0,a1,…,at-1,s0,s1,…,st-1)=p(st|at-1,st-1)
(1)
空間機(jī)械臂系統(tǒng)包含自由漂浮基座和n自由度空間機(jī)械臂兩部分,根據(jù)DLR控制策略的構(gòu)成要素,定義漂浮基座對應(yīng)的狀態(tài)空間集合為式(2):
(2)
(3)
定義t時刻各關(guān)節(jié)對應(yīng)驅(qū)動力矩為式(47):
(4)
定義空間機(jī)械臂末端抓捕機(jī)構(gòu)與空間非合作自旋漂浮目標(biāo)的距離在時刻t時為式(5):
dt=|Re-Rt|
(5)
以完成捕獲任務(wù)的時間、機(jī)械臂末端抓捕機(jī)構(gòu)距離目標(biāo)點(diǎn)的距離、關(guān)節(jié)觀測驅(qū)動力矩大小為獎賞值的參考指標(biāo),定義獎賞函數(shù)如式(6):
rt=f(t)[l1g(dt)+l2h(|τt|)]
(6)
其中,f(t)為與捕獲時間相關(guān)的指標(biāo)函數(shù),g(dt)為與機(jī)械臂末端抓捕機(jī)構(gòu)距離目標(biāo)點(diǎn)的距離的指標(biāo)函數(shù),h(|τ|)為與機(jī)械臂的關(guān)節(jié)控制力矩相關(guān)的指標(biāo)函數(shù);l1、l2分別對對應(yīng)函數(shù)的調(diào)和系數(shù)。為使訓(xùn)練過程更加有效,應(yīng)使得抓捕任務(wù)的整個過程獎勵值隨著相對應(yīng)的指標(biāo)的變化均有明顯波動,因此設(shè)置上述各指標(biāo)函數(shù)如式(7):
(7)
其中,f(t)、g(dt)、h(|τt|)具有相同的函數(shù)形式,對于如式(8)所示形式的函數(shù):
(8)
式(8)求一階導(dǎo)并取絕對值得式(9):
(9)
顯然,在Δ接近0或者遠(yuǎn)離0時,Γ(Δ)對應(yīng)的函數(shù)值波動范圍均較大。同理,式(7)中各函數(shù)在遠(yuǎn)離或接近對應(yīng)指標(biāo)的情況下,獎勵函數(shù)rt均會產(chǎn)生較為明顯的波動,可促使訓(xùn)練更加有效,從而減少訓(xùn)練收斂次數(shù),加快目標(biāo)的抓捕進(jìn)度。
DDPG算法是對確定性策略算法(Deterministic Policy Algorithm, DPG)算法的改進(jìn)。DPG算法包含行為函數(shù)λ(s|q)以及價值函數(shù)J(s,a)兩部分,算法通過評價函數(shù)對離散時刻的行為進(jìn)行評價,以求得行為的確定性狀態(tài)。為了實(shí)現(xiàn)對行為的逐步更新,定義與行為參數(shù)相關(guān)的鏈?zhǔn)揭?guī)則函數(shù)如式(10):
(10)
價值函數(shù)J(s,a)通過式(11)所示Bellman方程實(shí)現(xiàn)逐步更新:
BJ=E[y-J(s,a|qJ)2|s=st,a=λ(st|qλ)]
(11)
漂浮基座的空間機(jī)械臂抓捕非合作自旋目標(biāo)屬于高維連續(xù)空間問題,無法直接用QL(Q-Learning)算法解決。圖3所示為DDPG控制算法的結(jié)構(gòu)流程圖,在DDPG算法中,定義目標(biāo)價值函數(shù)J′(s,a|qJ′)和目標(biāo)行為函數(shù)λ′(s|qλ′),上述兩目標(biāo)函數(shù)用于分別計(jì)算目標(biāo)值。目標(biāo)網(wǎng)絡(luò)的權(quán)重通過下式(12)實(shí)現(xiàn)軟更新,可有效避免直接引用前一步計(jì)算結(jié)果所帶來的訓(xùn)練結(jié)果超調(diào)、目標(biāo)不收斂等問題,提高算法訓(xùn)練過程的穩(wěn)定性。
(12)
圖3 DDPG算法的結(jié)構(gòu)流程圖Fig.3 Structure schematic diagram of DDPG algorithm
對于包含高維度的狀態(tài)空間和行為空間的非合作目標(biāo)捕獲問題,直接利用DDPG算法對空間機(jī)械臂的抓捕任務(wù)進(jìn)行控制,由于數(shù)據(jù)量和計(jì)算量極大,訓(xùn)練模型效率和收斂時間均不理想。因此,本文利用包含預(yù)演練(Pre-traing, PT)過程的DDPG控制策略[18]。PT策略是指預(yù)先訓(xùn)練空間機(jī)械臂進(jìn)行主動隨機(jī)運(yùn)動,訓(xùn)練過程產(chǎn)生的狀態(tài)轉(zhuǎn)換函數(shù)存儲至重放緩沖集合{R}。PT過程并不包含參數(shù)更新的步驟,因此較短時間內(nèi)可對空間機(jī)械臂進(jìn)行大量的訓(xùn)練,使得空間機(jī)械臂在訓(xùn)練前就具有大量學(xué)習(xí)數(shù)據(jù)作為參考。此方法可顯著提高DDPG算法在高維度狀態(tài)空間和行為空間的訓(xùn)練效率,縮短收斂時間。
利用漂浮基座空間三自由度機(jī)械臂抓捕空間非合作自旋目標(biāo)的模型進(jìn)行仿真分析,目標(biāo)為空間自由漂浮狀態(tài),且存在自旋特性。表1為漂浮基座空間機(jī)械臂的零位對應(yīng)D-H參數(shù)。表2為漂浮基座空間機(jī)械臂各模塊以及非合作自旋目標(biāo)的質(zhì)量和慣量參數(shù),其中m0、m1、m2、m3、mt分別為漂浮基座、臂桿1、臂桿2、臂桿3、非合作目標(biāo)的質(zhì)量,Ixx、Ixy、Ixz、Iyy、Iyz、Izz為對應(yīng)的慣量矩陣。需要特別說明的是,表中非合作目標(biāo)的慣量參數(shù)是在Fh坐標(biāo)下表示的。假設(shè)目標(biāo)的抓捕位置位于目標(biāo)自旋軸上,且抓捕過程的最后階段,空間機(jī)械臂末端抓捕機(jī)構(gòu)的速度方向與目標(biāo)自旋軸重合,降低實(shí)際抓捕難度。
表1 零位D-H參數(shù)
表2 質(zhì)量和慣量參數(shù)
目標(biāo)抓取點(diǎn)位置為Rh=[0.75 0.15 1.85]Tm。式(5-5)對應(yīng)的獎勵函數(shù)中,設(shè)置l1=0.05,l1=0.1;設(shè)置獎賞累加折扣系數(shù)λ=0.85;批量參考數(shù)組個數(shù)n=20;行為網(wǎng)絡(luò)λ(s|q)與J(s,a|qJ)設(shè)置為3層,每層單元個數(shù)分別為100,100,20,神經(jīng)網(wǎng)絡(luò)的LR參數(shù)(Learning Rate,學(xué)習(xí)率)設(shè)置為10-4;訓(xùn)練次數(shù)為1000;目標(biāo)行為網(wǎng)絡(luò)與目標(biāo)評價網(wǎng)絡(luò)更新步間距分別為100和150;其余參數(shù)設(shè)置參照文獻(xiàn)[17],此處不再贅述。
目標(biāo)抓捕成功的條件設(shè)定如下:①末端抓捕機(jī)構(gòu)冗余誤差設(shè)定為0.05 m,定義目標(biāo)球形抓捕域的半徑為SR=0.05 m,即抓捕位置中心點(diǎn)坐標(biāo)與末端抓捕機(jī)構(gòu)中心距離誤差εt≤SR;②且|τt|2≤1 N·m時,抓捕機(jī)構(gòu)實(shí)施收攏動作并完成目標(biāo)捕獲;③抓捕機(jī)構(gòu)與目標(biāo)抓取點(diǎn)的相對速度小于0.05 m/s。
仿真工具為MATLAB R2017b,設(shè)置仿真步長為0.05 s,仿真結(jié)果如下:圖4分別為加入PT訓(xùn)練策略和未加入PT訓(xùn)練策略的訓(xùn)練歷程,由獎勵值曲線變化對比可知,包含了PT訓(xùn)練策略的DDPG訓(xùn)練在經(jīng)歷600次訓(xùn)練歷程后,總獎賞值趨于穩(wěn)定,約為150,對應(yīng)為控制策略逐漸收斂至目標(biāo)要求;而不包含PT訓(xùn)練策略的DDPG訓(xùn)練在經(jīng)歷1000次訓(xùn)練歷程后,獎賞值未達(dá)到100且仍處于振蕩狀態(tài),未能收斂。因此,通過PT訓(xùn)練策略可有效提高訓(xùn)練效率,縮短非合作目標(biāo)抓捕任務(wù)所需時間。因此,采用包含PT訓(xùn)練策略的DDPG控制算法訓(xùn)練FFSM完成非合作自旋目標(biāo)的捕獲,仿真結(jié)果如圖5~9所示。圖5為3個關(guān)節(jié)訓(xùn)練歷程的角度和角速度變化曲線,圖6為抓捕過程3個關(guān)節(jié)訓(xùn)練歷程的輸出力矩曲線,圖7為空間機(jī)械臂末端點(diǎn)的抓捕過程三維軌跡,圖8為空間機(jī)械臂抓捕距離及與目標(biāo)的相對速度變化曲線圖,圖9為漂浮基座在抓捕過程中的位置和線速度、角度和角速度變化曲線。
圖4 DDPG訓(xùn)練歷程獎勵值變化曲線Fig.4 Curves of reward value with DDPG training times
圖5 關(guān)節(jié)角度和角速度曲線 Fig.5 Angle and angular velocity of three joints
圖6 關(guān)節(jié)力矩曲線圖Fig.6 Control torque of three joints
圖7 機(jī)械臂末端抓捕機(jī)構(gòu)中心三維軌跡圖Fig.7 3D trajectory of end effector of FFSM
圖8 機(jī)械臂末端抓捕距離及相對速度曲線圖Fig.8 Distance and relative velocity between end effector of FFSM and target
圖9 漂浮基座位置、速度、角度及角速度曲線圖Fig.9 Position, velocity, angle and angular velocity curves of free-floating base
由圖5可知,抓捕機(jī)構(gòu)從初始位置機(jī)動至抓捕位置時,關(guān)節(jié)角速度在抓捕初段逐漸增加,而在抓捕中后段逐漸趨于0附近,可有效降低空間機(jī)械臂與目標(biāo)在抓捕瞬間的碰撞力;由圖6可知,3個關(guān)節(jié)控制力矩在3 s以后逐漸收斂,且最終τxf值為0.1543 Nm,τyf值為0.4497 Nm,τzf值為0.4497 Nm,綜合力矩‖τf‖為0.6615 Nm,滿足抓捕條件中的關(guān)節(jié)輸出力矩‖τt‖2≤1 Nm的指標(biāo)要求,表明DDPG控制算法可實(shí)現(xiàn)抓捕末段減小與目標(biāo)碰撞力的要求,更有利于捕獲過程系統(tǒng)的姿態(tài)穩(wěn)定;由圖7和圖8(a)可知,整個抓捕過程中,機(jī)械臂末端抓捕機(jī)構(gòu)的中心與目標(biāo)抓捕中心點(diǎn)的間距逐漸趨于0,具體εtx=3.8E-3 m,εty=2.62E-3 m,εtz=2.0E-2 m,對應(yīng)的空間三維距離εt約為3.318E-2 m,小于抓捕域球半徑SR,即目標(biāo)處于可抓捕范圍內(nèi);由圖8(b)可知,接近目標(biāo)抓捕位置時,相對速度趨于0,具體vtx=1.9E-3 m/s,vty=1.1E-3 m/s,vtz=2.0E-3 m/s,綜合相對速度為‖vt‖=2.97E-3 m/s。由圖9可知,F(xiàn)FSM系統(tǒng)的漂浮基座在整個抓捕過程中隨著末端抓捕機(jī)構(gòu)的速度降低,姿態(tài)和速度均處于可控狀態(tài)。
綜合仿真結(jié)果可知:抓捕時刻的關(guān)節(jié)驅(qū)動力矩為0.6615 Nm,抓捕中心誤差為0.02 m,機(jī)械臂末端與目標(biāo)間的相對抓捕速度小于3 mm/s;以上指標(biāo)均能滿足預(yù)設(shè)的抓捕條件,可有效減小抓捕碰撞力對本體星和目標(biāo)運(yùn)動狀態(tài)的影響,使得抓捕任務(wù)安全可靠。
1) 基于DRL算法的控制策略可在不依賴系統(tǒng)的運(yùn)動學(xué)和動力學(xué)模型的情況下,對空間漂浮基座機(jī)械臂的抓捕軌跡和速度進(jìn)行有效控制;
2)根據(jù)仿真結(jié)果,抓捕過程的末段,機(jī)械臂的關(guān)節(jié)驅(qū)動總力矩約為0.66 Nm,末端抓捕機(jī)構(gòu)與目標(biāo)抓捕位置的位置偏差約為3E-2 m,相對速度約為3 mm/s;
3)基于DRL算法的DDPG控制策略能較好地實(shí)現(xiàn)對非合作目標(biāo)的精確定位和低碰撞力抓捕,相比于DPG控制策略,計(jì)算速度略有降低,但DDPG控制策略通過逐步更新行為的方式,使得目標(biāo)抓捕過程的控制效果更加穩(wěn)定和準(zhǔn)確;
4)針對多體系統(tǒng)的運(yùn)動控制以及目標(biāo)抓捕等難以精確建立系統(tǒng)動力學(xué)模型的問題,可利用DRL算法這一新型控制策略解決。