美国宇航局的X-43A超燃冲压发动机采用基于模型的设计,实现了破纪录的10马赫速度

挑战

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

解决方案

用Sim金宝appulink对控制系统进行建模验证,用Simulink编码器自动生成飞行代码,用MATLAB对飞行后数据进行处理分析

结果

  • 减少开发时间数月
  • 准确预测的分离间隙
  • 帮助实现SEI CMM级别5过程评级

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

戴夫·波斯,分析力学协会
X-43A正在刷新飞行记录。

2004年11月16日,美国国家航空航天局(NASA)史无前例地将X-43A火箭发射到大气层,实现了10马赫的速度。X-43A脱离了它的助推器,在超燃冲压发动机的动力下,在大约11万英尺的高空以近10倍音速(7000英里/小时)的速度加速。该实验使美国宇航局能够验证呼吸式高超音速飞机的关键推进和相关技术。


这个被称为Hyper-X的项目是由来自不同组织的工程师共同努力完成的,包括NASA德莱顿飞行研究中心、NASA兰利研究中心、分析力学协会(AMA)和波音幻影工厂。这些团队使用MathWorks工具进行基于模型的设计,为飞行器的推进系统和飞行控制系统开发和自动生成飞行代码。他们还使用了MATLAB®分析飞行前的假设和飞行后的结果。

在修改的飞马火箭推进器前部的黑色X-43A乘坐从特殊挂架挂NASA的B-52B母船机翼下。NASA供图。

挑战

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

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

具有高可能性的系统需求和模型将作为成熟的程序改变,他们也力求自动化发展,尽量减少人工编码和调试。

最后,NASA将需要有效地分析多维遥测千兆字节的数据工具。
X43-A车辆组件,包括控制器,致动器,和FMU。

解决方案

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

“目前还没有任何软件包能够与MathWorks工具的能力相匹配,”Dave Bose说,他是AMA建模和仿真部门的副总裁。“从团队的角度来看,选择MathWorks工具真的是一个简单的决定。”

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

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

工程师实施了飞行控制系统的线性模型在Simulink和使用控制系统工具箱™设计环路增益和分析稳定裕度。金宝app

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

“在Simulink中构建算法要比在Fortra金宝appn中容易得多,因为你构建的是子系统而不是子程序,而且它们的组织更直观,”波音公司的系统分析师路易斯·米兰达说。“而且,我想不出比使用Simulink模型交付软件需求更有效的方法了。”金宝app

美国航空航天协会和美国宇航局的工程师使用MATLAB和Simulink对分离事件进行建模金宝app和模拟,以确保助推器的适配器和研究飞行器不会接触。他们从分离活塞的地面测试中获取传感器数据,并使用MATLAB测量和分析测试数据,优化工具箱™将参数匹配到数据。然后,他们利用这些数据在Simulink中开发了一个精确的模型,作为验证模拟和飞行前测试结果的真值模型。金宝app

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

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

工程师使用Simulink编码金宝app器来生成头、注册、参数和主算法C文件。因为这些参数很容易获得,他们在测试和飞行当天检查了飞行控制和推进系统。

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

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

对于组件测试,在将组件集成到嵌入代码之前,波音使用Simulink在主金宝app机处理器上使用刺激模型运行测试。然后使用Si金宝appmulink编码器自动生成C代码,并检查模拟结果和生成的代码之间的潜在差异。

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

波音公司还使用Simulink编码金宝app器为NASA提供构建更新,以满足车辆集成和测试的各种里程碑。

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

分析和处理飞行后的数据

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

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

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

NASA目前正在利用MathWorks工具提前高超声速技术通过研究如何延长燃烧时间和达到更高的速度马赫数为未来可能的任务。

结果

  • 减少开发时间数月。“自动生成代码Simulink的编码器为我们节省了数月,” Seigma金宝appn解释。“我不相信我们会达到我们的最后期限,如果我们不得不写我们所有的手工代码。”

  • 准确预测的分离间隙。“因为我们的动画软件不能告诉我们如何接近适配器和车辆将分离的过程中来,我们不能设计控制策略,最大限度的间隙,”马丁说。“我们用MATLAB很容易计算出来的接近,我们的后处理结果验证了我们的预测是准确的。”

  • 帮助实现SEI CMM级别5过程评级。“在我们严格的飞行代码开发过程中,这个项目我们被评为SEI 5级,”Seigman解释说。“我们使用我们的组件和自动生成代码的HIL测试作为我们的流程改进之一,它满足了5级标准。”