周博超,李勇
中國(guó)空間技術(shù)研究院 錢(qián)學(xué)森空間技術(shù)實(shí)驗(yàn)室,北京 100094
分布式衛(wèi)星系統(tǒng)是由物理上互不相連的、共同實(shí)現(xiàn)同一空間任務(wù)的多顆衛(wèi)星構(gòu)成的空間系統(tǒng),是21世紀(jì)空間技術(shù)發(fā)展的新趨勢(shì)[1-2]。分布式衛(wèi)星系統(tǒng)的應(yīng)用任務(wù)要求其具有自主協(xié)同運(yùn)行的能力,其中的核心和基礎(chǔ)便是自主導(dǎo)航,傳統(tǒng)的單衛(wèi)星導(dǎo)航一般依賴(lài)于地面站或全球?qū)Ш叫亲到y(tǒng),而基于星間測(cè)量的自主導(dǎo)航系統(tǒng)能夠不依賴(lài)外部支持,主要通過(guò)星間相對(duì)測(cè)量信息,利用非線性估計(jì)理論解算出衛(wèi)星間的相對(duì)運(yùn)動(dòng)狀態(tài)參數(shù)和衛(wèi)星各自的慣性姿態(tài)參數(shù),具有自主性強(qiáng)、占用資源少等優(yōu)點(diǎn)。
基于星間測(cè)量的自主導(dǎo)航按測(cè)量方式可分為基于星間測(cè)距[3]、基于相對(duì)視線角測(cè)量[5-7]和基于星間相對(duì)位置矢量測(cè)量[8-9]的導(dǎo)航方法。分布式衛(wèi)星系統(tǒng)中衛(wèi)星之間的相對(duì)矢量需要距離、角度及姿態(tài)同時(shí)測(cè)量才能獲得,故在衛(wèi)星較多的情況下,所有衛(wèi)星間均進(jìn)行測(cè)量會(huì)需要大量的敏感器。本文從星載資源優(yōu)化的角度出發(fā),采用單一敏感器切換測(cè)量的方案,即僅有一顆衛(wèi)星搭載測(cè)量設(shè)備,輪流對(duì)其他衛(wèi)星進(jìn)行測(cè)量的方案。文獻(xiàn)[10]表明,3顆星的情況下,切換測(cè)量的誤差約為全測(cè)量誤差的1.8倍左右,但減少了一半的觀測(cè)設(shè)備,精度也是可以接受的。
在單敏感器切換測(cè)量的方案下,導(dǎo)航計(jì)算將全部由測(cè)量設(shè)備所在的導(dǎo)航星來(lái)完成。為了減小導(dǎo)航星的運(yùn)算負(fù)擔(dān),將卡爾曼濾波算法解耦為多個(gè)平行的子濾波器是一種有效的解決方案[11]。這種解耦算法將卡爾曼濾波解耦為兩個(gè)平行的濾波[12],由于維數(shù)的減小,運(yùn)算負(fù)擔(dān)能夠有效地減輕。文獻(xiàn)[13]提出了一種最優(yōu)的兩步濾波法,并證明了該算法與卡爾曼濾波為數(shù)學(xué)等價(jià)的,之后文獻(xiàn)[14]將其推廣為多步濾波法,該算法得到了廣泛的應(yīng)用[15-17]。為了減輕導(dǎo)航星的運(yùn)算負(fù)擔(dān),本文考慮采用多步濾波算法,將標(biāo)準(zhǔn)EKF(extended Kalman filter,擴(kuò)展卡爾曼濾波)算法解耦為多個(gè)6維子濾波器,即以每顆星的狀態(tài)作為一個(gè)子系統(tǒng),由于該算法與標(biāo)準(zhǔn)卡爾曼濾波數(shù)學(xué)上完全等價(jià),故可以在保證相同濾波性能的同時(shí)有效減輕計(jì)算負(fù)擔(dān)。
文章首先給出切換導(dǎo)航方案;然后建立系統(tǒng)的狀態(tài)空間模型并根據(jù)標(biāo)準(zhǔn)EKF算法給出濾波過(guò)程;基于多步卡爾曼濾波算法將原濾波器進(jìn)行解耦,給出解耦后子濾波器及耦合項(xiàng)的方程,并對(duì)算法的計(jì)算量進(jìn)行了評(píng)估;最后給出仿真驗(yàn)證。
本文以3顆衛(wèi)星構(gòu)成的分布式衛(wèi)星系統(tǒng)為例,采用慣性空間相對(duì)位置矢量作為觀測(cè)量的自主導(dǎo)航方法進(jìn)行定位。假設(shè)3顆衛(wèi)星分別為衛(wèi)星A,衛(wèi)星B和衛(wèi)星C,rAB,rBC,rAC分別是3顆衛(wèi)星間的相對(duì)位置矢量(質(zhì)心到質(zhì)心矢量,如圖1所示)。根據(jù)基于星間矢量測(cè)量的雙星導(dǎo)航的能觀性分析[4,18]可知,3顆衛(wèi)星之間的任意兩個(gè)相對(duì)位置矢量測(cè)量(除特殊軌道情形外)即可解算出整個(gè)衛(wèi)星系統(tǒng)在慣性空間中的位置和速度。由于測(cè)向設(shè)備一般無(wú)法保證同時(shí)跟蹤測(cè)量多顆衛(wèi)星的方位信息,所以需要兩套測(cè)量設(shè)備分別進(jìn)行觀測(cè)或者一套設(shè)備在兩衛(wèi)星之間進(jìn)行切換觀測(cè)。
圖1 星間位置矢量Fig.1 Inter-satellite position vectors
本文從減少測(cè)量載荷節(jié)約成本的角度出發(fā),提出采用單套測(cè)量設(shè)備切換觀測(cè)的方案,即僅在衛(wèi)星A上配置一套測(cè)量設(shè)備,在衛(wèi)星B和衛(wèi)星C之間進(jìn)行切換測(cè)量。
選取地心赤道慣性坐標(biāo)系下3顆衛(wèi)星的位置向量和速度向量組成系統(tǒng)狀態(tài)變量,記
x為18維狀態(tài)變量,則二體軌道下的系統(tǒng)狀態(tài)方程為
(1)
式中:
μ=3.986 004 415×1014m3/s2;w為系統(tǒng)噪聲。 觀測(cè)量是衛(wèi)星間相對(duì)位置矢量,相應(yīng)的觀測(cè)方程為
(2)
式中:σ=1,2,分別代表測(cè)量B星及C星;v為量測(cè)噪聲;Hσ為對(duì)應(yīng)的測(cè)量矩陣,
對(duì)于基于星間矢量的自主導(dǎo)航,一般所用的方法為EKF算法。對(duì)如式(1)(2)所描述的切換系統(tǒng),標(biāo)準(zhǔn)EKF的計(jì)算步驟為[9]:
xk/k-1=f(xk-1/k-1)
(3)
(4)
(5)
xk/k=xk/k-1+Kk(yk-Hσkxk/k-1)
(6)
Pk/k=[I-KkHσk]Pk/k-1
(7)
式中:Q陣及R陣分別為系統(tǒng)噪聲及測(cè)量噪聲的方差。
基于文獻(xiàn)[14]中的MSKF (multi-stage Kalman filter,多步卡爾曼濾波)算法,將標(biāo)準(zhǔn)EKF算法解耦。該方法的核心是將方差陣Pk/k-1及Pk/k變換為分塊對(duì)角陣,即找到上三角陣Uk,Vk使得:
(8)
(9)
利用該UV矩陣,可將標(biāo)準(zhǔn)EKF算法進(jìn)行如下變換:
(10)
(11)
(12)
綜合(3)~(7)(10)(11)可得變換后的濾波方程如下:
(13)
(14)
(15)
(16)
(17)
(18)
(19)
其中:
ε(·)為單位階躍函數(shù),即εt=1(t≥0),εt=0(t<0)。 于是將式(13)~(17)展開(kāi),可得解耦后的子濾波器:
(20)
(21)
(22)
(23)
(24)
其中i=1,2,…,r為子濾波器編號(hào),式中變量含義如下:
耦合項(xiàng)Uk,Vk更新方式如下:
(25)
(26)
式中:
(27)
以上就是變換后的解耦的子濾波器方程,注意變換后的濾波器估計(jì)的狀態(tài)及方差陣為U-V變換后的量,而原變量的估計(jì)需由下式反變換計(jì)算得來(lái):
子濾波器的初值為:
解耦的多步濾波算法與標(biāo)準(zhǔn)的EKF為等價(jià)推導(dǎo)的,這是由于多步濾波算法本質(zhì)上為標(biāo)準(zhǔn)EKF算法經(jīng)過(guò)變量代換(U-V變換)后進(jìn)行計(jì)算而得來(lái),詳細(xì)推導(dǎo)過(guò)程可見(jiàn)文獻(xiàn)[14]。
為了評(píng)價(jià)多步卡爾曼濾波的計(jì)算量?jī)?yōu)勢(shì),采用“浮點(diǎn)運(yùn)算數(shù)”(FLOPS)來(lái)描述算法的運(yùn)算復(fù)雜度。
標(biāo)準(zhǔn)EKF的計(jì)算量為[14]
flops(EKF)=6n3+(4m+3)n2+(4m2+
4m+2)n+2m3+m2+m
而多步濾波算法的計(jì)算量包括子濾波及耦合項(xiàng)計(jì)算兩部分。
而本文中n=18,m=r=3,代入可得:
flops(EKF)=40 818
flops(MSKF)=flops(Subfilters)+
flops(Auxiliary)=5 364+15 000=20 364
因此解耦后的計(jì)算量為原濾波器的49.9%。
為驗(yàn)證多步濾波法的性能,考慮一個(gè)由3顆衛(wèi)星構(gòu)成的分布式衛(wèi)星系統(tǒng),3顆衛(wèi)星的軌道根數(shù)如表1所示。
表1 軌道根數(shù)
3顆衛(wèi)星的仿真軌跡由二體開(kāi)普勒方程積分而得。由仿真的軌跡可以計(jì)算出仿真星間矢量測(cè)量。測(cè)量為由A輪流測(cè)量其與B及C的相對(duì)位置矢量,切換方式為時(shí)間切換,50 s切換一次。
仿真中加入了系統(tǒng)及測(cè)量噪聲,二者互不相關(guān),且其方差陣滿(mǎn)足
er=
ev=
表2 MSKF與EKF仿真結(jié)果
從結(jié)果中可以看出,兩種算法的精度幾乎完全相同,微小差距是由Matlab浮點(diǎn)計(jì)算誤差積累而來(lái),但由第3部分可知MSKF的計(jì)算量要比EKF算法小得多,因此對(duì)于承擔(dān)導(dǎo)航計(jì)算的導(dǎo)航星的計(jì)算負(fù)擔(dān)有很大的減輕作用。
本文的分時(shí)段切換量測(cè)過(guò)程在實(shí)際應(yīng)用中必然存在測(cè)量時(shí)延和時(shí)間同步問(wèn)題,各階段測(cè)量的持續(xù)時(shí)間會(huì)不規(guī)律且會(huì)存在空檔期,這對(duì)估計(jì)精度勢(shì)必會(huì)帶來(lái)影響,下面是對(duì)這種情況的一些簡(jiǎn)單的仿真分析。
算例1 每種測(cè)量為50 s,但切換存在5 s延遲,即每110 s為一個(gè)周期,0~50 s測(cè)量B星,55~105 s測(cè)量C星,中間的空檔沒(méi)有任何測(cè)量。
圖2 兩種算法位置誤差Fig.2 Position error of two algorithms
圖3 兩種算法速度誤差Fig.3 Velocity error of two algorithms
算例2每種測(cè)量為50 s,切換存在15 s延遲。
算例3每種測(cè)量50 s,沒(méi)有切換延遲,作為對(duì)比算例。
各算例中衛(wèi)星數(shù)據(jù)及濾波參數(shù)均與第6.1小節(jié)中的仿真一致,仿真結(jié)果如圖4及表3所示。
圖4 三種算例的估計(jì)精度Fig.4 Estimation error of three cases
表3 非理想切換仿真結(jié)果
從仿真結(jié)果可以看出,切換時(shí)延、空檔的加入降低了估計(jì)精度,時(shí)延越大估計(jì)精度越差。但實(shí)際工程中可能存在的時(shí)延和空檔時(shí)間比較小,對(duì)精度影響較小,沒(méi)有量級(jí)或成倍地增大。
針對(duì)基于星間測(cè)量的多星自主導(dǎo)航問(wèn)題,提出了一種單套敏感器切換測(cè)量的導(dǎo)航方案,設(shè)計(jì)了一種解耦的多步濾波MSKF算法,通過(guò)數(shù)學(xué)推導(dǎo)及仿真分析,得出以下結(jié)論:
1)MSKF與標(biāo)準(zhǔn)EKF為完全數(shù)學(xué)等價(jià),即兩種算法的估計(jì)值及估計(jì)精度幾乎完全一致,微小差異是由舍入誤差而來(lái)。
2)MSKF的計(jì)算效率相比標(biāo)準(zhǔn)EKF有顯著 的提升,計(jì)算量?jī)H為EKF的49%,在本文的切換測(cè)量下還有進(jìn)一步的減輕。這對(duì)于承擔(dān)導(dǎo)航計(jì)算的衛(wèi)星計(jì)算效率有明顯提升,具有重要的應(yīng)用價(jià)值。
3)切換時(shí)延、空檔的加入降低了估計(jì)精度,時(shí)延越大精度越差。但實(shí)際工程中可能存在的較小的時(shí)延和空檔時(shí)間對(duì)精度影響較小。未來(lái)會(huì)對(duì)這種切換方案進(jìn)行深入的分析,對(duì)切換系統(tǒng)能觀性、時(shí)延的影響、切換方案設(shè)計(jì)進(jìn)行進(jìn)一步的探討。