基于模型设计的韩国航速无人机飞行控制软件开发与验证

挑战

开发和验证无人机飞行控制软件

解决方案

使用基于模型的设计来设计和模拟飞行控制律和操作逻辑,生成和验证生产代码,并进行HIL测试

结果

  • 100%的手写代码运行时错误得到识别和消除
  • 开发工作量减少60%
  • 尽量减少昂贵的飞行试验

“MATLAB和Simulink实现的模型重用和效率改进节省了时间并降低了成本。我们估计,与手工编码相比,基于模型的设计可以节省50%万博1manbetx以上的时间,并且基于模型的设计的优势随着项目的复杂性而增加。”

韩国航空公司
一种韩国无人驾驶飞行器。

为无人机(uav)开发高完整性飞行管理和控制软件的工程师在整个开发过程中使用各种技术,包括仿真、单元测试、正式测试和半实物(HIL)仿真,对软件进行验证。在大韩航空,工程团队通过基于模型的设计,加快了这些验证步骤,以及无人机飞行控制软件的整体开发。

“基于模型的设计使我们的团队能够建立一个可用于多个无人机平台的流程。这个过程包括对系统进行建模和模拟,自动生成生产代码,并验证我们生成的和手写的代码没有运行时错误,”大韩航空高级飞行控制系统工程师Jungho Moon说。“因此,我们在开发早期消除了潜在的关键错误,提高了开发效率,并降低了开发成本。”

挑战

过去,大韩航空工程师手工编写无人机飞行控制软件。该公司指出了这种方法的几个缺点,特别是当一个飞行控制系统针对多个无人机平台时。首先,团队开发的算法过于复杂,无法用C语言手工编程。其次,他们需要能够快速部署硬件规格变化和最新的控制算法。第三,手工代码检查和单元测试需要太多的时间和精力来完成。

大韩航空为了满足飞行试验和认证的不可更改的期限,需要模拟设计模型,自动生成代码,验证生成的代码和手写代码,从而缩短开发时间。

解决方案

韩国航空公司使用基于模型的设计开发了其新的无人机飞行控制软件。

在开发的早期阶段,工程师开发了Simulink万博1manbetx®建模以细化和验证高层次的需求。

工程师使用Aerospace Blockset™开发了无人机的动态模型,包括用于模拟自动起飞和降落的起落架动力学。后来,他们使用系统识别工具箱™估计模型参数的飞行动力学和性能验证。

该团队使用鲁棒控制工具箱和控制系统工具箱设计飞行控制律来计算最优控制增益。

飞行管理和控制系统,包括自动着陆制导子系统,在Simulink和Stateflow中建模万博1manbetx®

在运行了桌面仿真来验证飞行控制规律和收集控制响应数据之后,他们在MATLAB中分析了结果和飞行测试结果®

使用Simu万博1manbetxlink Check™和Simulink Coverage™,工程师进行定期检查,以确保模型符合公司的建模标准(基于MAAB指南),并为他们的测试套件测量100%的MC/DC模型覆盖率。

该团队使用Embedded Coder从他们的模型生成了超过45000行源代码®.他们将C代码与手写的硬件驱动程序代码集成在一起,并重用模型覆盖率的测试用例,以衡量100%的MC/DC代码覆盖率。

使用Polyspace Code Prover™,该团队检查了所有代码的运行时错误,识别了他们随后更正的手写代码中的几个错误。在生成的代码中没有发现运行时错误。

该团队使用Simulink real-time™进行了实时HIL模拟。万博1manbetxHIL模型包含飞行控制和飞行动力学子模型中的11000多个模块,用于创建无人机操作员训练模拟器。

韩国航空工程师向认证机构提供了Simulink Check生成的MC/DC覆盖报告和Polyspace Code Prover生成的Simulink覆盖和测试报告。万博1manbetx

韩国航空按时完成研制,无人机已获得韩国政府的适航认证。

结果

  • 100%的手写代码运行时错误得到识别和消除.“Polyspace Code Prover对于开发安全软件和消除飞行中可能发生的关键错误至关重要,”Moon说。“Polyspace在我们的手写代码中发现了数十个除以零和溢出错误,并证明了Embedded Coder生成的代码中没有运行时错误。”

  • 开发工作量减少60%“我们用MATLAB和Simulink开发的软件比我们手工编写的项目具有更多的功能和验证覆万博1manbetx盖率,”Moon说,“模型重用、代码生成和基于模型的设计减少了测试时间,使开发工程师的工作时间减少了60%。”

  • 尽量减少昂贵的飞行试验“单次飞行试验的费用可能超过10000美元,”Moon说。“通过基于模型的设计,我们知道,如果我们进行了正确的模拟,无人机将能够正确飞行。例如,自动驾驶仪的性能和功能可以通过之前所需飞行试验次数的三分之一进行验证。”