李 冰 高曉穎 蹤 華 李林浩
1.宇航智能控制技術國家級重點實驗室,北京100854; 2.北京航天自動控制研究所,北京 100854; 3.北京理工大學,北京 100081
天文導航是基于天體已知的坐標位置和運動規(guī)律,應用觀測天體的天文坐標值來確定航行體的空間位置等導航參數。天文導航屬于完全自主式的導航方式,不受時域、地域和空域的限制,適用范圍廣,無需路基臺站的輔助,設備簡單,不受人為或自然形成的電磁場干擾,不向外輻射能量;具有隱蔽性好,工作穩(wěn)定,定位、定向精度高,無累積誤差等優(yōu)點[1]。隨著星敏感器等新型敏感器的出現,天文導航在航天器上也有著較大的發(fā)展空間,如何利用星敏感器得到的信息來定軌定姿,從而進行姿軌控制,已經成為當前研究的熱點,而星圖識別作為姿態(tài)解算的前提,也成為重要的研究課題[2]。
常用的星圖識別算法主要分為2大類:1)角距匹配識別法,包括最為典型的三角形算法和各種改進的三角形算法[3-9]。2)模式識別法,比較典型的算法為Grid算法[10-12]。
這些傳統(tǒng)的算法雖已基本滿足工程應用,但當星敏感器角距誤差和星等誤差增大時,存在魯棒性較差的缺點。主要表現在這些算法在匹配時,需要預先設置一個匹配門限。在線應用中,當星敏感器星角距測量誤差增大后,則受嵌入式信息處理機存儲空間的影響和軟件安全性考慮,不可隨意增大匹配門限,因此,無法完成星圖識別。同時由于星敏感器對星等的測量不是十分準確,星圖識別方法需要降低對星等誤差的敏感度。
針對以上傳統(tǒng)星圖識別方法的不足,本文提出了一種利用星點角距信息和星等信息的卷積神經網絡識別方法。同時為了擴大樣本的覆蓋性獲得更好的網絡訓練效果,提出了一種變視場主軸,基于星角距信息和星等信息的星樣本集生成方法,另外隨機加入星等誤差和角距誤差,得到了覆蓋性高的網絡樣本集合;然后設計卷積神經網絡模型;最后利用訓練樣本對網絡進行訓練,并對訓練好的網絡測試驗證。
本文針對由于星敏感器星等測量的不準確性導致的星等變化和由于視場主軸變化導致的星點變化,設計神經網絡架構且能夠適應以上多維度信息變化。在線應用時,只需要存儲導航星信息星表,因此,星表容量小,且對星角距誤差和星等誤差的魯棒性好。
訓練樣本構建思路為:為了便于網絡實現星圖分類,規(guī)定了同一類星圖的定義方法,提出了通過改變視場軸指向獲得星集的方法;提出了具體的樣本數據計算方法,即對每一星集,利用其它星到主星的角距和星等信息構建樣本數據,增加星等誤差、角距誤差對樣本擴充,獲得覆蓋性比較全的樣本數據。
考慮到星敏感器拍攝星圖的實際情況,將視場軸對準某一恒星,將繞該恒星作一定角度變化條件下拍攝的所有星圖均規(guī)定為同一類。具體方法為:
圖1 變視場主軸方法示意圖
根據1.1節(jié)的定義,按照視場軸向、星集和角距等計算可以獲得樣本數據,主要的計算方法如下所述。
1.2.1 變視場主軸計算方法
當視場主軸對準某一顆星點時,則視場主軸方向與該星點在天球坐標系下的矢量方向重合。當視場主軸圍繞該星點進行變化時,則需要重新計算視場主軸在天球坐標系下的矢量方向。
如圖2所示,視場角為υ°,視場主軸對準星點O′,其坐標為(α,β)。視場圓與天球面相交于A點,則A點坐標為(α,β-υ),那么當視場主軸方向指向A點時,其矢量方向與A點重合。當視場主軸指向方向改變?yōu)閳AO′上的點時,則需要重新計算視場主軸的矢量方向。
圖2 視場主軸對準星點時的情況
如圖3所示,視場主軸方向沿圓O′變化問題可以等效為剛體相對坐標系做定點轉動問題,詳細原理與推導見文獻[13]。
將天球球心與視場面組成的三角錐提取出來,記u為OO′的單位矢量,r=OA,r′=OA′,現問題轉化為求解r′,如圖3所示。
則可以推得,
r′=rcosθ+(1-cosθ)[r+u×(u×r)]+
u×rsinθ=r+u×rsinθ+(1-cosθ)u×
(u×r)
(1)
圖3 剛體的等效旋轉示意圖
因此,給定任一角度θ,即可求得矢量r′,進而得到A′在天球坐標系下的赤經、赤緯。
1.2.2 星圖樣本計算
對每一個視場軸指向,利用文獻[14]中的方法,計算視場內的導航星集。然后計算其它星距離主星的角距,由角距和星等信息構成訓練樣本。角距計算方法為:
如圖4所示,恒星在天球球面坐標的赤經和赤緯記作(α,β)。根據直角坐標與球面坐標的關系,可以得到每顆恒星在天球直角坐標系下的方向矢量為
(2)
而星角距可以直接根據構成星對的2顆導航星i和j在導航星表中的方向矢量計算得到,即
圖4 地心慣性坐標系定義
arccos(VixVjx+ViyVjy+VizVjx)
(3)
其中,Vi和Vj為兩導航星在星表中方向的矢量形式。
1.2.3 星圖樣本擴充方法
分別生成訓練集與測試集樣本,其中訓練集與測試集樣本比例為2∶1,均按照如下方法生成:
為了提高神經網絡的適應性,對1.2.2中的每個樣本數據增加星角距誤差和星等誤差,進行樣本擴充。
1)對每種情況的樣本加入星等誤差,認為在6等星以內的星點為可見點。由于星敏感器對于星等的測量準確度不是很高,因此需要考慮星等測量誤差導致的星圖變化。首先,獲得每種情況下可見星點的星等,對每個點加入星等誤差,當加入誤差后的該點星等仍在6以內的,視為可見。由于星等越小,星點越亮,所占的權重應該越大,因此考慮將其進行取倒數處理,即
(4)
2)對每種加了星等誤差的星點情況,加入隨機角距誤差。
3)分別將加了誤差的星等信息和角距信息儲存下來。為保證不同星圖儲存的信息尺寸一致,當角距信息不足時,其余列補0,如表1所示。
表1 星圖角距信息儲存矩陣示例
其中,d1,j(j=2,3,…)為視場內主星到伴星之間的角距,1表示主星;Mj(j=2,3,…)為對應角距信息的伴星星等的倒數(偽星等)。
為了充分利用星角距信息和星等信息,并降低星等誤差的影響,構建了一種卷積神經網絡。在卷積層,利用1×1的卷積核實現對角距和星等信息的加權處理。通過網絡訓練,實現星等大的權重低的設計初衷,從而增強對星等誤差的魯棒性。
如圖5所示,卷積神經網絡共有5個卷積層,3個全連接層。卷積層卷積核均為1×1。本文的神經網絡輸入信息為2維(角距信息和星等信息),因此將輸入端的通道數設置為2。因為只對不同通道的數據進行融合,所以第1層卷積核的大小設置為1×1×2×32,32為第1層卷積的輸出通道數。在進行多次卷積之后,再使用全連接層對卷積得到的信息進行綜合處理。
圖5 神經網絡結構示意圖
本文將識別問題認為是一個分類問題,因此使用cross entropy作為損失函數。
神經網絡模型基于tensorflow平臺搭建,使用Python語言來實現。
對北極天區(qū)進行仿真驗證,視場大小為8°×8°,通過變視場主軸的方法得到107類,視場內星點數目最多為12顆。
為了驗證本文卷積神經網絡設計的有效性,在考慮不同角距誤差和星等誤差的條件下,進行了測試驗證,并與全連接神經網絡進行了對比分析。
仿真1:全連接神經網絡與卷積神經網絡對星圖角距誤差的魯棒性探究。
首先生成不添加星等誤差、僅含角距誤差為±0.06°的訓練樣本,然后分別構建全連接神經網絡和單通道卷積神經網絡。卷積神經網絡共有8層,使用ReLu非線性激活函數和cross entropy損失函數。使用相同的數據訓練1000步直至網絡收斂。
然后再使用相同的測試數據對網絡進行測試驗證,結果如表2所示。
從表2可以看出,隨著角距誤差的減小,兩種網絡的識別率逐漸增大,同時卷積神經網絡的識別率普遍高于全連接網絡的識別率,尤其是樣本角距誤差增大時,更為明顯。
表2 無星等誤差時不同網絡的識別情況
分析原因,由于使用變視場主軸的樣本生成方法,因此同一類別下,可能會出現不同的星點情況,導致角距信息數據不一致,全連接神經網絡針對數據不一致的同類情況魯棒性不是非常高,而卷積神經網絡魯棒性更好一些,因此識別率更高。
仿真2:全連接神經網絡與卷積神經網絡對星角距和星等誤差的魯棒性研究。
首先對每類情況下的星點隨機加入范圍為±0.2MV的星等誤差,然后再隨機加入角距誤差,誤差范圍為±0.06°。將星等信息和角距信息儲存下來。使用相同的數據,分別對全連接網絡和卷積神經網絡進行訓練并保存模型。全連接神經網絡的輸入僅為角距信息,卷積神經網絡為星等和角距兩通道信息。訓練結果如圖6~7所示:
圖6 卷積神經網絡訓練準確率隨迭代次數變化圖
圖7 全連接神經網絡訓練準確率隨迭代次數變化圖
從圖6~7可以看出,訓練時的準確率在訓練一定步長后收斂,同時保持在一個較為穩(wěn)定的范圍內,說明模型具備了可以用來測試的條件。
然后生成±0.2MV的星等誤差測試樣本和角距誤差測試樣本,角距數據誤差范圍分別為±0.02°、±0.04°和±0.06°。
將以上測試樣本放入已經保存的神經網絡模型中進行測試,測試時識別率如表3所示:
表3 測試樣本識別率
測試樣本與訓練樣本是分開生成的,且測試樣本中的誤差均為隨機加入。測試樣本數量較大,充分模擬了該種誤差下可能出現的情況。
從表3可以看出,測試時,分類精度較高,最低時為97.35%。仿真結果表明該神經網絡結構和參數能很好地融合多維度信息,同時星等信息的加入能夠提升網絡的識別率。在加入了星等誤差后,卷積神經網絡的識別率明顯比全連接網絡的識別率高,表明卷積神經網絡對于變視場主軸導致的同類別下數據維度不一致有著較好的魯棒性。
本文所提出的基于卷積神經網絡的星圖識別方法相比于傳統(tǒng)的角距匹配法更簡單,在實際使用時充分利用了星圖信息,不需要多次搜索星表。由于網絡參數自動更新,充分融合了多維度信息,降低了計算量,提高了匹配效率。通過變視場主軸的星圖生成方法,擴大了樣本覆蓋性,提升了識別可靠性。本方法不僅能夠適應視場主軸變化帶來的星圖變化,還能夠適應星等誤差導致的星圖信息變化。在星等誤差為0.2MV時,本方法仍能保持97%以上的識別率,對星敏感器的星等誤差有著較高的魯棒性。本方法對角距誤差有更高的魯棒性,對于一般的基于角距匹配的算法,角距誤差通常在±0.02°左右,本方法將角距誤差提升至±0.04°和±0.06°時,仍然能夠保持很高的識別率。在飛行器飛行環(huán)境復雜、星敏感器測量誤差大的條件下,本方法具有更大的應用優(yōu)勢。