魏遠(yuǎn)明, 王孟磊, 耿云海, 吳寶林
1.國防科技大學(xué)空天科學(xué)學(xué)院,長沙 410073 2.北京宇航系統(tǒng)工程研究所,北京 100076 3.哈爾濱工業(yè)大學(xué)衛(wèi)星技術(shù)研究所,哈爾濱 150001
隨著航天技術(shù)的發(fā)展和人類在太空的頻繁活動,在地球周圍,有許多種類繁多的航天器、火箭末級和空間碎片等,航天器通過各類傳感器,探測空間中不同目標(biāo),進(jìn)行空間態(tài)勢感知,完成獲取目標(biāo)情報、對目標(biāo)進(jìn)行監(jiān)視和偵察、太空環(huán)境檢測、提供空間作戰(zhàn)圖等任務(wù)[1-2].此外,在空間對抗活動中,空間態(tài)勢感知作為空間攻防對抗的基礎(chǔ),對于占領(lǐng)空間戰(zhàn)略制高點(diǎn)至關(guān)重要[3].
在對目標(biāo)監(jiān)測或者抵近觀測過程中,航天器存在快速軌道機(jī)動過程,推進(jìn)劑會快速消耗,航天器抵近目標(biāo)后,也需要通過操縱大型機(jī)械臂等技術(shù),對目標(biāo)完成相關(guān)在軌服務(wù)任務(wù).這些軌道機(jī)動和航天器在軌服務(wù)活動,會造成航天器的質(zhì)量特性參數(shù)產(chǎn)生變化.為了實(shí)現(xiàn)對目標(biāo)的實(shí)時觀測或者在軌服務(wù),航天器必須具有快速姿態(tài)跟蹤能力,許多控制律使用了轉(zhuǎn)動慣量信息,用于補(bǔ)償姿態(tài)動力學(xué)中的非線性特性,從而提高姿態(tài)控制精度.當(dāng)轉(zhuǎn)動慣量發(fā)生變化,原始控制器控制精度就會下降,甚至導(dǎo)致控制系統(tǒng)失效,需要及時對控制器中的轉(zhuǎn)動慣量進(jìn)行更新,保證控制力矩的合理性和準(zhǔn)確性.
建立辨識航天器質(zhì)量特性的回歸模型的方式有兩種:1)根據(jù)航天器動力學(xué)模型,利用力矩、角速度等信息辨識航天器質(zhì)量特性[4-12];2)根據(jù)動量守恒、角動量守恒原理,對航天器或者空間機(jī)械臂等運(yùn)動過程建模,建立辨識模型[13].利用這些回歸信息,使用濾波方法(如卡爾曼濾波)、參數(shù)自適應(yīng)、機(jī)器學(xué)習(xí)等方法估計航天器的質(zhì)量特性,根據(jù)質(zhì)量特性的標(biāo)定結(jié)果,實(shí)時更新控制器中的相關(guān)參數(shù),能夠在航天器控制過程中施加更加準(zhǔn)確的推力和力矩.目前對固定航天器轉(zhuǎn)動慣量估計的文章較多,當(dāng)航天器在進(jìn)行快速軌道機(jī)動或者操縱大型機(jī)械臂等任務(wù)時,其轉(zhuǎn)動慣量會變化,這不僅會影響航天器的控制精度,更加影響航天任務(wù)的正常實(shí)施.因此,需要設(shè)計合理的算法對動態(tài)轉(zhuǎn)動慣量進(jìn)行辨識.
文獻(xiàn)[14]對含有時變轉(zhuǎn)動慣量的航天器進(jìn)行動力學(xué)建模,使用無跡卡爾曼濾波(unscented Kalman filter, UKF)實(shí)現(xiàn)了航天器時變轉(zhuǎn)動慣量的辨識,但是相比于擴(kuò)展卡爾曼濾波,UKF算法數(shù)學(xué)模型更加復(fù)雜、計算量也大,會較多占用航天器寶貴的計算資源;文獻(xiàn)[15]分析了具有輸入依賴特性的時變轉(zhuǎn)動慣量,設(shè)計出一種自適應(yīng)姿態(tài)跟蹤控制律,實(shí)現(xiàn)了參數(shù)自適應(yīng)辨識,但是文章沒有考慮干擾力矩對參數(shù)辨識的影響;文獻(xiàn)[16]使用磁力計、陀螺儀采集信息,采用了多模型自適應(yīng)估計的方法估計時變轉(zhuǎn)動慣量,但是沒有考慮干擾力矩和測量噪聲對于辨識精度負(fù)面影響;文獻(xiàn)[17]提出了一種基于遞推子空間算法的時變慣性矩陣參數(shù)辨識方法,根據(jù)航天器系統(tǒng)的原始狀態(tài)空間模型提取了狀態(tài)空間模型的相應(yīng)塊矩陣,進(jìn)行遞歸得到航天器系統(tǒng)的時變轉(zhuǎn)動慣量;文獻(xiàn)[18]通過建模分析了加油過程中航天器轉(zhuǎn)動慣量變化對航天器姿態(tài)的影響,但是沒有繼續(xù)依托模型給出轉(zhuǎn)動慣量辨識算法.此外,以上文獻(xiàn)中轉(zhuǎn)動慣量辨識相關(guān)算法均將航天器角加速度作為精確已知信息用于參數(shù)辨識,而實(shí)際中,航天器角加速度無法直接測量,需要對角加速度值進(jìn)行估計.
本文轉(zhuǎn)動慣量作為待辨識參數(shù),考慮前后兩個時刻參數(shù)的變化過程,重新推導(dǎo)擴(kuò)展卡爾曼濾波(extended Kalman filter, EKF)中的卡爾曼預(yù)測誤差協(xié)方差矩陣.設(shè)計角加速度觀測器,以航天器角加速度作為EKF濾波模型中所需的系統(tǒng)輸出信息,對參數(shù)預(yù)測值進(jìn)行修正,實(shí)現(xiàn)了對當(dāng)前時刻參數(shù)的估計.最后,實(shí)時更新控制器中的轉(zhuǎn)動慣量信息,執(zhí)行機(jī)構(gòu)能夠施加更加精準(zhǔn)的控制力矩,保證姿態(tài)跟蹤精度.
本文主要在以下方面對轉(zhuǎn)動慣量辨識研究做出了貢獻(xiàn):1)設(shè)計了線性狀態(tài)觀測器估計航天器的角加速度,用于辨識轉(zhuǎn)動慣量;2)根據(jù)參數(shù)變化,重新推導(dǎo)了EKF中的卡爾曼預(yù)測誤差協(xié)方差矩陣,在算法中對參數(shù)的時變特性進(jìn)行了補(bǔ)償.相比于文獻(xiàn)[14]和[17],本文使用的EKF算法更加節(jié)省航天器的計算資源;相比于文獻(xiàn)[15-16]和文獻(xiàn)[18],本文沒有對轉(zhuǎn)動慣量進(jìn)行過多限制,更具備實(shí)用性.本方法有效實(shí)用、容易實(shí)現(xiàn),具有工程應(yīng)用價值.
本研究的主要算法結(jié)構(gòu)如圖1所示.航天器的姿態(tài)測量和確定系統(tǒng)實(shí)時測量航天器的姿態(tài)信息.根據(jù)測量的航天器角速度信息,使用角加速度觀測器估計航天器的角加速度.根據(jù)航天器的角速度測量值、角加速度估計值和控制力矩,使用改進(jìn)的擴(kuò)展卡爾曼濾波器實(shí)時辨識航天器的轉(zhuǎn)動慣量.將航天器姿態(tài)信息和轉(zhuǎn)動慣量估計值反饋到控制器中,計算姿態(tài)跟蹤所需力矩,再由執(zhí)行機(jī)構(gòu)完成航天器姿態(tài)控制.
圖1 基于時變轉(zhuǎn)動慣量辨識的航天器姿態(tài)控制結(jié)構(gòu)圖Fig.1 Block diagram of spacecraft attitude control with time-varying moment of inertia identification
航天器的姿態(tài)動力學(xué)模型和四元數(shù)表示的姿態(tài)運(yùn)動學(xué)模型為
(1)
a×表示叉乘矩陣
假設(shè)期望姿態(tài)四元數(shù)為qd、期望角速度為ωd,則航天器期望姿態(tài)四元數(shù)變化過程可以表示為
航天器的姿態(tài)四元數(shù)q、期望姿態(tài)四元數(shù)qd和誤差姿態(tài)四元數(shù)qe之間的關(guān)系為
q=qd°qe
其中,符號°表示四元數(shù)乘法.
航天器的姿態(tài)角速度誤差為
ωe=ω-C(qe)ωd
以航天器姿態(tài)誤差角速度ωe和姿態(tài)誤差四元數(shù)qe表示的航天器的動力學(xué)模型和運(yùn)動學(xué)模型為
(2)
與航天器動力學(xué)模型相關(guān)的轉(zhuǎn)動慣量辨識需要用到航天器角加速度信息,許多航天器的角加速度無法直接測量獲得,需要進(jìn)行估計.通常情況下,可以通過航天器的動力學(xué)模型建立狀態(tài)觀測器估計角加速度信息.但是,當(dāng)航天器快速軌道機(jī)動或操縱機(jī)械臂時,轉(zhuǎn)動慣量未知,無法準(zhǔn)確構(gòu)建姿態(tài)動力學(xué)模型用于角加速度估計.
考慮使用可測的航天器角速度,通過設(shè)計線性角加速度觀測器,實(shí)現(xiàn)航天器角加速度的估計,用于航天器轉(zhuǎn)動慣量辨識.然后,根據(jù)航天器動力學(xué)模型中待辨識轉(zhuǎn)動慣量的時變特性,對EKF算法[19]進(jìn)行改進(jìn),將轉(zhuǎn)動慣量的變化過程參數(shù)化,得到了適用于時變轉(zhuǎn)動慣量辨識的濾波算法.
(3)
rank([CTATCT]T)=2,說明該系統(tǒng)是完全可觀測的,設(shè)計線性狀態(tài)觀測器如式(4)所示
(4)
其中,G=[g1g2]T是線性觀測器增益,用于設(shè)置狀態(tài)矩陣(A-GC)的特征值.
通過合理配置觀測器狀態(tài)矩陣(A-GC)極點(diǎn)位置,可以使得狀態(tài)觀測系統(tǒng)(4)穩(wěn)定并實(shí)現(xiàn)對航天器的角加速度進(jìn)行觀測,根據(jù)極點(diǎn)位置可以解得g1、g2的具體數(shù)值.
令θ=[JxxJyyJzzJxyJxzJyz]T,將其作為待辨識參數(shù),對于時變的轉(zhuǎn)動慣量,每個采樣時刻,轉(zhuǎn)動慣量的變化過程可以描述為
θk=θk-1+Δθk
(5)
其中,θk是第k時刻轉(zhuǎn)動慣量真值,θk-1是第k-1時刻轉(zhuǎn)動慣量真值,Δθk是轉(zhuǎn)動慣量變化量.
(6)
其中,v∈R3定義為干擾項(xiàng),包含了轉(zhuǎn)動慣量導(dǎo)數(shù)對航天器動力學(xué)的影響、航天器干擾力矩和角加速度的觀測誤差.
使用EKF進(jìn)行參數(shù)辨識,每次迭代過程中,需要先對參數(shù)進(jìn)行預(yù)測,在當(dāng)前時刻,設(shè)置參數(shù)的預(yù)測值為
(7)
在EKF算法中,卡爾曼預(yù)測值誤差協(xié)方差矩陣能夠表現(xiàn)預(yù)測值誤差中包含的參數(shù)變化和預(yù)測模型偏差.通過對預(yù)測值誤差的協(xié)方差矩陣進(jìn)行推導(dǎo),可以將參數(shù)變化和模型偏差造成的影響從協(xié)方差矩陣中分離出來,預(yù)測誤差協(xié)方差矩陣為
(8)
根據(jù)式(5),有
(9)
將括號中的內(nèi)容展開,分離出變化量對應(yīng)的協(xié)方差矩陣,可得
(10)
Pk|k-1=Pk-1|k-1+ΔPk
(11)
通過設(shè)置ΔPk的值,可以在參數(shù)辨識過程中表現(xiàn)航天器的轉(zhuǎn)動慣量的變化.
參數(shù)預(yù)測值相比于當(dāng)前時刻的真值還存在較大誤差,根據(jù)系統(tǒng)的量測信息和輸出方程,使用含有參數(shù)變化量信息的預(yù)測誤差協(xié)方差矩陣對預(yù)測結(jié)果進(jìn)行修正,同時計算估計值的誤差協(xié)方差矩陣,用于下一次迭代.根據(jù)EKF算法,需要計算輸出方程(6)對應(yīng)的雅可比矩陣,為
(12)
(13)
結(jié)合EKF算法結(jié)構(gòu),進(jìn)行整理、總結(jié),可以得到如下參數(shù)辨識模型:
(14)
在濾波過程中,轉(zhuǎn)動慣量變化是未知的,需要通過預(yù)測誤差協(xié)方差矩陣反映其變化過程.在某段時間內(nèi)航天器軌道機(jī)動和機(jī)械臂變化程度不同,對應(yīng)轉(zhuǎn)動慣量的變化劇烈程度也不同,在使用設(shè)計的EKF算法辨識動態(tài)轉(zhuǎn)動慣量時,可以設(shè)置參數(shù)變化量協(xié)方差矩陣的估計值為不同的固定對角陣,比如ΔPk=I6,從而表現(xiàn)轉(zhuǎn)動慣量的變化.此外,干擾項(xiàng)v包含的量均是未知的,仍將R當(dāng)作隨機(jī)量的協(xié)方差矩陣估計值.
使用含有模型補(bǔ)償項(xiàng)的傳統(tǒng)類PD控制律[20]進(jìn)行航天器姿態(tài)跟蹤.轉(zhuǎn)動慣量的變化會導(dǎo)致控制力矩的計算出現(xiàn)偏差,可以將轉(zhuǎn)動慣量的濾波估計值實(shí)時反饋至控制器中,補(bǔ)償轉(zhuǎn)動慣量變化帶來的控制誤差,得到更準(zhǔn)確的控制力矩.當(dāng)前時刻的控制力矩為
(15)
根據(jù)設(shè)計的算法,進(jìn)行角加速度估計、動態(tài)轉(zhuǎn)動慣量辨識和姿態(tài)跟蹤的相關(guān)仿真和結(jié)果分析.在跟蹤監(jiān)測時,航天器進(jìn)行姿態(tài)跟蹤,需要滿足持續(xù)激勵條件[21],以保證航天器轉(zhuǎn)動慣量的有效辨識,設(shè)置航天器姿態(tài)期望角速度為
部分仿真參數(shù)設(shè)置如表1所示.
設(shè)置航天器轉(zhuǎn)動慣量同時存在分段線性變化和正弦變化,轉(zhuǎn)動慣量變化為ΔJ(kg·m2)
ΔJ=ΔJ1+ΔJ2
其中,航天器轉(zhuǎn)動慣量分段線性變化ΔJ1(kg·m2)用來模擬快速軌道機(jī)動中燃料的消耗或補(bǔ)充等情況對轉(zhuǎn)動慣量的影響,轉(zhuǎn)動慣量正弦變化ΔJ2(kg·m2),用來模擬大型機(jī)械臂操縱等情況對轉(zhuǎn)動慣量的影響
表1 仿真參數(shù)設(shè)置Tab.1 Simulation parameters setting
航天器角加速度的估計結(jié)果如圖2所示,從圖中可知,使用狀態(tài)觀測器(4)能夠?qū)崿F(xiàn)航天器角加速度估計,在5 s之后,角加速度估計誤差最大值為0.012((°)/s2),對比角加速度估計曲線可知,該誤差大小約占幅值的3%,不確定度足夠小,角加速度估計效果良好,可以用于航天器轉(zhuǎn)動慣量辨識.
圖2 轉(zhuǎn)動慣量變化時角加速度估計結(jié)果Fig.2 The angular acceleration estimation with time-varying inertia matrix
分別采用本文算法、常規(guī)EKF算法和梯度下降法3種方法,進(jìn)行轉(zhuǎn)動慣量辨識,對比分析本文算法的有效性,其中,梯度下降法的自適應(yīng)律為
(16)
航天器的轉(zhuǎn)動慣量真值為J=J0+ΔJ,分別使用以上3種方法對該時變轉(zhuǎn)動慣量進(jìn)行實(shí)時辨識.慣量矩陣主對角線元素的辨識結(jié)果及誤差如圖3所示,慣量矩陣非主對角線元素的辨識結(jié)果及誤差如圖4所示.
從圖3和4的辨識結(jié)果可以看出,相比于常規(guī)EKF算法,本文的算法能夠有效實(shí)現(xiàn)動態(tài)轉(zhuǎn)動慣量的辨識,相比于梯度下降法,本文算法的辨識效果也更好.從圖3(a)和圖4(a)中可以看出來,在300 s之后,本文算法的參數(shù)辨識誤差能夠穩(wěn)定在±1.5(kg·m2)以內(nèi),辨識效果良好.
根據(jù)式(14)中改進(jìn)的EKF算法對時變航天器轉(zhuǎn)動慣量的辨識結(jié)果,實(shí)時更新控制律(15)中的轉(zhuǎn)動慣量信息,完成前饋補(bǔ)償,進(jìn)行姿態(tài)跟蹤控制.為了表現(xiàn)時變轉(zhuǎn)動慣量辨識對航天器姿態(tài)跟蹤精度的影響,分別將控制器中轉(zhuǎn)動慣量設(shè)置為固定值和實(shí)時估計值,進(jìn)行對比仿真.
當(dāng)控制器中轉(zhuǎn)動慣量恒定不變時,姿態(tài)跟蹤的角速度誤差和姿態(tài)角誤差如圖5所示.當(dāng)控制器中轉(zhuǎn)動慣量實(shí)時更新時,姿態(tài)跟蹤的角速度誤差和姿態(tài)角誤差如圖6所示.
圖3 慣量矩陣主對角線元素辨識結(jié)果及誤差Fig.3 The identification results and errors of the moment of inertia
由圖5可知,隨著轉(zhuǎn)動慣量相對于初值的變化量的增加,航天器的控制精度會逐漸變差,最大角速度誤差甚至達(dá)到了0.7((°)/s),最大姿態(tài)角度誤差約為1.8°,姿態(tài)跟蹤效果很差.由圖6可知,實(shí)時更新控制律中的轉(zhuǎn)動慣量,航天器姿態(tài)跟蹤過程能夠在30 s內(nèi)實(shí)現(xiàn)穩(wěn)態(tài),姿態(tài)跟蹤角速度誤差能夠控制在±0.035((°)/s)以內(nèi),姿態(tài)角誤差可以控制在±0.22°以內(nèi).
通過對圖5和6的對比分析,說明實(shí)時辨識轉(zhuǎn)動慣量并更新控制器參數(shù),有利于保證航天器的姿態(tài)跟蹤精度.
圖4 慣量矩陣非主對角元素辨識結(jié)果及誤差Fig.4 The identification results and errors of the product of inertia
圖5 控制律中轉(zhuǎn)動慣量恒定時的控制誤差Fig.5 The control errors with fixed inertia matrix in controller
圖6 控制律中轉(zhuǎn)動慣量實(shí)時更新時的控制誤差Fig.6 The control errors with updating inertia matrix in controller
本文對航天器時變轉(zhuǎn)動慣量的辨識問題進(jìn)行了研究.首先,設(shè)計航天器角加速度觀測器.通過設(shè)計線性觀測器并配置極點(diǎn),實(shí)時觀測航天器角加速度,用于轉(zhuǎn)動慣量辨識.然后,設(shè)計時變轉(zhuǎn)動慣量辨識算法.將參數(shù)變化過程引入了協(xié)方差矩陣,對擴(kuò)展卡爾曼濾波進(jìn)行了改進(jìn),結(jié)合航天器姿態(tài)動力學(xué)模型,實(shí)現(xiàn)了航天器時變轉(zhuǎn)動慣量的辨識.將本文的方法與常規(guī)EKF算法和梯度下降法進(jìn)行對比仿真和分析,本方法能夠更加可靠地實(shí)現(xiàn)動態(tài)轉(zhuǎn)動慣量辨識,辨識誤差更小.最后,根據(jù)時變轉(zhuǎn)動慣量的辨識結(jié)果,實(shí)時更新控制律中的參數(shù)信息,能夠保證航天器姿態(tài)跟蹤的控制精度.