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工具提前高超声速技术通过研究如何延长燃烧时间和达到更高的速度马赫数为未来可能的任务。