于惠舟 周凡利 鲍丙瑞 王晓梅 /
(1. 上海飞机设计研究院,上海201210; 2. 苏州同元软控信息技术有限公司,苏州215123)
飞行控制系统关系到飞机的安全性与可靠性,是飞机上最重要的系统之一。其任务目标是提高飞行的稳定性、机动性和飞行性能,从而使乘客享有更舒适的飞行体验。对于此类复杂系统,传统上基于文档的系统设计开发过程可能会导致许多问题,如二义性、重复迭代、系统难以维护等,诸如此类的问题会直接影响设计周期和质量[1]。当前,基于模型的系统设计方法已成为复杂系统研制的有效途径[2]。飞控系统基于模型的设计过程通常需要经过桌面仿真、工程模拟器验证等步骤,其中,每个步骤都需要随着设计的推进而不断迭代。
美国Draper实验室提出了一种基于模型的方法用于飞行控制软件和算法的设计,其采用统一建模语言(Unified Modeling Language,简称UML)建立飞行控制软件的结构和算法,同时利用UML模型生成MATLAB软件模型进行算法的验证[3]。NASA(National Aeronuatics and Space Administration)和Vanderbilt大学提出一种类似的基于模型的飞行控制软件分析和测试方法,同样利用UML语言和MATLAB[4]。Linköping大学在skeldar无人直升机设计的总体阶段,利用系统建模语言(System Modeling Language,简称SysML)和MATLAB软件完成基于模型的系统工程的实践应用[5-6]。目前,精于单一领域建模的软件平台,如MATLAB/Simulink、AMESim、ADAMS被广泛应用于系统设计阶段的模型构建与分析。然而,飞行控制系统是一个典型的多领域的复杂系统,涉及控制、液压、机械、电学等多个领域,此类精于单一领域建模的平台会导致很多困难,最常见的诸如联合仿真的困难、系统模型不可避免地简化等。
Modelica继承了先前多种建模语言的优势,支持面向对象建模、非因果陈述式建模、多领域统一建模及连续-离散混合建模,以微分方程、代数方程和离散方程为数学表示形式[7-8]。Modelica从原理上统一了之前的各种多领域统一建模机制,直接支持基于框图的建模、基于函数的建模、面向对象和面向组件的建模,通过基于端口与连接的广义基尔霍夫网络机制支持多领域统一建模。
本文讨论了某型飞机飞行控制系统基于Modelica的多领域模型统一构建,并利用试验/试飞数据对模型进行验证。最后,遵循FMI标准,将模型生成代码并下载至工程模拟器,通过工程模拟器对模型进行进一步的验证。
飞行控制系统原理可以概括为:通过传感器测量飞机飞行状态,比较这些状态与预设的命令,由飞行控制计算机解算得到舵面偏转指令,作动系统执行指令后产生相应的舵偏角,通过气动力作用实现飞机姿态的调整,进而使飞机达到预期的状态[9]。其飞行控制原理如图1所示。
图1 飞行控制原理
典型的飞机主飞控系统主要包括:升降舵控制系统、副翼控制系统、方向舵控制系统、扰流板控制系统、水平安定面控制系统等,用于实现飞机俯仰、偏航及滚转控制。
飞行控制模块(Flight Control Module,简称FCM)综合由驾驶舱发出的指令信号以及通过传感器测得的飞机状态信号,进行解算并生成各个舵面偏转指令,通过由作动器电子控制装置(Actuator Control Electronics,简称ACE)和动力控制装置(Power Control Unit,简称PCU)构成的舵回路执行相应的偏转指令。另外,考虑安全性与可靠性,舵回路一般采用多余度设计,如图2所示。
图2 飞控回路示意图
如图3所示以构成PCU的组件弹簧复位压缩缸为例,基于Modelica语言对其进行模型构建:
该组件的行为可以由以下力平衡、流量方程来描述:
在模型的Modelica代码中可以直接对其行为进行建模,其方程代码为:
equation
flange_a.s = x;
A = pi * (D ^ 2 - d ^ 2) / 4;
v = der(x);
a = der(v);
q = -60 * port_a.q * 1000;
v * A = port_a.q * etav;
flange_b.f + flange_a.f = a * m -
fp + fspr;
上述组件模型代码的实现反映了Modelica语言具备陈述式建模的优点。
遵循基于模型的系统设计方法,首先对飞控系统按照系统、子系统、组件进行自顶向下的分解,再基于Modelica语言进行自底向上的模型构建。基于原理构建组件模型,其流程包括理论分析、原型开发、模型优化以及模型测试,如图4所示。
图4 模型开发流程
根据系统原理,结合上述开发过程构建飞控各子系统模型,包括:飞行控制律模块FCM、作动器电子控制装置ACE、作动器动力控制装置PCU等。
飞行控制律模型中包含副翼控制律、升降舵控制律、方向舵控制律、扰流板控制律等,同时包含自动飞行控制系统模型。飞行控制律FCM模型如图5所示。
图5 飞行控制律FCM模型
电子控制装置与动力控制装置构成了飞控作动回路,其中电子控制装置ACE包括指令通道COM、监控通道MON,如图6所示的模型结构。每个通道均包含前馈指令通路与模拟伺服回路,支持在直接模式与正常模式下的不同控制策略。
图6 电子控制装置ACE模型
如图7所示的PCU模型是典型的液压作动器,其接收ACE的指令通过飞机液压系统对其供能执行相应的指令,其模型结构与系统物理拓扑结构一致,也反映出基于Modelica的物理建模在构建多领域物理系统模型的优势。
图7 动力控制装置PCU模型
在上述子系统模型构建完毕后,需要对其进行测试验证,以保证系统模型的功能与性能与实际系统一致或偏差较小。针对FCM、ACE控制算法相关的模型,可以直接通过设定既定的工况对其功能、逻辑进行测试验证。针对PCU模型,需要测试其响应时间、舵面的偏转速率以及其频率特性。
经过模型测试与调整,如图8所示的PCU阶跃响应结果满足系统指标要求。
图8 PCU模型阶跃响应测试(曲线横纵坐标值用x代替)
除时域响应外,频率响应作为执行机构重要的设计要求,应保证PCU的频率特性与实际系统一致。基于系统PCU模型进行扫频试验,将其工况设定为与物理试验一致,并将其频率响应结果与台架试验数据进行对比验证。
图9所示为PCU模型扫频试验结果与指标以及试验数据的对比结果,其中圆形标记点的数据为PCU频率特性的指标范围,菱形标记点的数据曲线为系统台架试验数据,星型数据点的数据为基于模型扫频试验的方式得到的系统模型频率特性曲线,可见,所构建的模型在频域上与实际系统的性能一致,从而完成该子系统模型的测试与验证。
图9 PCU模型频率特性验证(曲线横纵坐标值用x代替)
综合上述构建的主要飞控子系统模型,根据飞控系统原理图,进行系统模型的集成。飞控系统Modelica集成模型如图10所示。
图10 飞控系统Modelica集成模型
基于如图11所示的飞控系统Modelica集成模型进行仿真分析。利用该型飞机已有的试飞数据对其进行一个完整飞行剖面的仿真分析与验证,图11表示仿真分析的过程。
图11 基于试飞数据的模型仿真分析
提取试飞数据中飞控系统的输入数据用作模型的输入,驱动系统模型的仿真求解,得到模型的输出,即各个舵面的偏角,将其与试飞数据中舵面实际偏角进行对比分析,从而验证系统模型的准确性。以某架次试飞数据驱动飞控系统模型,仿真结果如图12所示。
图12 自检阶段仿真分析结果(曲线横纵坐标值用x代替)
图12的仿真结果表示飞机起飞前自检阶段方向舵舵面的偏角曲线,其中红色实线为实际试飞数据的方向舵舵面偏角,蓝色虚线为模型仿真输出,可见在该阶段,模型仿真输出与试飞数据基本一致。
截取仿真结果中某巡航时间段内的数据结果,蓝色虚线的仿真输出与红色实线的试飞数据吻合度较高,趋势一致,但仿真输出的整体波动较试飞数据小,其原因是:一方面通过相应的传感器采集试飞数据时,测量装置本身会存在一些高阶环节,造成数据的小幅振荡;另一方面,实际飞行过程中,由于风载的波动应会造成舵面产生一定频率的振荡,而模型仿真则难以模拟这两方面的影响。因此模型仿真结果必然会比实际试飞数据的波动小。
上述仿真分析表明,基于Modelica构建的飞控系统模型,其置信度较高,可以很好地反映飞控系统部件、以及整体的功能与性能。巡航阶段仿真分析结果如图13所示。
图13 巡航阶段仿真分析结果(曲线横纵坐标值用x代替)
工程模拟器作为飞机进行地面试验的重要设备,其仿真模型的精度直接影响其可靠性。同时,随着飞机设计过程的进展,仿真模型也需要不断更新。实际上可以利用上述经过验证确认的飞控系统Modelica模型生成可以在工程模拟器中运行的实时代码。FMI技术提供了一种代码生成的新技术路径。基于飞控系统的Modelica模型通过FMI技术转换成FMU实时模型,然后将其下载到工程模拟器的下位机。设计与验证的闭环如图14所示。
图14 设计与验证的闭环
通过Modelica中提供的FMU(Functional Mockup Unit)导出功能,遵循如图15的原理将飞控各子系统模型导出FMU,并下载至工程模拟器的实时下位机中,通过工程模拟器的主程序代码对模型代码进行调用,从而完成模型代码的生成与下载。
图15 模型实时代码生成与下载
在工程模拟器中进行实际飞行试验,同时驱动飞控系统原始代码以及由Modelica模型生成的代码,试验过程中,实际输入的主要信号有驾驶盘偏转信号、直接模式开关信号等,如图16所示。
图16 工程模拟器试验输入(曲线横纵坐标值用x代替)
图16所示的测试信号,驾驶盘进行慢速偏转、快速偏转操作,分别进行一个周期,幅值均为满偏。并在此后满偏工况下,分别开启直接模式开关,同时进行模式切换,在上述工况下,针对飞控系统进行试验,采集模拟器输出数据,如图17所示。
图17 工程模拟器试验结果(曲线横纵坐标值用x代替)
图17所示的试验结果,红色实线为原始飞控系统代码运行结果,蓝色虚线为基于Modelica模型生成的飞控系统模型代码运行结果。可见,Modelica模型在代码生成以及工程模拟器应用上是可行的,且其实时性、准确性满足工程模拟器对于模型的要求。
本文提出一套针对飞机飞行控制系统的基于多物理领域统一建模语言Modelica的虚拟样机构建、测试验证以及代码生成的方法。首先,针对某型飞机飞行控制系统,建立了飞行控制律FCM、作动器电子控制装置ACE、作动器动力控制装置PCU等模型,在对各个子系统模型进行充分的测试验证后,对其进行了模型集成。其次,基于实际试飞数据对集成模型进行了仿真分析,验证了所构建模型的有效性。最后,通过对模型进行基于FMI标准的代码生成,将由模型生成的代码应用于该型号飞机工程模拟器。研究与工程应用结果表明,本文提出的针对系统设计建模、仿真分析、代码生成与半物理应用一体化的方法流程贴合研发过程,符合设计人员使用习惯,并充分发挥了模型在设计过程中的价值。仿真示例的分析结果以及工程模拟器试验均验证了该流程方法的有效性。