动态目标模拟器星图显示系统设计
2018-10-31孙铭坤张宁
孙铭坤,张宁
(1.长春理工大学 光电工程学院,长春 130022;2.长春理工大学 光电测控与光信息传输技术教育部重点实验室,长春 130022)
近年来,中国的航空航天事业在政府的大力支持下不断发展,在航天器领域的相关研究达到了相当规模和水平。对于空间中运行的飞行器,姿态是描述其运行轨迹和运动指向的重要参数,也是飞行器自主完成飞行任务的必要前提[1]。如何获取稳定的、高精度的、实时的飞行器当前姿态成为待解决的问题。目标模拟器为解决这一问题提供了有效途径。而动态星图显示系统作为其核心技术也得到越来越多的关注。
目前,中国的一些科研机构已经开展了对动态目标模拟器的研究,其中动态目标模拟器为功能检测型模拟器,目的是在地面进行星图模拟,所产生的实时星图应与待测星敏感期工作状态相匹配,从而对星图识别算法进行功能测试[2]。目前,对动态目标模拟器工程方面的需求已发展为大市场,高精度,小型化,高性价比等需要。在此,本文进行了动态目标模拟器星图显示系统的设计,针对当前的需求,提出系统设计的相关理论和方法。
1 动态目标模拟器组成与工作原理
1.1 动态目标模拟器组成
动态目标模拟器主要由目标模拟器头部、目标模拟器控制计算机系统、导轨和调整机构、电缆等部分组成。
由动力学仿真计算机发送当前目标(星)的姿态信息,并转换成光轴指向,然后从子星表中按照规定的视场大小提取出符合条件的目标(星),读取每颗星的赤经,赤纬及星等数据,并分别进行坐标变换和星等灰度变换,最后将这些目标(星)点以二维图像的形式送至空间光调制器(LCOS)进行显示。星图经过准直光学系统调制后成平行光出射,在测试相机的入曈处成像,以此来实现目标(星)的空间分布模拟。动态目标模拟器各组成部分之间的相互关系如图1所示。
图1 动态目标模拟器各组成部分之间的组成关系
1.2 星图显示及接口电路原理
由目标模拟器工作原理可知,目标模拟器控制计算机产生的星图要在显示器和LCOS上同时显示。因此计算机要提供两个视频输出接口,同时为了减小目标模拟器的体积和重量,起关键作用的星图显示器件必须小型化,故本文中用到项目已经选定好的LCOS器件和华硕公司的STRIX-GTX950显卡。LCOS主要参数如表1所示。
表1 LCOS参数表
星图显示及接口点路原理图如图2所示,图中虚线部分为液晶驱动电路,LCOS是利用硅基液晶技术,在基板上内置液晶驱动电路,图中实线部分为接口电路,采用可编程门阵列(FPGA)作专用集成电路,提高了目标图传输的速度和准确性。
图2 目标图显示及接口点路原理图
星图显示及接口电路的工作原理是:视频接口控制器分为数字和模拟部分。数字部分包括用于逻辑控制和数据的专用集成电路及数据存储用的缓冲器。模拟部分包括像素时钟发生器,视频放大器,A/D转换器和模拟电压源等。将模拟部分放在接口控制器的前面,接受目标发生器电控系统硬件及接口电路的设计VGR视频信号并转换成数字格式,同步信号和时钟也是这部分提供。数字部分提供所有的时钟控制信号及LCOS和控制器之间的视频数据管理。数字化的视频数据被存储在缓冲区内,并连续地送到LCOS上完成控制。
2 目标点坐标变换及星等灰度模拟
2.1 卫星姿态描述
卫星姿态,就是卫星在空间中相对于某一个空间坐标系的坐标或是指向,常用欧拉角或四元数[2-4]作为姿态参数来表达[5]。在本文中主要研究的是动态测量问题,应用四元数理论可以把复杂问题简单化,所以有关的光轴指向问题就是用四元数解决的。
设目标控制计算机接收的四元数为p=(p1,p2,p3,p4)T,则方向余弦矩阵为:
若三个轴在±90°之间取值,则四元数到欧拉角的转换公式为:
式中,Aij为(1)中矩阵的元素。
由视轴在天球坐标系下的坐标,可以得出光轴的指向:
2.2 坐标变换
动态目标模拟器的算法核心就是天体坐标到二维平面坐标的转换。在此有两个坐标系:描述天体的天球坐标系和测量相机的本体坐标系。令O-UVW表示天球坐标系,O′-XYZ表示本体坐标系,如图3所示。O在地球的中心,O′在相机光学系统的光心。两个坐标系原点不同,因此由天球坐标系向平面坐标系的转换,需要利用坐标平移和坐标轴旋转来实现。由于恒星距离地球非常遥远,所以对于恒星方位角来说,无需考虑坐标平移带来的误差。坐标之间的关系由独立的欧拉角α,β,γ就可以确定。已知视轴在天球坐标系下的坐标为(ε0,δ0),在旋转模式下可得α=90°-δ0,β=90°+ε0则坐标转换后的目标(星)点的坐标为:
图3 XYZ直角坐标系与UVW坐标系
其中,W—LCOS上每行的像素个数;H—LCOS上每列的像素个数;X0—X方向上的视场角;Y0—Y方向上的视场角;(X,Y)—LCOS平面上目标点的位置(像素)。
2.3 星等灰度模拟
经过坐标变换可以得到模拟的目标点坐标,同时还要进行星等的灰度模拟,即模拟不同恒星在星空中的亮暗程度。星等灰度模拟主要是通过线性变换把视场内的观测星的星等r转换为灰度m。星等较小则对应的亮度会较大。计算机有256个灰度级,则m的范围为0-255。2等星的灰度为255。根据“星等每次下降一个灰度级,亮度会提高为前一等星的2.512倍”的关系,可得星等r与m之间的关系式为:
在MFC中可以用COLORREF RGB函数来设置目标点的亮暗程度。如果为2等星,根据公式(6)可得到m的值为255,即函数的参数可设为RGB(255,255,255);3等星,则m=101,RGB(101,101,101),4、5、6等星以此类推。同时需要用MFC中的CBrush类把目标图显示对话框的客户区设置为黑色来模拟星空。
2.4 动态目标模拟器准直光学系统参数的确定
由于指标中要求的视场是≥22°,若按照22°的视场和选取的LCOS有效尺寸等参数来计算,显然视场是不够的,所以这里采用两片拼接的方法来增大视场角。
准直光学系统的焦距由设计指标中视场的要求和拼接后有效发光相面尺寸确定:
式中,B为LCOS有效发光尺寸,θ为视场角,f′为准直光学系统焦距
则可得出准直光学系统的焦距f′为40.90mm。
已知LCOS的单个像元尺寸为7.95μm,像素为2048*1536,总有效尺寸为16.8mm*12.6mm,则两块拼接的有效尺寸为16.8mm*25.2mm。
若单个像元为一个星点,则根据LCOS像素点尺寸和准直物镜的焦距,则可计算出单星张角α为:
通过式(8)得出α=38.88″≤42"满足设计要求。
3 动态目标模拟器控制软件设计
本设计在Visual C++2013开发环境下,采用基于对话框的MFC设计,主要实现在三个不同模式下显示目标星图的功能。三个模式分别为静态显示模式,动态显示模式,数据回放模式。说明如表2所示。
表2 模式与功能说明列表
软件系统主要包括几个功能模块,各模块之间关系如图4所示。
图4 模块之间关系图
(1)初始化模块:初始化主要针对主控制界面上的控件的初始化及各个子对话框的初始化和数据的初始化,同时完成通信接口设置。
(2)通信模块:主要完成动力学仿真计算机与主计算机之间的通信与数据传输,接收数据并在一个循环结束后向仿真计算机发送结束标志。在此模块中主要应用网络通信中的UDP通信协议,因为UDP协议在传输过程中延迟小,数据传输效率高,虽然可能会丢失数据,但是对于目标姿态数据来说,即使丢失几个也可满足模拟的条件。并采用客户机/服务器模型,即动力学仿真计算机可看作服务器端,主控制计算机可看作客户端,通信模型如图5所示。
图5 通信模型图
(3)导航星选择模块:此模块主要完成根据视场的要求,结合式(3)确定的光轴指向,在子星表中找到符合要求的导航星。
(4)坐标变换模块:对动力学仿真计算机发送过来的数据,完成从子星表中的目标数据转换为二维平面坐标的转换,即两次坐标转换,第一次得到导航目标矢量在目标发生器坐标系中以方向余弦表示的坐标;第二次得到在模拟器液晶显示屏上以像元表示的位置。
(5)数据回放模块:此模块主要实现目标图的记录和回放功能。通过输入起始时间和结束时间来回放保存在文本文件中的此时间段内的目标图。
(6)目标图显示模块:此模块主要结合以上模块实时输出目标图。在目标发生器液晶显示屏上显示目标图且在动态模式下具有刷新功能。
软件主程序流程如图6所示。
图6 软件主流程图
动态目标模拟器控制软件首先进行初始化,然后输入IP地址和端口进行基于UDP通信协议的网络连接。开始通信并接收数据,判断数据是否有误及是否传输完成,完成则弹出消息对话框显示完成,否则继续。然后数据进行两次坐标变换并存储在自定义路径和文件名的文件中,最后把得到的数据在星图显示模块中显示。在静态模式中,可手动输入星点数据显示星图。在回放模式下,可以通过输入确定的时间来显示一段时间内的星图。
根据以上设计得出的结果星图如图7所示。
图7 动态模式下显示的星图
由图7所示系统得出的目标图基本达到预期效果,但是在动态目标发生器的各项指标中,星间角距作为一项重要指标,由于其存在系统误差和随机误差,可能会影响系统的精度,如何消除各方面的误差,这也是以后研究的方向。
4 结论
本文设计了动态目标模拟器星图显示仿真系统,该系统可以实现在静态模式,动态模式和回放模式下显示星图的功能。主要介绍了该系统所涉及的理论方法和系统的硬件及软件设计,其结果和系统设计相关指标达到了系统预期,该系统实现了星图显示的高动态性,结构小型化设计。但是对于影响系统的主要指标—星间角距和星等的检测还不够,实际做出的系统精度还有误差,这也对以后的研究和改进提供了方向。综上所述,该系统的设计提高了动态目标模拟器的整体水平,同时对其相关领域的研究也具有参考价值。