王國華,常亮,吳會英,唐濤,王明亮
(1.中國科學(xué)院微小衛(wèi)星創(chuàng)新研究院,上海 201203;2.上海微小衛(wèi)星工程中心,上海 201203)
衛(wèi)星任務(wù)規(guī)劃從體系化應(yīng)用來看屬于資源管理的一部分.目前,衛(wèi)星任務(wù)規(guī)劃大多以地面離線規(guī)劃為主,采用復(fù)雜的算法對觀測目標(biāo)、星上載荷資源、地面站資源等進行合理調(diào)度,實現(xiàn)觀測任務(wù).2000 年,美國國家航空航天局(NASA)就開發(fā)了ASPEN[1]和CASPER[2]兩大衛(wèi)星任務(wù)規(guī)劃系統(tǒng),ASPEN 可針對觀測目標(biāo),自動生成每日工作計劃,CASPER 提出一種實時重規(guī)劃機制,可基于固定的時間或事件步長采集系統(tǒng)狀態(tài)和目標(biāo),并在此基礎(chǔ)上進行重規(guī)劃.文獻[3 ? 5]對星座協(xié)同自主任務(wù)規(guī)劃進行了研究,分別提出了集中協(xié)調(diào)式規(guī)劃策略、多智能體協(xié)作模型以及基于效用的后悔博弈等分布式協(xié)商策略;關(guān)寧等[6]結(jié)合敏捷衛(wèi)星任務(wù)規(guī)劃等提出了基于在軌任務(wù)規(guī)劃的開發(fā)需求[7],提出了使用動態(tài)語言和大型嵌入式操作系統(tǒng)進行在軌任務(wù)規(guī)劃的開發(fā)方法;鄧寶松等[8]提出了衛(wèi)星在軌應(yīng)急任務(wù)規(guī)劃、多系統(tǒng)協(xié)同任務(wù)規(guī)劃、高低軌衛(wèi)星聯(lián)合任務(wù)規(guī)劃、低軌組網(wǎng)衛(wèi)星任務(wù)規(guī)劃一體化、星地協(xié)同任務(wù)規(guī)劃等技術(shù);薛志家等[9]提出了一種突發(fā)性任務(wù)自主規(guī)劃方法,該算法能夠處理時間窗口約束,求得完成目標(biāo)任務(wù)所需的時序規(guī)劃解,經(jīng)過地面系統(tǒng)規(guī)劃后,生成指令序列,由地面測運控系統(tǒng)上注至衛(wèi)星,衛(wèi)星嚴(yán)格按時序執(zhí)行指令序列中的指令,完成載荷觀測任務(wù).此方式優(yōu)點是操作模式簡單、實用、星上軟件壓力較小,但是由于任務(wù)規(guī)劃大部分功能都在地面進行,導(dǎo)致人工操作壓力大且易出錯,一旦指令序列未能及時上注,則導(dǎo)致觀測任務(wù)不能及時完成或觀測時間減少的結(jié)果.
星上綜合電子系統(tǒng)的處理器主頻已經(jīng)達到200 MHz以上[10?11],使用經(jīng)過篩選的工業(yè)級處理器更是能夠達到1 GHz,結(jié)合較大的內(nèi)存容量,完全有能力將地面任務(wù)規(guī)劃部分功能轉(zhuǎn)移到星上處理.
太陽同步近圓軌道衛(wèi)星軌道平面和太陽始終保持相對固定的取向,軌道的傾角接近90°, 從相同的方向經(jīng)過同一緯度的當(dāng)?shù)貢r間是相同的,該特性為基于太陽矢量進行自主任務(wù)規(guī)劃提供了有利條件,目前國內(nèi)對此方向研究較少.本文提出了一種基于軌道系太陽矢量的衛(wèi)星星上自主任務(wù)規(guī)劃方法,該方法可以減少地面上注指令條數(shù),節(jié)省測控資源,降低任務(wù)出錯概率,提高星上智能化水平,對重復(fù)觀測某特定目標(biāo)具有較好的效果.
衛(wèi)星在軌運行受到載荷、能源、溫度、姿態(tài)、軌道以及觀測目標(biāo)等環(huán)境影響,無法實現(xiàn)長時間不間斷任務(wù)觀測,為了充分利用星上資源,實現(xiàn)精準(zhǔn)觀測,需要綜合星上以及地面條件,及時調(diào)整觀測策略.而完全依賴地面系統(tǒng)進行任務(wù)規(guī)劃會導(dǎo)致指令序列中的指令快速增長,目前國內(nèi)測運控系統(tǒng)資源有限,衛(wèi)星入境時間較短,較大的指令序列有可能上注失敗.
太陽同步軌道(Sun-synchronous orbit, or heliosynchronous orbit , SSO)是一種極地軌道.對于一顆太陽同步圓軌道衛(wèi)星,定義衛(wèi)星質(zhì)心軌道坐標(biāo)系(VVLH坐標(biāo)系),Z軸為衛(wèi)星到地球質(zhì)心連線,指向地球質(zhì)心;Y軸與軌道平面負(fù)法線方向一致,X軸與Y、Z軸成右手正交系,在軌道平面指向前進方向(若為圓軌道則與速度方向一致),如圖1 所示.
圖1 VVLH 坐標(biāo)系Fig.1 VVLH coordinate system
衛(wèi)星姿控模塊根據(jù)太陽星歷模型和軌道數(shù)據(jù)經(jīng)過推導(dǎo)可得出歸一化的軌道系太陽矢量μso.太陽矢量μso在VVLH 系下的各個角度定義如圖2 所示:其中φ角為太陽矢量μso在軌道面的投影與Z軸的夾角,繞Y軸為正;α角為太陽矢量μso與其在XOY平面的投影的夾角(即太陽高度角),朝向Z軸為負(fù);β角為太陽矢量μso與其在軌道面投影的夾角(即軌道太陽角),朝向Y軸為負(fù);θ角為太陽矢量μso的投影與X軸的夾角,繞Z軸為正.根據(jù)軌道特性,φ角在[?π,π]內(nèi)做線性變化,β角大小在一定時期內(nèi)幾乎不變,由此可推導(dǎo)出太陽的位置即太陽高度角α到達時的星上時刻T,根據(jù)地面上注的太陽高度角αflag計算出每個任務(wù)的開始結(jié)束時刻Tflag,αflag和Tflag定義如下
圖2 太陽矢量在軌道坐標(biāo)系下的角度示意圖Fig.2 Angle diagram of solar vector in orbital coordinate system
由圖2 可推導(dǎo)出太陽矢量和各個夾角的關(guān)系如下
由式(3)可得出α、β、θ、?計算公式
?角與α、β角的關(guān)系如式(8)和(9).
太陽升起階段
太陽降落階段
由?和β計算α的公式如式(10)
θ角與α和β的計算公式如式(11)、(12).
太陽升起段
太陽降落段
若已知地面任務(wù)規(guī)劃系統(tǒng)設(shè)計的任務(wù)觀測時刻的太陽高度角α的值(可通過指令上注修改),則可由α、β計算出觀測時刻的?值.由于?值做線性變化,由此可推導(dǎo)出任務(wù)開始和結(jié)束觀測的星上時刻Tflag(i)(i=1,2,)···,如式(11),星載軟件每隔一段時間計算Tflag(i),消除誤差.當(dāng)星上時等于Tflag(i)時,星載軟件的自主任務(wù)管理模塊根據(jù)當(dāng)前衛(wèi)星能源情況、衛(wèi)星姿態(tài)等信息,輸出相應(yīng)指令,執(zhí)行相關(guān)操作,開始或結(jié)束任務(wù)觀測.
式中:Tflag(i)為任務(wù)觀測的起止星上時刻點;?α為開始觀測時刻太陽高度角對應(yīng)的?值;?now為當(dāng)前星上時的?值;Tsat為星上時當(dāng)前時間;ω為飛行器軌道角速度,由軌道模塊給出.
依據(jù)上文描述算法在某衛(wèi)星上進行了軟件實現(xiàn).該衛(wèi)星搭載7 個載荷,另外安裝了轉(zhuǎn)臺用來與平臺共同實現(xiàn)指向精度,同時對觀測目標(biāo)有多次重復(fù)觀測需求.
星載軟件采用任務(wù)模式字對任務(wù)進行區(qū)分,地面上注修改任務(wù)模式字指令實現(xiàn)任務(wù)切換,不做任何任務(wù)時可設(shè)置空閑模式字,衛(wèi)星姿態(tài)調(diào)整為豎立對地、轉(zhuǎn)臺和載荷關(guān)機,整星處于待命狀態(tài).每個任務(wù)再細(xì)分子任務(wù),每個子任務(wù)對應(yīng)子模式字,子模式字由星上根據(jù)觀測時段自主設(shè)置.通過太陽矢量計算任務(wù)的起止時刻.任務(wù)觀測流程如圖3所示.
圖3 任務(wù)流程Fig.3 Task flow chart
應(yīng)用戶要求,該衛(wèi)星對日觀測任務(wù)依據(jù)太陽高度角分7 個觀測階段,有互斥要求.為充分利用衛(wèi)星資源,星上將任務(wù)安排在一軌內(nèi)進行,每個觀測階段定義為一個子任務(wù),典型觀測需求(星上默認(rèn)參數(shù))如表1 所示.
表1 任務(wù)對應(yīng)開始結(jié)束時刻Tab.1 Task corresponding start and end time
地面規(guī)劃任務(wù)時需提前上注任務(wù)模式字,以便星上軟件提前調(diào)整衛(wèi)星姿態(tài),配置載荷參數(shù)等操作.接收到對日觀測任務(wù)模式字后,星上軟件根據(jù)式(9)和(10)計算轉(zhuǎn)臺轉(zhuǎn)動的角度,根據(jù)式(6)和(7)分別計算出太陽升起和降落階段太陽高度角為?17°、?13°、?5°、5°、20°左側(cè)和右側(cè)75 s 時刻以及高度角最大值的左側(cè)和右側(cè)75 s 時刻的φ角,然后再根據(jù)式(11)計算各個觀測階段起止時刻Tflag(i)以及各個關(guān)鍵時間點.設(shè)地面上注任務(wù)模式字指令執(zhí)行時刻為T0,星上軟件處理流程見表2 和圖4.
表2 星上軟件任務(wù)流程Tab.2 Task flow on board software
圖4 星上軟件時序示意圖Fig.4 Timing diagram of onboard software
表2 和圖4 僅描述了太陽升起階段任務(wù)自主執(zhí)行過程,降落階段與升起階段流程大致相同,此處不再贅述.圖4 為示意圖,實際軟件實現(xiàn)中還涉及到載荷單機參數(shù)配置,與載管通信等操作.
衛(wèi)星星載計算機采用SPARC 處理器,VxWorks操作系統(tǒng),軟件運行周期4 Hz,搭載轉(zhuǎn)臺、光學(xué)相機、紅外相機等載荷,軌道高度280 km,星上軌道外推采用J2 地球扁率攝動模型,采用本文所述算法實現(xiàn)星上自主任務(wù)規(guī)劃.在地面測試階段,為了對比精度,STK 也采用了J2 攝動,仿真用的HPOP 高精度瞬時根數(shù)外推,軌道根數(shù)輸入如圖5 所示.
圖5 STK 仿真使用的軌道根數(shù)Fig.5 Orbital elements used in STK simulation
仿真輸出的太陽方位角(right ascension)和俯仰角(declination,為高度角的負(fù)值)如圖6 所示.
圖6 STK 仿真太陽方位角和俯仰角Fig.6 Right ascension and declination in STK
星上軟件配合導(dǎo)航星模擬器和動力學(xué)進行驗證,通過地測軟件界面查看Tflag(i),結(jié)果如圖7 所示.
圖7 星上軟件運行結(jié)果截圖Fig.7 Screenshot of on-board software operation results
將STK 仿真結(jié)果與星上軟件運算結(jié)果進行比較,結(jié)果見表3.由表3 可以看出,任務(wù)起止時刻星上軟件計算結(jié)果與STK 仿真結(jié)果相差1 s 以內(nèi),誤差在用戶可以接受的5 s 以內(nèi).
表3 星上軟件計算結(jié)果與STK 仿真結(jié)果對比Tab.3 Comparison between on-board software calculation results and STK simulation results
星上自主任務(wù)規(guī)劃需上注指令條數(shù)與通過地面遙控系統(tǒng)上注指令序列形式對比如表4.
表4 本算法與傳統(tǒng)方式上注指令數(shù)量對比Tab.4 Comparison of the number of instructions between this algorithm and the traditional method
本文提出了基于軌道系太陽矢量實現(xiàn)星上自主任務(wù)規(guī)劃的方法,提升了觀測時間利用率以及星上自主任務(wù)規(guī)劃能力,通過某衛(wèi)星在軌實踐結(jié)果表明:基于軌道系太陽矢量進行星上任務(wù)規(guī)劃能夠?qū)⒖梢姷挠^測時間窗口離散化,減少地面上注指令序列條數(shù)約60%,節(jié)省了測控通道資源、減少人工干預(yù),同時該方法可實現(xiàn)同一軌做不同的互斥任務(wù),提高了星上資源使用效率,對后續(xù)衛(wèi)星的星上自主任務(wù)規(guī)劃有借鑒意義.