一種衛星應急系統變周期控制方法
2023-07-10 21:34:16 3
一種衛星應急系統變周期控制方法
【專利摘要】一種衛星應急系統變周期控制方法,在合理設計衛星應急狀態姿態確定算法的基礎上,根據當前中斷計數的控制周期實現方式和選用敏感器(陀螺)的狀態,設計一種控制周期隨應急軟體運行時環境變化而改變的系統控制方法。在敏感器(陀螺)選擇未發生變化時,每個控制周期不再進行陀螺安裝矩陣選擇及求偽逆(矩陣)等複雜計算過程,採用保存值進行定姿;否則重新進行陀螺安裝矩陣選擇及求偽逆計算。在陀螺安裝矩陣重新選擇及求偽逆的定姿過程中不再更新中斷計數,從而客觀上延長了控制周期,避免控制周期計算超時的問題。另一方面避免由於複雜重複計算導致不必要的較長控制周期的需求,提升了太空飛行器應急系統的控制效果,縮短了姿態偏置下的控制時長。
【專利說明】一種衛星應急系統變周期控制方法
【技術領域】
[0001]本發明屬於太空飛行器姿態控制領域,涉及一種衛星應急系統變周期控制方法。
【背景技術】
[0002]衛星控制應急系統是衛星控制系統最後的安全措施,主要實現太陽搜索模式控制及各部件的開關操作,保證整星的能源供應,為衛星的搶救工作爭取時間。
[0003]應急系統一般採用80C32E處理器晶片,輸入時鐘頻率為11.0592MHz。由於80C32E處理器採用的是8位的算術邏輯單元,沒有專門的浮點處理單元,因此在80C32E處理器上使用32位的浮點數運算是相當耗時的工作。應急系統軟體任務實現中不可避免會涉及一定的浮點數運算,特別是採用陀螺輸入數據進行定姿的計算過程。
[0004]目前衛星應急系統基本採用固定控制周期的方法實現,根據任務實現的複雜程度預先設定好一個控制周期,通過對設定好的定時器中斷進行計數,實現固定的控制周期。以某同步軌道靜止衛星為例,定時器中斷設為32ms,控制周期設為4個定時器中斷,即128ms。在定時器中斷處理程序中對中斷次數cntINT計數(cntINT初始為O),當cntINT為3時在定時器中斷處理程序中置控制周期任務完成標誌Hg為true,在控制周期主任務中判斷任務完成標誌flg,如果fig為true則執行新的一次控制周期任務,否則一直等待fig變為true,即達到128ms的控制周期時間。該控制方案思路清晰,易於實現,但缺乏時間方面的靈活性,控制周期往往是根據經驗預先設定的,正常情況下需要設定較長的控制周期,允許一定的時間閾量,否則任務執行超時,導致控制方案失敗。由於根據經驗預先設定控制周期,也會存在控制周期較長導致衛星應急系統軟體運行空閒時間偏長的問題,造成系統資源的浪費。
【發明內容】
[0005]本發明解決的技術問題是:克服現有技術的不足,提出一種衛星應急系統變周期控制方法,解決控制周期空閒時間偏長的問題,同時避免運行控制周期超時,在控制性能優化和縮短計算時間方面達到平衡。
[0006]本發明的技術方案是:一種衛星應急系統變周期控制方法,步驟如下:
[0007]I)衛星應急系統上電初始化時,根據每個陀螺的健康標誌字和加電狀態字,設定陀螺選用標誌字f IgGyro ;
[0008]2)如果應急系統是上電後首次運行或者運行中陀螺選用標誌字flgGyro發生變化,則確定當前周期陀螺選用標誌字f IgGy1後,跳轉至步驟3),否則如果應急系統正常運行時,即陀螺選用標誌字flgGyix)未發生變化,則跳轉至步驟4);
[0009]3)根據陀螺選用標誌字flgGyro確定所選用陀螺在衛星本體系下的安裝矩陣R,並進行安裝矩陣R的偽逆運算Rv= inv (Rt-R) *RT,其中inv(*)為矩陣求逆計算,Rt為安裝矩陣R的轉置矩陣;
[0010]4)將計算得到的安裝矩陣R的偽逆運算結果1矩陣和所選陀螺的角速度矩陣ω ai相乘,得到衛星二軸慣性角速度,其中 WaiT= [ ω ail J ωε?—2,...,ω ai—η],ωε?—I,ω ai—2,...,?ai η分別為各個所選陀螺測量得到的角速度值;將衛星三軸慣性角速度與數字太陽敏感器測量的衛星滾動和俯仰角作為衛星控制器輸入,計算得到本周期的控制量;
[0011]5)設定中斷計數cntINT並置初值為O ;在衛星應急系統的定時器中斷處理時,如果中斷計數cntINT未達到m-2時,m為整數且m>2,則本次中斷處理中cntINT正常累加計數,即中斷處理中cntINT執行加I操作;如果進入中斷處理時定時器中斷計數cntINT等於m-2,再判斷若本周期執行了安裝矩陣R的偽逆運算且偽逆運算還未完成,則本次中斷處理不對cntINT進行累加並保持原數值,若本周期未執行安裝矩陣R的偽逆運算,或本周期執行了安裝矩陣R的偽逆運算且偽逆運算完成,則中斷處理中cntINT執行加I操作,並將步驟4)得到的本周期的控制量輸出給執行機構;如果進入中斷處理時定時器中斷計數cntINT等於m-1,則將本周期的控制量清0,執行機構停止輸出,中斷計數cntINT清0,並置本周期結束標誌,開始執行下一次的控制周期任務。
[0012]本發明與現有技術相比的有益成果是:
[0013](I)通過衛星應急系統運行時環境的狀態變迀裁剪重複的計算過程,提高了處理器和機時的利用率;
[0014](2)衛星應急系統變周期控制相比傳統固定周期控制,提高了控制周期時間設定的靈活性。避免了衛星應急系統在複雜的重複計算邏輯下控制周期運行超時的問題,以及為避免運行超時而設定較長控制周期進而導致空閒時間偏長的兩個問題,實現了很好的平衡;
[0015](3)衛星應急系統變周期控制方法避免了不必要的重複的計算過程,以相對較短的控制周期,提升了太空飛行器應急系統的控制效果,縮短了姿態偏置下的控制時長。
[0016]該方法已經在某高軌道遙感衛星應急系統設計中得到了應用,經測試驗證了該控制方法的可行性和有效性,提高了控制周期設計的靈活性,為後續衛星應急系統的研製,提供了新的設計思路。
【專利附圖】
【附圖說明】
[0017]圖1為衛星應急系統變周期控制的實現流程圖。
【具體實施方式】
[0018]如圖1所示,為本發明的路徑設計流程圖。
[0019]本發明的衛星控制系統應急系統變周期控制方法,主要內容包括:將含有大量浮點數運算的陀螺數據定姿算法進行解耦合和模塊化。將控制周期任務中存在的複雜重複計算過程一一陀螺安裝矩陣的求偽逆計算進行模塊化。根據應急系統運行時環境的變化將應急系統析構出上電首次運行、陀螺選用狀態發生改變和正常運行時三個執行狀態。而陀螺安裝矩陣的求偽逆計算僅需要在應急系統上電首次運行和陀螺選用狀態發生變化的情況下執行一次,將計算結果保存下來,應急系統正常運行時的定姿過程僅使用保存的計算結果即可。應急系統運行的絕大部分時間都是在正常運行時狀態,這樣就可以大大節省複雜的浮點計算運行的機時,提高處理器利用率。
[0020]本發明的實現方法如下:
[0021]1、衛星應急系統上電初始化時從FT板(容錯電路)讀取每個陀螺的健康標誌字,從I/O位口讀取每個陀螺的加電狀態字。健康標誌字表徵了部件是否正常運行,加電狀態字表徵了部件是否處於加電狀態。應急系統上電初始化時根據每個陀螺的健康標誌字和加電狀態字設定陀螺選用標誌字flgGyro,輪詢每個陀螺,如果陀螺健康且加電,則將該陀螺序號對應位置I寫入陀螺選用標誌字flgGyro ;
[0022]2、如果衛星應急系統是上電首次運行或者運行中陀螺選用標誌字發生改變,則陀螺選用標誌字fIgGy1需要重新根據陀螺的健康標誌字和加電狀態字確定。在系統運行中陀螺選用標誌字f IgGy1僅在地面遙控指令的情況下會發生變化,在正常運行狀態下是保持不變的;
[0023]3、在衛星應急系統三軸(滾動、俯仰、偏航)慣性角速度計算中,如果衛星應急系統是上電首次運行或者運行中陀螺選用標誌字發生了改變,則首先根據陀螺選用構型確定陀螺在衛星本體系下的安裝矩陣R,安裝矩陣R是由各個所選用陀螺在衛星本體系下的安裝向量組成的nX3矩陣(η為選用陀螺個數,η彡3),然後計算安裝矩陣R的偽逆:inv(RT.R).Rt,其中inv(*)為矩陣求逆運算,Rt為安裝矩陣R的轉置矩陣,並保存計算結果為Rv。安裝矩陣R的偽逆計算涉及大量的浮點數運算,導致其耗費了大量的應急系統處理機時,甚至造成控制周期超時。如果衛星應急系統是在正常運行狀態下,即陀螺選用標誌字flgGyro未發生變化,由於在陀螺選用標誌字flgGyro不變的情況下計算的安裝矩陣R的偽逆結果Rv相同,因此在當前周期判斷flgGyro不變後,安裝矩陣R的求偽逆過程不用重新計算,使用保存的結果Rv即可。
[0024]4、選用陀螺部件(加電且健康)的輸入角速度值構成一個角速度矩陣《ai(nXl矩陣),waiT= [ω ai—i,《ai—2,...,ω aij ^ Qai—i,Qai2,...,ω—分別為各個所選陀螺測量得到的角速度值。將之前計算得到的安裝矩陣R的偽逆運算結果Rv矩陣和所選陀螺的角速度矩陣Wai相乘,得到衛星三軸慣性角速度[ω χ, Qy, ωζ]τ= Rv-Qaic計算得到的衛星三軸慣性角速度與數字太陽敏感器測量的滾動角和俯仰角共同作為衛星控制器輸入,通過PID控制算法計算得到本周期的控制量。
[0025]5、衛星應急系統控制周期的實現是採用m次定時器中斷實現的,其中m為整數,且m>2,定時器的中斷周期是通過應急系統晶片定時器設置實現的。軟體實現中設定中斷計數cntINT並置初值為O ;在進入衛星應急系統的定時器中斷處理時,中斷計數cntINT先進行對整數m整除的取餘數操作,將cntINT的取值範圍限制在O到m_l。如果中斷計數cntINT未達到m-2時,則本次中斷處理中cntINT正常累加計數,即中斷處理中cntINT執行加I操作;如果進入中斷處理時定時器中斷計數cntINT等於m-2,再判斷若本周期執行了安裝矩陣R的偽逆運算且偽逆運算還未完成,則本次中斷處理不對cntINT進行累加並保持原數值,若本周期未執行安裝矩陣R的偽逆運算,或本周期執行了安裝矩陣R的偽逆運算且偽逆運算已完成,則中斷處理中cntINT執行加I操作,並將步驟4)得到的本周期的控制量輸出給執行機構;如果進入中斷處理時定時器中斷計數cntINT等於m-1,則將本周期的控制量清0,執行機構停止輸出,中斷計數cntINT清0,並置本周期結束標誌,開始執行下一次的控制周期任務。
[0026]本發明未詳細說明部分屬本領域技術人員公知常識。
【權利要求】
1.一種衛星應急系統變周期控制方法,其特徵在於步驟如下: 1)衛星應急系統上電初始化時,根據每個陀螺的健康標誌字和加電狀態字,設定陀螺選用標誌字f IgGyro ; 2)如果應急系統是上電後首次運行或者運行中陀螺選用標誌字flgGyix)發生變化,則確定當前周期陀螺選用標誌字f IgGy1後,跳轉至步驟3),否則如果應急系統正常運行時,即陀螺選用標誌字flgGyix)未發生變化,則跳轉至步驟4); 3)根據陀螺選用標誌字flgGyix)確定所選用陀螺在衛星本體系下的安裝矩陣R,並進行安裝矩陣R的偽逆運算Rv= inv (Rτ.R) *RT,其中inv(*)為矩陣求逆計算,礦為安裝矩陣R的轉置矩陣; 4)將計算得到的安裝矩陣R的偽逆運算結果&矩陣和所選陀螺的角速度矩陣ω&相乘,得到衛星三軸慣性角速度,其中oaiT= [ω ail, ω(2,…,ω ai_J , Qail, Qai2,…,ω ai—?分別為各個所選陀螺測量得到的角速度值;將衛星三軸慣性角速度與數字太陽敏感器測量的衛星滾動和俯仰角作為衛星控制器輸入,計算得到本周期的控制量; 5)設定中斷計數cntINT並置初值為O;在衛星應急系統的定時器中斷處理時,如果中斷計數cntINT未達到m-2時,m為整數且m>2,則本次中斷處理中cntINT正常累加計數,即中斷處理中cntINT執行加I操作;如果進入中斷處理時定時器中斷計數cntINT等於m_2,再判斷若本周期執行了安裝矩陣R的偽逆運算且偽逆運算還未完成,則本次中斷處理不對cntINT進行累加並保持原數值,若本周期未執行安裝矩陣R的偽逆運算,或本周期執行了安裝矩陣R的偽逆運算且偽逆運算完成,則中斷處理中cntINT執行加I操作,並將步驟4)得到的本周期的控制量輸出給執行機構;如果進入中斷處理時定時器中斷計數cntINT等於m-1,則將本周期的控制量清0,執行機構停止輸出,中斷計數cntINT清0,並置本周期結束標誌,開始執行下一次的控制周期任務。
【文檔編號】B64G1/24GK104443433SQ201410637930
【公開日】2015年3月25日 申請日期:2014年11月6日 優先權日:2014年11月6日
【發明者】李振松, 葛瑩, 杜建偉, 周中澤, 彭洲, 史曉霞, 孫小松, 劉新彥, 柴志, 王振華 申請人:北京控制工程研究所