孙 刚,曹云峰,庄丽葵,王西超
(南京航空航天大学 自动化学院,江苏 南京 210016 )
现代飞控系统设计向先进的主动控制技术、综合控制技术、主动安全技术和智能控制技术的方向发展,传统的系统研制再到样机验证已难以满足现代飞控系统的复杂状况,而在机械、航空航天等领域的虚拟原型(virtual prototype,VP) 研究为这些领域中复杂系统设计提供了强有力的支持,其中美国佐治亚大学开展了汽车领域的复杂系统样机平台的研究[1-2];航天二院李伯虎院士团队以导弹系统虚拟样机设计为背景,开展了多领域复杂系统虚拟样机工程的研究[3];北航陈宗基等[4]针对飞控系统设计需要,研究了飞控系统虚拟样机技术.本文从系统工程的角度,进行了支持系统顶层设计、功能验证的虚拟样机平台研究.
基于模型的系统工程(model based system engineering,MBSE)是对系统工程活动中建模方法应用的正式认同,以使建模方法支持系统要求、设计、分析、验证和确认等活动,这些活动从概念性设计阶段开始,持续贯穿到设计开发以及后来的所有的生命周期阶段[5-6].本文以MBSE为指导思想,利用SysML系统建模语言,搭建由Rhapsody、Simulink、VC、Oracle、Doors构成的飞行控制系统虚拟样机平台,如图1所示.平台的作用是建立起飞控系统虚拟样机(FCS-VP)的仿真模型并进行功能验证,将飞控系统的需求模型、功能模型、动力学模型等集成在一起,从功能和行为模拟完整的飞控系统,使设计人员在早期即可通过飞控样机方案的验证消除其中可能存在的错误并修改,以避免后期工程研制出现反复.
该平台以IBM Rhapsody为核心架构,在Rhapsody中利用SysML需求图和用例图构建飞控系统需求模型,利用块图/对象图和状态图/顺序图设计飞控系统功能模型[7];在Matlab/Simulink中来进行飞机连续系统模型设计,如飞行控制律、动力学系统模型等;利用Visual C++6.0 开发系统可视化界面连接Rhapsody、Matlab/Simulink和Oracle,并利用ADO数据库访问技术与Oracle数据库建立关联,管理飞控系统虚拟样机开发过程中的数据、文档和模型的存取;Doors中的用户需求能够和Rhapsody中的需求模型双向动态关联.
1) 与传统飞控系统设计方法中以文档形式存在的设计方案对应,采用形式化图形系统建模语言SysML构造飞控系统虚拟样机,而Rhapsody平台是目前对SysML建模支持最为完善的工具之一,且具有模型仿真、调试及文档自动生成等功能,能够对飞控系统进行工程项目全周期的支持,并提供直观的需求视图、用例视图以及状态图、顺序图和活动图对飞控系统进行模拟,生成可执行的应用程序.
2) 由于SysML缺乏对飞控系统连续动态行为的支持,而Matlab/Simulink是目前连续系统建模领域的标准软件,本平台集成Rhapsody/SysML与Matlab/Simulink,对于飞控系统离散和逻辑基本特征采用基于SysML的离散事件进行建模仿真;而对于飞控系统基于连续时间域的物理特性采用基于Simulink的连续系统进行建模仿真[8].融合离散时间仿真系统和连续时间仿真系统,并利用SysML与Simulink进行协同仿真,是构建飞控系统虚拟样机平台的重要部分.
3) 平台进行了多项工程功能的开发,Doors进行飞控系统各项需求的管理,并将需求导入Rhapsody中建立需求用例图,而Oracle进行系统开发中的数据、文档、模型的存储工作,VC提供用户界面用以管理Oracle中各项工程信息.
本平台的运行原理是以Rhapsody平台下动态调用由Simulink/RTW生成的连续系统模型代码融入SysML代码中,模型代码的动态交互方式是本平台研究的重点.研究Rhapsody平台SysML代码运行原理,修改Simulink代码嵌入SysML模型代码中,利用Rhapsody运行平台进行代码的融合.为实现SysML与Simulink代码的交互,本文在Rhapsody平台利用SysML的模块扩展机制设置Profile文件以及相应的配置属性[9].
SysML Profile 是一种SysML为了让所有建模工具都支持它而扩展的一个特定的包,Profile包括构造型(stereotype)、标记值(tagged value)和约束(constraint)等元素,构造型是指在已有模型元素的基础上构造新的模型元素,其模型内容和形式与原有模型相同,增加新的语义或约束;标记值扩展模型元素的附加属性;约束可以扩展模型元素增加新的规则.
在Rhapsody平台下添加Profile以实现SysML与Simulink的无缝集成,添加的Profile包含新的模型元素其构造型为SimulinkBlock,即以SysML类模型为基础的Simulink模块;为了告知Rhapsody平台相应的信息,还应添加相应的标记值,IncludePath标记Simulink模型代码运行时调用的头文件路径;Matlab-Root标记Matlab求解器目录;SimulinkProjectFile 标记所需Simulink 模型文件路径;SimulinkSampleTime标记SysML模型与Simulink模型之间进行数据交互的时间周期;SimulinkCodeDir指定Simulink 模型的RTW 代码路径;SimulinkSourceFiles标记Simulink模型RTW代码文件中需要导入到SysML模型中的文件名称.
为了实现SysML模型与构造的SimulinkBlock模型的数据通信,还需在Profile中添加Simulink/RTW定义的专用数据类型,使得SysML模型代码在运行过程中能够识别SimulinkBlock的数据.如表1所示,左列为需要在Profile 中添加的SysML新的数据类型,其表示右列的Simulink/RTW所生成代码的数据类型.
表1 SysML与Simulink通信类型
虚拟样机平台为飞控系统的设计提供了很好的设计环境,因此本文详细介绍了飞控系统虚拟样机的设计及验证过程.
传统的需求都被表示为文档的形式,SysML 将需求描述作为模型元素描述产品功能,并定义了实现功能的约束条件,使其变成产品架构的一部分.
本文以某型号飞行器系统建模为例,首先分析用户需求及外部环境的约束,使用SysML需求图建立系统需求模型,并且根据需求类型关联到具体结构及行为,驱动整个系统过程.需求模型可以具有约束(constraints)属性,约束属性定义了作为其参数的语法和属性,并且可以关联到模块的具体元素.下一步分析需求得到的主要用例模型,如图2所示,飞控系统依赖于飞控计算机,其主要传感器如姿态信号传感器AHRS、气压高度计等,执行机构如飞机舵机进行信号交互[10].
为了验证建立的飞控系统虚拟样机用例功能模块,以SysML块图(block diagram)建立了由飞控计算机、舵机、飞机机体、传感器、飞行模态控制等组成的飞控系统虚拟样机系统结构图.其中控制律Controller块和飞机动力学特性Plant块利用Profile扩展的方式继承构造型SimulinkBlock,以调用Simulink生成的连续模型代码;每个块图定义了与其它模块交互数据的端口(port),端口之间通过连接器(connector)进行连接.
在虚拟样机运行过程中,传感器测量飞机的状态信息;飞行控制计算机根据飞机状态信进行控制律解算出控制信号; 执行机构是根据控制信号控制飞机的舵机;模态逻辑控制模块可以接受飞行参数信息和飞行控制指令进行飞行模态的控制.本文建立了如图3所示的飞机由起飞至着陆的完整模态过程,利用SysML状态图形式验证飞控虚拟样机各模态功能是否满足设计需求中的各项要求,其中爬升模态(climb)如图4所示,通过仿真验证所设计样机的功能、行为及初步性能满足设计需求,可确保设计方案中没有歧义和错误,设计工作可以转入下一步的工程研制阶段[11-12].
本文搭建了飞控系统虚拟样机平台,详细介绍了以Profile扩展的方式解决平台软件的集成,并在此平台上设计和验证了完整飞控系统虚拟样机.经实践证明,此平台可以进行虚拟样机设计、试验、测试和评估,其中SysML建模语言/Rhapsody工具能够对系统方案过程中功能架构、动态行为等提供全面的支持,并能够提前进行样机验证并发现不符合产品需求的设计缺陷, 确保工程系统的功能、行为、性能以及作战效能满足设计要求,显著改善了系统设计方案周期,提高了飞控系统样机设计方案的灵活性.
参考文献:
[1] BRANSCOMB J M, PAREDIS C J J, CHE J, et al. Supporting multidisciplinary vehicle analysis using a vehicle reference architecture model in SysML[J]. Procedia Computer Science, 2013, 16:79-88.
[2] KIM H, FRIED D, MENEGAY P, et al. Application of integrated modeling and analysis to development of complex systems[J]. Procedia Computer Science, 2013, 16:98-107..
[3] 李伯虎,朱文海,刘杰,等.复杂产品虚拟样机技术的研究与实践[J].测控技术, 2001, 20(11):1-6.
[4] 陈宗基,黄浩东,秦旭东.飞行控制系统虚拟原型技术[J].航空学报,2002,23(5):442-447.
[5] 倪忠建,张彦,李漪.模型驱动的系统设计方法应用研究[J].航空电子技术,2011,42(1):18-23.
[6] RASSA B, HSU E, LIPPNER G. Systems engineering vision 2020[EB/OL].(2007-09-01)[2013-07-31] www.incose.org/ProductsPubs/products/sevision2020.aspx.
[7] MCKELVIN M L, JIMENEZ A. Specification and design of electrical flight system architectures with SysML[C]//Proceedings of the AIAA Infotech@Aerospace 2012 Conference. US:Garden Grove, California, 2012.
[8] 刘厦,王宇英,周兴社,等.面向CPS系统仿真的建模方法研究与设计[J].计算机科学,2012,39(7):32-35.
[9] 刘玉生,袁文强,樊红日,等.基于SysML的模型驱动复杂产品设计的信息集成框架研究[J].中国机械工程,2012,23(12):1438-1445.
[10] 罗丽燕,刘中田.基于UML的无人机飞控系统建模[J].航空计算技术,2012,42(5):127-130.
[11] 刘兴华,曹云峰,王 彪,等.基于SysML与Simulink的飞控系统概念样机设计[J].电子科技大学学报,2011,40(6):887-891.
[12] 刘兴华.飞行控制系统数字化设计技术研究[D].南京:南京航空航天大学,2011.