基于SysML与Simulink的机载传感器建模方法

2021-11-19 08:17韦彩色王新尧陈纪磊
计算机仿真 2021年10期
关键词:用例陀螺仪飞行器

韦彩色,王新尧,陈纪磊,陶 江

(1.国营长虹机械厂,广西桂林 541003;2.南京航空航天大学航天学院,江苏南京 210016;3.中航工业集团沈阳飞机设计研究所,辽宁沈阳 110035)

1 引言

随着未来新作战模式的出现和发展,对飞行器管理系统的功能和性能提出更高要求。为满足当前和未来飞行器的研制能力要求,以及响应我国启动的“飞机数字化工程”,需要建立飞行器管理系统各分系统的数字化模型,为将来在全数字化仿真环境中提供在功能、性能上与部件的物理样机一一对应的虚拟模型,以实现在各分系统部件未制造之前,即可验证系统的功能及性能等指标。飞行器管理系统大致分为感知层、执行层和决策层[1],其中,感知层是决策层和执行层进行正确控制的判断依据,是飞行器管理系统不可或缺的一部分。

感知层包含有综合光电传感器、综合射频传感器、微型传感器、惯性传感器等,可见,飞行器管理系统传感器是一类涉及电、磁、光、力等多学科领域的部件,且种类繁多。此外,飞行器管理系统的传感器还存在以下特点:①易受外部环境因素的干扰;②具有自检测功能;③容错重构,即余度设计。

目前,涉及传感器建模仿真的文章有:文献[2-6]根据传感器的数学模型,基于MATLAB/Simulink建立对应的仿真模型,输出响应曲线,对传感器的特性进行测试分析。文献[7-12]基于有限元分析法,通过ANSYS等软件建模仿真来研究某元素变化对传感器特征的影响,以分析出传感器最优的设计结构。文献[13-15]应用模拟硬件描述语言Verilog-A对传感器进行行为建模,并通过理论分析与CadenceSpectre仿真得到证明和验证。文献[16-18]在PSPICE仿真器中建立传感器模型,通过仿真分析传感器的性能指标。

上述文献所建的传感器模型一定程度上具有较高的仿真度,但模型仿真中少有考虑传感器受到的外部环境干扰,或仅考虑单一环境影响;也无法模拟传感器出现故障的工作状态。此外,针对机载传感器的余度设计要求,上述文献提出的传感器建模仿真方法均难以满足,且缺少扩展性。而2007年国际系统工程学会(International Council on Systems Engineering,INCOSE)联合对象管理组织(Object Management Group,OMG)在SysML的建模工具与专业分析软件如FEA、CAD等进行集成的建模平台中,提出的“基于模型的系统工程(Model Based System Engineering,MBSE)”的整体解决方案为建立在功能、性能等特征与真实机载传感器一一对应的数字化模型提供了可能。

为此,本文从飞行器管理系统的顶层架构出发,结合底层设计,提出一种基于SysML与MATLAB/Simulink对飞行器管理系统传感器进行建模与集成仿真的方法。该方法应用SysML构建飞行器管理系统的整体架构,并逐层细化,给出系统感应层中具体传感器的顶层的、全面的描述;基于Simulink建立传感器的底层模型,解决目前SysML无法对复杂的连续动态行为进行描述的问题。结合建模工具底层代码互通性的特点,将不同层级模型集成,实现协同仿真。

2 基于SysML的系统顶层建模方法

本文选用Rational Rhapsody作为支持SysML的建模工具。顶层建模是指抛却物体的具体物理实体,对其进行抽象,仅基于功能-行为-结构(Function-Behavior-Structure,FBS[19])来模拟物体的建模技术。在FBS框架下,系统顶层建模流程如图1所示。分析系统需求得出对应系统的功能,并细化到能实现的功能单元;根据系统的功能单元,逐步确定系统的行为,直到行为能够全部实现系统功能为止;最后确定系统的静态结构。

图1 系统顶层建模流程图

飞行器管理系统传感器主要是通过感应飞行器的相关状态,向综合处理器、数据记录分系统等其它子系统传递飞行姿态、位置、温度等参数信息。因此,传感器与这些分系统之间存在信息交互,同时通过电源模块供电。

1)确定系统功能单元。通过创建用例模型来替代基于文字的功能性需求,而用例模型的基本组成元素为用例(Use Case)和参与者(Actor)[20]。因此,需要根据系统需求首先确定对应的用例以及参与者。

2)描述系统行为过程。由于用例只是表示系统将会执行的一种行为,而不说明如何实现,本文先用活动图来详细地描述用例对应的功能流,从而比较直观地观察到传感器与其它子系统之间的交互关系,并更加方便推导出传感器本身应有的属性和一些基本操作。等构建系统静态结构之后,再通过状态图对模型进行仿真验证。

3)构建系统静态结构。根据活动图,采用模块定义图来构建传感器在飞行器管理系统中与其它子系统之间的相互关联特点的静态结构模型,定义传感器的属性与操作。

最后基于系统的静态结构,创建传感器的状态图进行仿真验证。

3 SysML模型与Simulink模型的集成方法

由于目前SysML建模语言的参数图只能描述简单的连续动态行为,无法对复杂的连续动态行为进行建模。本文借助常用的仿真工具——MATLAB/Simulink对传感器进行底层建模。因此,需要将不同层级模型集成起来,实现协同仿真。集成原意是指一些孤立的事物或者元素通过某种方式改变原有的分散状态集中在一起,产生联系,从而构成一个有机整体的过程。本文的“集成”是指存在于不同专用仿真软件中不同层级、不同领域的模型,通过某种方法联合起来,从而构成一个整体模型的过程。

目前,在不同建模工具上所建的不同层级、不同领域模型的联合仿真技术有:文献[21]通过S函数将AMESim模型连接到Simulink模型当中。文献[22]则采用PSpice SPLS接口将PSpice模型嵌入到Simulink模型当中。文献[23,24]通过相应接口实现不同模型之间进行实时数据交互功能。

本文选用Rhapsody作为SysML建模语言的运行环境。根据上述文献所采用的联合仿真技术,基于Rhapsody运行工具,SysML模型与Simulink模型集成仿真可以通过以下两种方法:

1)SysML模型集成到Simulink模型中。首先在MATLAB中编写Cmax-sfunction函数,使进行集成仿真时,可以接收SysML模型发出的信息指令,再将相关信息转发给Simulink模型,从而实现了两个不同模型的集成仿真。

2)Simulink模型导入到SysML模型中[25]。由于Rhapsody工具具有“模型-代码动态关联”的特性以及“代码自动生成”的特点,Simulink的Simulink Coder工具箱提供了将系统模型转换为可优化的嵌入式C/C++底层代码的功能,且SysML建模语言通过添加配置文件(SysML profile)为相应模型实现扩展机制[26]。因此,这为Simulink模型与SysML模型能够实现集成仿真奠定了基础。首先重新设置Simulink模型的“Configuration Parameters”,点击“Build model”生成含有底层代码的rtw文件;然后将在Rhapsody中描述系统连续动态行为模块的“stereotype”设置成“SimulinkBlock”类型,导入“MATLAB.exe”,Simulink模型“.mdl”以及rtw文件中的模型代码。从而实现了SysML模型与Simulink模型的集成。该集成方法的原理图如图2所示。

图2 Simulink模型与SysML模型的集成原理图

由于飞行器管理系统包含多种功能的传感器,而且在其中不仅仅只包含传感器子系统,还包含其它子系统,比如飞行控制系统、执行机构等。考虑到后续还对飞行器管理系统中的其它类型传感器以及其它子系统进行建模仿真,而MATLAB中Stateflow目前只能模拟单个对象的状态切换,不能实现多个对象之间的状态转换。

为了使已建的模型具有重用性、可扩展性,因此,本课题拟采用第二种集成方法来实现飞行器管理系统传感器不同层级模型的集成。

4 飞行器管理系统传感器模型

飞行器管理系统的传感器具有以下特点:①种类繁多;②易受外部环境因素的干扰;③具有自检测功能;④容错重构。因此,对飞行器管理系统传感器进行建模应该包含有:

1)传感器物理部件建模:通过对传感器的结构、工作原理等进行机理分析,建立传感器模型粒度尽可能小的数学模型,以充分体现传感器的物理部件特性;

2)环境影响因素建模:需要考虑摩擦力、机体振动、磁场环境、温度等环境因素对传感器的影响,在传感器物理部件模型基础上添加相应的环境影响因素模型,提高传感器模型的仿真度;

3)不同工作状态建模:模拟真实传感器的工作状态,包含正常状态和故障状态;并且具有自检测功能,能够描述一些常见故障模式;

4)余度设计:模型要体现系统的可靠性。

4.1 飞行器管理系统传感器顶层建模

根据飞行器管理系统传感器的功能需求,其用例模型中的用例主要有两个:1)正常检测信号;2)故障检测与管理,其中故障检测与管理用例又分为启动时故障检测与管理(即自检测)、工作过程中故障检测与管理;与这些用例相关联的参与者主要是被测对象、飞行器管理系统以及维修人员。得到相应的飞行器管理系统传感器用例模型视图如图3所示。

图3 飞行器管理系统传感器的用例模型视图

基于SySML中ActionPin(行动钉)的思想,即建立属性标签steretyped ActorPin(角色钉),捕捉一个行动在其所在环境中的交互行为。利用活动图来描述飞行器管理系统传感器用例所对应的功能流,如图4所示为启动时传感器故障检测与管理用例的功能流。

图4 启动时故障检测与管理用例的活动图

应用模块定义图建立系统相关需求的静态结构模型。如图5所示为飞行器管理系统中传感器与系统综合处理器的顶层架构。图5中左侧的两个模块分别代表了LVDT位移传感器和MEMS传感器的顶层框架,在模块中分别定义对应传感器的属性参数,包括输入信号、输出信号以及传感器内各部件的相关参数;同时也定义了传感器的离散状态行为,包括事件指令、操作函数。属性参数表征传感器真实部件的结构尺寸或其它属性的大小,通过修改部件的相关属性参数值,可以获得不同结构、不同性能的传感器;通过执行操作函数可以修改传感器相关属性的参数值;通过事件指令可以触发传感器状态之间的切换,因此可模拟传感器由于某种因素从正常状态切换到故障状态的行为。本文只对系统中两个传感器进行建模,其它传感器可在图5中进行添加扩展。

图5 传感器与系统综合处理器的顶层架构

另外,针对机载传感器具有容错重构的特点,且其余度设置一般为双余度或者三余度。因此,LVDT位移传感器的双余度模型和MEMS传感器的三余度模型如图6所示。

图6 传感器余度设计视图

完成传感器的静态结构建模之后,用状态机图模拟仿真传感器的离散动态行为,如图7所示为MEMS传感器的离散动态行为模型。模型中间通过虚线分开形成两种主并发状态:“state1”和“state2”。“state1”描述的是传感器的两种基本运行状态,即关机状态和工作状态;默认情况下,传感器处于关机状态;当发送“evstart”事件指令时,传感器首先进行自检状态,若无部件发生故障,切换为“on”正常工作状态,此时“setup”函数为传感器的相关属性参数赋值,否则停止工作;此外,处于工作状态的传感器可通过函数将检测信号发送给飞行器管理系统中的其它子系统;当执行“evoff”事件指令时,传感器从工作状态切换到关闭状态。“state2”实现对传感器的故障模式进行建模,默认传感器为正常状态;当注入故障事件时,传感器发生故障,从正常状态切换为故障状态。飞行器管理系统传感器发生故障有很多原因,不同传感器发生故障的原因也不尽相同。

图7 MEMS陀螺仪的离散状态行为模型

4.2 飞行器管理系统传感器底层建模

针对传感器的连续动态行为,本文将应用Simulink工具对其进行描述,同时在连续动态行为模型中考虑传感器在飞行器中可能受到的外部影响因素。以MEMS陀螺仪为实例。

首先对MEMS陀螺仪进行机理分析。MEMS陀螺仪采用高频谐振结构,一般由梳子状驱动机构和电容极板构成的传感结构组成。驱动机构迫使物体做径向的运动,横向的电容板用来检测由于横向科里奥利运动引起的电容变化。因为科式力和角速度成比例关系,进而可以推算出角速度,从而达到测量角速度的目的。如图8所示为MEMS陀螺仪的简化动力学模型[27]。

由此,得出对应的MEMS陀螺仪的两自由度刚体的运动表达式如下

(1)

y方向的位移将会引起检测电容极板间距离的变化,从而引起电容发生变化,再添加检测电路,最终通过输出电压,检测电容的变化,从而可以检测到角速率。其中电容与位移y之间的关系由电容的定义给出

(2)

(3)

对应的输出电压则为

(4)

MEMS陀螺仪在工作过程中,会受到外部环境的影响。根据MEMS陀螺仪的工作原理,其中对其影响最大的环境因素是机体振动。机体振动会迫使驱动质量发生位移,引起检测电容发生变化,从而导致MEMS陀螺仪的输出信号有误差。因此,在接下来所建的SIMULINK模型中,机体振动将跟驱动力F-Drive一起作用于驱动质量,来体现机体振动对传感器的影响。

此外,在使用MEMS陀螺仪过程中难免会因某种原因而出现故障,主要有:激励电源过大、机体振动过大、使用时长达到寿命周期、过载等。

基于上述的机理分析,在Simulink工具上对MEMS陀螺仪进行连续动态行为建模,得出其Simulink模型如图9所示。图中,考虑了机体振动对MEMS陀螺仪的影响,根据实际中机体振动对MEMS陀螺仪产生影响的特点,本文拟在Simulink中用Uniform Random Number模块生成均匀的随机数来模拟机体振动所产生对应的干扰力,同驱动力F-Drive一起输入到仿真模型中。

图9 MEMS陀螺仪的Simulink模型

图中:

“Ω”是待测角速度的接口;

“F-Drive”是驱动部分中驱动力的接口;

“mx、cx、kx”分别表示MEMS陀螺仪驱动部分的驱动质量、阻尼力系数和弹性系数;

“my、cy、ky”分别是MEMS陀螺仪检测部分的感应质量、阻尼力系数和弹性系数;

“d0”表示电容极板间距;

“VDC”表示感应质量块位移的检测电路的激励电压的接口;

“Out”表示MEMS陀螺仪的输出信号接口。

根据SysML模型与Simulink模型集成的第二种方法,先重新设置Simulink模型的Configuration Parameters,启动模型编译“Build model”生成模型对应的rtw文件,生成的rtw文件中所包含的底层代码具体如下图10所示:

图10 rtw文件包含底层代码的示意图

再将底层代码导入SysML模型,得到图11中右边模块。此时,该模块代替main函数,来调用Simulink模型,从而实现了SysML模型与Simulink模型的集成仿真。另外,为实现两个模块数据之间无缝传输,需要传递的属性参数的数据类型一致。

图11 SysML模型与Simulink模型的集成结构示意图

5 仿真验证

给上述MEMS陀螺仪模型的相关属性参数赋值,并进行仿真,得到模型的输出电压信号曲线如图12所示。图中,蓝色曲线表示不考虑环境因素影响下模型的输出曲线,红色曲线表示在考虑机体振动干扰下MEMS陀螺仪模型的输出曲线。图13所示为MEMS陀螺仪正常工作时的状态图。当MEMS陀螺仪发生故障的条件满足时,则其从正常状态切换为故障状态,并通过OPORT函数调用下个余度传感器。如图14表示的是:传感器由于激励电源过大,从而突发故障。其正确地模拟了真实传感器的状态逻辑关系。

图12 在不同条件下MEMS陀螺仪模型的输出信号曲线图

图13 MEMS陀螺仪正常工作状态图

图14 MEMS陀螺仪突发故障状态切换图

6 结论

本文基于MBSE思想,提出一种高度还原飞行器管理系统传感器特性的建模方法,并给出建模步骤。基于SysML构建飞行器管理系统传感器与其它子系统的顶层结构,并实现了对传感器的物理部件、不同工作状态、余度设计等特性进行建模;借助Simulink工具对传感器的连续状态行为建模,模型中考虑了环境影响因素;研究了SysML模型与Simulink模型的集成仿真技术;最后,以MEMS陀螺仪传感器为实例,在机理分析的指导下建模,并集成仿真验证。通过仿真,验证了所建的传感器模型输出信号曲线的真实性、状态逻辑的准确性;提高了飞行器管理系统传感器模型的仿真度。结果表明,该方法不仅实现描述传感器的不同工作状态,而且对余度设计进行了模拟,模型中还考虑了环境影响因素。

猜你喜欢
用例陀螺仪飞行器
KD514:陀螺仪船桨空间姿态捕捉方法
基于Allan方差分析的陀螺仪漂移误差辨识与仿真复现
高超声速飞行器
基于EMD的MEMS陀螺仪随机漂移分析方法
飞去上班
资费拨测系统的研究与应用
用例规约在课程成绩管理系统需求分析中的应用研究
神秘的飞行器
使用用例建模进行软件需求分析研究