飞控动基座对准性能桌面测试系统设计*
2020-05-18许飞袁杰波田若思丁小芩荣婉婷
许飞,袁杰波,田若思,丁小芩,荣婉婷
(1.上海机电工程研究所,上海 201109;2.哈尔滨工业大学,黑龙江 哈尔滨 150001)
0 引言
常见的导弹初始对准方法有自对准、静基座对准、动基座对准等,随着有移动发射需求的空空导弹、地空导弹、空地导弹的加速发展,应用于各种场景下的动基座对准方法成为了研究热点[1]。相较于其他的对准方法,动基座对准需要外部信息进行辅助,且外部信息和子惯导信息都随环境变化[2],对准工作时序复杂,对准和导航过程中需监测的量时间分布较为分散,因此,桌面级动基座对准性能测试无法覆盖系统动态的过程。基于桌面测试环境下,对飞控软件状态验证不到位,只能带着问题系统联调,增加了系统级问题分析复杂性和飞控软件反复次数,导弹研制进度较慢。本文针对动基座对准特性和桌面测试现状,整合现有测试流程,基于MFC,Matlab技术,研制了飞控动基座对准性能桌面测试系统,实现首次收敛时间测试、收敛品质测试、导航误差测试等功能,且具备扩展能力,通过适应性更改软件,对各型飞控动基座软件进行桌面测试,实现测试平台通用化[3]。
1 动基座对准性能桌面测试方法分析
动基座对准需要配备主惯导和子惯导2个系统进行传递对准,它是一种特殊的对准方式,由外部信息(主惯导)辅助,导弹上的子惯导利用已对准好的主惯导信息进行对准校正。主惯导传递给子惯导的姿态、速度、位置等信息,由于安装误差、载体形变等因素[4],存在一定的失准角,需要动基座对准的数学模型通过一定的滤波方式估计失准角,对子惯导系统的姿态进行修正[5]。动基座对准的性能可通过如下测试进行评判。
1.1 首次收敛时间测试
飞控软件中有动基座对准实时收敛标志字、周期性重置滤波器后收敛标志字、运行过程中从未收敛标志字,桌面测试平台通过监测实时收敛标志字首次置1的时间,即可得知导弹动基座对准首次收敛的时间[6]。在收敛品质一样时,首次收敛时间越小越好。
1.2 动基座对准工作时序测试
飞控动基座对准分支运行一拍后,姿态角会被刷新,桌面测试系统监测导弹姿态角第1次变为非0,记为动基座开启时间。飞控软件运行过程中,会有导弹运行状态返回,桌面测试系统监测该状态字可得知飞控动基座对准工作时序是否运行正常。
1.3 收敛品质评估
取导弹状态变量为
X=(δvn,δve,Øn,Øu,Øe).
(1)
状态方程为
(2)
式中:F为状态转移矩阵;W为系统噪声阵。
观测方程为
Z=HX+V,
(3)
式中:
(4)
滤波过程如下:
P=ΦPΦT+Qk,
(5)
K=PHT[HPHT+R]-1,
(6)
X=ΦX+K[Z-HΦX],
(7)
P=[I-KH]P[I-KH]T+KRKT.
(8)
在重置滤波器前,失准角误差矩阵P中的敏感值绝对值应该有变小趋势且趋于稳定,查看失准角标准差判定导弹动基座对准品质[7]。
1.4 导航误差测试
模拟发控通讯封锁后,给飞控装订初始导航参数,飞控根据动基座对准结果开始捷联解算,模拟IMU以封锁时刻的姿态,保持静止、静止情况加高斯白噪声的状态下导航100 s,分别判断导弹飞行的距离,测试导弹导航误差[8],导航误差越小越好。
2 动基座对准性能桌面测试系统设计方案
2.1 桌面测试系统总体方案
飞控动基座对准性能桌面测试系统由硬件和软件2部分组成,硬件包括:飞控设备、电气转接箱、模型计算机、模拟发控计算机、电源、配套电缆,软件平台包括模型机软件、模拟发控软件、遥测接收分析软件。桌面测试系统总体方案框图如图1所示。
图1 桌面测试系统总体方案框图Fig.1 Desktop test system overall solution block diagram
电气转接箱通过2根测试总线与飞行控制设备相连,完成飞控的供电和各个外设的连接;与模型机设备通过2路422总线连接,完成飞行过程中惯测量和导引头的模拟数据收发;与模拟发控设备通过1路422总线连接,模拟发射装置的发控流程,完成导弹初始参数装订;模型基设备和模拟发控设备之间通过1路422总线连接,完成同步信号的收发,使得装订数据与惯测量的变化同步;除飞控以外的各个设备外界交流电源进行供电。本文重点介绍软件平台。
2.2 桌面测试系统软件方案
2.2.1 软件功能概述
根据系统功能定义,充分考虑多平台融合、简化使用流程和强实时性的需求,选用MFC作为软件开发平台,Matlab数字仿真过程封装成dll库作为被调用对象,连接SQL数据库产生供桌面仿真使用的目标数据。MFC是微软提供的基于C++语言的软件开发基础类库,支持图形、接口通信、数据库、多线程等高级开发应用,便于设计人员二次开发[9]。Matlab拥有丰富的优化、计算工具,擅长于做复杂的矩阵运算。MFC和Matlab之间的混合编程,将综合MFC可视化编程和Matlab数值计算的优势[10],提高桌面测试系统软件的开发效率,缩短研发周期。同时,规定好dll库的调用接口后,不同型号间只需更换数字仿真过程即可测试,易于实现开发平台的通用化。软件整体框架如图2所示。
2.2.2 软件设计要求
桌面测试系统软件根据配置的导弹发射装置初始位置和姿态、转动角速度、运行速度、杆臂长度、封锁发控时间、模拟飞行时间、是否有高斯白噪声,实时仿真模拟发控和模拟IMU的输出全过程,生成2个独立的数据库,供模拟发控和模拟IMU调用。模拟发控动态完成飞控参数装订,模拟IMU实时输出导弹的惯测数据,测试飞控动基座对准软件功能和性能。具体软件功能要求如下:
图2 测试平台软件执行框图Fig.2 Test platform software execution block diagram
(2) 仿真初始化:响应仿真初始化命令,Matlab读入界面配置的仿真参数,实现系统资源分配、创建仿真进程、初始化输出文件。
(3) 仿真进程调度:响应仿真开始、仿真结束等界面控制命令,完成主惯导、子惯导运动姿态和位置等参数的动态仿真[12]。
(4) 数据库文件生成:将主惯导、子惯导动态仿真出的数据按指定格式存进数据库。
(5) 人机界面交互:实时显示发射装置和导弹状态,响应人机交互设置、发射装置运行状态参数设置。
(6) 数据加载:点完开始测试按钮,模拟发控和模拟IMU软件需要实时加载仿真生成的数据库,按照指定的周期逐行给飞控发送数据。
(7) 通信同步:根据作战时发控、IMU与飞控通信的真实时序,同步两者首次与飞控建立通信的时间。
(8) 长时稳定通信:模拟发控和模拟IMU软件要严格按照配置的周期、封锁时间与导弹飞控进行长时间的422总线通信。
(9) 数据记录与分析:测试开始后实时记录飞控的遥测数据,对测试敏感信息进行分析,得出结论。
我国的产融结合呈现三大特点:一是结合方向单向性,因现行金融法规限制,我国都是产业资本向金融资本单向流动;二是结合方式多样性,受各地市场发展不平衡、企业发展阶段不一致影响,我国从初级的产融结合到系统的金融控股公司均存在;三是运作主体规范性,我国几乎是大型企业、龙头企业、优势企业先行开展产融结合业务。
(10) 异步多线程执行:将硬件通信、数据处理、人机界面刷等新分别建立线程,提高CPU利用效率。
2.2.3 关键设计说明
针对图2的软件整体执行框图,重点介绍Matlab操作SQL数据库、MFC程序调用Matlab仿真生成的dll、模拟发控和模拟IMU通信同步、周期控制、多线程异步执行。
(1) Matlab要连接数据库,必须使用JDBC/ODBC Bridge。用C/C++语言将JDBC调用转换为ODBC APIS,送给待访问的数据库对应的ODBC驱动程序,其连接过程如图3所示[13]。Matlab对数据库SQL的操作,可以先获取数据库句柄,然后调用Matlab函数进行操作,Matlab常用的数据库操作有exec,ping,insert,close,database,get,set,update,rows,cols等[14]。Matlab程序界面通过设置数据库保存路径、文件名、用户名、密码、仿真时间(封锁时间)即可得到目标数据库。此外,由于数据库访问具有远程访问功能,可直接将数据库保存到各自待运行的仿真宿主机上,实现了仿真软件多台运行机器之间的一体化操作。
(2) Matlab可编写2种m文件:脚本文件、函数文件。脚本文件由一系列变量和函数组成,没有输入输出参数,可直接运行,但无法被转换为dll。而函数文件拥有输入输出参数和返回值,只需给待调用的脚本文件加一个函数名,通过Matlab代码编译器mcc创建基于C/C++的dll,本测试系统软件采用函数文件编写Matlab数字仿真过程,实现dll转换较为方便[15]。MFC程序调用Matlab代码生成的dll,可选用Matlab开发平台提供的mbuild工具编译链接,也可在IDE开发环境下使用MSVC工具来编译链接。考虑到软件的可继承性、通用性的原则,本测试系统软件选用MSVC,在VC中添加Matlab安装路径和Lib路径,编写调用dll的驱动代码,即可完成MFC程序调用数字仿真生成的dll。
(3) 动态测试系统要想让发控装订的战车信息和模型机产生的惯测数据达到动态匹配,必须使2个软件在时间上达到同步。因此,模型机开启后先给模拟发控发送4字节同步帧,收到回复后再给飞控发送格式如表1所示的数据帧。模拟发控软件启动后,循环检测同步字节,匹配后才给飞行控制设备发送运行令。在实际测试时,先打开模拟发控软件,然后打开模型机软件,动态测试软件的操作流程如图4所示。
图3 Matlab与数据库连接Fig.3 Matlab and database connection
表1 模型机422通信格式Table 1 Model machine 422 communication format
图4 动态测试软件操作流程Fig.4 Dynamic test software operation process
(4) 桌面仿真软件与飞控的RS-422通信都是按照固定的周期进行的,具体周期控制流程图如图5所示。进入循环发送之前记下上一拍计数器的拍数,然后实时比对当前计数器的拍数,直到达到分频后的频率值再进行RS-422通信,更新上一拍的拍数到当前拍数。在示波器上观测分频后RS-422通信频率,用1 ms的延时函数修正周期差值。对于模拟IMU软件,定时部分建在RS-422发送进程中。对于模拟发控软件,定时部分建在发控流程线程中。
图5 仿真软件周期控制流程图Fig.5 Simulation software cycle control flow chart
(5) 考虑桌面测试系统软件涉及到RS-422的收发通信、模型解算、发控流程处理、窗口显示刷新等速率不一的流程,若程序采用单线程顺序执行,CPU大部分时间都在死等,窗口将不能流畅的更新状态。因此,软件采用异步多线程方式进行编程,采用如图6的模拟IMU结构图和如图7的模拟发控结构图。
3 系统应用验证举例
为了验证测试仿真平台的正确性,选择了成熟的飞控软件和数字仿真原Matlab代码,仿真测试导弹静止发射和以20 m/s匀速前进发射的情况。测试结果显示,首次收敛时间均小于5 s,在失准角值趋于稳定前一段时间值较大,是由于卡尔曼滤波还未收敛,属于正常现象。首次收敛前,静止发射时北向、东向失准角标准差为0.041°,0.039°,匀速前进发射两向失准角均方差为0.076°,0.059°,2种方式的100 s静止导航误差均小于60 m,与系统联调结果符合,见图8,9。
图6 模型机结构图Fig.6 Model machine structure diagram
图7 模拟发控结构图Fig.7 Analog control structure diagram
图8 静止发射失准角Fig.8 Static emission misalignment angle
图9 匀速前进发射失准角Fig.9 Uniform forward launch misalignment angle
4 结束语
本文以动基座对准研究为背景,提出了一种飞控动基座对准性能桌面测试系统设计,并对测试方法、系统设计方案进行探讨,得出测试结论。在系统软件设计方面,分别对软件功能、设计要求、关键设计进行介绍,通过MFC调用Matlab生成的数字仿真dll实现平台通用化。相较于传统的桌面静态测试系统,此桌面测试系统能够仿真导弹发射的动态过程,对飞控软件动基座功能和性能的验证更全面,提高了飞控软件研制效率,降低系统调试成本,在涉及桌面动态仿真验证领域具有较高的应用价值。