卡索practicos

NASA X-43A超燃冲压发动机使用基于模型的设计实现破纪录的10马赫速度

挑战

设计并自动生成10马赫速度超燃冲压发动机飞行控制软件

解决方案

使用Simulink对控制系统进行建模和验证,使用Simulink Coder自动生成飞行代码,使用MATLAB对飞行后数据进行处理和分析

结果

  • 将开发时间缩短了几个月
  • 准确预测分离间隙
  • 协助获得SEI CMM Level 5过程评级

“我们的自动驾驶仪在第一次尝试时就成功了,这令人惊讶,因为这样的飞行器以前从未飞行过。MathWorks工具帮助我们设计和实现控制系统,使飞行器在整个飞行过程中保持稳定。”

Dave Bose,分析力学协会
X-43A正在创造飞行纪录。

2004年11月16日,美国国家航空航天局(NASA)创造了历史,首次将吸气式高超音速飞行器X-43A送入大气层,速度达到10马赫。X-43A与助推器分离,在超燃冲压发动机的动力下以接近10倍音速(7000英里/小时)的速度在大约11万英尺的高空加速。该实验使NASA验证了呼吸高超声速飞机的关键推进和相关技术。


该项目被称为Hyper-X,是来自多个组织的工程师的合作成果,包括NASA Dryden飞行研究中心、NASA Langley研究中心、分析力学协会(AMA)和波音PhantomWorks。这些团队使用基于模型设计的MathWorks工具为飞行器的推进和飞行控制系统开发和自动生成飞行代码。他们也使用了MATLAB®分析飞行前的假设和飞行后的结果。

黑X-43A
黑色的X-43A悬挂在美国宇航局B-52B母舰机翼下的特殊挂塔上的改良飞马助推火箭的前部。照片由美国航天局。

挑战

NASA的任务是为X-43A及其子系统开发控制,包括飞行控制、推进、执行器和传感器。这些控制将使无人驾驶车辆稳定在半度攻角内,并确保研究车辆和助推器前部的适配器之间有足够的间隙,当两者分离时。工程师们需要在广泛的环境条件和未知的飞行状态下完成该项目。

由于这个独特的项目涉及多个团队和高度复杂的设计,NASA将需要一个通用的建模环境和基于可靠模型的经过验证的设计过程。

随着程序的成熟,系统需求和模型极有可能发生变化,他们还寻求自动化开发,并尽量减少手工编码和调试。

最后,NASA需要有效分析千兆多维遥测数据的工具。
X43-A车辆组件
X43-A车辆部件,包括控制器、执行器和FMU。

解决方案

NASA的制导、导航和控制团队与波音公司和AMA公司合作,为X-43A超燃冲压发动机开发推进和飞行控制规律,并将其集成到机载系统中。所有团队通过使用基于模型的设计和MathWorks工具来合作完成这个项目。

“目前还没有任何软件包可以与MathWorks工具的功能相匹配,”AMA的建模和仿真副总裁Dave Bose说。“从团队的角度来看,选择MathWorks工具真的是一个很容易的决定。”

机载控制系统的设计、仿真与验证

NASA和AMA使用Simulink®设计控制律增益并确保可接受的稳定裕度。Simulink还帮助他们快速完成了模拟阶段,包括在主机上运行蒙特卡洛模拟,并在实时计算机上通过飞行前硬件在环(HIL)测试验证设计。

工程师在Simulink中实现了飞行控制系统的线性模型,并使用控制系统工具箱™来设计回路增益和分析稳定裕度。

在Simulink中,AMA开发了整个车辆和子系统的复杂非线性模型,包括六自由度(6自由度)的工厂环境、带有复杂滤波器的控制系统、高保真的执行器模型和详细的传感器表示。他们使用MATLAB和Simulink将这些模型与实际飞行数据进行协调。

波音公司的系统分析师路易斯·米兰达(Luis Miranda)表示:“在Simulink中构建算法比在Fortran中容易得多,因为你构建的是子系统而不是子程序,这些更直观地组织起来。”“此外,我想不出比使用Simulink模型更有效的交付软件需求的方法了。”

来自AMA和NASA的工程师使用MATLAB和Simulink对分离事件进行建模和模拟,以确保助推器的适配器和研究飞行器没有接触。他们从分离活塞的地面测试中获取传感器数据,并使用MATLAB测量和分析测试数据,并使用优化工具箱™匹配参数与数据。然后,他们利用这些数据在Simulink中开发了一个精确的模型,作为验证仿真和飞行前测试结果的真实模型。

生成C代码并集成到飞行管理单元(FMU)

NASA和波音公司使用Simulink Coder™为X-43A的推进和飞行控制系统自动生成C代码。他们使用该代码对非实时驱动器测试和HIL测试进行了6自由度模拟。自动生成的代码也在搭载X-43A的霍尼韦尔H-764 FMU中运行。

工程师使用Simulink Coder生成头文件、配准文件、参数文件和主算法C文件。由于这些参数很容易获取,他们在测试和飞行当天对飞行控制和推进系统进行了检查。

波音公司使用Simulink和Simulink Coder实现了两个主要测试阶段的自动化:组件测试和HIL测试。他们验证软件需求并执行结构覆盖分析,避免检查自动生成的代码,同时实现透明的验证和验证过程。

波音PhantomWorks的软件工程师Paul Seigman说:“为了进行系统修改,我们更新了Simulink图,自动生成代码,安装生成的代码,然后点击构建按钮。”“我们经历了生产率的显著提高,并避免了手工编码的陷阱。”

对于组件测试,波音公司在将组件集成到嵌入式代码之前,使用Simulink在主机处理器上使用他们的刺激模型运行测试。使用Simulink Coder,他们自动生成C代码,并检查仿真结果和生成代码之间的潜在差异。

对于HIL测试,他们测试了整个软件应用程序的功能,包括在FMU上自动生成的代码。波音公司使用惯性模拟器作为飞行台,将速度数据输入FMU,指示它以不同的速度“飞行”。在HIL测试期间,工程师监控了从助推到分离到溅落的整个飞行轨迹,从FMU总线控制器收集遥测数据,用MATLAB进行后处理。

波音公司还使用Simulink Coder为NASA提供构建更新,以满足飞行器集成和测试的各种里程碑。

Seigman说:“如果没有自动生成的代码,我们不可能为NASA提供如此高效的临时构建,因为控制定律经常变化。”“我们从未在自动生成的代码中发现任何错误,所以我们有信心为NASA创建一个快速原型。”

飞行后数据的分析和后处理

为了准确估计火箭发射后的轨迹,NASA使用MATLAB构建卡尔曼滤波器,去除来自遥测源的噪声,如原始惯性测量、大气条件和来自GPS天线的信息。

为了分析分离事件,NASA使用MATLAB自动化处理大型八维气动数据表,该数据表模拟了适配器和研究飞行器之间的干扰效应。他们用MATLAB绘图和图表将数据可视化。

“数据的规模和复杂性构成了一个严峻的挑战,”美国宇航局(NASA)系统分析师约翰•马丁(John Martin)表示。“如果没有MATLAB,我不可能解决这个问题。”

NASA现在正在使用MathWorks工具,通过研究如何延长燃烧时间,为未来可能的任务实现更高的马赫速度,来推进高超音速技术。

结果

  • 将开发时间缩短了几个月.“用Simulink Coder自动生成代码为我们节省了几个月的时间,”Seigman解释道。“如果我们必须手写所有的代码,我不相信我们会赶上最后期限。”

  • 准确预测分离间隙.马丁解释说:“因为我们的动画软件包不能告诉我们在分离过程中适配器和车辆的距离有多近,所以我们无法设计出最大限度的间隙的控制策略。”“我们用MATLAB轻松计算出了接近度,我们的后处理结果证明了我们的预测是准确的。”

  • 协助获得SEI CMM Level 5过程评级.Seigman解释说:“由于我们制定飞行代码的严格过程,我们在这个项目中被评为SEI第5级。”“我们使用自动生成代码的组件和HIL测试作为我们的过程改进之一,这满足了第5级标准。”

2022世界杯八强谁会赢?产品使用

Comparte涂exito

Únete al客户参考计划

Baidu
map