一种改进的快速全天星图识别算法

2022-06-23 08:14蔡善军张丽娜
导航定位与授时 2022年3期
关键词:对角投影三角形

梁 莹,蔡善军,张丽娜,于 杏

(北京自动化控制设备研究所,北京 100074)

0 引言

星敏感器是通过对恒星观测目标在探测器上的成像信息进行相应计算,从而实现测定其所在载体在天球惯性坐标系下三轴姿态的仪器,因精度高、无姿态误差累积及可独立自主导航等优点,被广泛应用于各类载体中。星敏感器主要向着高精度、低功耗、小体积和高数据更新率的方向发展,并随着载体使用需求的变化,全天时、近地面应用也成为了新的发展趋势。

星图识别是通过将拍摄星图中的恒星信息构造成与导航星库中存储数据模式相同的星模式,并进行对比完成成像恒星识别的过程。星图识别是星敏感器确定载体空间姿态的重要步骤,根据有无初始姿态可分为全天球识别和星跟踪识别。其中,全天球识别通过将拍摄星图构成的星模式信息与整个星库信息进行对比完成识别,此过程的实现不需要任何姿态先验信息,是星图识别过程的核心研究内容。

星图识别方法目前可分为三类:第一类方法主要根据恒星之间相互位置关系组成的特征进行识别,此类方法通常利用多颗星之间的星对角距进行特征匹配,主要实现方法有三角形算法、多边形角距算法和极点法等;第二类方法则根据邻域伴星信息构成的星模式进行识别,此类方法主要有栅格法和极坐标匹配法;第三类方法是随着人工智能技术的发展而产生的机器学习型星图识别方法,此类方法需要大量的样本进行训练。

三角形算法是星图识别算法中应用最早的算法,在现在的星敏感器中也多有应用,其原理是将构成探测星三角形的三边角距作为特征向量,与星库中保存的特征向量进行匹配,当匹配唯一时,则识别成功。三角形算法原理简单,易于实现,但其特征维数少,易产生误匹配,而且直接存储所有可观测导航星三角形的特征向量会存在数据冗余的问题。

针对上述问题,本文对三角形星图识别算法进行了改进:首先,对星库的构建进行研究与实现,采用存储星对角距信息代替存储三角形的三边星对角距信息,并通过筛选可用的导航星缩减导航星库;其次,基于现有的三角形算法,在识别过程中引入状态标识以加快匹配速度;同时,在三角形匹配结果不唯一时进行四星检验,以提高识别率;最后,根据计算出的星敏感器姿态进行导航星投影验证,避免发生误识别。

1 改进三角形识别算法

由于三角形识别算法特征维数少,在进行全天球识别时,易存在冗余匹配,使得识别成功率降低,因此考虑增加第四颗星,进行四星检验。本文在三角形算法结合四星检验方法的基础上,加入导航星投影验证,对探测星识别结果及解算的姿态进行检验,提出了一种改进的全天星图识别算法。

算法的具体实现过程为:

1)生成并保存此星图识别算法所需的导航星库(由导航星信息表和导航星对角距表组成)。

2)将所有探测星按照能量由大到小的顺序排列。

3)按照设定的选星方式对探测星进行筛选,之后按照能量从大到小的顺序选取筛选后的探测星,构成三角形进行识别。

4)若三角形识别结果唯一,进行投影验证,若投影验证成功,则识别成功,否则重新选择三角形进行识别;若三角形识别结果不唯一,选取另一颗探测星,进行四星检验,若检验成功,则识别成功,否则重新选取其他探测星进行四星检验,若四星检验全部失败,重新选星构成三角形进行识别;若没有识别到对应的导航星三角形,则重新选星构成三角形进行识别。

5)遍历识别星数阈值内所有的探测星后,计算星敏感器在天球系下的姿态。

6)根据计算的姿态进行投影验证。

四星检验过程如下,示意图如图1所示。

对探测星三角形进行识别,当三角形识别结果不唯一时,引入第四颗导航星,即图1中的星,通过识别三角形,并结合三角形的识别结果,可确定探测星、和的真实星号。

图1 四星检验示意图[1]

投影验证过程如下:

1)根据计算的姿态将视场范围内的导航星投影到探测器面内。

3)若此数目大于等于设定的投影数目阈值,则投影验证成功,结束识别;否则,投影验证失败,重新选择三角形进行识别。

综上所述,本文提出的三角形星图识别算法的流程图如图2所示。

图2 改进的三角形算法流程图

2 星对角距的生成与存储

相较于存储导航星三角形三边角距数据,直接存储导航星对可有效地减少重复数据,故本文存储两两恒星之间的星对角距以实现改进的三角形匹配算法。星对角距是2个导航星矢量相对于地心的夹角,这里以弧度为单位。计算公式如下

=cos(++)

(1)

式中,(,,)是号星在惯性系下的三维坐标;(,,)是号星在惯性系下的三维坐标;是两星之间的星对角距。

直接存储所有满足敏感星等的导航星对会存在一部分角距满足视场条件,但因构成角距的恒星能量低,在识别过程中可能存在不会被使用的问题。所以,直接存储所有符合星等要求的星对角距存在浪费存储空间、冗余星对多的问题。因此,在构建星对角距表时,需进行相应的处理,以减小星库的容量和加快星图识别的速度,本文提出了一种星对角距筛选方法。

此方法过程如下:首先,设置星敏感器可遍历全天区的光轴指向顺序;然后,星敏光轴按照顺序转动,根据指向的赤经、赤纬信息和星敏圆视场角确定视场范围内的导航星;之后,将获得的导航星按照星等从小到大的顺序排列,选取前颗导航星,两两构成星对;最后,对构成的星对进行判断,若星对角距表中不存在此星对,则计算此星对的角距值,并存入星对角距表中,若星对角距表中已存在此星对,则判断下一个星对。遍历全天区范围后,可得到压缩后的导航星对角距表。

星对角距表中包含组成该星对的两颗星在导航星信息表中的星号,和满足视场要求的两星之间的星对角距。星对角距表按照星对角距升序排列,第一列与第二列是星号,第三列是两星之间的角距(单位:弧度),存储格式如表1所示。

表1 星对角距排列方式

3 匹配识别

由于星敏感器的探测器、镜头等部件会产生各种误差,根据像面上星点坐标计算的两星角距数值与相应导航星之间的星对角距数值相比存在误差。通常设定合理的误差阈值,根据观测角距查找满足误差阈值内的星对进行匹配识别。

为快速确定星对角距在导航星对角距表中的位置,本文对整个星对角距表按照角距数值进行分块,并记录每一小块在星对角距表中的位置。通过将计算出的探测星对角距数值与保存的分块位置对应的角距进行匹配对比,可确定此星对位于第几小块,在此基础上可快速获得此角距值对应的星对集合。

近年来,二氧化碳减排问题引起了各国关注,2009年中国提出“到2020年单位国内生产总值二氧化碳排放比2005年下降40%~45%”的减排目标。钢铁企业是二氧化碳排放大户,据统计,在中国,钢铁生产过程中产生的CO2占全国总碳排放量的比例高达15%[1]。其中,高炉生产能耗约占钢铁生产全程总能耗的60%左右[2],成为钢铁生产的主要碳排放区,高炉生产碳减排任务迫在眉睫。

在三角形识别中,设、、为探测星三角形的三边角距;、、为角距值对应匹配星对的集合;匹配识别是指在匹配集合中找到3个星对∈、∈、∈,此3个星对中的星号可按照组成三角形的要求(两两星对中有一个相同星号,找出的3个星号之间互不相同)构成探测星三角形。

由于每个星对集合可能包含几十个或上百个星对,在3个集合中找到满足要求的(,,)需要消耗较多的运行资源与时间。为解决这个问题,这里采用一种快速的搜索方法,具体步骤如下(示意图如图3所示):

图3 匹配识别示意图

1)将集合中包含的所有导航星号记录下来,每一个星号记录一个条目,每条记录中的根星号记为,包含根星号的星对中的另一个星号记为;

2)对中所有星对的星号进行查找,确定是否含有与集合相同星号的星对,当存在此星对时,将中与具有相同星号的条目记为状态1,将中含有相同星号的星对中的另一个导航星星号记为,并写入此条目中;

3)遍历中所有记为状态1的条目,查看中是否包含和构成的星对,如包含,则找到一个匹配三角形(,,)。

4 仿真结果与分析

为验证算法的有效性,本文进行了数学仿真实验。

仿真条件如下:

1)星敏感器的焦距=50mm;

2)星敏感器的视场为19°×13°;

3)识别星数阈值=10;

4)投影验证中角距匹配个数阈值=5;

5)匹配识别时角距误差阈值40″;

6)观测星等设为6.0等星;

7)星库中存储导航星数2308颗,存储星对角距个数69791对。

对实测的1000幅星图的星点信息进行算法验证,在3GHz处理器主频的PC机上,识别每幅星图的时间如图4所示。

图4 星图识别时间

本文匹配识别算法的测试结果如表2所示。

表2 仿真测试结果

仿真结果表明,利用本文提出的算法对1000幅实测星图进行识别,误识别次数为0,平均识别时间由2.4ms降为目前的1.5ms左右。虽然本算法增加了投影验证的功能,但识别时间增加量较小,且利用本文第2节的角距筛选方法生成的星对角距占用存储空间约0.59MB,相较于以前的三角形星图识别算法所需接近1MB的存储空间有所降低。

5 结论

本文对角距类星图识别算法进行了深入研究,针对传统三角形识别算法的缺点与不足,在缩小星库、加快匹配识别、确定唯一对应三角形、避免误识别几个方面做了相应改进。

通过对实际星图进行仿真获得的结果表明:本文算法有效地解决了三角形算法误识别率较高的问题,且识别时间较少,所需存储空间较小。本文算法并未直接使用恒星星等数据进行辅助识别,有效避免了因恒星在探测器成像星等不准确带来的误识别,具有较强的工程应用价值。

猜你喜欢
对角投影三角形
論詞樂“均拍”對詞體格律之投影
投影向量问题
找投影
会变形的忍者飞镖
K—对角占优矩阵的性质
三角形,不扭腰
三角形表演秀
如果没有三角形
《投影与视图》单元测试题
画一画