# 模型实时化—飞机液压系统降阶
本文以 ROM Builder 工具箱基于静态系统模型降阶实现模型实时化的工作流为核心示例,该工作流主要流程如下,用户通过阅读可熟悉工具箱操作流程,初步掌握系统降阶模型的搭建工作流。
本文以飞机液压系统模型为具体案例,为实现液压系统的模型实时化仿真,降阶输入为发动机驱动泵转速以及电动马达驱动泵转速,计算液压系统输出压力与流量。相关数据集可通过 MoHub平台 (opens new window)直接获取。
提示
模型的准确性与数据量相关,在不追求模型精度的情况下学习工具箱的操作流程,可以用少量工况数据进行批量仿真,以方便您在较短的时间内熟悉操作流程。
# 数据样本
选取能代表总体的参数样本对于建立准确的降阶预测模型至关重要。本节通过试验设计对输入变量进行设计并批量仿真,获取高保真数据样本。
# 1 原始模型
单击
,选择 ROM_Test 文件夹下的 CP_SystemA1_MIMO_ROM,打开所要代理的飞机模型。本模型可模拟飞机的液压控制,其中输入系统变量为 EDP1、EDP2、EMP,输出系统变量为 qMeasured、pMeasured、qMeasured1、pMeasured1。警告
ARM 系统暂不支持打开 HPHS.mol 示例模型。
# 2 批量仿真与数据获取
利用模型试验工具箱对上述飞机液压系统模型的输入变量进行试验设计,后批量仿真获取高保真数据集,或者通过 MoHub平台 (opens new window)直接下载,获取数据集。
# 模型训练
训练是根据已知数据寻找模型参数的过程,在此过程中,建立起输入数据与输出数据之间的映射关系,使用模型降阶及融合仿真工具进行模型训练,本文选择系统变量静态模型。
# 1 新建模型
打开工具箱,单击新建,在新建工程对话框中选择静态模型,系统数据,设置项目名称和保存路径。
# 2 数据导入
① 单击导入,选择输入变量数据和全部输出数据。
② 在下拉框中选择 MWORKS Export Files(*.csv)。
# 3 数据训练
选择输入与输出变量、设置合适的参数对模型进行训练。
- 选择所要训练的输入与输出变量(与批量仿真保持一致);
- 选择合适比例的训练集,并设置相关模型与参数(具体参数设置详见如何操作);
- 完成参数设置后,单击训练,对所选变量进行训练。
# 4 准确性评估
使用 ROM Builder 工具箱完成模型训练,选择模型检验功能:
工况对比图:可通过曲线分布图,观测原始数据与模拟数据对比情况。

统计检验:查看统计检验结果。

# 模型生成
在准确性评估达到理想条件(训练误差情况满足自设要求)后,生成模型并导出。单击文件 > 导出,选择导出模型类型(DLL 或 ONNX),在打开的页面中修改相应设置,单击确认,导出降阶模型。
# 模型应用
导出的代理模型可以替换原飞机模型,将两个模型在同一输入条件下进行仿真。
复制模型:复制模型 Model_test,并命名为 ROM_test;
替换组件:将 Model_test 中的飞机模型替换为导出模型 HPHP_ROM>ROM>ROM_Basis;
设置输入:设置输入为相同输入,文中为 EDP1=2100、EDP2=3800、EMP=7100,在 ROM_test 添加标准库 Modelica>Blocks>Sources>RealExpression,将输入改名为 Time,并设置参数值为 time,连接 Time.y 与 rOM_Basis.ROM_IN[1]、EDP1.y 与 rOM_Basis.ROM_IN[2]、EDP2.y 与 rOM_Basis.ROM_IN[3]、EMP.y 与 rOM_Basis.ROM_IN[4];
仿真设置:分别进入两个模型的仿真设置,设置相同的仿真参数;

仿真结果查看:分别单击两个模型进行仿真,将相同输出变量(qMeasured、pMeasured、qMeasured1、pMeasured1)的仿真结果在同一窗口显示并对比差异。
