高动态地面星图模拟检测系统算法研究
2019-07-15李光茜王凌云郑茹贾永丹张占鹏
李光茜,王凌云,郑茹,贾永丹,张占鹏
(1.长春理工大学 光电工程学院,长春 130022;2.北京空间机电研究所,北京 100094)
星敏感器是一种以恒星为参考基准的高精度姿态敏感器,在各种飞行器的控制系统和姿态测量过程中起着重要的作用。星敏感器通过对星图进行恒星质心提取、星图识别、星跟踪、姿态计算等一系列处理,获得星敏感器瞬时视轴指向信息[1-3],星图识别的准确性直接影响了姿态测量的准确度,对星敏感器的测试主要有两种方式,一种是直接进行外场测试,这种方式成本较高,实现难度较大,不易进行大规模测试。另外一种方法是使用星模拟器对星敏感器进行测试[4-6]。
1 星图模拟检测系统原理及组成
星图模拟检测系统由星模拟器计算机、液晶光阀及准直光学系统组成。星图模拟软件产生星图,由液晶光阀及准直光学系统模拟无穷远处平行光,实现高质量星图模拟。星敏感器测试系统由星敏感器主控计算机发送控制命令给星敏感器,星敏感器拍摄星模拟器产生的星图,进行星图的匹配识别,确定航天飞行器姿态信息回传给主控计算机。通过主控计算机计算星敏感器光轴在地心惯性空间的瞬时指向,再经坐标变换后确定载体的位置和姿态信息,如图1所示。
2 星图模拟检测系统算法研究
2.1 星图坐标变换
恒星在天球坐标系下的位置可根据恒星赤经α和赤纬β坐标给出,如图2所示。利用两颗恒星在天球中的矢量,结合其在星图图像上的平面坐标,即可解算出飞行器载体相对于天球坐标系的姿态转换矩阵,从而求出飞行器载体的姿态[7-8]。
图2 天球空间直角坐标系
本文按照Z-Y-X轴的顺序根据天球坐标系旋转到星敏感器坐标系的旋转角可求3×3的旋转矩M,该方法[9]为先绕Z轴逆时针旋转φ,再绕Y轴逆时针旋转θ,最后绕X轴逆时针旋转λ,如式(1)所示。
在图2中恒星在天球面上的投影点s为天球坐标系下的方向矢量,通过换算可得到s点在天球空间直角坐标系中的矢量方向如式(4)所示。
式中,xs,ys和zs分别为矢量νs在X、Y和Z轴上的分量。
星图图像的平面坐标系是在像平面上用以表示星点位置的二维坐标系统,如图3所示。(X,Y)为观测星在星模拟器像平面上的坐标,为星敏感器坐标系下的方向矢量,两者关系如式(6)所示。
式中,n和m为液晶光阀每行和每列像素点个数;R为视场角大小。
图3 星图图像的平面坐标系
2.2 星表分区
随着航天技术的发展,对星敏感器测量速度提出了更高要求,动态星模拟器为功能检测型星模拟器,目的是在地面进行星图模拟,所产生的实时星图应与待测星敏感器工作状态相匹配,以对星敏感器的星点提取和星图识别算法进行功能测试,所以对星模拟器的高动态性要求非常严格。本文恒星星表采用标准的美国史密松天文物理天文台星表(SAO星表),星图模拟过程中从原始SAO星表进行处理,提取生成的子星表来完成模拟过程。[10-11]
当采用了58928颗星的SAO星表进行检索,以往算法对整个星表进行恒星遍历和星图刷新,所需时间约为200ms,不满足星图刷新时间高于10Hz的指标要求,因此提出了一种星表分区新方法。采用物理分区方法把原星表按照经纬度将天球分为16个区,如图4所示,每个子区恒星平均数量不到4000颗,检索星表就可以通过比较视轴和每个区域的起始赤经、赤纬值来确定检索区域,生成相应的星图,恒星遍历仅需要30ms左右,详细分区表如表1所示。
图4 天球物理分区
表1 星表分区与未分区星表
2.3 软件设计
针对以上分析,本文设计了高动态地面星图模拟检测系统软件部分,该系统由数据发送单元、数据接收单元和星图显示单元三个部分组成,如图5所示。在天区星图信息中输入赤经、赤纬、旋转角、角度变化速率等参数,星图模拟器会自动生成相应动态星图,提供给星敏感器进行测试,其流程图如图6所示。
图5 星图模拟器检测系统界面
图6 星图模拟器流程图
表2 星图模拟检测系统与星敏感器测试系统四元数对比图
3 试验与测试
地面星图模拟检测系统与星敏感器测试系统形成闭环测试,前者根据给定的赤经赤纬旋转角,变换成四元数,通过分区检索星表,生成要显示的星图,其实物图如图7所示。星敏感器测试系统采集并识别出该星图,当其测试出来的四元数与地面星图模拟检测系统给定的四元数相同时,表明星敏感功能正常,星敏感器测试系统界面如图8所示。
图7 星模拟器实物图
图8 星敏感器测试界面
星图模拟检测系统在变化速度为0,刷新频率50Hz,赤经40°,赤纬60°和赤经120°,赤纬30°时呈现出星图,星敏感器测试系统识别出的姿态四元数与星图模拟检测系统发出的四元数基本一致,如表2所示,符合星图模拟检测系统的测试。
4 结论
本文针对星敏感器的高动态功能测试问题设计了一种地面星图模拟检测系统软件,使星图模拟系统和星敏感器测试系统组成闭环测试,完成星敏感器准确定姿测试实验。地面星图模拟系统采用了58928颗星的SAO星表,通过对整个星表进行物理分区的方法减少了恒星遍历所需的时间,实现了对星敏感器姿态的高动态测试。