趙啟坤嚴小軍(北京航天控制儀器研究所北京100039)
基于幀間角距匹配的跟蹤模式星圖識別
趙啟坤,嚴小軍
(北京航天控制儀器研究所,北京100039)
為了提高星敏感器的跟蹤匹配速率,提高星敏感器姿態更新率,本文提出了一種基于幀間角距匹配的跟蹤模式星圖識別方法。該方法充分利用上一時刻的角距匹配信息構建了一個實時跟蹤星庫,并把當前時刻的角距信息在實時跟蹤星庫中進行匹配識別,識別成功后利用識別時用到的信息對實時跟蹤星庫進行更新。仿真實驗表明,該方法具有匹配時間短、匹配成功率高的優點。
星敏感器;跟蹤匹配;角距匹配;實時星庫
從星圖識別角度來說,一般認為星敏感器在兩種模式下工作[1]:全天球星圖識別和跟蹤模式星圖識別。星敏感器剛剛開始工作或者姿態跟蹤丟失時,由于沒有任何先驗姿態信息,需要通過全天球星圖識別計算當前的姿態信息。全天球星圖識別完成后,如何快速利用前一時刻已經識別的星圖信息來跟蹤當前視場中的星體是提高星敏器星圖識別速率非常重要的問題。針對這個問題美國NASA JPL實驗室提出了跟蹤窗的方法,但是這種方法只能跟蹤少數星體,而且由于跟蹤窗口小,容易出現跟蹤丟失[2]。張廣軍等[3?5]提出了一種星敏感器中快速星跟蹤方法,首先根據前幾幀已知星圖中星點的移動軌跡,預測出當前時刻星圖中星點的位置,然后尋找參考星圖中的任意一顆星在其觀測星圖中是否有觀測星位于其r鄰域范圍內。這種方法采用了分區星表、閾值映射、先排序后匹配的策略,提高了跟蹤速度,算法有著很高的可靠性[3],但由于算法需要實時生成參考星圖,一定程度上影響了識別時間。
本文提出了一種基于幀間角距匹配的快速星跟蹤算法,算法充分利用前一幀匹配時的信息構建(或更新)一個實時跟蹤星庫,然后利用三角形識別方法對當前時刻的導航星在實時星庫中進行匹配識別,識別完成后更新導航星庫。
1.1 基于三角形匹配的星圖識別方法
基于三角形匹配的星圖識別方法[6]是一種比較直觀的方法,其核心思想是使一個由3顆星構成的觀測三角形與導航星庫中的導航三角形唯一匹配,如圖1所示。其基本識別流程為:
(1)角距匹配
假設由星Si和Sj組成的星對夾角為βij,從星表中找到夾角為ρpq的星對Sp和Sq,使其滿足:其中i≠j,ε為角距容差。
(2)三角組合
把擁有共同頂點(恒星)和(測量)角距的星對ρij組成星三角形Tijk:
(3)消除冗余匹配
三角組合后的觀測三角形Tijk不唯一時,利用星等信息判定、引入第4顆星組成金字塔、三角形的旋轉方向一致性等方法消除冗余匹配,獲得觀測三角形的唯一匹配。
1.2 幀間角距匹配的星圖識別的基本原理
在進行三角形匹配時,一般會遇到匹配庫過大、冗余匹配過多、識別效率低的問題。而在星敏感器工作過程中,相鄰兩幀之間有許多相同的星,如圖2所示。因此利用上一時刻的匹配信息建立一個實時跟蹤星庫,把角距的搜索范圍由原先的全天球改為搜索上一時刻建立的實時跟蹤星庫,最小化導航星的搜索范圍,以最大化搜索的效率。基于這樣的一種思路,本文設計了一種基于幀間角距匹配的星圖識別方法?;趲g角距匹配的星圖識別主要包含3個部分:實時跟蹤星庫的建立、跟蹤模式星庫識別和實時跟蹤星庫的維護。
(1)實時跟蹤星庫的建立
實時跟蹤星庫只在系統初始化或者姿態丟失時建立。在系統初始化時,利用全天球星圖識別法識別當前視場中的導航星,并計算各個導航星之間的角距信息。然后把其中星等最亮N顆導航星之間的角距信息保存在一個實時導航星庫中。實時跟蹤星庫一旦建立之后,程序只需要對實時跟蹤星庫進行維護。
(2)跟蹤模式星圖識別
跟蹤模式星圖識別以實時跟蹤星庫作為匹配星庫,利用基于三角形的星圖識別法對觀測星進行識別。因為跟蹤模式利用的是實時跟蹤星庫,星庫中不包含新進入視場中的導航星。所以與一般的識別方法不同,該方法在識別時需要大膽剔除未能完成角距匹配的導航星。
(3)實時跟蹤星庫的維護
實時跟蹤星庫的維護包括在實時跟蹤星庫中移除和添加導航星。在星敏感器工作時,會有一些星進出視場。為了保證星庫的實時性,應當及時將移出視場的導航星(如圖2(b)中的8號星)從星庫中刪除,把新進入視場的導航星(如圖2(b)中的9號星)添加到實時跟蹤星庫中。
2.1 實時跟蹤星庫的組織結構及其建立維護
(1)采用散列的方式對實時跟蹤星庫進行索引
為了對實時跟蹤星庫進行高效的索引、維護,導航星的角距信息以散列的存儲在實時跟蹤星庫中,如表1所示,每一條導航信息都利用式(1)所示的散列函數映射到其中一個散列表中。

表1 用散列方式存儲實時跟蹤星庫Table 1 Store the real?time database using hash table
其對應的散列函數為:
為每個散列表設置一個表頭,包括散列表中第一項在內存中的地址,該表中對應的角距范圍,已存儲的導航星信息數目,方便對散列表的管理。
為了對實時跟蹤星庫執行查找工作,首先利用式(1)來確定究竟考察哪個表,然后遍歷該表并返回被查找的項;為了執行插入操作,遍歷一個相應的表,找到第一個未使用的位置把數據插入進去(為了避免太多的數據移動操作,不對散列表中的數據進行排序);為了執行刪除操作,找到需要被刪除的信息,然后把相應的數據刪除。
(2)采用世代回收機制管理實時跟蹤星庫
實時跟蹤星庫中有很多插入和刪除工作。當一顆導航星進入視場時,導航星需要與視場中已存在的星計算角距并存儲在實時跟蹤星庫中;當導航星離開視場時,與該星有關的所有信息都要被刪除。為了最小化插入和刪除的時間開銷,本文利用世代回收機制對實時跟蹤星庫中的信息進行有效性管理,利用一個存儲管理表(Memory Man?ager Table)來管理世代數。
利用世代回收機制管理實時跟蹤星庫時,跟蹤模式星圖識別每執行一次操作稱為一個世代,世代數從2開始一直遞增至1024,然后再從0開始繼續循環遞增。存儲管理表中存儲實時跟蹤星庫中每一條數據對應的世代數,所有世代數低于世代閾值的信息都是無效信息,對應的位置可以被執行寫入操作。
在利用全天球星圖識別構建完成實時跟蹤星庫時,實時跟蹤星庫中所有有效數據對應世代數都為1,無效數據的世代數為0。利用跟蹤模式星圖識別時,把所有匹配時用到的角距信息的世代數都更新為當前的世代數。所有世代數低于上一次成功跟蹤識別世代數的信息或者世代數低于1(如果上一次成功識別是利用全天球星圖識別)的信息都可以認為是無效信息。采用這種機制,回避了有導航星移出視場時的刪除操作,使得星庫的維護開銷大大減小。
2.2 跟蹤模式星圖識別
本文以三角形星圖識別作為跟蹤模式星圖識別基本方法,與普通三角形識別方法相比,本文所用的三角形算法有如下不同。
(1)假星的剔除和識別
與一般的假星定義不同,這里的假星是指視場中所有未出現在實時跟蹤星庫中的觀測星。由于載體姿態運動有一部分導航星進出視場,使得實時跟蹤星庫與真實視場之間并不是包含關系,實時跟蹤星庫中并不包含新進入視場中的星,導致這部分星無法利用實時跟蹤星庫完成識別。
考慮到這部分星的影響,在跟蹤識別時需要大膽剔除這部分星。假設由觀測星S1、S2、S3組成觀測三角形。對3個角距進行匹配時,如果只有一個星角距能夠完成匹配(假設為P(S1,S2)),另外兩個星角距無匹配,就可以認為出現了假星(這里為星S3)。
利用跟蹤模式星圖識別完成星圖識別后,開始對假星的識別工作。選擇已識別的3顆星和假星組成3個星對,利用全天球星圖識別對這3個星對進行匹配,識別當前星。如果能夠獲得唯一匹配,當前假星為新進入視場中的導航星,計算其與視場中其他星之間的角距信息,寫入實時跟蹤星庫。如果沒有匹配成功,當前假星為偽星。
(2)新進入視場中的導航星的處理
為了保證數據更新速率,新進入視場中的導航星一般不與視場中所有的導航星都計算角距信息,而是選擇亮度最高的NM顆星,把它們之間的角距值更新到實時跟蹤星表。NM的取值不能太大也不能太小,取值太大維護實時跟蹤星庫的時間開銷變得很大,取值太小則會增加無法識別的風險。
(3)冗余三角形的處理
在全天球星圖識別中,由于導航星庫巨大,三角形的特征維數比較低,三角形冗余匹配比較多。而基于幀間角距匹配的跟蹤模式星圖識別由于實時跟蹤星庫的大大減小,三角形冗余匹配的概率也大大降低,一般不需要考慮冗余匹配的問題。當視場中導航星的個數比較多時,直接丟棄當前的觀測三角形,重新選擇一個觀測三角形進行認定和識別,防止因為假星的出現導致誤識別;如果當前視場中導航星個數比較少時,引入第4顆導航星進行驗證。
(4)重新匹配
當利用跟蹤模式匹配失敗時,應當轉入全天球星圖識別重新匹配。
2.3 基于幀間角距匹配的算法步驟
1)判斷是否是初始化。如果要進行初始化則轉入步驟2,如果不需要初始化轉入步驟3。
2)進行全天球星圖識別。識別成功后,初始化并更新實時跟蹤星庫,然后轉入步驟9。
3)選擇觀測星三角形。如果所有三角形都已經被識別過,則轉入步驟2進行全天球星圖識別;如果還有未識別過的三角形,則轉入步驟4進行識別。
4)對觀測三角形利用實時跟蹤星庫進行識別。如果識別失敗轉入步驟5,如果識別成功則轉入步驟6。
5)進行假星的判定和標記工作。然后轉入步驟3。
6)設置當前的世代數,把已經識別的3個角距數據更新到實時跟蹤星庫中。
7)識別其余導航星。每識別成功一個導航星,計算該星與其余導航星的角距,并更新到實時跟蹤星庫中。
8)判斷是否滿足最小識別星數目的要求。如果不滿足則轉入步驟3,重新選擇三角形進行識別。
9)判斷是否還有下一幀數據。如果有則轉入步驟1;如果沒有,則結束程序。
為了評價該方法的性能,在Linux計算機上進行了4組仿真測試。測試時假設星敏感器的視場為10°×10°,初始姿態為BoreSight0(Ra=280.60°,
式(2)中,j取0、1和2,分別代表視軸的俯仰、偏航和橫滾3個方向;rand是范圍為(0,1)的隨機數,StepDeg為載體角運動在3個方向上分量的最大值。
每組測試都進行了150步,每一步都會根據當前的姿態產生一幅星圖模擬星敏感器采集到的觀測星圖。
1)取StepDeg為1°,統計每次識別所用的時間,并與全天球星圖識別進行對比。實驗結果如圖3所示。
利用幀間角距匹配法進行識別時,全部150次識別中只有出現1次姿態跟蹤丟失的情況,識別成功率為99.33%。幀間角距匹配法進行識別時所用的平均時間為0.39ms,與之對比的是全天球星圖識別所用平均時間為15.12ms。最長耗時方面,幀間角距匹配最長用時8.6ms,全天球星圖識別最長耗時57.60ms。與全天球星圖識別相比,幀間角距匹配法的優勢明顯。
2)取StepDeg為不同的值,Rand固定為1時,跟蹤成功率與載體角運動變化的關系。仿真結果如圖4所示。
從圖4可以看到,在10°視場下,載體角運動變化在視軸3個方向上的變化都小于2.5°時,算法依然能夠保證90%以上的匹配識別成功率;超過3°時,算法的匹配識別成功率開始大幅度下降。
本文在充分利用上一時刻星跟蹤匹配信息的情況下,構建了一個實時跟蹤星庫,并以實時跟蹤星庫中的信息作為匹配庫,對視場中的星進行跟蹤匹配識別。為了減小實時跟蹤星庫的維護開銷,本文利用世代回收機制對星庫進行維護。仿真結果表明,本算法的平均跟蹤識別時間約為0.39ms,在相鄰時刻3個方向上視軸的變化不超過1°時,跟蹤匹配成功率大于99%。
[1] Liebe C C.Accuracy performance of star trackers:a tutorial[J]. IEEE Transactions on Aerospace and Electronic Systems,2002,38(2):587?599.
[2] 劉朝山,劉光斌,王新國,等.彈載星敏感器原理及系統應用[M].北京:國防工業出版社,2010. LIU Chao?shan,LIU Guang?bin,WANG Xin?guo,et al. The principle of airborne star sensor and its application of system[M].Beijing:National Defense Industry Press,2010.
[3] 陳聰,王宏力,崔祥祥,等.基于預測跟蹤星表提高星敏感器實時性的方法[J].紅外與激光工程,2013,42 (8):2190?2196. CHEN Cong,WANG Hong?li,CUI Xiang?xiang,et al. Method of improving real?time of star sensor based on pre?diction and tracking star catalog[J].Infrared and Laser Engineering,2013,42(8):2190?2196.
[4] 李葆華,陳希軍,鄭循江,等.星敏感器高動態下自主星跟蹤算法[J].紅外與激光工程,2012,41(1): 190?195. LI Bao?hua,CHEN Xi?jun,ZHENG Xun?jiang,et al.Au?tonomous star tracking algorithm with high dynamic space?craft[J].Infrared and Laser Engineering,2012,41(1): 190?195.
[5] Jiang J,Zhang G J,Wei X G,et al.Rapid star tracking algorithm for star sensor[J].IEEE Aerospace and Elec?tronic Systems Magazine,2009,24(9):23?33.
[6] 江潔,李霄,張廣軍,等.一種星敏感器中快速星跟蹤方法[J].宇航學報,2006,27(5):952?955. JIANG Jie,LI Xiao,ZHANG Guang?jun,et al.Fast star tracking technology in star sensor[J].Journal of Astronautics,2006,27(5):952?955.
[7] 張廣軍.星圖識別[M].北京:國防工業出版社,2011.
[8] ZHANG Guang?jun.Star identification[M].Beijing:National Defense Industry Press,2011.
[8] 李欣璐,楊進華,張劉,等.用于快速星跟蹤的雙向遞推匹配識別[J].光學精密工程,2015,23(5):1443?1449. LI Xin?lu,YANG Jin?hua,ZHANG Liu,et al.Bidirec?tional selective rule out matching recognition of fast star tracking[J].Optics and Precision Engineering,2015,23 (5):1443?1449.
[9] 楊冬青,吳愈青,包小源,等.數據庫系統實現[M].北京:機械工業出版社,2013. YANG Dong?qing,WU Yu?qing,BAO Xiao?yuan,et al. Database system implementation[M].Beijing:China Ma?chine Press,2013.
A Star Tracking Algorithm for Star Sensor Using Star Angular Distance Matching between Adjacent Frames
ZHAO Qi?kun,YAN Xiao?jun
(Beijing Institute of Aerospace Control Devices,Beijing 100039)
In order to improve the match rate and attitude update rate of star sensor,a star tracking algorithm for star sensor using star angular distance matching between adjacent frames was proposed.In this method,the angular distance in?formation at last frames are fully utilized to construct a real?time database,and at current time the angular distance informa?tion are matched at the real?time database,update the real?time database after successful matched.Simulation showed that the application of this method made this tracking algorithm faster and improved the efficiency of star sensors.
star sensor;tracking algorithm;angular distance matching;real?time database
U<666.1 文獻標志碼:A class="emphasis_bold">666.1 文獻標志碼:A 文章編號:1674?5558(2017)03?01224666.1 文獻標志碼:A
1674?5558(2017)03?01224
A 文章編號:1674?5558(2017)03?01224
10.3969/j.issn.1674?5558.2017.02.016
2016?01?04
趙啟坤,男,碩士,導航、制導與控制專業,研究方向為星光組合導航技術。