用户故事

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

挑战

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

解决方案

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

结果

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

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

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

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

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

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

挑战

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

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

解决方案

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

在MATLAB和Simulink中,工程师们金宝app开发了一个控制系统的基本模型,以分析指向性能,或航天器重新定向的精度。

为了创建一个工厂模型,该团队重用了现有的Simulink和Stateflow金宝app®由洛·马太空飞行器集成实验室(SVIL)开发的卫星部件模型。他们将反作用轮、磁转矩棒、恒星跟踪器、太阳传感器和其他组件的模型与环境的Simulink模型结合在一起。金宝app

该团队导出了他们的Simulink控制模型,使用金宝appSimulink Report Generator™创建了一个交互式web视图,并在设计审查期间进行了深入检查。

他们通过使用电厂模型运行闭环模拟,并使用Simulink coverage™对模拟进行模型覆盖分析,验证了初始GN&C设计。金宝app

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

他们使用嵌入式编码器®为这些组件生成C代码,为穆格广达工程公司的抗辐射微处理器及其执行软件添加少量手工生成的“胶水”代码。使用自定义MATLAB用户界面,该团队为每个GN&C飞行软件单元进行了各种Simulink测试用例。金宝app

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

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

结果

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

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

  • 设计更新在一天内完成.博伊尔说:“IRIS投入使用后,我们发现了一些在发射前不为人知的硬件特性。”“为了解释这种硬件行为,我们简单地更新了我们的Simulink模型,重新生成代码,并重新运行我们的单元测试和软件项资格测试。金宝app一天之内,我们就做好了更新系统的准备。”