基于帧间角距匹配的跟踪模式星图识别
2017-04-20赵启坤严小军北京航天控制仪器研究所北京100039
赵启坤严小军(北京航天控制仪器研究所北京100039)
基于帧间角距匹配的跟踪模式星图识别
赵启坤,严小军
(北京航天控制仪器研究所,北京100039)
为了提高星敏感器的跟踪匹配速率,提高星敏感器姿态更新率,本文提出了一种基于帧间角距匹配的跟踪模式星图识别方法。该方法充分利用上一时刻的角距匹配信息构建了一个实时跟踪星库,并把当前时刻的角距信息在实时跟踪星库中进行匹配识别,识别成功后利用识别时用到的信息对实时跟踪星库进行更新。仿真实验表明,该方法具有匹配时间短、匹配成功率高的优点。
星敏感器;跟踪匹配;角距匹配;实时星库
0 引言
从星图识别角度来说,一般认为星敏感器在两种模式下工作[1]:全天球星图识别和跟踪模式星图识别。星敏感器刚刚开始工作或者姿态跟踪丢失时,由于没有任何先验姿态信息,需要通过全天球星图识别计算当前的姿态信息。全天球星图识别完成后,如何快速利用前一时刻已经识别的星图信息来跟踪当前视场中的星体是提高星敏器星图识别速率非常重要的问题。针对这个问题美国NASA JPL实验室提出了跟踪窗的方法,但是这种方法只能跟踪少数星体,而且由于跟踪窗口小,容易出现跟踪丢失[2]。张广军等[3⁃5]提出了一种星敏感器中快速星跟踪方法,首先根据前几帧已知星图中星点的移动轨迹,预测出当前时刻星图中星点的位置,然后寻找参考星图中的任意一颗星在其观测星图中是否有观测星位于其r邻域范围内。这种方法采用了分区星表、阈值映射、先排序后匹配的策略,提高了跟踪速度,算法有着很高的可靠性[3],但由于算法需要实时生成参考星图,一定程度上影响了识别时间。
本文提出了一种基于帧间角距匹配的快速星跟踪算法,算法充分利用前一帧匹配时的信息构建(或更新)一个实时跟踪星库,然后利用三角形识别方法对当前时刻的导航星在实时星库中进行匹配识别,识别完成后更新导航星库。
1 基于帧间角距匹配的跟踪模式星图识别方法
1.1 基于三角形匹配的星图识别方法
基于三角形匹配的星图识别方法[6]是一种比较直观的方法,其核心思想是使一个由3颗星构成的观测三角形与导航星库中的导航三角形唯一匹配,如图1所示。其基本识别流程为:
(1)角距匹配
假设由星Si和Sj组成的星对夹角为βij,从星表中找到夹角为ρpq的星对Sp和Sq,使其满足:其中i≠j,ε为角距容差。
(2)三角组合
把拥有共同顶点(恒星)和(测量)角距的星对ρij组成星三角形Tijk:
(3)消除冗余匹配
三角组合后的观测三角形Tijk不唯一时,利用星等信息判定、引入第4颗星组成金字塔、三角形的旋转方向一致性等方法消除冗余匹配,获得观测三角形的唯一匹配。
1.2 帧间角距匹配的星图识别的基本原理
在进行三角形匹配时,一般会遇到匹配库过大、冗余匹配过多、识别效率低的问题。而在星敏感器工作过程中,相邻两帧之间有许多相同的星,如图2所示。因此利用上一时刻的匹配信息建立一个实时跟踪星库,把角距的搜索范围由原先的全天球改为搜索上一时刻建立的实时跟踪星库,最小化导航星的搜索范围,以最大化搜索的效率。基于这样的一种思路,本文设计了一种基于帧间角距匹配的星图识别方法。基于帧间角距匹配的星图识别主要包含3个部分:实时跟踪星库的建立、跟踪模式星库识别和实时跟踪星库的维护。
(1)实时跟踪星库的建立
实时跟踪星库只在系统初始化或者姿态丢失时建立。在系统初始化时,利用全天球星图识别法识别当前视场中的导航星,并计算各个导航星之间的角距信息。然后把其中星等最亮N颗导航星之间的角距信息保存在一个实时导航星库中。实时跟踪星库一旦建立之后,程序只需要对实时跟踪星库进行维护。
(2)跟踪模式星图识别
跟踪模式星图识别以实时跟踪星库作为匹配星库,利用基于三角形的星图识别法对观测星进行识别。因为跟踪模式利用的是实时跟踪星库,星库中不包含新进入视场中的导航星。所以与一般的识别方法不同,该方法在识别时需要大胆剔除未能完成角距匹配的导航星。
(3)实时跟踪星库的维护
实时跟踪星库的维护包括在实时跟踪星库中移除和添加导航星。在星敏感器工作时,会有一些星进出视场。为了保证星库的实时性,应当及时将移出视场的导航星(如图2(b)中的8号星)从星库中删除,把新进入视场的导航星(如图2(b)中的9号星)添加到实时跟踪星库中。
2 帧间角距匹配具体算法实现
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;如果没有,则结束程序。
3 仿真实验
为了评价该方法的性能,在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°时,算法的匹配识别成功率开始大幅度下降。
4 结论
本文在充分利用上一时刻星跟踪匹配信息的情况下,构建了一个实时跟踪星库,并以实时跟踪星库中的信息作为匹配库,对视场中的星进行跟踪匹配识别。为了减小实时跟踪星库的维护开销,本文利用世代回收机制对星库进行维护。仿真结果表明,本算法的平均跟踪识别时间约为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
赵启坤,男,硕士,导航、制导与控制专业,研究方向为星光组合导航技术。