支持Modelica模型的半物理仿真系统设计及关键技术
2015-11-12陈昌雄等
陈昌雄等
摘要: 针对当前基于MATLAB/SIMULINK的半物理仿真(HardwareinLoop Simulation,HILS)系统中不支持多领域建模、联合仿真模型转换过程复杂且存在误差等问题,提出基于Modelica和建模仿真软件MWorks进行HILS的方法,分析其所涉及的建模方法、实时仿真接口和代码生成等关键技术,并以此为基础构建支持Modelica模型的HILS.以前起落架转向系统和起落架收放系统为应用实例,建立HILS平台,对该方法进行验证.仿真结果表明该方法可行,结果可信度高.
关键词:
半物理仿真; 多领域建模; Modelica模型; 仿真系统设计; MWorks
中图分类号: TP271.4文献标志码: B
0引言
半物理仿真(HardwareinLoop Simulation, HILS)是将被研究系统的一部分实物设备与计算机相连,其余实物部分(或假想部分)以数学模型的形式转换为运行于计算机的计算模型,从而进行实时物理仿真与数字仿真的联合仿真.与纯物理(实物)仿真和数字仿真相比,HILS比物理仿真投资少效率高,并且能系统揭示被研究对象的本质特性,又比数字仿真更接近实际,其兼有数字仿真的柔性和物理仿真的精确性,是较理想的试验研究手段,在航空航天、船舶和汽车等领域得到广泛应用.
通常,HILS系统主要由仿真模型、仿真目标机和硬件实物等构成.仿真模型的构建是HILS的首要任务,当前其开发方式可分为2类:直接建模方式和联合建模方式.前者的数字模型多是基于LabVIEW或MATLAB/SIMULINK建立;后者是先用建模软件(如Modelica/Dymola)建立数学模型,然后再转换成MATLAB/SIMULINK能运行的模型,从而实现HILS计算.MATLAB/SIMULINK和LabVIEW仅适用于单一领域建模,且建模过程复杂,模型结构混乱.Dymola与MATLAB/SIMULINK进行联合建模时,模型间的转换过程操作复杂,还需要具备特定的转换接口,并且由于不同软件模型的表达方式不同,在转换过程中可能会影响准确性,以致影响仿真精度,甚至有的模型很难转换为主软件要求的形式.为克服上述HILS建模存在的问题,采用多领域物理统一建模仿真软件(如运用仿真环境MWorks软件),直接生成目标机可识别的代码程序成为解决该问题的有效方法.
1.1HILS系统性能分析
为开发具有实用价值的试验研究平台,所设计的HILS系统应满足以下几个主要方面的仿真性能要求.
1)仿真系统重现性要求.在实验室环境中,能再现不同参数条件下的实际工况响应.
2)仿真系统实时性要求.仿真系统既要能对数学模型进行实时运算,同时要能在良好接口技术的支持下在仿真计算机与实物部分之间进行实时数据交换、同步控制等操作.
3)人机交互要求.要求仿真系统应具有友好的人机交互界面,能在允许的范围内能设置系统参数,对仿真结果实时显示和记录,对仿真试验历史数据进行存储或再现等操作.
1.2HILS系统组成结构设计
HILS系统由实物设备和数学模型组成.通过分析原系统的结构和工作原理,结合HILS系统的性能需求分析,将原系统进行合理划分,保留部分实物接入仿真系统,将剩余实物部分建立数学模型进行分析研究,从而规划HILS系统的总体组成结构.
一般情况,HILS系统结构应由以下几部分组成:1)仿真计算机系统(数字仿真软件),用于建立系统数学模型并进行仿真分析,能实现由系统HILS模型生成(或转化为)指定目标机的代码程序;2)仿真目标机,用于运行实时操作系统,并实时仿真计算目标机模型代码,是HILS系统的核心;3)综合管理系统,用于HILS过程的统一管理,在该管理系统中进行代码自动下载、仿真运行控制、变量监控、实时参数调整、仿真数据存储和结果回放等操作;4)实物设备(传感器、执行机构等).系统基本结构示意见图1.
1.3HILS系统软硬件设计
根据所规划的HILS系统结构,分别设计仿真系统的硬件和软件架构,完成软件系统的开发和硬件系统的搭建.
HILS系统的软件主要有实时操作系统和数字仿真软件.实时操作系统(如VxWorks)是一种用于对仿真过程进行统一控制和管理的计算机底层实时系统,要求在规定的时间内对任务或事件做出及时响应.数字仿真软件(如Modelica/MWorks,MATLAB/SIMULINK等)通常包括被仿真系统对象数字模型、仿真算法和系统运行流程等几个部分.
HILS系统的硬件主要有仿真计算机、仿真目标机、接口设备、系统测试设备和数据采集与记录设备等.仿真目标机主要用于计算系统模型、实时采集仿真数据以及与仿真计算机的实时通信等任务,应具有良好的仿真试验实时性、适当的仿真试验精度以及高速的I/O吞吐能力等基本性能.
2HILS系统关键技术
支持Modelica模型的HILS系统的基本框架及其组成部分与普通的HILS系统一致,为实现该系统必须解决建模方法、代码生成技术和实时仿真接口实现技术等3个方面的关键技术.
2.1建模方法
数学模型与仿真目的密切相关,不同的仿真分析目的,对模型精度要求不同,建模侧重点也不同.当前,基于过程式语言软件(如SIMULINK)所建的模型用于系统性能分析精度要求较高的模型,在转换为目标机代码程序时,会加重仿真目标机的运算成本,影响HILS系统的实时性要求,并且对同类型的模型难于进行仿真优化.
HILS主要采用反映被研究对象客观特性和行为的机理建模法,主要有3种形式:连续系统建模、离散事件系统建模和混合系统建模.现有的主流数字仿真软件(如SIMULINK)是离散域或连续域的分散建模,而基于Modelica语言的建模是连续/离散混合建模,可避免模型转换造成的精度丢失.
随着原系统模型日益复杂和多样化,人为将其割裂为不同领域模型后采用单一领域建模软件的建模过程日趋困难.为克服这些问题,基于统一建模语言Modelica的多领域仿真技术得以广泛应用.基于Modelica的建模是在数学方程层面上,以微分代数方程形式对各领域模型在同一软件中进行统一描述,依据原系统的物理拓扑结构进行统一建模仿真,避免在不同建模软件之间进行模型转换的失真问题.另外,Modelica支持非因果建模,即模型的仿真计算不以因果赋值形式来确定方程的求解方向,这极大地提高软件的模块化和模型的可重用性,简化系统建模方式,为HILS系统平台系统揭示被研究对象的整体性能特性提供帮助.
2.2代码生成技术
HILS系统中从仿真模型建立到目标代码的产生,一般会经过2个阶段:首先,由各主流建模仿真软件所附带工具将模型转化为SIMULINK中的SFunction表达形式的C代码;然后,利用SIMULINK的RTW自动生成VxWorks等实时操作系统能识别的快速原型目标代码.因此,只要仿真软件能生成SFunction形式的C代码或直接生成VxWorks等实时操作系统能识别的目标代码,都可以实现HILS系统的代码生成.然而,在将仿真模型转换为MATLAB/SIMULINK能识别的代码过程中,存在软件兼容性问题,在一定程度上影响仿真精度.为克服上述问题,有必要研究在多领域统一建模环境Modelica/MWorks中,由图形化的多领域模型直接生成特定仿真目标机所能执行的代码程序.
基于Modelica模型的代码生成技术主要研究内容包括:由Modelica模型代码转换成方程系统的转换技术和方法;构建通用Modelica模型代码框架的技术分析和研究.具体表现为:首先需要将Modelica陈述式模型转换为可顺序求解的过程式表达形式,即将Modelica模型进行编译处理,包括词法分析、语法分析、语义分析和平坦化处理等;然后进行相容性分析、模型分析和指标约减分析,以确保平坦化的方程为恰约束系统(即方程变量数相等),从而生成过程式方程子集序列.
配合所构建的通用模型代码框架对方程子集序列进行分析,并为方程配置相应的数值求解器,求解器依据实时代码框架,将方程转换为具有系统独立的标准C代码.对于目标机,只需对该C代码进行相应的程序编译,生成与目标机操作系统环境相对应的可执行程序.代码转换流程见图2.
2.3实时仿真接口实现技术
HILS系统需要有良好的实时数据交换和同步控制功能,这对系统的实时仿真接口技术要求很高.
在支持Modelica模型的HILS系统中,设备接口模块集成于建模环境中,并且可与数学模型进行连接交互(逻辑关系见图3).Modelica语言规范对设备接口模块提供与数学模型相同的模型表达规范,用于向数学模型中添加目标机板卡接口的控制程序,以支持模型对硬件的操控,实现物理信号的输入/输出.例如,可以在Modelica/MWorks环境中增加人机交互界面进行参数设置,通过sample和hold等函数将其传递给硬件的驱动程序,从而实现对Modelica中硬件的控制.
总之,对于支持Modelica模型的HILS系统的仿真接口技术,主要关注仿真目标机中被研究对象数学模型与实物设备之间的数据交互,所涉及的具体研究内容如下.
1)设备接口的统一表达机制.由于设备接口种类繁多且可重用性高,所以可采用Modelica语言规范实现设备接口的统一表达机制,从而降低仿真系统的复杂性,实现与多领域数学模型的无缝连接.
2)设备接口实时运行属性的配置技术及其实现方法.为简化HILS建模操作,同时减少对真实硬件板卡知识的依赖,有必要建立设备接口模型的属性配置框架规范,以便更简捷地配置设备的属性.
3)驱动程序代码与实时操作系统驱动接口之间的映射关系.在与设备接口程序绑定的C语言文件中,加入调用驱动程序的API,以实现二者之间的对应关系.
4)设备应用(模型)接口与实时操作系统驱动接口的映射关系.在Modelica/MWorks中,制定通用的设备驱动接口规范建立驱动程序接口库,以实现二者之间的关联.
3支持Modelica模型的HILS系统实现
为检验上述支持Modelica模型的HILS系统及其关键技术,以起落架为研究对象构建HILS系统平台并进行仿真运算.
3.1支持Modelica模型的HILS系统组成结构
依据HILS系统组成结构的一般形式,支持飞机起落架Modelica模型的HILS系统主要由数字仿真系统(Modelica/MWorks)、综合管理系统、仿真目标机和被控实物组成,其组成框架示意见图4.
3.1.1数字仿真系统MWorks
Modelica/MWorks是对被研究实物系统进行系统建模并进行仿真分析的工具.依据HILS技术特性,仿真目标机系统除具有一般建模仿真软件的基本功能,还应增加2项功能:1)添加特定仿真目标机板卡的RTI(RealTime Interface)接口模块;2)由
HILS数字模型直接生成目标机能识别的代码程序,即自动生成目标机代码功能.
3.1.2综合管理系统和仿真目标机
综合管理系统(如SimTarget)主要用于对HILS过程进行统一管理.仿真目标机主要实现运行实时操作系统、运行仿真模型的目标代码程序等功能.
3.2支持Modelica模型的HILS系统模型
支持Modelica模型的起落架HILS系统模型见图5,其中间部分为基于Modelica/MWorks的起落架的液压与机械统一模型,其左端连接控制器的输入信号,右端通过板卡与控制器连接,形成回路.
3.3仿真分析结果曲线
支持Modelica/MWorks模型的起落架HILS系统中,对前起落架转弯和收放等子系统进行HILS验证.部分结果曲线见图6~9.
4结束语
HILS系统兼具数字仿真的灵活性和物理(实物)仿真的精确性,是理想的仿真试验研究工具,在众多研究领域中越来越受到重视.根据HILS系统设计的一般方法,探讨其中的一些关键技术,提出用多领域建模软件Modelica/MWorks直接生成目标机代码的思路,并通过起落架HILS系统实例验证支持Modelica模型的HILS系统的可行性,仿真结果可信.
参考文献:
[1]
唐国明. 无人驾驶汽车半物理仿真系统的设计[D]. 合肥: 中国科学技术大学, 2012.
[2]贾杰. 航天器姿态半物理仿真原理及其试验方法研究[D]. 西安: 西北工业大学, 2006.
[3]DIETMAR W, CLEMENS G. Hardwareintheloop simulation of a hybrid electric vehicle using Modelica/Dymola[C]//Proc 22nd Int Battery, Hybrid Fuel Cell Electr Vehicle Symp Exhibition. Yokohama, 2006: 10541063.
[4]廖瑛, 梁加红. 实时仿真理论与支撑技术[M]. 长沙: 国防科技大学出版社, 2002: 1488.
[5]黄建强, 鞠建波. 半实物仿真技术研究现状及发展趋势[J]. 舰船电子工程, 2011, 31(7): 57.
HUANG Jianqiang, JU Jianbo. Development introduction of hardwareintheloop simulation[J]. Ship Electr Eng, 2011, 31(7): 57.
[6]宋百玲. 柴油机控制系统半物理仿真技术研究[D]. 哈尔滨: 哈尔滨工程大学, 2009.
[7]王行仁. 建模与仿真技术的发展和应用[J]. 机械制造与自动化, 2010, 39(1): 16.
WANG Xingren. Development and application of modeling and simulation technology[J]. Machine Building & Automation, 2010, 39(1): 16.
[8]张洪昌. 信息物理融合的机电产品数字化设计关键技术研究[D]. 武汉: 华中科技大学, 2012.
(编辑武晓英)