ANSYS SCADE的无人飞行系统研发

编辑推荐:

本文介绍了小型工程团队如何使用ANSYS SCADE完成无人飞行系统12.5万行控制代码的设计、验证、生成和集成工作,希望对您有所帮助。

本文来自e-works,由火龙果软件Alice编辑,推荐

无人飞行系统(UAS)在情报、监视和侦察(ISR)任务方面的应用已呈现爆炸性增长。随着无人飞行系统的价值不断提升,这一增长丝毫没有显示放缓的迹象。UAS 领域在开发自动控制航空器方面必须解决一系列关键技术和人力难题。来自比亚乔航空公司的工程师面临着将公司的传统载人P.180 Avanti II 行政喷气机改造成UAS的挑战。该航空器的指挥控制架构需通过第一代要求的认证,同时按照设计路线图的要求能够在将来不断扩充功能,从而为不同配置提供支持。为了限制经费并在很短的时间内取得成功,这项工作必须由数量严格受限的工程师来完成。比亚乔的工程师通过使用新的开发流程实现了上述目标,在该开发流程中,工程师从头创建了全新的ANSYS SCADE模型,或在有Matlab/Simulink? 模型可用的情况下,使用SCADE Suite Gateway for Simulink将其转换成ANSYS SCADE 模型。

首次飞行中的P.1HH HammerHead

工程师根据SCADE 模型,使用SCADE KCG 资格认证代码生成器自动生成嵌入式源代码。然后先后在模型阶段、主机以及目标环境中连续测试航空器控制管理系统(VCMS),即执行航空器命令和控制的数字基础设施,这样工程团队就能够尽早地发现问题并加以更正。

比亚乔航空工业公司是一家总部位于意大利热那亚的跨国航空航天制造公司。该公司从事航空器、航空发动机和航空器结构组件的设计、开发、建造和维护工作。比亚乔最新开发的P.1HH HammerHead 无人机采用两台普拉特·惠特尼加拿大(Pratt &Whitney Canada)公司生产的PT6-66B涡轮螺旋桨发动机,能为任何侦察和安保需求提供顶级对峙能力(在一定距离上部署)。该VCMS 可用于管理飞行控制、推进、发电和配电、起落架、制动、结冰检测和防护、导航和通信系统。使用分区技术创建分隔环境,可让每种功能的软件应用都在其中运行而彼此又不会产生干扰,进而避免造成故障扩散。

VCMS架构

软件开发要求

在项目的开始几个月里,团队先开发发动机和飞行控制规则;同时项目组还制定了针对嵌入式软件的其它要求。VCMS 的高级要求以多种不同格式提供。系统工程师还以文本方式采集了一些有关功能、界面和冗余等方面的要求。其它要求则以文本方式从诸如P.180飞行员操作手册等操作指南中摘录。驾驶该飞机所涉及的控制规则、算法和方程则在MathWorks? Simulink 中完成编写、仿真和验证。随后在IBM? Rational?DOORS? 要求管理环境中生成各项要求。此外,测试案例也在DOORS 中完成编写,并使用SCADE 要求管理网关连接到操作要求。最后针对每个测试案例定义测试步骤和预期结果。

P.1HH开发流程

对该项目而言, 软件必须符合DO-178B 标准,即FAA、EASA 和其它认证机构用于认证所有航空电子软件的事实标准。由于SCADE 能够从模型自动生成源代码,并最大限度地减少验证对应于系统模型的源代码的工作量,因此比乔亚选择ANSYS SCADE 作为VCMS 的开发环境。ANSYS SCADEKCG 代码生成器是经DO-178B 认证的开发工具,因此代码对应输入模型的一致性非常可靠,无需在编码阶段开展验证工作。SCADE 基于模型的方法可帮助系统工程师为每一项功能自动建模,并在制作真实硬件之前在主机上检查其性能状况。

SCADE模型验证流程

创建模型

在有文本文档的情况下,SCADE 模型是由工程师根据功能要求彻底从头创建而成,而在有可用的Simulink 模型的情况下,SCADE 模型则是通过SimulinkGateway 自动创建而成。SCADE 要求管理网关可用于连接要求和SCADE 模型中的嵌入式系统。工程师采用SCADE 语义检查器来验证模型的语义。问题的发现和解决均在PC 环境中的主机上完成,而非在成本和复杂程度更高的目标硬件环境中进行。有一小部分代码(主要是输入/ 输出等低级代码)是使用传统方式在C语言环境中完成开发的。

为确保Simulink 模型正确地转换到SCADE 环境中,需要将Simulink 测试矢量转换到SCADE 环境。测试案例则被转换到SCADE 输入情景中。随后在Simulink 和SCADE 上同时运行测试矢量,并对比结果,以确保转换后的SCADE 模型具备与原始Simulink 模型相同的功能行为。

软件验证

DO-178B认证标准需要证明,由测试矢量执行的功能测试可全面覆盖整个模型功能。SCADE Model TestCoverage 工具可用于检查模型覆盖情况并发现未被覆盖的区域。此外工程师还设计和开展了更多测试,以提供所需的覆盖范围。

随着模型数量及各模型输入数量不断增多,验证工作量也呈指数增加。在项目初期阶段,测试矢量的生成、验证和配置曾存在问题。SCADELifeCycle 资格认证测试环境(QTE)可在主机环境中自动运行测试、比较预期值的结果并突出显示任何误差,从而解决了上述问题。

工程师在目标计算机上也执行了类似工作,同时把测试矢量发送到模型生成的可执行代码中。比乔亚的工程师编写了一个简单的测试应用工具,该工具能够在目标计算机上运行并发挥与QTE类似的作用。具体做法是先使用SCADE输入情景运行该应用,然后将得到的结果与在主机上使用相同应用和输入所生成的输出进行比较。

系统集成

把用于处理VCMS 各项不同功能的模型逐步集成到主机上以构建虚拟VCMS,从而在系统集成之前就提前检查应用的互操作性。该验证工作的目的是:在实际硬件上执行系统集成之前发现并解决大部分集成问题。这样,在系统集成阶段发现的问题数量就会大幅减少,而且其原因将主要是硬件/ 软件/ 子系统集成问题,而非设计错误。当系统集成完成,且最终测试执行结束后,来自实际测试的数据将被馈送到测试矢量中,用于进一步验证模型。

整个项目从系统工程师直接执行模型开发开始,到构成VCMS 的12.5 万行源代码的编译、集成和验证完成,总共用时大约18 个月。工作小组以全职成员计算,规模不超过20 名工程师(系统和软件)。为实现该项目颇具挑战性的目标,他们从设计阶段初期起就开始紧密协作,直至最终系统集成成功完成。最终,该VMCS 的开发及验证时间仅为采用纯手动编码所需时间的三分之一左右。

该无人机于2013 年11 月成功完成首次飞行,此时距项目启动不足两年时间。VCMS 运行得非常成功。P.1HH 的配置将随着后续补充软件版本的发布而不断丰富,新增功能将使P.1HH 具备更多的任务能力。

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章