面向故障分析的遥测参数可视化平台

2023-04-03 14:29
计算机测量与控制 2023年3期
关键词:坐标轴遥测视图

郑 丹

(中国酒泉卫星发射中心 技术部,兰州 732750)

0 引言

随着国内商业航天的快速发展,各种新型飞行器(商业火箭、重复使用运载器)逐渐进入发射场开展验证性飞行试验。这些试验具有技术状态新、试验风险高、飞行次数少等特点。飞行试验出现故障后,需要在发射场根据遥测数据开展故障分析工作。

由于新型飞行试验的规划次数较少(通常1到2次),研制单位通常不开发相应的遥测参数可视化软件,飞行试验出现故障后,使用MATLAB、Origin等商业软件分析遥测数据,由于需要逐个绘制遥测参数,故障分析工作的效率较低。

遥测参数的可视化程度对故障分析工作的效率具有重要影响[1-2],随着计算机可视化技术的发展,国内外开展了大量遥测参数可视化的研究工作,不仅实现了飞行器弹道和姿态的三维实时演示功能[3-6],还实现了关键遥测参数的三维矢量显示方法[7-9],能够直观地辅助试验指挥人员判断飞行状态。这些软件通常针对重大或者成熟的型号开发,具有功能强大、开发周期长、型号专用等特点。如果发射场针对每种新型飞行器都开发相应的遥测数据可视化软件,则需要耗费大量时间和经费,也没有必要:一是由于这些新型飞行试验规划次数少,一般仅进行1次至2次;二是随着发射场试验任务逐年增多,分配到每个任务的时间和人力有限;三是新型飞行试验缺少历史数据,各种基于历史数据的智能故障分析方法[10-13]无法应用。因此,有必要开发一款型号通用、准备工作少的遥测参数可视化分析软件,提高发射场对新型飞行试验的故障分析效率。

以往的遥测数据分析软件通常使用服务器-客户端模式,部署于固定场所的特定设备,限制了故障分析的人数和工作地点。随着计算机硬件技术的提高,飞行器的三维动态绘制可以在笔记本电脑中完成,因此开发基于笔记本电脑的通用故障分析平台,可以随时随地开展故障分析工作,提高故障分析工作的灵活性。

本文针对故障分析工作的通用性和便捷性需求,使用VC++6.0,应用敏捷软件开发技术,开发了遥测参数可视化软件。文中详细介绍了软件的需求分析、总体设计、关键技术、使用方法和应用情况。

1 需求分析

1.1 遥测参数的动态绘制功能

在故障分析时,通常需要重点分析故障时段的遥测值,一般的遥测参数可视化平台通常绘制全部飞行时段的遥测曲线,故障分析人员需要逐个定位每个遥测参数的故障时刻,然后才能对比分析,降低了故障分析工作的效率。因此,平台需要根据飞行时间逐步绘制遥测曲线的功能,以及把遥测参数直接绘制到指定时刻的功能。

1.2 飞行器弹道姿态的三维动态演示功能

飞行过程的三维动态演示能够直观显示飞行器的弹道和姿态,有利于故障分析工作。具体功能包括:

1.2.1 读取和绘制飞行器三维模型文件

由于飞行器三维模型文件由不同的研制单位提供,通常格式不同,为满足平台的通用性,平台需要读取和绘制多种格式的三维模型文件的功能[15-17]。典型格式包括igs格式、3ds格式、stl格式、stp格式等。

1.2.2 三维视景的旋转、缩放和平移功能

具有三维视景的旋转、缩放和平移等功能,且具有相应的快捷键。

1.2.3 飞行器模型的在线放大缩小功能

平台不仅可以在动态演示前设置飞行器的大小,还可以在动态飞行演示过程时,在保持背景不变的情况下,通过快捷键在线放大和缩小飞行器仿真模型,便于实时查看飞行器的姿态和弹道。

1.2.4 动态演示时间控制功能

飞行器弹道姿态的三维动态绘制具有“重放”、“前进”、“快进”、“步前”、“暂停”、“步退”、“快退”、“后退”、“终点”、“GoTo(指定飞行时刻)”等时间控制功能,并且具有动态演示时间步长和速度的设置功能。能够通过反复播放故障时段,有利于故障分析工作。

1.2.5 弹道姿态的坐标系转换功能

平台在发射坐标系下绘制飞行器的弹道和姿态。而遥测数据中通常包含GNSS位置和速度信息,因此,平台需要把GNSS位置和速度转换到发射坐标系下的功能,以及姿态角的坐标系转换功能[14]。为了在平面地图上绘制弹下点轨迹,平台同时需要计算飞行器弹下点经纬度的功能。

1.2.6 图片和视频保存功能

为便于故障交流和汇报,平台能够把动态演示过程保存为视频(AVI格式或者GIF格式),或者图片(bmp格式)。

1.3 弹道姿态与关键遥测参数的联合动态演示功能

一般的遥测参数可视化平台中,飞行过程三维演示和遥测曲线绘制通常在不同的显示页面内,在故障分析时,需要不断切换页面,为便于故障分析工作,平台需要在同一页面内动态演示飞行过程和动态绘制关键遥测曲线。通过平台的动态演示时间控制功能(前进、后退、暂停、单步、指定时刻等)同时控制飞行器弹道姿态的三维动态演示和关键遥测曲线绘制,实现自动定位到指定时刻的弹道姿态和遥测数据的功能,无需人工定位,提高故障分析工作的效率。

1.4 动态演示界面的自动设置功能

为了实现平台的通用性,平台的全部界面与飞行器型号无关。但是,不同的飞行器需要动态演示的关键遥测参数并不相同。因此,平台采用定制文件的方式实现不同型号的差异性。只需把动态绘制的关键遥测参数信息输入到平台的定制文件中,平台在启动时自动读入定制文件,然后自动设置动态演示界面。

1.5 动态绘制遥测参数的实时添加和保存功能

一次飞行试验的遥测参数通常具有数百个,其中一些关键的遥测参数(姿态参数、发动机参数、电池电压、气瓶贮箱压力等)能够直接反应飞行试验故障的原因。在平台初始运行时,没有必要对全部遥测参数实现动态绘制功能,仅对关键遥测参数实现动态绘制功能即可,剩余的遥测参数,可以在平台运行时,根据故障分析的需求由故障分析人员实时添加。既可以在当前视图内添加,以方便与视图中现有的遥测参数进行对比,也可以添加新的视图,然后在新视图中添加遥测参数,也可以添加新的动态演示界面,然后在新界面的任意视图中添加遥测参数。并且在平台关闭时,可以保存遥测参数的添加结果到定制文件中,以便平台下次启动时,自动按新设置显示界面。

1.6 实时添加遥测参数的多步后退和前进功能

一般的数据分析显示软件,在添加遥测参数后,删除遥测参数并不方便,有的甚至需要修改程序。在故障分析时,可能需要在遥测曲线视图中,随时添加或者删除遥测参数,并能快速地来回切换。因此,平台需要在视图中添加或者删除遥测参数的多步后退和前进功能,提高故障分析工作的效率。并且,通过快捷键“Ctrl+Z”后退到上一步显示结果,通过“Ctrl+Y”前进到下一步显示结果。

1.7 定制文件的极小化功能

动态演示飞行器弹道和姿态需要飞行器的位置、速度、姿态角遥测参数信息。因此,平台的定制文件包含9个遥测参数(位置、速度、姿态角各3个)即可保证平台初始运行,其余的遥测参数,可以在平台运行时由故障分析人员按需添加。该功能可以显著减少平台的准备工作:在新型号任务准备过程中,平台的定制文件仅包含9个遥测参数即可。

1.8 平台定制文件的自动生成功能

平台的定制文件采用Excel工作簿,给出了动态绘制关键遥测参数的全部信息。定制文件不仅可以通过Excel编辑器直接输入,也可以利用平台的动态演示遥测参数的实时添加和保存功能自动生成,提高了定制文件的准备效率。

1.9 全部遥测参数的快速分析显示功能

在故障分析时,需要随时能够查看和分析全部遥测参数,因此,平台需要提供全部遥测参数的快速分析显示功能,以对话框的形式,可以随时打开或者关闭。

具体功能包括:

1)遥测参数的快速读取和绘制功能。

基于笔记本电脑的有限性能,实现大数据量遥测参数的快速读取和绘制。

2)多列遥测值的文件预处理功能。

平台读入和绘制遥测文件的格式默认为2列数据的txt文件,其中第1列为采样时间,第2列为遥测值。但是在遥测数据预处理过程中,有时提供的遥测文件具有多列遥测值。因此,平台需要把多列遥测值的txt文件,自动拆分成多个具有1列遥测值的文件的功能。

3)十六进制遥测值的文件预处理功能。

在飞行试验中,有时为了节省遥测通道,将多个状态量为0或者1的遥测值合并为1个十六进制遥测值。因此,平台需要把具有十六进制遥测值文件,自动拆分成多个取值为0或者1的遥测文件的功能。

4)图像保存功能。

图2 面向故障分析的遥测参数可视化平台的活动图

能够把显示结果保存为bmp图片,或者自动保存到word文件中。

1.10 关键时刻的自动标识功能

飞行器的飞行过程通常分为若干关键阶段,为方便故障分析人员掌握飞行情况,平台需要在遥测曲线上自动标注关键时段。由于不同飞行器的关键阶段划分并不相同,为了保证平台的通用性,关键时刻及其标识字母,以txt文件的形式,由平台在启动时自动读入,并在绘制遥测曲线时自动标注。

1.11 图像放大的多步后退和前进功能

商业数据分析软件通常具有图像放大功能。例如Matlab软件,通过快捷键“Ctrl+Z”和“Ctrl+Y”,实现了图像放大的多步后退和前进功能。在遥测数据分析时,图像放大的多步后退和前进功能是必要的基础功能。

1.12 极值点和阶跃点的自动标识功能

遥测参数分析时,往往需要计算极值点和阶跃点,因此,平台需要自动计算当前显示区域内的极值点和阶跃点的功能,并且在图像缩放时,自动更新计算结果。

2 平台的总体设计

2.1 功能设计

平台具有两个主要功能:

1)飞行器弹道姿态与关键遥测参数的动态联合演示功能;

2)全部遥测参数的快速分析显示功能。

平台的用例图如图1所示。平台的用户分为故障分析人员和平台维护人员。故障分析人员使用全部功能;平台维护人员仅需使用动态联合演示功能,利用遥测参数的实时添加功能完成定制文件的自动生成,或者直接在Excel编辑器中编辑定制文件。

图1 面向故障分析的遥测参数可视化平台的用例图

平台的UML活动图(unified modeling language)如图2所示。

图3 平台的动态演示界面(“电压”页面)

2.2 界面设计

2.2.1 弹道姿态与关键遥测参数的联合动态演示界面

平台的动态演示界面由多个页面组成,每个页面由菜单、工具栏、3个飞行弹道视图和10个遥测曲线视图组成,如图3所示。

图3的上方以3种方式显示飞行器的弹道姿态:

1)飞行器在发射坐标系下的位置和速度曲线;

2)飞行器的三维弹道和姿态;

3)平面地图上的弹下点轨迹。

图3下方的10个视图能够按照飞行时间动态绘制遥测参数。每个视图具有左坐标系和右坐标系,每个坐标系至多能够绘制10个遥测参数。

图3的任意视图都可以双击后全屏放大,如图5所示。

平台的多个页面通过工具栏上的按钮(“主页面”、“姿控”、“气压”、“电压”、“电流”等)进行切换。页面切换时,图3上方的3个视图保持不变,下方的10个遥测曲线视图进行切换。点击“+”按钮,可以多次随时增加新的空白页面,空白页面具有10个空白的遥测曲线视图,如图6所示,可以用来添加新的动态绘制遥测参数。

通过工具栏按钮(“重放”、“前进”、“快进”、“步前”、“暂停”、“步退”、“快退”、“后退”、“终点”、“GoTo”),实现动态演示过程的控制。通过工具栏的“定时器”按钮,可以设置动态演示的时间步长和速度。

2.2.2 全部遥测数据的快速分析显示界面

全部遥测数据的分析显示功界面采用对话框,如图4所示。在图4的“关键时序遥测参数值”区域,平台自动插值计算关键时刻(级间分离、发动机点火、关机等时刻)的遥测值,并在右侧绘制的遥测曲线上自动标识关键时刻。可以通过对话框的“保存关键时刻参数值”按钮,把计算结果保存到txt文件中。

图4 全部遥测参数的快速分析显示界面

图5 遥测曲线视图的全屏显示

图6 平台自动添加的空白页面

平台自动计算当前显示区域内的全部遥测参数的极大值、极小值和阶跃值,并在绘制的遥测曲线上用“正方形”标识极大值,“圆圈”标识极小值,“三角形”标识阶跃值,如图4所示,当遥测参数没有阶跃点时,忽略阶跃点的显示结果。

在图4中可以设置野值剔除的阈值,平台在读入遥测参数时自动剔除绝对值大于阈值的数据。

为了便于显示遥测参数,图4给出了“乘以系数”编辑框,平台在绘制遥测参数时自动把遥测值乘以该系数。例如,如果需要把遥测参数从原始单位m转换为km,则需把遥测值乘以0.001,此时在“乘以系数”编辑框内填写“0.001”,或者直接点击对话框的“0.001”按钮;如果需要把遥测值从单位rad转换为o,此时在“乘以系数”对话框内填写为“180/π”,或者直接点击“RToD”按钮。

当同时绘制多个遥测参数时,若其数值区域互相重叠,则会产生判读干扰,因此图4提供了“加上系数”编辑框,能够在绘制遥测曲线时自动把遥测值加上相应的数值。例如,当视图内同时绘制3个遥测参数时,若它们的数值范围都为-1~1,则3条遥测曲线会出现重叠,为去掉干扰,可以把第2个遥测参数加上常值2,把第3个遥测参数加上常值4,则可以把3条遥测参数曲线分开。

3 平台的关键技术

3.1 动态演示界面的自动设置技术

为了减少平台的准备工作,平台根据定制文件自动设置动态演示界面。由于动态演示界面具有多个页面,而Excel工作簿具有多个工作表,因此定制文件使用Excel工作簿,如图7所示。

图7 平台的配置文件

平台的每个页面对应Excel工作薄的一个工作表(Worksheet),因此页面按钮的名称即为工作表的名称。每个工作表的信息包括8列:遥测参数文件名称、图题名称、标签名称、单位、乘以系数、加上系数、新建视图、左坐标轴,如图7所示。各参数的作用如下:

1)平台根据“遥测参数文件名称”读入遥测参数文件;

2)平台根据“图题名称”设置遥测曲线视图的名称;

3)平台根据“标签名称”设置遥测曲线的标签名称;

4)平台根据“单位”设置坐标轴的单位名称;

5)平台根据“乘以系数”,把遥测值乘以相应的常数;

6)平台根据“加上系数”,把遥测数值加上相应的数值;

7)如果“新建视图”为1,表明该遥测参数是视图内的第1个遥测参数,平台自动新建一个视图,然后绘制该遥测参数,如果“新建视图”为0,平台将在当前视图中继续绘制该遥测参数。因此从当前1开始直到下一个1之前的所有遥测参数都绘制在同一个视图内,如图7的虚线框对应的区域所示(第7行和第8行);

8)如果“左坐标轴”为1,平台把遥测参数绘制在当前视图的左坐标系中,如果为0,则绘制在右坐标系中。因此该列中从当前1开始直到0之前的所有遥测参数都绘制在左坐标系中,如图7的实线框内对应的子区域所示(第7行)。

可以看出,平台的配置文件不仅给出了遥测参数的具体信息,还给出了修正公式和绘制位置。

为了提高平台的运行效率,平台只在初始运行时读入配置文件,把信息读入到界面结构类中;在用户切换页面时,平台根据界面结构类自动设置界面;在用户实时添加遥测参数时,把添加结果保存到界面结构类中;在平台退出时,再把界面结构类保存到Excel工作簿中。

对应定制文件的工作簿、工作页、域、子域,应用面向对象设计思想[18-19],设计了界面结构的C++类:动态演示界面类、页面类、视图类、坐标系类,并使用MFC中的CMainFrame、CSplitterWnd、CView、CClientDC,实现了平台的动态演示界面,对应关系如图8所示。

图8 界面结构类的设计和实现

3.2 遥测参数的实时添加功能

为了减少平台的准备工作,配置文件至少填写1个工作表,且至少填写9个遥测参数(包括位置、速度、姿态角各3个遥测参数),以保证飞行器三维弹道姿态的绘制。其余的遥测参数,都可以在平台使用时逐渐添加。共有3种添加方式:

1)在当前视图中,添加新的遥测参数;

2)在空白视图中,添加新的遥测参数;

3)添加新的页面,然后在任意空白视图中,添加遥测参数。

添加方法为:在需要添加遥测参数的视图上,点击右键菜单,得到“添加演示参数”对话框,如图9所示。

图9 添加动态演示参数的对话框

在图9的文件列表框中选择需要添加的遥测参数,然后设置“图题名称”、“标签名称”、“单位”、“加上常数”、“乘以系数”、“左坐标轴”等信息,最后点击“添加到动态演示界面”按钮。可以同时添加多个遥测参数。

如果当前页面的视图已满,则可以通过点击工具栏上的“+”按钮,随时添加新的空白显示页面,如图6所示。然后在任意空白视图中添加遥测参数,如图10所示。

图10 平台自动添加的空白页面(添加遥测参数后)

3.3 坐标轴的自动计算方法

为减少平台的准备工作,坐标轴上的数字和格式都是自动计算的。坐标轴的自动计算在商业绘图软件中是内置功能,但是用C++语言开发软件,则需要实现该算法。坐标轴的计算不仅要求正确还需满足常规显示惯例,例如数值最后的数字通常使用0、2、5等,坐标轴的分段数通常大于3段且小于10段等。

本文通过循环算法实现坐标轴格式的自动计算,如图11所示。首先根据遥测数值范围计算坐标轴的数据范围,然后计算坐标轴的分段数,再计算坐标轴上的数字,如果上述计算结果不满足常规显示惯例,则重新修改坐标轴的数据范围,再次计算,直到满足为止。同时,采用自动测试方法,在每个坐标轴绘制前,自动测试坐标轴上的全部数字是否正确,即判断坐标轴上的数值误差是否小于1‰,如果满足则正常显示,否则程序报错。

图11 坐标轴格式的自动计算过程

3.4 遥测曲线绘制操作的多步前进和后退功能

遥测曲线视图实现了图像放大、遥测参数添加删除操作的后退或前进50步的功能。应用面向对象设计思想[18-19],设计了CFrameData类,包含了坐标轴格式信息和遥测参数代号,如表1所示。

表1 绘制格式的CFrameData类

CFrameData类的坐标轴格式信息包含了坐标轴上的分段数、每一段的细分段数、坐标轴的最大值、最小值等信息,具体成员变量的含义见图12。平台在绘制遥测参数时,首先计算坐标轴信息,然后把计算结果保存到CFrameData类中,最后根据CFrameData类的坐标轴格式信息绘制坐标轴。

图12 CFrameData类的成员变量示意图

CFrameData类的遥测参数代号信息包含了当前视图中的全部遥测参数的代号,存储在最后1个成员变量m_enumFlyParam[10]数组中。

平台通过1个双向循环链表结构实现了绘制操作的多步前进和后退功能,如图13所示。该链表由50个CFrameData节点组成,在后退时使用当前节点的上一个CFrameData类的信息直接绘制;在前进时使用下一个CFrameData类的信息直接绘制。CFrameData类占据内存量小,在前进和后退时,直接绘制无需计算,实现了绘制操作的快速前进和后退功能。

图13 存储50步的绘制格式的循环链表

3.5 大数据量的遥测参数的快速读入和显示技术

有的遥测参数的数据量较大(上千万行),如果使用笔记本电脑直接读入和绘制全部数据,则读入和显示速度较慢,为提高速度,平台采用了逐级挑点读入和绘制的方法。国内外提出了较多有效的挑点方式[20],平台根据遥测数据量的大小,把时间轴分成若干等段,然后在每段中挑选绝对值最大的点进行读入和绘制。当图像缩放时,重新挑点绘制,实现了显示速度快、细节无失真的效果。图4给出了挑点过程的关键参数。

3.6 三维地球纹理的分层绘制技术

为提高显示速度,地球三维模型的纹理实现了分层绘制技术。对于卫星、轨道转移飞行器等绕飞地球的飞行器,使用了低精度的全球纹理。对于导弹、火箭等飞行器,在弹下点附近的地球纹理使用了高精度的地图纹理。在平台初始显示时,绘制低精度纹理,然后在视图逐渐放大过程中逐步绘制高精度纹理。

4 平台的使用方法

4.1 文件准备

平台运行需要的文件包括:全部遥测数据的文件夹、飞行器三维外形数据文件、关键时刻及其标识字母的txt文件、动态演示界面定制文件。在平台运行前,把相关文件存放到指定位置。

4.2 平台的运行

双击平台的可执行文件,即可运行平台。平台运行后,点击工具栏的“设置”按钮,设置飞行器发射坐标系的发射点经纬度、高度等信息。然后点击工具栏的“测试”按钮,平台自动读入4.1节的全部文件,并进行弹道补充计算。

4.3 飞行器弹道姿态与关键遥测参数的动态联合演示

通过工具栏上的动态演示控制按钮,进行弹道姿态与关键遥测参数的动态联合演示,开展故障分析工作。

4.4 全部遥测数据分析

在平台运行时,可以随时打开“飞行器遥测数据分析显示界面”对话框,快速分析全部遥测数据。

4.5 保存分析结果

在故障分析过程中,可以随时通过右键菜单项,保存图片或者视频。

5 应用情况

平台已应用于2种不同型号的重复使用运载器的飞行试验。通过动态演示界面的定制和遥测参数动态添加和保存功能,极大减少了平台的准备工作,使对新型飞行器的准备时间缩短到2小时以内。

6 结束语

本文针对发射场对各种新型飞行器故障分析的需求,设计了使用简单、部署方便、型号通用的遥测参数可视化平台。不仅可以作为故障分析平台,也可以作为基于事后数据的飞行仿真平台,或者作为遥测参数快速分析显示平台。

平台的飞行仿真具有一定的局限性:对于级间分离、舵面偏转、大喷管摆动、小喷管点火等关键动作,因与飞行器型号相关,受通用性约束而无法仿真,但是可以把本平台作为基础框架,开发飞行器的专属平台。同时,平台对遥测数据的分析方法比较简单,后续需要持续补充新的分析方法,不断提高故障分析工作的效率。

猜你喜欢
坐标轴遥测视图
用坐标轴平移妙解斜率和(或积)为定值问题
自适应模糊PID控制的遥测方舱温度调节方法
某小型无人机遥测软件设计
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
浅谈如何提高遥测状态估计合格率
巧用仿射变换妙解高考解析几何题
利用VBA处理邻近气象站的相关遥测数据