本發(fā)明涉及一種星敏感器星跟蹤方法,尤其涉及一種基于恒星矢量差分的星敏感器星跟蹤方法。
背景技術(shù):
星敏感器是當(dāng)前精度最高的姿態(tài)敏感器,在衛(wèi)星姿態(tài)確定中被廣泛運用。在全天捕獲成功后,星敏感器主要工作在星跟蹤模式。星跟蹤方法中首先進行星點預(yù)測,以預(yù)測的星點位置為中心形成一定大小的波門,圖像處理軟件在該波門中提取星點位置信息,顯著減小了圖像處理的時間,提高了方法效率。當(dāng)星點預(yù)測誤差大時,波門必須相應(yīng)增大,一方面增加了計算量,另一方面由于波門內(nèi)包含虛假目標(biāo)的概率增大,星點提取方法誤識別的可能性也增大,所以提高星點預(yù)測精度十分重要。
星點預(yù)測方法分為兩類,一類是利用外部信息的星點預(yù)測方法,包括姿態(tài)信息,星圖信息,這類方法的研究已經(jīng)比較充分。主流方法是利用當(dāng)前幀和前一幀的瞬時姿態(tài)預(yù)測下一幀的姿態(tài),根據(jù)預(yù)測的姿態(tài)和星表信息計算出下一幀的星點信息。有些方法還使用了陀螺輸出的角加速度積分推算下一時刻的星敏姿態(tài)信息,再利用該姿態(tài)信息和星表信息計算出下一幀的星點信息。此方法除了姿態(tài)信息外還依賴陀螺的角加速度信息。第二類方法不依賴外部信息進行星點預(yù)測,此類方法的研究較少,主要是星點運動軌跡建模。這類方法專注于對星點軌跡的建模,在自主星跟蹤的同時濾除星點成像瞬時噪聲。該方法存在兩個不足之處:第一,在對星點軌跡的建模中需要星點機動頻率和隨機加速度方差等難以得到的先驗信息,事實上在探測器不同位置,星軌跡的形態(tài)并不相同,星點加速度并不一樣,這在在大視場星敏感器和多頭星敏感器中尤為明顯,所以難以對所有的星軌跡精確建模;第二,對于每一顆恒星在探測器上的軌跡要在x方向和y方向分別建立三維運動模型,在該模型的基礎(chǔ)上進行星點預(yù)測和濾波,實際運用中平均每幀星圖要利用15顆星點進行定姿,所以要對15條星軌跡模型分別進行遞推和濾波,計算量大。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種星敏感器星跟蹤方法,不依賴姿態(tài)信息,只需要對每一幀的星點的星矢量進行整體建模,由星矢量及星敏感器參數(shù)得到星點預(yù)測值,模型簡單,計算量小,易于實現(xiàn)。
為了達到上述目的,本發(fā)明提供一種星敏感器星跟蹤方法,包含以下步驟:
步驟S1、角速率估計;
步驟S2、角速率濾波;
步驟S3、星矢量預(yù)測;
步驟S4、星矢量轉(zhuǎn)化為星點;
步驟S5、在以預(yù)測星點為中心的波門中提取星點。
所述的步驟S1具體包含以下步驟:
由當(dāng)前時刻k提取的n顆跟蹤恒星的星點信息計算得到n個幀的星矢量:
其中,(xi(k),yi(k))為k時刻第i顆星在星敏探測器上的成像點坐標(biāo),(x0,y0)為星敏感器主點坐標(biāo),f為星敏感器焦距;
根據(jù)當(dāng)前幀和上一幀的星矢量計算角速率估計值
其中,
所述的步驟S2具體包含以下步驟:
將角速率估計值作為當(dāng)前角速率測量值Z(k)輸入卡爾曼濾波器,得到角速率濾波值ω(k);
步驟S2.1、計算角速率測量值:
步驟S2.2、根據(jù)上一幀的角速率估計值進行地面標(biāo)定,得到角速率與測量誤差的關(guān)系,從而計算得到測量誤差方差σ;;
步驟S2.3、計算測量噪聲的方差R(k):
其中,
步驟S2.4、計算系統(tǒng)轉(zhuǎn)移誤差:
P(k|k-1)=P(k-1)+Q (8)
步驟S2.5、計算卡爾曼濾波器的增益:
Kg(k)=P(k|k-1)/(P(k|k-1)+R(k)) (9)
步驟S2.6、計算角速率濾波值ω(k):
ω(k)=ω(k-1)+Kg(k)(Z(k)-ω(k-1)) (10)
步驟S2.7、計算協(xié)方差陣的更新值P(k):
P(k)=(I-Kg(k))P(k|k-1) (11)。
所述的步驟S2中,卡爾曼濾波器的狀態(tài)方程為:
ω(k|k-1)=ω(k-1)+u(k) (4)
其中,u(k)是狀態(tài)轉(zhuǎn)移噪聲;
卡爾曼濾波器的狀態(tài)轉(zhuǎn)移方程為:
Z(k)=ω(k)+v(k) (5)
其中,v(k)是測量噪聲;
卡爾曼濾波器的初始狀態(tài)為:角速率ω(0)=[0;0;0],初始協(xié)方差陣P(0)=I3*3,測量噪聲方差初始值R(0)=I3*3,狀態(tài)轉(zhuǎn)移噪聲的方差Q=0.001I3×3。
所述的步驟S3包含以下步驟:
根據(jù)角速率濾波值ω(k)以及當(dāng)前幀的星矢量計算下一幀星矢量的預(yù)測值:
si(k+1)=Δt*[si(k)×]ω(k)+si(k) (12)。
所述的步驟S4包含以下步驟:
根據(jù)星矢量預(yù)測值和星敏感器內(nèi)方位元素(f,x0,y0)計算下一幀的星點位置:
s=si(k+1)
xi(k+1)=-f·s(1)/s(3)+x0 (13)。
yi(k+1)=-f·s(2)/s(3)+y0
本發(fā)明可直接基于恒星矢量差分計算角速率,進行恒星矢量遞推,進而實現(xiàn)星跟蹤,有別于已有的基于四元數(shù)差分計算角速率和遞推并且利用導(dǎo)航星表的星跟蹤方法,可作為現(xiàn)有星跟蹤方法的有效補充。
附圖說明
圖1是本發(fā)明提供的一種星敏感器星跟蹤方法的流程圖。
具體實施方式
以下根據(jù)圖1具體說明本發(fā)明的較佳實施例。
如圖1所示,本發(fā)明提供一種星敏感器星跟蹤方法,包含以下步驟:
步驟S1、角速率估計;
由當(dāng)前時刻k提取的n顆跟蹤恒星的星點信息計算得到n個幀的星矢量:
其中,(xi(k),yi(k))為k時刻第i顆星在星敏探測器上的成像點坐標(biāo),(x0,y0)為星敏感器主點坐標(biāo),f為星敏感器焦距;
根據(jù)當(dāng)前幀和上一幀的星矢量計算角速率估計值
其中,
步驟S2、角速率濾波;
將角速率估計值作為當(dāng)前角速率測量值Z(k)輸入卡爾曼濾波器,得到角速率濾波值ω(k);
卡爾曼濾波器的狀態(tài)方程為:
ω(k|k-1)=ω(k-1)+u(k) (4)
其中,u(k)是狀態(tài)轉(zhuǎn)移噪聲;
卡爾曼濾波器的狀態(tài)轉(zhuǎn)移方程為:
Z(k)=ω(k)+v(k) (5)
其中,v(k)是測量噪聲;
卡爾曼濾波器的初始狀態(tài)為:角速率ω(0)=[0;0;0],初始協(xié)方差陣P(0)=I3*3,測量噪聲方差初始值R(0)=I3*3,狀態(tài)轉(zhuǎn)移噪聲的方差Q=0.001I3×3;
步驟S2.1、計算角速率測量值:
步驟S2.2、根據(jù)上一幀的角速率估計值進行地面標(biāo)定,得到角速率與測量誤差的關(guān)系,從而計算得到測量誤差方差σ;
步驟S2.3、計算測量噪聲的方差R(k):
其中,
步驟S2.4、計算系統(tǒng)轉(zhuǎn)移誤差:
P(k|k-1)=P(k-1)+Q (8)
步驟S2.5、計算卡爾曼濾波器的增益:
Kg(k)=P(k|k-1)/(P(k|k-1)+R(k)) (9)
步驟S2.6、計算角速率濾波值ω(k):
ω(k)=ω(k-1)+Kg(k)(Z(k)-ω(k-1)) (10)
步驟S2.7、計算協(xié)方差陣的更新值P(k):
P(k)=(I-Kg(k))P(k|k-1) (11)
步驟S3、星矢量預(yù)測;
根據(jù)角速率濾波值ω(k)以及當(dāng)前幀的星矢量計算下一幀星矢量的預(yù)測值:
si(k+1)=Δt*[si(k)×]ω(k)+si(k) (12)
步驟S4、星矢量轉(zhuǎn)化為星點;
根據(jù)星矢量預(yù)測值和星敏感器內(nèi)方位元素(f,x0,y0)計算下一幀的星點位置(即為星點預(yù)測值):
s=si(k+1)
xi(k+1)=-f·s(1)/s(3)+x0 (13)
yi(k+1)=-f·s(2)/s(3)+y0
步驟S5、在以預(yù)測星點為中心的波門中提取星點。
本發(fā)明不依賴姿態(tài)信息,只需要對每一幀的星點的星矢量進行整體建模,由星矢量及星敏感器參數(shù)得到星點預(yù)測值,模型簡單,計算量小,易于實現(xiàn),可直接基于恒星矢量差分計算角速率,進行恒星矢量遞推,進而實現(xiàn)星跟蹤,有別于已有的基于四元數(shù)差分計算角速率和遞推并且利用導(dǎo)航星表的星跟蹤方法,可作為現(xiàn)有星跟蹤方法的有效補充。
盡管本發(fā)明的內(nèi)容已經(jīng)通過上述優(yōu)選實施例作了詳細介紹,但應(yīng)當(dāng)認識到上述的描述不應(yīng)被認為是對本發(fā)明的限制。在本領(lǐng)域技術(shù)人員閱讀了上述內(nèi)容后,對于本發(fā)明的多種修改和替代都將是顯而易見的。因此,本發(fā)明的保護范圍應(yīng)由所附的權(quán)利要求來限定。