论文部分内容阅读
摘 要:随着对飞行器的研究以及开发水平的不断提高,飞行器地面仿真系统的研究已成为必然。为了完善仿真飞行器的飞行过程及实验,该文在分析立即注入和定时注入两种技术的基础上,在仿真过程中设计了参数注入功能,并应用在FMI联合仿真系统中。利用Redis通信中间件实现控制参数注入过程,并在仿真系统进行测试与结果分析,成功验证了参数注入技术的有效性与实用性。
关键词:FMI仿真系统 参数注入 Redis FMU
中图分类号:G64 文献标识码:A 文章编号:1672-3791(2021)02(c)-0023-03
Research on Parameter Injection Based on FMI Simulation System
GUO Yibing YU Shaokang
(Shenyang Ligong University, Shenyang, Liaoning Province, 110159 China)
Abstract: With the continuous improvement of aircraft, the research of aircraft ground simulation system has become inevitable. In order to simulate the flight process of aircraft completely, the parameter injection function is designed and applied in FMI simulation system based on the analysis of the two techniques of immediate injection and timing injection. Using Redis communication middleware to realize the process of control parameter injection, the simulation system is tested and the results are analyzed, which successfully verifies the effectiveness and practicability of parameter injection technology.
Key Words: FMI Simulation System; Parameter injection; Redis; FMU
目前,許多仿真软件可以利用FMI标准进行联合仿真,但是在飞行器的飞行过程中,需要多次改变飞行器的飞行状态,现有的仿真软件无法满足。该文通过设计仿真过程中的参数注入技术,并应用到FMI仿真系统中,使仿真系统更加逼近飞行器飞行过程[1-3]。
1 FMI仿真系统
FMI仿真系统由仿真调度子系统和仿真执行子系统组成。仿真执行过程通过部署在不同计算机上的仿真执行子系统及运行在其上的FMU模型共同完成,仿真执行子系统之间通过中间件Redis通信,仿真流程通过中间件通信同步,由仿真调度子系统协同控制。
仿真调度子系统主要进行资源管理、任务管理、实施仿真过程控制,提供仿真开始、暂停、继续、停止与参数注入等功能;其中,仿真参数注入功能是根据仿真需求,注入模型参数并通过通信中间件Redis发送控制指令来控制仿真过程[4]。
2 仿真参数注入功能的设计
为了使FMI仿真系统对飞行器的仿真逐渐逼近实际的飞行过程,在仿真过程中需要进行参数注入,模拟真实飞行状态的改变,如改变卫星姿态和轨迹、调节太阳能帆板角度等。在该系统中,参数注入分为立即注入和定时注入两种形式。其中立即注入指的是参数注入命令下达后立即在指定端口写入注入值,而定时注入指的是当仿真运行到指定时刻后才进行参数注入。
仿真调度子系统利用Redis[5-6]向仿真执行子系统发送仿真数据,发送的数据包括仿真控制命令、仿真参数信息和模型连接总图信息。具体的数据包封装成Json格式如下。
2.1 仿真控制命令
{"command": "UpdateSimParam","from":"controller","to":"all"};其中key字段依次为控制命令、发送方、接收方。
2.2 仿真参数
{"params":{"taskid": "ABCDEFG","simtime":4.399}};其中key字段依次为参数、任务ID、仿真时间。
2.3 仿真模型连接总图
{"SF_001":{"mmrus":{"phi2":{"runtime":-1,"holdstep":100,"basevalue":"0.5","overvalue":"0""type":"double"}}}},其中key字段依次为子图ID、模型ID、参数名、注入时间(-1为立即注入)、运行周期、基础值、叠加值、数据类型。
通过上述仿真协议,当仿真进行参数注入时,仿真调度子系统将参数注入控制命令"UpdateSimParam"通过Redis发送给仿真执行子系统,执行子系统调用参数注入算法将基础值"basevalue"和叠加值"overvalue"改变,从而达到参数注入的效果。 3 仿真与分析
为了验证该文研究的参数注入技术在FMI仿真系统中的有效性,利用FMI仿真系统进行仿真,并对仿真结果进行分析判断。
此次实验案例中采用的FMU模型分别为Driver、Controller、Environment、Variant_actuator和Spacecraft。模型系统设计图如图2所示。仿真模型输出端口为spacecraft模型的PitchRate和Alpath端口。参数注入窗口如图3所示。
首先,启动FMI仿真系统进行无参数注入的仿真,仿真结果分别如图4、图5所示。
再次启动FMI仿真系统,然后打开参数注入窗口如图3所示,设置参数进行参数注入,仿真结果如图6、图7所示。
对比两次仿真结果,发现在进行参数注入时两个端口立即发生轮变化,说明通過参数注入通过改变了飞行器模型的控制命令,进而改变了飞行器的运动速度和角度。参数注入持续了100个通信步长后,即1s,结束注入参数,各仿真模型经过系统自身调整,逐渐恢复了注入前的正常状态。故可验证该文设计的基于FMI仿真系统的参数注入技术的有效性和实用性。
4 结语
该文首先阐述了FMI仿真系统的整体架构,并针对该仿真系统设计出参数注入功能,并通过Redis通信的方式控制参数注入技术的实现。最后利用仿真模型在FMI仿真系统上进行仿真测试,并对仿真结果进行对比分析,从而验证参数注入技术在FMI仿真系统中的有效性和实用性。
参考文献
[1] 王鸿亮,廉东本,徐久强.基于FMI的分布式联合仿真技术研究[J].计算机仿真,2017(4):256-261.
[2] 黄志勇.基FMI的无人机多源导航系统仿真技术研究[D].电子科技大学,2017.
[3] 陆冠华,郝明瑞,胡松,等.基于FMI的飞行器分系统多源异构模型一体化仿真[J].导航定位与授时, 2018(6):99-104.
[4] 玉绍康,关世杰,苏一博.基于Java环境下的Redis发布订阅的设计与实现[J].科技创新导报,2019, 16(14):3,5.
[5] 郎泓钰,任永功.基于Redis内存数据库的快速查找算法[J].计算机应用与软件,2016(5):40-43,52.
[6] 陈永恒,韩东奇.利用Redis进行数据通信的研究与测试[J].科技创新导报,2018,15(14):173-174.
关键词:FMI仿真系统 参数注入 Redis FMU
中图分类号:G64 文献标识码:A 文章编号:1672-3791(2021)02(c)-0023-03
Research on Parameter Injection Based on FMI Simulation System
GUO Yibing YU Shaokang
(Shenyang Ligong University, Shenyang, Liaoning Province, 110159 China)
Abstract: With the continuous improvement of aircraft, the research of aircraft ground simulation system has become inevitable. In order to simulate the flight process of aircraft completely, the parameter injection function is designed and applied in FMI simulation system based on the analysis of the two techniques of immediate injection and timing injection. Using Redis communication middleware to realize the process of control parameter injection, the simulation system is tested and the results are analyzed, which successfully verifies the effectiveness and practicability of parameter injection technology.
Key Words: FMI Simulation System; Parameter injection; Redis; FMU
目前,許多仿真软件可以利用FMI标准进行联合仿真,但是在飞行器的飞行过程中,需要多次改变飞行器的飞行状态,现有的仿真软件无法满足。该文通过设计仿真过程中的参数注入技术,并应用到FMI仿真系统中,使仿真系统更加逼近飞行器飞行过程[1-3]。
1 FMI仿真系统
FMI仿真系统由仿真调度子系统和仿真执行子系统组成。仿真执行过程通过部署在不同计算机上的仿真执行子系统及运行在其上的FMU模型共同完成,仿真执行子系统之间通过中间件Redis通信,仿真流程通过中间件通信同步,由仿真调度子系统协同控制。
仿真调度子系统主要进行资源管理、任务管理、实施仿真过程控制,提供仿真开始、暂停、继续、停止与参数注入等功能;其中,仿真参数注入功能是根据仿真需求,注入模型参数并通过通信中间件Redis发送控制指令来控制仿真过程[4]。
2 仿真参数注入功能的设计
为了使FMI仿真系统对飞行器的仿真逐渐逼近实际的飞行过程,在仿真过程中需要进行参数注入,模拟真实飞行状态的改变,如改变卫星姿态和轨迹、调节太阳能帆板角度等。在该系统中,参数注入分为立即注入和定时注入两种形式。其中立即注入指的是参数注入命令下达后立即在指定端口写入注入值,而定时注入指的是当仿真运行到指定时刻后才进行参数注入。
仿真调度子系统利用Redis[5-6]向仿真执行子系统发送仿真数据,发送的数据包括仿真控制命令、仿真参数信息和模型连接总图信息。具体的数据包封装成Json格式如下。
2.1 仿真控制命令
{"command": "UpdateSimParam","from":"controller","to":"all"};其中key字段依次为控制命令、发送方、接收方。
2.2 仿真参数
{"params":{"taskid": "ABCDEFG","simtime":4.399}};其中key字段依次为参数、任务ID、仿真时间。
2.3 仿真模型连接总图
{"SF_001":{"mmrus":{"phi2":{"runtime":-1,"holdstep":100,"basevalue":"0.5","overvalue":"0""type":"double"}}}},其中key字段依次为子图ID、模型ID、参数名、注入时间(-1为立即注入)、运行周期、基础值、叠加值、数据类型。
通过上述仿真协议,当仿真进行参数注入时,仿真调度子系统将参数注入控制命令"UpdateSimParam"通过Redis发送给仿真执行子系统,执行子系统调用参数注入算法将基础值"basevalue"和叠加值"overvalue"改变,从而达到参数注入的效果。 3 仿真与分析
为了验证该文研究的参数注入技术在FMI仿真系统中的有效性,利用FMI仿真系统进行仿真,并对仿真结果进行分析判断。
此次实验案例中采用的FMU模型分别为Driver、Controller、Environment、Variant_actuator和Spacecraft。模型系统设计图如图2所示。仿真模型输出端口为spacecraft模型的PitchRate和Alpath端口。参数注入窗口如图3所示。
首先,启动FMI仿真系统进行无参数注入的仿真,仿真结果分别如图4、图5所示。
再次启动FMI仿真系统,然后打开参数注入窗口如图3所示,设置参数进行参数注入,仿真结果如图6、图7所示。
对比两次仿真结果,发现在进行参数注入时两个端口立即发生轮变化,说明通過参数注入通过改变了飞行器模型的控制命令,进而改变了飞行器的运动速度和角度。参数注入持续了100个通信步长后,即1s,结束注入参数,各仿真模型经过系统自身调整,逐渐恢复了注入前的正常状态。故可验证该文设计的基于FMI仿真系统的参数注入技术的有效性和实用性。
4 结语
该文首先阐述了FMI仿真系统的整体架构,并针对该仿真系统设计出参数注入功能,并通过Redis通信的方式控制参数注入技术的实现。最后利用仿真模型在FMI仿真系统上进行仿真测试,并对仿真结果进行对比分析,从而验证参数注入技术在FMI仿真系统中的有效性和实用性。
参考文献
[1] 王鸿亮,廉东本,徐久强.基于FMI的分布式联合仿真技术研究[J].计算机仿真,2017(4):256-261.
[2] 黄志勇.基FMI的无人机多源导航系统仿真技术研究[D].电子科技大学,2017.
[3] 陆冠华,郝明瑞,胡松,等.基于FMI的飞行器分系统多源异构模型一体化仿真[J].导航定位与授时, 2018(6):99-104.
[4] 玉绍康,关世杰,苏一博.基于Java环境下的Redis发布订阅的设计与实现[J].科技创新导报,2019, 16(14):3,5.
[5] 郎泓钰,任永功.基于Redis内存数据库的快速查找算法[J].计算机应用与软件,2016(5):40-43,52.
[6] 陈永恒,韩东奇.利用Redis进行数据通信的研究与测试[J].科技创新导报,2018,15(14):173-174.