徐 瑞,耿子陽,朱圣英,李朝玉,梁子璇
(1. 北京理工大學宇航學院,北京 100081;2. 深空自主導航與控制工信部重點實驗室,北京 100081)
當航天器在軌運行時,經(jīng)常需要執(zhí)行大角度姿態(tài)機動,而在姿態(tài)機動過程中,航天器面臨各種復雜的約束。這些約束可以分為兩類:第一類約束來自外部的指向約束,即航天器攜帶的敏感儀器應禁止指向太陽、月亮等明亮天體。典型的例子是紅外天文衛(wèi)星IRAS,其機載紅外望遠鏡需要遠離熱源。為了防止直射的陽光影響觀察,在姿態(tài)機動過程中,紅外望遠鏡指向與太陽方向之間的角度必須不小于特定值。第二類約束來自航天器內(nèi)部,由于航天器提供的控制力矩幅度以及角速度傳感器的量程范圍有限,控制力矩和角速度大小等受到約束[1]。針對第二類約束可以通過設計合理的控制器來處理,而對第一類約束問題的研究則較晚,本文提出的多約束姿態(tài)機動路徑球面幾何規(guī)劃方法主要用于解決第一類約束問題。
用于解決復雜約束下的航天器姿態(tài)機動問題(Spacecraft reorientation in presence of constraints,SRPC)的相關算法已經(jīng)在國際深空探測任務中進行了多次技術驗證,代表性的任務有:卡西尼號土星探測任務、費米伽瑪射線空間望遠鏡(簡稱FIRST/Planck)任務和太陽異常磁層粒子探測器任務。SPRC問題在二十世紀九十年代得到了廣泛的研究,Kim等[2]考慮使用凸優(yōu)化框架處理約束,通過引入?yún)?shù)化的方式提供了可嵌入航天器自主姿態(tài)重定向規(guī)劃算法的SRPC求解器。McInnes[3]提出了一種人工勢能函數(shù)法用于引導航天器姿態(tài),通過在不期望指向上疊加較高的勢能來避免紅外望遠鏡指向太陽和其他明亮區(qū)域。Spindler[4]使用控制理論中的微分幾何方法推導出姿態(tài)機動控制律,在規(guī)定的航天器姿態(tài)之間采用rest-rest控制,可以自動避免航天器指向禁止方向。武長青等利用非凸二次型描述姿態(tài)指向約束,并引入線性松弛技術,不僅能滿足復雜約束還可以降低姿態(tài)機動的能量消耗[5-6]。
針對航天器姿態(tài)機動過程中面臨的不同約束,眾多學者提出多種解決SPRC問題的算法框架。本文提出的球面幾何規(guī)劃方法繼承并發(fā)展了Hablani[7]的幾何算法框架,該框架對航天器受到的幾何約束進行了系統(tǒng)性描述。一般地,幾何規(guī)劃方法首先考慮無約束姿態(tài)機動的最優(yōu)機動路徑,然后通過幾何算法尋找中間節(jié)點,給出姿態(tài)機動的指令序列,保證路徑滿足指向約束。其它算法框架包括勢能函數(shù)算法[8-9]、約束監(jiān)視算法[10]、隨機智能算法等。其中概率路標規(guī)劃器(PRM)[11]、快速搜索隨機樹(RRT)[12-15]等已在路徑規(guī)劃中得到了大量應用。
本文首先建立航天器姿態(tài)和指向約束在三維空間和二維平面之間的相對位置及其轉(zhuǎn)換關系。然后,提出了一種多約束姿態(tài)路徑球面幾何遞歸修正方法。對于只有一個約束的情況可以直接采用該方法進行處理,并且通過保持一定的角度余量,可以解決航天器實際運行路徑與規(guī)劃路徑不一致的問題。對于存在多個指向約束的情況,根據(jù)是否對當前規(guī)劃路徑產(chǎn)生影響,將這些約束進一步分為有效約束和無效約束,給出了區(qū)分這些約束的檢測方法。本文將約束檢測方法和幾何規(guī)劃方法相結(jié)合,尋找中間節(jié)點以規(guī)避約束區(qū)域,以遞歸的方式處理多約束問題。該方法可以作為姿態(tài)規(guī)劃器的內(nèi)嵌算法向控制器提供一系列姿態(tài)指令。最后,通過與粒子群優(yōu)化算法仿真對比,校驗了該方法具有節(jié)省機動時間、計算效率高的優(yōu)點。
描述航天器的姿態(tài)有多種方式,本文采用歐拉軸/角和單位四元數(shù)兩種方式描述航天器姿態(tài),姿態(tài)四元數(shù)與歐拉軸/角的關系如下:
(1)
式中:q0,qv分別為四元數(shù)的標部和矢部。本文采用最小角度機動方式,航天器從初始姿態(tài)q(t0)機動到給定姿態(tài)q(ti),根據(jù)歐拉旋轉(zhuǎn)定理,其姿態(tài)機動路徑為繞e軸旋轉(zhuǎn)θ角。
考慮具有空間指向約束的敏感器件一般都是固定在航天器主體上,其在空間中的指向記為v。v在本體坐標系B下是一個常幺矢vB,但是在慣性坐標系I中會隨著航天器的姿態(tài)改變而改變,這里記為vI。航天器的姿態(tài)q與vB,vI的關系可以表示如下:
(2)
一般地,造成指向約束的來源(如太陽、軌道碎片形成的區(qū)域等)在慣性空間中可以看作是靜止不動的,這意味著它們形成的空間約束錐在慣性參考系下屬于靜態(tài)約束。因此需要確定v在慣性系下的值vI。根據(jù)式(2),vB在敏感元器件安裝完成后就確定了,任意時刻vI(t)的值可以通過該時刻的姿態(tài)四元數(shù)q(t)推算。
航天器的姿態(tài)運動學方程描述航天器姿態(tài)(姿態(tài)四元數(shù)表示下的)與角速度之間的關系:
(3)
式(3)也可進一步表示為:
(4)
(5)
航天器的姿態(tài)動力學方程描述的是執(zhí)行機構(gòu)提供的控制力矩與角速度之間的關系:
(6)
將式(6)展開得:
(7)
這里的角速度和控制力矩及其分量都是在本體坐標系下表示的量。
為了便于分析障礙區(qū)域與敏感軸的指向關系,需要建立一個在初始指向附近展開的局部坐標系L。局部坐標系L起到了從三維慣性坐標系到α-β平面坐標之間轉(zhuǎn)換作用,在L系附近能較方便的定義方位角α和高度角β,同時也能計算出L系的三個坐標軸軸向矢量在慣性空間中的指向,進而確定空間慣性坐標系與α-β平面坐標之間關系。如圖1所示:
圖1 敏感軸v與障礙區(qū)域s在L系下的關系Fig.1 The relationship between the v and s under the coordinate frame L
(8)
在不考慮約束影響的情況下,實現(xiàn)星載敏感軸從v0機動到vf的路徑為繞固定軸Lz旋轉(zhuǎn)θ角,這條路徑?jīng)]有多余的角度機動,因此被稱為最小角度機動(Minimum-angle Slew Path)。根據(jù)式(1)可以計算出航天器最終時刻相對于初始時刻的機動姿態(tài)。障礙區(qū)域s在局部坐標系L下有兩種表達方式:
(9)
根據(jù)式(9)可以推出高度角與方位角的計算方式:
(10)
式中:α的具體取值由坐標(sTLx,sTLy)所在象限決定。障礙區(qū)域與敏感軸指向可以用單位球面上的點表示,這些點進而被映射到α-β平面上,如圖2所示。
圖2 障礙規(guī)避問題在α-β平面下的幾何表示Fig.2 Geometrical representation of obstacle avoidance problem under the plane α-β
圖2中陰影部分表示障礙區(qū)域,c1,c2,c3分別是三個障礙區(qū),這樣在三維空間中形成的空間禁入錐可以用二維曲面上的圓盤面表示:圓的半徑即為禁入錐的半頂角,圓心的位置指向障礙區(qū)域的中心天體。注意,這里將α-β平面稱為曲面是為了強調(diào)該平面的距離測度不同于一般歐氏空間(R2)的測度,因為二者有不同的黎曼度量。
根據(jù)納皮爾圓周定理可以得到α-β平面上任意兩點A(α1,β1),B(α2,β2)間的距離公式:
d(A,B)=arccos(cos(β2-β1)·cos(α2-α1))
(11)
根據(jù)約束區(qū)域?qū)Ξ斍奥窂绞欠裼杏绊?,將約束分為有效約束和無效約束,對于圖2所示的路徑B1,c1為有效約束,c2,c3為無效約束。注意,c2,c3雖然對路徑B1無影響但對后續(xù)的規(guī)劃路徑存在影響(如c2對路徑B3的影響)。之所以進行這樣的劃分是因為需要保證:規(guī)劃最終路徑的有效約束個數(shù)為零,即滿足所有的約束條件。
另一個需要考慮的問題是航天器姿態(tài)機動的實際運動路徑與規(guī)劃路徑不完全一致,本文把規(guī)劃的路徑劃分為B2段與B3段(均為實線段),實際運動的路徑用虛線段B4表示。對于B3段,雖然B3滿足約束c2但實際運動路徑卻違反了約束,針對這種情況,本文提出一種增加裕角(γ-φ)的方法將障礙區(qū)擴充到禁入?yún)^(qū)。這樣,如B2段所示,即使實際運動路徑偏差了規(guī)劃路徑也能避免敏感器視軸進入障礙區(qū)域。裕角值的確定與控制器的選擇有關,因為不同的控制器產(chǎn)生的實際運動軌跡是不同的。但由于姿態(tài)控制系統(tǒng)本質(zhì)是非線性系統(tǒng),無法得到路徑的解析式,更無法建立控制律與裕角值之間的精確對應關系,所以裕角值的選擇需要通過實際經(jīng)驗來決定。
本文進一步給出判斷有效約束和無效約束的計算方法,由于在α-β平面中心點到某段路徑的距離(測地線的長度)計算困難,需要將點的坐標轉(zhuǎn)換回慣性坐標系表示,可以看成是式(10)的逆過程:
(12)
其中:Li(j)(i=x,y,z;j=1,2,3)表示Li軸在慣性空間中的第j個分量。
記任意一段路徑由p1出發(fā)到p2,則點s到測地線p1p2的距離為:
d=
(13)
(14)
針對當前路徑存在約束違反的情況,尤其是有多個有效約束存在的情況(如圖3所示),路徑節(jié)點的指令序列記為M(vo,m1,m2,…,vf),節(jié)點之間的路徑為沿著最小角度路線,并與禁入?yún)^(qū)域相切方式進行姿態(tài)機動。
圖3 路徑節(jié)點生成示意圖Fig.3 Schematic diagram of path nodes generation
(15)
(16)
式中:ε,η的幾何意義如圖3所示,αm,βm分別為m的方位角、高度角。路徑節(jié)點生成的迭代過程如下:
(17)
本文仿真案例如下,為了方便計算假定航天器的初始姿態(tài)qini=[1, 0, 0, 0]T,姿態(tài)機動實現(xiàn)敏感軸從v0=[0, 0, 1]T機動到vf=[0, 1, 0]T即最終姿態(tài)qend=[0.7071, -0.7071, 0, 0]T。
航天器的轉(zhuǎn)動慣量J=diag(123,205,147.6)(kg·m2),姿態(tài)機動路徑的約束模型相關數(shù)據(jù)計算整理成見表1。
采用本文提出的姿態(tài)路徑幾何遞歸修正方法計算出姿態(tài)規(guī)劃指令集M見表2。
本文采用粒子群算法作為對比,因為粒子群優(yōu)化算法本身具有許多優(yōu)點,第一,實際應用廣泛;第二,有許多有效方法避免算法陷入局部最優(yōu);第三,部分參數(shù)有較為成熟的理論研究方法用于選擇。本文采用標準粒子群優(yōu)化算法流程求得姿態(tài)規(guī)劃指令。其相關參數(shù)設置如下:
表1 約束模型相關數(shù)據(jù)Table 1 Relevant data of the constraint model
表2 姿態(tài)規(guī)劃指令集M計算結(jié)果Table 2 Calculation result of attitude planning instructions set M
初始種群G=100慣性權(quán)重η=0.8,自我學習因子與群體學習因子均設為0.5,位置和速度分別限制在±1、±0.05;通過粒子群算法搜索得到的姿態(tài)指令集N見表3。
表3 粒子群算法搜索的姿態(tài)指令集NTable 3 Attitude planning instructions set N searched by particle swarm algorithm
有效約束個數(shù)為零時是球面幾何遞歸修正過程的結(jié)束條件,因此姿態(tài)指令集M能夠自動滿足路徑約束。而粒子群算法得到的姿態(tài)指令集N是通過將路徑約束作為適應度函數(shù)的優(yōu)化對象之一來滿足約束的。
將規(guī)劃得到的姿態(tài)指令作為控制系統(tǒng)輸入,通過航天器姿態(tài)機動,使敏感軸安全地完成從初始指向到目標指向的機動。因此,可以將整個姿態(tài)機動過程劃分為三段,本文對每一段機動過程都進行了仿真。
本文采用經(jīng)典PID姿態(tài)跟蹤控制器[16],分別對姿態(tài)指令集M,N中給出的姿態(tài)位置進行路徑跟蹤仿真,為了保證整個姿態(tài)機動路徑光滑性,從一個節(jié)點機動到另一個節(jié)點采用rest-rest機動方式。整個機動過程可劃分為三段,每段仿真結(jié)果如圖4所示。
圖4 球面幾何規(guī)劃算法下的姿態(tài)位置歷時曲線Fig.4 Attitude position histories using spherical geometric planning method
圖5 球面幾何規(guī)劃算法下的姿態(tài)位置歷時曲線Fig.5 Angular velocity histories using spherical geometric planning method
圖4~5表示采用球面幾何遞歸修正方法的航天器在不同階段姿態(tài)與角速度的歷時曲線,圖6~7則表示粒子群優(yōu)化算法下航天器的姿態(tài)位置和角速度歷時曲線。從仿真結(jié)果可以看出,按照球面幾何規(guī)劃方法提供的姿態(tài)控制指令集,航天器姿態(tài)機動最短機動時間為230 s左右,從姿態(tài)位置變化來看以最小角度機動的方式完成大約163°的角度機動。從角速度變化來看,整個機動過程實現(xiàn)了rest-rest機動方式,這保證了航天器能實現(xiàn)連續(xù)的姿態(tài)機動,同時也為非連續(xù)的姿態(tài)機動提供可能性,即航天器在到達某個路徑節(jié)點后可停留一段時間,雖然會導致姿態(tài)機動時間增加,但是航天器可以利用這段時間再進行調(diào)整,為其它系統(tǒng)分配時間資源以保證整個系統(tǒng)的魯棒性。航天器按照粒子群算法提供的控制指令集在250 s左右完成姿態(tài)機動,耗時要多于球面幾何規(guī)劃方法。這是因為球面幾何規(guī)劃方法設計的的路徑會掠過禁入錐表面(在考慮裕角的情況下)接近最短路徑,所以能節(jié)省姿態(tài)機動時間。而且,球面幾何規(guī)劃方法是確定性算法,沒有隨機因素,計算效率要更高。
本文對航天器姿態(tài)機動中各類約束進行了分類,提出了一種球面幾何規(guī)劃方法來解決姿態(tài)機動的路徑規(guī)劃問題。利用球面幾何方法對航天器姿態(tài)、敏感軸指向和空間指向約束之間關系進行了推導。然后,進一步將約束劃分為有效約束和無效約束,提出了區(qū)分此類約束的路徑約束檢測方法,有效減少了約束處理的數(shù)量。最后給出了路徑中間節(jié)點的解析公式。結(jié)果表明,與群智能算法相比,球面幾何規(guī)劃方法具有節(jié)省機動時間、計算效率高等優(yōu)點,對于節(jié)省星載計算資源具有重要參考意義。
圖6 粒子群優(yōu)化算法下的姿態(tài)位置歷時曲線Fig.6 Attitude position histories using particle swarm optimization algorithm
圖7 粒子群優(yōu)化算法下的角速度歷時曲線Fig.7 Angular velocity histories using particle swarm optimization algorithm