基于RTX的制导控制半实物仿真系统设计*
2023-12-06陈俊杰吴盘龙姚文典
陈俊杰,吴盘龙,何 山,姚文典
(南京理工大学,江苏 南京 210094)
对于导弹制导控制系统仿真,半实物仿真是除了导弹发射试验外,可以验证导弹制导控制系统设计正确性的唯一方式。相较纯数字仿真,半实物仿真通过在仿真闭环回路中接入物理设备[1-3],仿真数据更加接近实际,是导弹制导控制系统研制过程中必需环节。
半实物仿真平台可以实现半实物物理设备连接、数据检测、信号传输、仿真过程控制、制导模型仿真验证等功能[4-6]。随着导弹制导技术的发展,半实物仿真平台对实时性、通用性、可靠性及可扩展性要求越来越高。操作系统、半实物仿真系统必须满足高实时性,目前多采用RTX、dSPACE、FreeRTOS、RT-Lab,Speedgoat等其他实时操作系统。dSpace是一种实时仿真系统,是一套基于MATLAB/Simulink的控制系统开发及半实物仿真的软硬件工作平台。多应用于微处理器的FreeRTOS实时操作系统,是一个轻量级的操作系统。RT-Lab实时操作系统是一种用于动力与电气工程领域的科学仪器,是一套工业级的系统实时仿真平台软件包。Speedgoat实时系统中Simulink Real-Time工具箱与Matlab/Simulink兼容最好,仿真操作均在Matlab中进行。基于本文的设计方案,工业控制计算机工作在Windows系统下,RTX实时子系统是Windows系统的扩展子系统,可以充分利用Windows系统下各种资源、API函数等,方便针对硬件实时驱动、人机交互界面等方面进行开发。文献[7-8]分别介绍了导弹半实物仿真的三维场景构建和导引头半实物模型构建,但均未搭建一套完整的导弹制导控制半实物仿真系统。本文根据目前飞行器制导控制技术[9-11]和半实物仿真装备研究现况与进展,设计一套基于RTX的导弹制导控制半实物仿真系统,满足了半实物仿真系统高实时性、高通用性、高扩展性的要求,且通过了制导武器半实物仿真试验可信度评估[12-13],在保留Windows系统优势的基础上,通过引进RTX实时子系统,解决了Windows系统实时性较弱的问题。
1 RTX系统简介
RTX实时系统是Windows系统下的一个实时扩展子系统,也是一个基于软件的硬实时解决方案。它通过对IRQ、I/O、系统内存等的精确控制,确保实时任务的可靠性、数据传输的准确性。RTX实时子系统还支持30 kHz的持续中断触发速度,平均延迟小于1 μs。
RTX实时子系统与Windows操作系统之间可以实现全面兼容,并且可以充分保留Windows系统的各种资源,其中包括Windows系统下大量标准的API函数、Windows系统的内存管理机制等。作为Windows系统下的一个实时扩展系统,RTX不会对Windows系统下的架构作任何封装和修改。
RTX实时子系统拥有精确高速的任务调度器,其最多支持1 000个独立的进程。RTX实时子系统拥有128个优先级,并且针对线程切换时间具有严格要求,可以满足几乎所有用户的编程需要。
RTX实时子系统同时也是软件开发解决方案,可以将包括Windows 2000、Windows XP等各版本系统拓展到时间控制领域,使得上述各版本系统转为实时操作系统。因此基于RTX实时子系统拓展的RTOS,不仅可以实现对实时性要求高的任务开发,也可以实现非实时性任务开发。
2 RTX与Windows数据交互机制
半实物仿真需要真实硬件参与制导控制解算回路,半实物仿真平台需要可操作性、通用性,更需要保证半实物仿真平台的高实时性,以保证半实物仿真系统的可靠性,进而检验导弹制导系统设计结果和软件设计的正确性。实时仿真软件中采用共享内存交互机制,能够高速且准确实现RTX与Windows之间的数据交互,并且满足上述所有要求。
共享内存是进程间共享数据的最快的方法,一个进程向共享内存池写入数据,共享内存池的所有进程均拥有读权限。根据仿真数据交互需求,本文介绍的半实物仿真系统需要提供两片共享内存池,该半实物仿真系统中共享内存的数据交互工作流程如图1所示。
图1 数据交互流程图Fig.1 Data interaction flowchart
在仿真流程开始前,Win32进程读取仿真各初始参数后,需要传输给RTSS进程,此时Win32进程需要创建第一片共享内存池,同时拥有写权限,RTSS进程仅拥有读权限。
在仿真流程开始后,RTSS进程收到控制组合模拟单元解算数据,需要上传至Win32进程,Win32进程通过光纤上传至工作站的监控软件。此时RTSS进程需要创建第二片共享内存池,拥有写权利,Win32进程仅拥有读权利。
3 半实物仿真系统设计
基于RTX的制导控制半实物仿真系统结构如图2所示。半实物仿真系统主要由工作站、工业控制计算机、控制组合模拟单元组成。
图2 基于RTX的制导控制半实物仿真系统结构Fig.2 Basic structure of RTX-based hardware-in-the-loop simulation system for guidance and control
3.1 半实物仿真系统硬件设计
3.1.1 工作站
工作站主要负责数据采集、显示、控制组合模拟单元软件调试、上传,数据处理与分析。
工作站通过RS422串口与控制组合模拟单元连接,实现控制组合模拟单元软件调试与上传,并接收控制组合模拟单元按周期发送的实时仿真数据并上传到地面监控软件,实现数据采集和显示。
光纤通信模块主要完成工作站与工业控制计算机之间的光纤通信。工作站和工业控制计算机分别搭载VMIPMC-5565反射内存实时网卡,并通过光纤连接,构成VMIC实时网络。
3.1.2 工业控制计算机
工业控制计算机主要用于硬件接口模拟和为飞控算法的运行提供实时运行环境,可实现在RTX环境下进行制导姿控算法计算。
工业控制计算机的串口通信模块负责半实物仿真过程中与控制组合模拟单元的数据交互,通过4路RS422串口与控制组合模拟单元的串口卡相连,其中1路串口负责仿真指令发送与接收,其余3路串口分别负责将GPS、IMU、装订数据发送至控制组合模拟单元。
工业控制计算机中1553B通信模块实现与控制组合模拟单元之间飞控数据交互,其中工业控制计算机作为BC(工控机),控制组合模拟单元作为RT(弹载计算机)。
工业控制计算机搭载的时钟同步模块主要负责接收同步时钟信号;模拟量输入/输出模块模拟实际舵偏的采集及舵偏指令的下发;数字量输入/输出模块作为备用接口,便于二次开发。
3.1.3 控制组合模拟单元
控制组合模拟单元主要提供嵌入式的软硬件运行环境,该单元带有开关量输入/输出模块、模拟量输入/输出模块、时钟同步模块、1553B通讯模块、RS422串口通信模块。
控制组合模拟单元搭载的RS422串口通信模块共搭载8路串口,其中1路串口与工作站连接,用于实现控制组合模拟单元软件调试与上传;4路串口与工业控制计算机连接,1路串口用于接收与发送仿真相关指令,3路串口分别用于接收工业控制计算机发送的GPS、IMU、装订数据;1路串口发送1 kHz时钟信号,用于时钟同步。
3.2 半实物仿真软件设计
半实物仿真软件是仿真系统的核心部分,系统软件结构先进性、可靠性、功能完备性是半实物仿真系统成败的关键。
该半实物仿真系统软件主要包括工作站搭载的地面监控软件、工业控制计算机搭载的实时仿真软件及控制组合模拟单元搭载的导航、制导与控制仿真软件。
工作站搭载的地面监控软件主要完成控制组合模拟单元软件上传、数据采集、数据显示与数据存储。
工业控制计算机搭载的实时仿真软件包括了弹道仿真软件及通信管理软件。弹道仿真软件基于RTX环境下开发,进行实时飞控计算;通信管理软件是基于Windows环境下开发的人机交互界面,完成I/O卡参数设定、诸元装订、仿真指令下发等功能。工业控制计算机是在Windows和RTX实时操作系统环境下完成实时仿真软件开发,Windows环境下的任务和RTX环境下的任务可以通过共享内存共享数据,使用Windows和RTX的架构既可以拥有Windows环境下的特性,也提高了系统的实时性。
控制组合模拟单元搭载的导航、制导与控制仿真软件具有上电初始化及自检、数据上传和下载、数据固化、内存单元读取和回传等功能。
3.3 半实物仿真试验流程设计
基于RTX的制导控制半实物仿真系统试验流程主要包括:
1)工作站上的监控界面打开光纤通信模块,发送试验开始指令;
2)在工业控制计算机的实时仿真软件进行串口号以及波特率的设置,然后进行系统通信自检;
3)自检成功后,地面监控软件向控制组合模拟单元发送向内存写入固件指令;
4)控制组合模拟单元收到指令后将待写固件写入对应内存,等待工业控制计算机发送仿真初始条件;
5)工业控制计算机的实时仿真软件加载工况,将GPS、IMU、装订数据分别通过串口2、3、4发送给控制组合模拟单元;
6)控制组合模拟单元进行模型解算,并实时向工业控制计算机传输仿真数据;
7)工业控制计算机将接收到的数据通过光纤通信模块传输给监控界面。
4 半实物仿真系统试验验证
为验证半实物仿真系统的性能,按照该仿真试验流程进行场景验证,试验主要包括对数据传输实时性、数据可靠性、半实物仿真试验流程正确性进行验证。
4.1 系统实时性验证
表1的测试数据可以得出,多个实时性能指标RTSS线程明显优于Win32线程。作者利用RTSS工作线程来完成仿真,可以获得较好的实时性能,满足实时仿真对实时性的要求。
表1 RTSS进程性能测试(CPU满负荷下)
本文设计的半实物仿真系统中加入了导弹制导控制6DoF模型、调度流程等,需要对半实物仿真系统的实时性进行性能测试。在运行导弹制导控制半实物仿真系统后,对系统的延迟情况进行了20 ms的测试。表2的测试数据表明,基于RTX的制导控制半实物仿真系统在加入了导弹制导控制模型后仍具有良好的实时性。
表2 系统延迟测试结果
4.2 半实物仿真数据传输正确性验证
作者需要通过工业控制计算机对控制组合模拟单元进行诸元装订,实时仿真软件中Win32进程通过读取本地文件初始诸元参数,再通过共享内存下传到RTSS进程,仿真结果如图3所示。
图3 地面监控软件数据与控制组合模拟单元数据对比Fig.3 Data comparison of ground monitoring software and control combined simulation unit
在半实物仿真过程中,RTSS进程通过定时器以5 ms 为周期,将惯导和导引头数据通过RS422串口下传到控制组合模拟单元进行模型解算,然后控制组合模拟单元通过RS422串口将模型解算数据上传至实时仿真软件中RTSS进程,RTSS进程再通过共享内存上传至Win32进程,Win32进程通过VMIC光纤通信模块上传至工作站中地面监控软件,完成实时仿真数据监控。
图3中蓝线表示地面监控软件通过光纤通信模块接收RTSS进程发送的模型解算数据,红线表示控制组合模拟单元发送至工业控制计算机中RTSS进程的数据。
通过对比可以得到结论:地面监控软件接收的数据与控制组合模拟单元遥测输出的数据相同,半实物仿真系统数据传输没有误差,该半实物仿真系统可靠性和数据传输准确性高。
综上所述,本文所介绍的半实物仿真系统设计合理,且具有高实时性、高准确性、高可靠性。
5 结束语
本文主要介绍了基于RTX的制导控制半实物仿真系统的基本原理与系统组成,通过详细描述半实物仿真系统的组成及工作原理,并且根据场景验证,基于RTX的制导控制半实物仿真平台可实现控制组合模拟单元软件上传、实时控制导弹制导半实物仿真指令下发、实时监控仿真过程中导弹各参数等功能。测试结果表明该半实物仿真系统是正确且合理的。