張 鑫,劉金國
(1. 中國科學院沈陽自動化研究所機器人學國家重點實驗室,沈陽 110016;2.中國科學院機器人與智能制造創新研究院,沈陽 110169)
空間機器人系統擁有衛星的機動能力和機械臂操控能力[1],在空間目標捕獲[2-4]、在軌更換核心部件[5]及在軌建造等任務中起著重要作用。不同于固定基座機器人,空間機器人的浮游基體會導致動力學同步耦合問題,即機械臂的運動將影響基體的位置和姿態,同時基體的耦合運動將反作用影響機械臂的操作精度[6]。由于動力學耦合將引起基體姿態失控或導致機械臂與抓捕目標發生碰撞[2],因此補償或抵消動力學耦合是空間機器人領域的一個重點關注問題。從當前文獻分析,學者主要是從運動規劃和解耦(或協調)控制兩方面來解決此問題。
對于運動規劃方法的研究,主要集中于自由漂浮空間機器人[7],即僅機械臂可控,基體位置和姿態不受控制。由于自由漂浮空間機器人是一個非完整約束系統,因此它的系統狀態不僅與關節角度值變化有關,而且與關節速度軌跡也有關[8]。同時,不同于固定式機器人,自由漂浮空間機器人的奇異性為動力學奇異性,即奇異性不僅與運動學參數有關,而且與動力學參數也有關[9]。早期,Torres等提出擾動和增強擾動圖的方法,旨在關節空間中找到引起基座擾動較小的可行軌跡[10]。Nakamura等提出了一種雙向規劃方法,該方法利用非完整的冗余特性來同時規劃末端執行器和基體[11]。Sone等提出了反作用零空間(Reaction null-space, RNS)方法,該方法將基體運動映射到機械臂的零空間中,因此該方法要求機械臂具有運動學冗余自由度[12]。盡管,RNS方法已在ETS-VII衛星上得到了驗證[13],然而動力學奇異性限制了RNS方法的應用。此外,Huang等提出一種面向雙臂空間機器人的動態平衡方法,以減小基體干擾,其本質原理也是利用機械臂的運動學冗余特性[14]。文獻[15]提出一種基于組合函數的笛卡爾軌跡規劃方法,利用混沌粒子群算法優化軌跡,該方法可同時兼顧空間機器人的動力學奇異性、基體姿態擾動及運動時間問題。類似的,一些學者利用差分進化[16]和快速搜索樹[17],來規劃擾動最小或無擾軌跡,但此類方法需要迭代計算,效率往往不高。
在解耦控制方面,一些學者提出將空間機器人系統分為兩個子系統,即機械臂控制系統和基體控制系統。Longman等[18]采用逆動力學分析方法來獲得耦合作用力,并將耦合作用力作為前饋輸入到控制系統中。事實上,耦合表現為基體與機械臂之間的作用力與反作用力,可采用牛頓-歐拉遞推方法計算基體與機械臂之間的內部作用力/力矩[19]。Oda等[20]提出用角動量守恒方法來估計基體的角動量,同樣也是采用前饋—反饋的控制方法實現補償基體的反作用。馮驍等[21]采用角動量前饋補償和逆動力學算法設計了適用于多臂空間機器人捕獲目標的協調控制器,其中逆動力學算法本質上為基于模型的計算力矩方法。實際上,空間機器人為多輸入多輸出(Multi-input multi-output, MIMO)系統,一些學者設計了基于整體模型的控制器來實現基體與機械臂之間的協調控制。Jayakody等[22]提出一種基于虛擬控制輸入的方法實現系統的解耦,并提出一種基于自適應變結構的控制方法,實現基體與機械臂的協調控制。進一步,Shi等[23]提出一種基于對角化方法將MIMO系統轉變為單輸入單輸出(Single-input single-output, SISO)系統,同時分別采用三種方法:計算力矩法、滑模控制、模型預測控制來實現對整個系統解耦。Kumar等采用前饋神經網絡來學習空間機器人系統的動力學,并設計一個基于神經網絡的自適應控制器,以實現對基體與機械臂的協調控制[24]。然而,以上基于模型的控制方法[18-24],計算動力學模型參數將耗費大量計算資源。
綜上所述,運動規劃方法主要面向自由漂浮空間機器人,盡管反作用零空間方法可以在實時規劃場景應用,但它需要零空間的維度足夠大才能保證產生無反作用的關節軌跡。軌跡優化方法的本質為離線迭代優化方法,它通常需要足夠的時間去獲得滿意的結果。總體來說,運動規劃方法往往偏重于自由漂浮空間機器人的理論研究。相比而言,解耦控制方法主要面向自由飛行空間機器人,此類方法更偏重于實際場景中應用,當前運動控制算法主要的挑戰在于星載計算機的運算能力有限,導致復雜的控制算法將不適用于星載計算機實時解耦控制。
不同于基于模型的解耦控制方法,本文面向空間機器人的姿態耦合問題,提出一種基于時延估計(Time-delay estimation, TDE)的解耦控制方法,實現對空間機器人系統動力學的高效解耦。通過引入常數對角陣對動力學模型進行改造,將新模型劃分為:線性項和新非線性項。對于新非線性項,采用TDE來估計,該方法利用模型前一時刻的觀測信息和控制輸入來估計當前時刻系統的非線性動力學項。TDE方法估計非線性項不需要計算模型參數,為無模型估計算法,且計算效率高。
圖1所示為空間機器人系統示意圖,空間機器人系統包括兩部分:基體和機械臂。其中,基體具有6個自由度,機械臂具有n個自由度。圖1中相關符號定義,見表1。這里在不特別指明的情況下,各符號默認定義在慣性坐標系中。

表1 符號定義Table 1 Symbol definitions

圖1 空間機器人系統:衛星—機械臂系統Fig.1 Space robot system: satellite-manipulator system
此外,系統的建模與控制基于以下兩點假設:
1)空間機器人工作于微重力環境,即:g≈0。
2)空間機器人系統配備高功率動量輪或反作用飛輪,可提供足夠的動力來調整基體姿態。

(1)
(2)
式中:ε0=[ε0x,ε0y,ε0z]T∈3為四元數的向量部分,η0為四元數的標量部分,它們滿足如下限制條件:故Q0僅具有3個獨立變量。此外,符號表示反對稱矩陣,對于向量定義為:
(3)
采用復合剛體動力學建模方法,建立空間機器人動力學方程,名義模型可表示為:
(4)
式中:H∈(n+6)×(n+6)為系統慣性矩陣,HB∈6×6和HM∈n×n為對應基體和機械臂的慣性矩陣,HBM∈n×6為基體與機械臂之間的耦合慣性矩陣,c∈n+6為系統的速度獨立非線性項,cB∈6×6和cM∈n×n為基體和機械臂的速度獨立項矩陣,cBM∈6×n和cMB∈n×6為速度獨立項耦合矩陣,F∈n+6為系統驅動力項,6為作用于基體的力和力矩,τM=[τ1,…,τn]T∈n為機械臂關節力矩項,θ=[θ1,…,θn]T∈n為機械臂關節角向量,6為基體的廣義加速度項,n+6為系統的廣義位置項,n+6和n+6為系統的速度和加速度項。
復合剛體動力學建模方法是一種高效的建模方法,它綜合了慣性矩陣方法和牛頓—歐拉迭代方法,通過系統動能來推導系統的慣性矩陣,通過牛頓—歐拉逆動力學推導系統的非線性獨立項。具體建模過程如下:
1)慣性矩陣
空間機器人處于微重力環境,不具有重力勢能,系統能量主要體現為系統動能,表示為:
(5)
式中:mi和Ii∈3×3為連桿i的質量和慣性張量,ωi∈3和vi∈3為連桿i的角速度向量和質心線速度向量,當i=0表示基體。進一步,式(5)可轉化為:
(6)
因此,可得到系統的慣性矩陣H(ρ)。
2)速度獨立非線性項
由于速度獨立非線性項與系統加速度無關,故可以通過牛頓—歐拉逆動力迭代算法求解此項[25]。牛頓—歐拉算法包括兩步:第一步,速度和加速度正向推導,其中(i=1,2,…,n);第二步,力和力矩逆向推導,其中(i=n-1,n-2,…,0)。
(7)
(8)

(9)
式中:FNE(·)表示牛頓—歐拉遞推方程函數。進一步,可將式(4)簡化為:

(10)

(11)
(12)
(13)
進一步,將式(11)和(13)代入式(10)中,同時,左乘J-T以保證變換后的慣性矩陣為正定矩陣,得到:
(14)
其中:
HS(ρ)=J-TH(ρ)J-1
(15)
(16)
(17)
因此,式(14)為系統動力學的名義模型。
然而,實際中需要考慮擾動及不確定性的影響,假設擾動和不確定性有界,因此實際模型可表示為:
(18)
式中:擾動項記為:fd=[fd0x,fd0y,fd0z,td0x,td0y,td0z,ti,…,t6]T∈n+6,且各元素滿足有界性;不確定項記為:且fu=[fu1,…,fui,…,fu(n+6)]T∈n+6,同時各元素滿足有界性。
如圖2所示,對于單臂空間機器人,基—臂耦合體現在機械臂反作用于基體上的力和力矩,直觀地表現為關節1處的作用力及力矩。進一步,對式(4)進行分解可得兩個子系統:

圖2 機械臂與基體的耦合作用Fig.2 Coupling action between the manipulator and the base
(19)

對于基體姿態受控而位置不受控的空間機器人,需要對控制輸入進行變換:
(20)
式中:FDS=DSFS=[0, 0, 0,FDS4,…,FDS(n+6)]T∈n+6為變換后的空間機器人基體驅動力項,DS為控制輸入變換矩陣,表示為:
(21)
計算力矩控制(Computed torque control, CTC)為經典的基于模型解耦控制方法,通過在線計算系統的非線性項和慣性矩陣,并通過PD控制補償誤差,實現系統完全解耦與線性化。
如圖3所示,CTC控制律,表示為:

圖3 經典的CTC解耦控制Fig.3 Classical CTC decoupling control
FS=HSuCTC+cS
(22)
(23)
式中:KP和KD∈(n+6)×(n+6),分別為比例增益矩陣和微分增益矩陣;e和n+6為狀態誤差及其導數。將式(22)代入式(14)中,可得完全解耦的線性定常系統:
(24)
當前,最常見的無模型控制器,為智能PID控制器[27],但PID控制器大多適應于SISO系統,同時參數整定也需要設定一些智能規則。空間機器人為連續變量MIMO系統,本小節采用TDE控制實現無模型解耦控制,TDE是上世紀90年代由Hisa等提出,早期主要應用于傳統工業機器人[28]。TDE的基本思想是利用模型前一時刻的觀測信息和控制輸入,來在線估計當前時刻連續變量系統的未知動態,實現對系統非線性項的補償。
對于TDE控制,第一步,通過引入常數對角陣,對系統動力學模型進行變換。第二步,將系統視為黑箱系統,通過綜合上一時刻輸出和輸入信息,來估計系統的動態。因此,它不需要在線計算非線性項和慣性矩陣,為無模型解耦控制方法。如圖4所示為TDE解耦控制原理圖。

圖4 TDE解耦控制Fig.4 TDE decoupling control
對于式(20)進行變換,有:
(25)
(26)


(27)
式中:N(t-δ)為TDE項,表示對N(t)的估計,δ為系統采樣間隔。若想保證TDE的精準性,需要保證δ足夠小[28]。根據式(25),可知:
(28)
進一步,TDE控制律可表示為:
(29)
(30)
將式(29)和(28),代入式(25)中,可以得到:
(31)
式中:設ε(t)=N(t)-N(t-δ),表示TDE誤差。
進一步,將式(30)代入式(31)中,可得:
(32)
對于TDE閉環控制系統穩定性,等同于證明e(t)漸近收斂,也就是證明ε(t)漸近有界的。考慮到空間機器人為連續非線性系統,ε(t)滿足有界性。關于ε(t)漸近有界性證明,詳見文獻[25, 28]。
TDE解耦與CTC解耦原理都是通過補償系統非線性項來實現解耦,但在技術途徑上差異很大。具體體現為:CTC需要實時計算系統參數cS和HS,來實現系統的解耦與線性化;而TDE控制采用模型變換和在線估計的強解耦方法,其解耦原理簡單,易于應用。此外,考慮到衛星所攜帶星載計算機的計算能力有限,對于基于模型的控制器將耗費大量的計算資源。不同于基于模型的CTC控制方法,基于TDE的無模型控制器不需要實時計算模型參數,計算效率更高,更具應用前景。
本節仿真以在軌觀測任務為背景,控制目標是保證機械臂的精準運動并維持基體姿態穩定。圖5所示為空間機器人系統模型,本節采用3個仿真案例,分別為:基于名義模型、考慮外界擾動、考慮參數不確定性,對比驗證所提出的無模型解耦控制方法的有效性。

圖5 空間機器人模型Fig.5 Space robot model
圖6所示為空間機器人運動過程,具體包含兩個步驟:1)機械臂從初始構型到中間構型;2)從中間構型到終端構型。

圖6 空間機器人運動過程Fig.6 Space robot motion processes
其中,機械臂中間構型和終端構型分別:
(33)


圖7 機械臂期望關節軌跡Fig.7 Desired joint trajectories of the manipulator

表2 空間機器人系統的D-H參數Table 2 D-H parameters of the space robot system

表3 空間機器人系統慣性參數Table 3 Inertial parameters of the space robot system

續表3
本案例采用理想的名義模型,即式(14),來驗證CTC和TDE控制器。CTC控制器參數設定為:
KP[0, 0, 0, 75, 50, 50, 50, 50,
50, 5, 5, 0.8]T×105,
KD[0, 0, 0, 500, 500, 500, 500, 500,
500, 20, 80, 1]T×102。
對于TDE控制器,系統周期采樣間隔設為:δ=0.5 ms,相關參數設定為:

0.5, 0.5, 0.5),
KP[0, 0, 0, 10, 10, 10, 2, 2, 2,
1, 1, 1]T×102,
KD[0, 0, 0, 20, 20, 20, 4, 4, 4,
2, 2, 2]T×101。
由于控制器不控制基體位置,故上述參數前3個元素均設為0。本案例仿真結果如圖8所示。

圖8 案例1仿真結果Fig.8 Simulation results of the case 1
本案例在名義模型的基礎上,考慮外界擾動,設未知擾動力矩為:
(34)
這里,CTC和TDE控制器參數與案例1中控制器參數一致,仿真結果如圖9所示。

圖9 案例2仿真結果Fig.9 Simulation results of the case 2
本案例同時考慮擾動和不確定性因素,假設系統不確定性由末端未知載荷引起,導致末端連桿參數發生變化。設末端慣性質量和慣性矩變為:m6=20 kg,6I6xx=6I6yy=1.2 kg·m2,6I6zz=1.0 kg·m2。盡管,參數發生變化,但對于控制器是未知的。這里CTC和TDE控制器參數同樣與案例1中控制器參數一致,仿真結果如圖10所示。

圖10 案例3仿真結果Fig.10 Simulation results of the case 3
由于四元數僅具有3個獨立變量,故在仿真案例中用四元數的標量部分來表示基體姿態。從圖8~10中,在3個案例中,對于CTC方法,基體姿態誤差約在10-3量級;而對于TDE方法,基體姿態誤差最大值約在10-5量級;因此TDE解耦控制在維持基體姿態穩定方面效果更優。另一方面,在機械臂關節軌跡控制精準性方面,對于CTC方法,機械臂關節的最大跟蹤誤差約在10-1量級;對于TDE方法,機械臂關節最大跟蹤誤差約在10-4量級;因此TDE解耦控制在保證機械臂運動精準性方面效果更優。根據TDE原理可知,TDE控制具有內在的自適應性,因此在外界高頻擾動的作用下,TDE能夠精準地估計擾動力的大小和變化,具體體現在TDE的控制驅動力矩方面。綜合TDE的解耦機理,可以看出基于TDE的無模型解耦控制方法,不僅效率更高,且解耦效果更好。
對于空間機器人姿態解耦問題,控制機械臂運動的同時還需要保持基體姿態穩定。本文提出一種基于時延估計的無模型解耦控制方法,可實現空間機器人運動的高效解耦。本文的主要貢獻總結如下:
1) 本文采用復合剛體動力學建模方法和四元數變換推導了基于四元數表達的空間機器人動力學方程,為后續控制器實現提供模型基礎。
2) 針對空間機器人耦合動力學耦合問題,通過引入常數對角陣對原動力學模型進行改造,將模型劃分為:線性項和非線性項。對于非線性項,采用TDE來估計,它利用模型前一時刻的觀測信息和控制輸入來估計當前時刻系統的非線性動力學項,因此TDE控制是一種高效的無模型解耦方法。
3) 通過案例分析,考慮擾動和不確定因素的影響情況下,對比基于模型的解耦控制方法,結果表明所提出的無模型解耦控制方法效果較優。