李 森,胡 軍
(1.北京控制工程研究所,北京100190;2.空間智能控制技術國家級重點實驗室,北京100190)
基于序列二次規劃的推力矢量控制分配方法
李 森1,2,胡 軍1
(1.北京控制工程研究所,北京100190;2.空間智能控制技術國家級重點實驗室,北京100190)
針對使用推力矢量控制的航天器,建立了游動發動機的數學模型,在分析了游動發動機擺角約束的基礎上,提出了推力矢量控制分配問題.將該控制分配問題轉化成以力矩誤差最小和對變軌推力影響最小作為優化目標的多目標優化問題,引入序列二次規劃進行求解,得到一種新的控制分配方法.仿真結果表明,該方法能夠準確實現期望目標,驗證了所提出的控制分配方法的可行性和有效性.
推力矢量控制;控制分配;游動發動機;序列二次規劃
游動發動機作為一種先進的執行機構,在飛船、空間站等航天器上有著很好的應用前景.例如,空間站在完成了與飛船的對接后,質心會發生比較大的變化,當空間站進行變軌時,若使用常規發動機,由于其噴管方向固定,使得所產生的推力方向難以通過空間站質心,對姿態產生擾動力矩,因此必須使用大量的姿控發動機來保持空間站的姿態穩定,而這樣就會增加系統的復雜性并增加能耗.如果使用帶搖擺噴管的游動發動機,通過調整噴管的擺動角度,一方面可以確保推力方向通過空間站質心,另一方面可以使推力方向偏離質心,產生相對于質心的控制力矩,這樣可以利用一組發動機同時對軌道和姿態進行控制.目前,國外已經廣泛開展了對基于游動發動機的航天器控制策略的研究,如美國已經在航天飛機[1]和卡西尼號土星探測器[2]上將游動發動機作為執行機構進行在軌試驗,取得了良好的效果.
關于控制分配方法的研究,國內外已經取得了很多的成果,其方法可歸納為兩類:非優化的控制分配法和優化的控制分配法.非優化的控制分配方法分為直接分配(direct allocation)法、廣義逆(pseudo inverse)法和黛西鏈(daisy chaining)法[3].優化的控制分配方法主要指數學規劃方法,又可根據優化目標和約束的特性分為線性規劃和非線性規劃.非優化的控制分配方法計算量小、易于實現,但是沒有充分利用執行機構的控制效率,有較大的保守性.數學規劃方法則可以較好地提高執行機構的控制效率,并且可以將搖擺噴管的位置約束和速率約束考慮到規劃中去,在兩個或者多個游動發動機之間合理的分配控制指令,其缺點是計算量較大,實時性略差,影響了在工程上的應用.不過隨著計算機技術的不斷發展,數學規劃方法具有較好的應用前景[4-6].
本文研究采用雙搖擺噴管作為執行機構的控制分配問題.針對該問題,采用文獻[7]中提出的多目標優化方法,但由于游動發動機的擺角約束存在非線性因素,使用線性優化方法無法獲得解析解,因此本文引入序列二次規劃算法(SQP,sequential quadratic programming)對該非線性優化問題進行處理,得到一種新的控制分配方法,該方法能夠獲得滿意的分配結果,準確得到期望力矩,仿真以變軌期間的姿態穩定控制為背景,驗證了控制分配方法的有效性.
將航天器簡化為剛體,其姿態動力學模型為

式中,ω=[ ωxωyωz]T是航天器本體相對慣性空間的角速度,I是衛星本體的轉動慣量,τ=[ τxτyτz]T為控制力矩,ω×∈R 3×3表示由向量ω張成的叉乘反對稱矩陣.
由于單臺游動發動機難以產生滾動通道的力矩,所以考慮如圖1所示的雙游動發動機安裝方式.Tl、Tr分別為左右游動發動機,其噴管可以在水平和垂直面上擺動,這樣在3個通道上均能產生控制力矩.
兩臺游動發動機相對航天器質心的安裝位置分別為

噴管轉動角度的定義如圖2所示,α,β是擺動噴管轉動的角度,X、Y、Z為航天器本體系坐標軸,h是推力矢量.兩臺發動機產生的推力矢量分別是h1、h2,假定本文中使用的游動發動機其推力矢量的模值是常值,設為 F,有‖h1‖ =‖h2‖ =F.

圖1 游動發動機的安裝示意圖

圖2 噴管轉動角度示意圖
根據圖1和圖2,可以得到

式中,hi1、hi2、hi3(i=1,2)是左右兩個噴管產生的推力矢量在本體系3個軸上的分量.
游動發動機產生的控制力矩與噴管擺動角度以及安裝位置的關系如下:


綜上,本文所考慮的帶約束的控制分配問題如下:

式中,τd是由控制器得到的期望力矩,兩個噴管在水平方向和垂直方向的轉動角度分別為 αi,βi(i=1,2).由式(2)可知,如果求得推力矢量 h,就能得到噴管的轉動角度 αi,βi,所以式(6)可以轉化為如下的控制分配問題:

為獲得期望力矩 τd,在滿足約束條件下,先求得兩個發動機的推力矢量,然后根據式(2)求解搖擺噴管的轉動角度指令 αi,βi.
控制分配方法要成功地應用到航天器姿態控制系統當中,不僅要解決理論設計上的問題,比如小的控制分配誤差,小的能量損失等,還必須考慮工程中的分配實時性問題,將問題的多種限制因素聯系起來,綜合設計合適的控制分配策略.
本文中提出的控制分配問題的性能指標如下.
a)誤差最小化.給定矩陣B,在約束中尋找向量u,使指標 J=‖Bu-τd‖最小.
b)對變軌推力影響的最小化.給定向量 up,在約束中尋找向量u,使指標J=‖u-up‖最小.
c)多目標優化.給定矩陣B、向量 up、加權陣 Q和W,在約束中尋找向量 u滿足指標 J=(Buτd)T Q(Bu-τd)+(u-u p)T W(u-u p)最小.
本文中的控制分配問題可以寫成如下形式:

的要求來調整加權陣的大小;J中第1項是期望力矩和實際執行機構產生的力矩之間的誤差的懲罰項,該懲罰項的引入可以保證在任何條件下規劃問題都有解;第2項是噴管轉動時實際產生的推力矢量和發動機標稱情況下推力矢量差值的模值,代表了對變軌推力的影響.
由凸規劃的定義可以看出上述規劃問題是非線性且是非凸的,優化目標函數和第1項約束函數是凸的,非凸性主要來自后兩項非線性等式約束.這里引入序列二次規劃算法來解決此非線性規劃問題.
序列二次規劃算法通過求解一系列的二次規劃子問題來獲得原問題的最優解,因其具有非線性處理能力和超線性收斂速度,因此已經廣泛應用于與優化有關的許多領域.由于序列二次規劃算法迭代次數少、沿約束邊界進行搜索的能力強,所以本文選擇用它來求解游動發動機噴管角度的最優化分配問題.
同時含有等式和不等式約束的非線性規劃問題(NLP,nonlinear programming)的表達形式如下:

式中:x=(x1,x2,…,xn)T∈R n;f(x)、ci(x)(i∈I)、cj(x)(j∈J)是關于變量 x的函數.
定義 1.設 f(x)、ci(x)、cj(x)可微分,▽f(x)=是NLP的一個局部最小點,且 x*為正則點,則存在拉格朗日乘子 λ*i(i∈I)、μ*j(j∈J),使得成立,這組條件就稱為Kuhn-Tucker條件.

Kuhn-Tucker條件適用于含有等式約束和不等式約束的一般非線性規劃問題,是確定某點為NLP全局最優解的必要條件.
NLP的拉格朗日函數為

拉格朗日函數的Hesse矩陣計算公式如下:

式中,

含有約束的二次規劃問題如下式:

序列二次規劃算法在每次迭代中,用近似原非線性規劃問題的二次規劃子問題來求解搜索方向,具體算法流程如下.
1)給定初值 xk,Bk,k=0.
2)求解式(12)所描述的二次規劃子問題,確定搜索方向dk.
3)令 xk+1=xk+dk,判斷 xk+1是否滿足收斂條件.若滿足,則取原問題的解為 x*=xk+1,停止計算;否則將k值加1,返回2)繼續迭代.
為驗證文中提出的控制分配方法的有效性,以剛性航天器為對象,考慮航天器在變軌期間出現了小角度的姿態偏差,為了消除此偏差,以游動發動機為執行機構,將控制律和控制分配方法分開設計,控制律采用最優控制方法設計控制器,仿真參數具體如下:
軌道角速度 ω0=7.27×10-5(°)/s;本體慣量矩陣 I=diag{ 36 971,563 538,577 951} kg·m2;初始姿態[-5° -5° -5°];目標函數加權陣 Q=diag{ 100,100,100},W =diag{ 5 ,5,5};噴管搖擺角度約束 -15°≤α1,2≤15°,-15°≤β1,2≤15°;序列二次規劃算法迭代初值 α1,2=0,β1,2=0;游動發動機在標稱情況下的推力hp=[490 0 0]T.
選取期望力矩 τd=[100 100 50]TN·m,使用序列二次規劃算法分配噴管轉動角度,結果如圖3所示,經過10步迭代,就可收斂至期望的結果,誤差也很小,可見該算法快速、準確,可以滿足控制系統實時性的要求.

圖3 SQP算法的迭代結果
圖4 是將本文設計的控制分配器加入到姿態控制回路之后得到的航天器姿態角變化曲線,可以看出采用非線性控制分配的最優控制方法可以得到良好的控制效果.圖5為推力矢量發動機實際產生的控制力矩和期望控制力矩的誤差,其絕對量級很小,工程上可以忽略,說明文中使用的基于序列二次規劃算法的控制分配方法有比較滿意的效果.圖6為兩臺游動發動機轉動角度指令,可以看出轉動的角度不超過±4°,在游動發動機轉動角度約束范圍之內,沒有超出游動發動機的控制能力范圍.圖7為3軸的實際推力和標稱推力的差值.

圖4 3軸姿態角變化曲線
保持Q陣不變,增大W權值,可以降低對變軌推力的影響,仿真結果如圖8和圖9所示,這時系統的性能有所下降,存在少量的超調,調節時間也更長一些,實際控制量和期望控制量之間的誤差也有所增大.經過多次仿真,在系統性能和對變軌推力的影響之間取得了一個平衡,最后選取

圖5 實際力矩和期望控制力矩的誤差

圖6 游動發動機的轉動角度

圖7 3軸的實際推力和標稱推力的差值

通過仿真可以看出,使用游動發動機可以解決航天器變軌期間的姿控問題.經過計算,在小角度機動時對變軌的影響要小于J2項,而且其持續時間不長,所以對變軌的影響也不大.

圖8 提高W權值后的姿態角變化曲線

圖9 提高W權值后3軸實際推力與標稱推力的差值
本文針對使用游動發動機作為執行機構的航天器,研究了基于SQP算法的非線性控制分配方法,通過仿真驗證了該方法的有效性,該方法有如下的優點:
1)利用序列二次規劃算法處理非線性控制分配問題,其算法成熟,收斂性好,具有較好的解析特性;
2)控制分配方法不受控制律設計的影響,只關心如何將通過控制律所得到的控制量在一定的優化指標下分配給控制面,當航天器結構或發動機的特性發生變化的時候,只需控制分配器重新分配游動發動機轉動角度,這樣既能保證對控制性能的要求,也簡化了控制律的設計,具有實際工程意義.
[1]Enright F J.Thrust vector control algorithm design for the Cassini spacecraft[C].AIAA/AHS/ASEE Aerospace Design Conference,Irvine,USA,February 16-19,1993
[2]Marco B Q,Edward M,Jerry K L,et al.Thrust vector control of the Jovian Icy Moons Orbiter spacecraft[C].The 15thAAS Space Flight Mechanics Meeting,Chicago,USA,June 28-30,2007
[3]Durham W C.Constrained control allocation:threemoment problem[J].Journal of Guidance,Control and Dynamics,1994,17(2):217-221
[4]Pablo A S,Ricardo S P.Spacecraft thruster control allocation problems [J].IEEE Transactions on Automatic Control,2005,50(2):245-249
[5]Tor A J,Thor I F,Svein P B.Constrained nonlinear control allocation with singularity avoidance using sequential quadratic programming [J].IEEE Transactions on Control Systems Technology,2004,12(1):211-216
[6]占正勇,劉林.多操縱面先進布局飛機控制技術研究[J].飛行力學,2006,24(1):13-16
[7]何堅勇.最優化方法[M].北京:清華大學出版社,2007:246-414
[8]袁亞湘.非線性規劃數值方法[M].上海:上海科學技術出版社,1993:200-227
Sequential Quadratic Programming-Based Thrust Vector Control Allocation
LI Sen1,2,HU Jun1
(1.Beijing Institute of Control Engineering,Beijing 100190,China;2.National Laboratory of Space Intelligent Control,Beijing 100190,China)
This paper establishes the model of vernier thrusters for spacecrafts using thrust vector control.The thrust vector control allocation algorithm is proposed based on the analysis of the constraints of vernier thrusters.The sequential quadratic programming-based thrust vector control allocation algorithm can minimize the torque errors and thrust errors.Numerical simulation shows that this method can be used to obtain preferable allocation results and the control allocation method is feasible and effective.
thrust vector control;control allocation;vernier thruster;sequential quadratic programming
V448.2
A
1674-1579(2009)04-0017-05

2009-03-18
李 森(1983—),男,河南人,碩士研究生,研究方向為航天器姿態控制技術(e-mail:badlisen@gmail.com).