基于星三角形外接圆的星图识别算法

2012-07-25 05:34:46王宏力陆敬辉詹巧林高志勇
传感器与微系统 2012年2期
关键词:星图外接圆视场

文 涛,王宏力,陆敬辉,詹巧林,高志勇

(1.第二炮兵工程学院304教研室,陕西西安 710025;2.空军驻华北地区军事代表室,北京 100086)

0 引言

星敏感器是一种以恒星作为测量对象的高精度飞行姿态测量装置,因其具有指向精度高、无姿态积累误差、快速的故障诊断能力和智能化受到了人们的越来越多的重视[1]。星敏感器的基本原理是通过光学系统将瞬间视场内的若干颗恒星成像于其图像传感器上,通过数据处理单元对星图进行星图预处理、星图识别、姿态计算等处理,获得星敏感器瞬时视轴指向信息,然后根据星敏感器在航天器上的安装位置,经过一定的坐标转换,最终给出航天器本体坐标系的方位信息[2]。其中,星图识别是星敏感器工作的关键,其算法的优劣直接关系到星敏感器的性能。

用星敏感器进行恒星定姿的星图识别算法很多,归纳起来主要有三角形算法、主星对算法、栅格算法、多边形角距算法、奇异值分解算法、神经网络法和遗传算法等,但真正能够应用于工程实际的并不多,比较可靠的仍然是三角形算法[3~5]。三角形算法的核心思想是将由观测星构成的三角形模式唯一地与导航星表中的相同构型的三角形模式进行匹配。这种方法实现起来比较简单,也比较形象、直观,但是,三角形算法的特征模式维数较低,在获取星模式特征的过程中如果测量误差较大,较多的冗余匹配会导致识别成功率迅速降低[6]。因此,本文提出一种改进的三角形算法,能够很好地克服三角形算法的缺点,实现全天自主星图识别。

1 算法可行性分析

三角形有多个几何形状特征,如边长、对角、高、面积、周长等,这些特征具有直观性强、比例、平移、旋转不变性等特点。但它们所提供的信息不够完全,不能由这一类特征唯一地恢复原三角形。如果能充分利用这类特征量则可以限定三角形匹配在某一个范围内,而不需像传统的三角形算法那样对三条边在众多角距数据中进行逐一匹配,从而提高匹配识别的效率[7]。三角形外接圆半径正是这一类几何形状特征。

如图1所示的△ABC,其外接圆圆心为O,外接圆半径为R,三边边长分别为c,a,b,由三角形的正弦定理和余弦定理得

由三角函数sin2A+cos2A=1得

显然,对于一个三角形,其外接圆半径R值是唯一的,但是一个R值可能对应多个三角形,即三角形与R值是一对多的关系。从式(3)可以看出,由半径R和另外两条边可以唯一确定另外一条边,也就是R和两条边可以唯一确定一个三角形。如果在进行星图识别时,首先对R值进行匹配,将得到具有同一R值的三角形集合,然后在该集合内进行边长的匹配,从而缩小匹配的范围,提高匹配识别的速度。

图1 三角形外接圆半径的计算Fig 1 Computation of triangle circumcircle raduis

2 导航星数据库的构造

导航星数据库是装载于星敏感器上存储器中的用于与观测星比照的数据,它是星敏感器进行星图识别和姿态计算的唯一依据[8]。导航星数据库是同星图识别方法相对应的,不同的识别方法要求构造不同的导航星数据库。导航星数据库一般包括导航星表和导航星特征库两部分。

2.1 导航星表

导航星表来自于基本星表,由于基本星表中信息量大,如果把所有的恒星都作为识别对象,在星图识别过程中会产生庞大的计算量、占用较多的存储空间,而且由于干扰因素的增多,会大大地提高失配的概率。因此,在利用基本星表建立导航星表之前,必须对基本星表进行筛选,得到真正的用来匹配的导航星。本文采用的基本星表为SKYMAP2000,去除双星、变星和自行过大的星,提取角距大于1°、星等在0~6.0的星作为导航星,共计3163颗,存储导航星星号、赤经、赤纬、视星等信息。

2.2 导航星特征库

导航星特征库中存储的是用于进行星图识别的识别特征,它的存储内容,存储方式和读取方式都将影响星图识别的速度和成功率[9]。

假设视场内有星Si(i=1,2,3,4,5),其中,星S1距视场中心最近,角距d12≤d13≤d14≤d15,定义星点1为主星,星点Sj(j=2,3,4,5)为第j-1 邻星,以边S1S2为公共边的3个三角形S1S2S3,S1S2S4,S1S2S5为特征三角形,分别作每个特征三角形的外接圆,显然这些外接圆的圆心均位于公共边S1S2的中垂线上。定义每个特征三角形的外接圆半径为特征半径,依次记为R1,R2,R3,如图2所示。

图2 特征三角形与特征半径的构造Fig 2 Construction of characteristic triangle and characteristic radius

特征三角形是本文星图识别算法的基本识别几何结构,故导航星特征库中必须存储特征三角形的基本特征信息—顶点和边长。由于星敏感器视场只能覆盖天球很小一部分,而且一般只需要识别出5颗星就能达到很高的姿态确定精度,太多的星并不能明显提高姿态确定精度,反而会增加识别的时间[10]。所以,对于每颗主星,如果视场内的邻星数等于3颗,则选取所有的邻星构成2个特征三角形,如果视场内的邻星数大于3颗,则只需在视场内选取4颗距其最近的邻星构成3个特征三角形,只存储特征半径R和特征三角形的两条边,这样做虽然降低了导航星特征库的完备性,但却大大减小了导航星特征库的存储容量。为了便于搜索,R是按照升序的方式进行排列的。特征三角形数据库结构如表1所示,邻星1为该主星的第1邻星,邻星2为另颗邻星,主星与邻星1的角距为角距1,主星与另颗邻星的角距为角距2。

表1 特征三角形数据库存储结构Tab 1 Storage structure of the characteristic triangle database

3 星图识别

首先,对所有R值进行匹配,将得到具有相同R值的三角形集合,然后在该集合内进行角距的匹配,再通过三角形的组合,将具有公共边的导航星三角形作为识别结果,最后对识别结果进行验证,以保证识别的准确性,具体过程如下:

1)当星敏感器拍摄到观测星图后,首先判断观测星图中是否存在3颗或3颗以上的观测星,如果观测星少于3颗,由于无法构成三角形,因而不能识别;

2)如果观测星数是3颗,则以距星敏感器视轴最近的星为主星,以基于导航星数据库的编号原则对邻星和角距进行编号,解算出R值,搜索满足R值误差门限和角距误差门限的三角形,如果有唯一的三角形,转(4),否则,识别失败;

3)如果观测星数是3颗以上,则以距星敏感器视轴最近的星为主星,以基于导航星数据库的原则选择邻星及对邻星和角距进行编号,解算出全部R值,依次对R值进行搜索,将满足R值误差门限的结果保存到T1中,然后对T1进行角距匹配,方法为:角距1对角距1,角距2对角距2,将满足角距误差门限的三角形保存到T2中,最后对T2进行三角形的组合,选取具有公共边的三角形作为识别结果,如果识别结果唯一,转(4),否则,识别失败;

4)根据识别的导航星计算出星敏感器的粗姿态,然后生成参考星图,与观测星图进行比较,如果两幅星图分布一致,则表明识别成功,观测星与导航星一一对应。

4 仿真实验和结果分析

为了评价算法的性能,使用 AMD Athlon2800+1.81 GHz的微机,在Windows xp环境下利用Matlab7.0进行仿真研究。采用蒙特—卡罗法,从全天随机抽取1000个视轴进行仿真。实验中,在星点上人为加上了不同方差的高斯噪声作为位置噪声,对比同等条件下与传统三角形算法识别结果的差异。仿真实验参数设置为:视场FOV为15°圆视场、镜头焦距为51.5919mm、CCD面阵为1024×1024、每个像元尺寸为 23.1 μm ×23.1 μm。

识别率方面,仿真结果如图3所示,当位置误差超过1个像素时,传统三角形算法识别率迅速降低,而本文算法下降速度较慢,当位置误差为2个像素时,传统三角形算法识别成功率降为71%左右,而本文算法仍高于97.42%。识别率的提高主要是因为本文算法通过引入一条公共边,采用了类似多边形方法进行识别。

图3 位置噪声对识别率影响Fig 3 Effect of position noise on indetification rate

识别速度方面,采用本文算法所用的平均时间约为38.41 ms,而采用传统三角形算法的平均识别时间为200 ms[11]。识别速度的提高主要是由于本算法通过匹配R值来识别视场内观测星特征三角形,减少了待识别的三角形数量,缩小了角距匹配的范围。

导航星数据库容量方面,传统的三角形算法的导航星数据库约为2.42 MB[11],由导航星数据库的构造原理可知,本文导航星数据库共包含3 163颗导航星、9 488个导航星特征三角形。星号都是整型,占2 bytes,导航星的基本信息赤经、赤纬和星等为浮点型占4 bytes,特征半径为整型占2 bytes,所以,整个导航星数据库的容量为3 163×(2+3×4)+9488(3×2+2×4+2)=191.5 kB,远小于传统三角形算法的导航星数据库容量。

5 结论

本文提出的基于星三角形外接圆的星图识别方法通过构造特征三角形,大大减少了待识别三角形的数量,减小了导航星数据库容量,提高了识别速度。引入了特征半径,极大地减小了角距匹配的范围,进一步提高了识别速度。最后通过多三角形的组合,选取具有公共边的导航星三角形作为识别结果,剔除了冗余识别和误识别,从而提高了识别率。因此,本算法的实时性和鲁棒性等方面较传统三角形算法均得到明显的提高,具有较好的应用价值。

[1]陆敬辉,王宏力,孙 渊,等.应用相近模式向量的助兴星图识别算法[J].红外与激光工程,2011,40(1):164 -167.

[2]江万寿,谢俊峰,龚健雅,等.一种基于星形的星图识别算法[J].武汉大学学报:信息科学版,2008,33(1):12 -16.

[3]LamyR G,Bostel J,Mazari B.Star recognition algorithm for APS star tracker oriented triangles[J].Aerospace and Electronic Systerms Magazine,IEEE,2005,20(2):27 -31.

[4]Liebe C C.Star tracker for attitude determination[J].Aerospace and Electronics Systems Magazine,IEEE,1995,10(6):10 -16.

[5]孙晓雄,王宏力,陆敬辉.一种基于星三角形的星图识别算法[J].传感器与微系统,2009,28(12):8 -10.

[6]张 磊,何 昕,魏仲慧,等.三角形星图识别算法的改进[J].光学精密工程,2010,18(2):458 -463.

[7]郑 胜,吴伟仁,田金文,等.一种基于三角形几何结构的星图识别算法[J].光学技术,2004,30(1):70 -73.

[8]陆敬辉,王宏力,孙 渊,等.三角形内切圆的星图识别算法[J].红外与激光工程,2011,40(4):752 -756.

[9]吕春红,周 军,贺元军,等.一种改进的快速星图识别算法[J].计算机测量与控制,2010,18(6):1390 -1392.

[10]张 泽.SINS/CNS组合导航系统研究[D].哈尔滨:哈尔滨工业大学,2007.

[11]李立宏,林 涛,宁永臣,等.一种改进的全天自主三角形星图识别算法[J].光学技术,2007,26(4):372 -374.

猜你喜欢
星图外接圆视场
星图上非线性分数阶微分方程边值问题解的存在唯一性
星模拟器光学系统视场拼接方法的研究
中国光学(2021年6期)2021-11-25 07:48:32
诗意联结 水漾星图——上海龙湖·星图美学展示中心
现代装饰(2019年7期)2019-07-25 07:42:20
欧拉不等式一个加强的再改进
医用内窥镜矩形视场下入瞳视场角的测试方法研究
将相等线段转化为外接圆半径解题
中等数学(2018年8期)2018-11-10 05:07:22
仅与边有关的Euler不等式的加强
轻小型面阵摆扫热红外成像系统研究
一道IMO试题的另解与探究
天文测量仿真器模拟星图精度分析