用户故事

洛克希德·马丁空间系统公司采用基于模型的设计为IRIS卫星开发GN&C系统

挑战

研制界面区域成像光谱仪(IRIS)观测卫星制导、导航和控制(GN&C)系统

解决方案

利用MATLAB和Simulink进行基于模型的设计,对GN&C系统和IRIS万博1manbetx卫星的组件进行建模,进行闭环和处理器在环仿真,生成产品代码

结果

  • 开发效率翻倍
  • 生成高效、无缺陷的代码
  • 在一天内完成设计更新

一个由四名工程师组成的团队在短短23个月内设计、集成并测试了GN&C系统。我们的效率更高,因为我们使用相同的工具进行分析和代码开发,并生成了20,000行无缺陷代码。对我们来说,这为基于模型的设计提供了一个引人注目的案例。”

Vincentz Knagenhjelm, GN&C工程师,洛克希德·马丁空间系统公司
虹膜天文台。

界面区域成像光谱仪(IRIS)目前在地球轨道上,它在那里捕捉太阳的紫外线光谱和高分辨率图像。这些图像将帮助科学家更好地了解太阳大气最低层的能量和等离子体流动。

IRIS由洛克希德·马丁空间系统公司设计和建造,有效的空间分辨率为0.33弧秒,使其能够提供前所未有的太阳色球层和过渡区域的视图。为了获得这些高分辨率的图像,IRIS依赖于精确的制导、导航和控制(GN&C)系统,该系统由洛克希德·马丁空间系统公司使用基于模型的设计和MATLAB开发®和仿真软万博1manbetx件®

洛克希德·马丁公司GN&C首席工程师Bob Dougherty表示:“基于模型的设计使我们的小团队能够在严格的期限内完成飞行软件的交付。“该软件在轨道上运行完美,该项目突显了我们建造低成本、低风险航天器的能力。”

挑战

在过去的类似项目中,洛克希德·马丁公司的工程师们制作了大量的算法设计文件,有些文件长达1000多页。程序员根据他们对这些文档的解释手工编写代码。整个过程很慢,有时在手工编码过程中会引入缺陷。

由于只有23个月的计划用于软件设计、集成和测试,团队需要显著地加快软件交付过程。为了实现这一目标,他们试图用自文档设计代替详细的算法设计文档,重用现有的卫星硬件工厂模型,用自动代码生成代替手工编码,并使用单一的环境进行分析和软件开发。

解决方案

洛克希德·马丁公司的工程师通过使用基于模型的设计加速了IRIS GN&C飞行软件的开发。

在MATLAB和Simulink中,工程师们万博1manbetx开发了一个控制系统的基本模型来分析指向性能,或者航天器重新定向的准确性。

为了创建一个工厂模型,团队重用了现有的Simulink和statflow万博1manbetx®由洛克希德·马丁空间飞行器集成实验室(SVIL)开发的卫星部件模型。他们将反作用轮、磁扭力棒、恒星跟踪器、太阳传感器和其他组件的模型与Simulink环境模型相结合。万博1manbetx

该团队导出了他们的Simulink控制模型,使用万博1manbetxSimulink Report Generator™创建一个交互式的web视图,该视图在设计审查期间被深入检查。

通过使用工厂模型运行闭环仿真,并使用Simulink coverage™对仿真进行模型覆盖分析,他们验证了最初的GN&C设计。万博1manbetx

他们与MathWorks Pilot Engineering Group合作,将其初始飞行软件GN&C模型划分为多个组件,包括姿态控制器、反作用轮控制器和姿态确定模块。每个组件对应于飞行代码中的一个软件单元。

他们使用嵌入式编码器®为这些组件生成C代码,为Moog Broad Reach Engineering的抗辐射微处理器及其执行软件添加少量手工生成的“胶水”代码。使用定制的MATLAB用户界面,团队对每个GN&C飞行软件单元进行了各种Simulink测试用例。万博1manbetx

SVIL工程师在工厂模型中添加了集成层,并使用Embedded Coder生成C代码,部署到实时计算机中进行处理器在环测试。

在运行了实时测试并在Simulink中优化了设计之后,该团队为生产的RAD750处理器生成了大约20,000行代码。万博1manbetxGN&C系统已经在IRIS上运行,IRIS已经在提供高分辨率图像和光谱数据。

结果

  • 开发效率翻倍.GN&C软件工程师Phil Boyle说:“我们测量了开发人员每小时的等效源代码行数,发现基于模型的设计比手工编写飞行软件的效率要高两到三倍。”“这不仅适用于IRIS项目,也适用于我们使用基于模型设计的其他项目。”

  • 生成高效、无缺陷的代码.博伊尔说:“10年前,我们尝试使用自动代码生成,但在使用之前,代码必须重做。”“相比之下,我们使用Embedded Coder为IRIS生成的代码不仅没有缺陷,而且效率很高。”

  • 在一天内完成设计更新.“IRIS投入运行后,我们发现了一些在发射前未知的硬件特性,”Boyle说。“为了考虑到这种硬件行为,我们只需要更新我们的Simulink模型,重新生成代码,并重新运行单元测试和软件项目确认测试。万博1manbetx一天之内,我们就准备好了一个更新的系统。”