美国宇航局 (nasa) 发射月球大气与粉尘环境探测器 (ladee) ,用来采集关于月球粉尘环境的密度、组成和变异性的信息。机载光谱仪和其他仪器采集的数据和月球粉尘将会帮助研究人员了解月球和太阳系中的其他天体。
为了在有限的项目成本和时间条件下开发航天器的飞行软件,美国宇航局艾姆斯研究中心的工程师采取了一种基于模型设计的低成本、快速原型方法。
nasa ladee航天器贴近月球表面环绕的艺术渲染图。
图像由 nasa 提供。
ladee 飞行软件负责人 karen gundy-burlet 博士表示:“在simulink中对航天器的高级控制功能进行建模和仿真,然后利用这些模型生成 c 代码,最大限度地减少了算法设计人员与软件开发人员之间的沟通差错。基于模型的设计使得我们能够在早期确定需求原型,并在开发的初期阶段进行验证和确认。”
挑战
ladee 在其设计和任务周期面临几个挑战。首先,ladee 有各种可能的发射轨迹。其次,负责完成探测任务的仪器需要高度精确的定点,月球环境条件也需要航天器在轨道内进行频繁的滚动和翻转。
为应对这些挑战,nasa 工程师想要在开发流程的早期就对众多任务场景和故障条件进行仿真。为帮助满足 nasa 对软件开发的程序性要求,他们需要在需求、模型、测试和测试结果之间建立双向可追溯性。
解决方案
美国宇航局艾姆斯研究中心使用基于模型的设计,借助matlab和simulink开发了用于 ladee 航天器的机载飞行软件。经过一系列的构建周期开发工作才得以完成,其中每个周期都由建模、仿真、代码生成和测试组成。
美国宇航局艾姆斯研究中心的工程师使用simulink开发了飞行软件的模型,包括用于飞行姿态控制、电源管理、热控制、导航、通信和指令处理的不同模型。该团队还开发了 ladee 航天器的simulink模型,包括它的推进系统、环境和引力场。这些模型确保了飞行软件可以在现实环境条件下被快速开发。
使用simulink verification and validation,该团队确认模型遵循他们自定义的建模指导原则,这些原则衍生于 maab (mathworks automotive advisory board) 指导原则。
在simulink中运行单元级的仿真以确认子系统满足要求之后,该团队使用simulinkcoder和embedded coder从他们的 simulink 控制器模型中生成了 26,000 多行 c 代码。
为捕捉任何设计错误,工程师使用了polyspace bug finder和polyspace code prover对生成的代码执行静态分析。
使用simulink coder,他们从被控对象模型中生成了代码,以便进行处理器在环 (pil) 和硬件在环 (hil) 测试。他们将自己的控制器代码与 nasa 的 core flight executive (cfe) 和 core flight system (cfs) 软件包集成,并将其部署到 broad reach powerpc 处理器。
该团队开展了大量的实时、系统级 pil 和 hil 测试,包括环月轨道进入、任务序列、科研任务和故障管理情形。
该团队在整个项目范围内使用simulink report generator,依照 npr 7150 规范跟踪需求和每个需求的测试结果。
他们按预定时间和成本估算完成了软件开发。
与使用基于模型的设计相比,手工编码飞行软件需要更长时间,使协作变得更加困难。管理者和硬件子系统工程师了解 simulink 模型,很容易达成共识,因为每个人都知道在软件中怎么运作。
——karen gundy-burlet 博士
美国宇航局艾姆斯研究中心
结果
模型被重用于训练和指令验证。gundy-burlet 表示:“我们使用源自 simulink 模型的仿真来训练我们自己进行任务操作。另外在我们将指令信号发送到航天器之前,我们使用源自模型的仿真,验证指令信号是否已完成其预期要做的事情,并在将指令信号发送到航天器之前确保没有负面的意外后果。
飞行软件在轨道中无缝更新。gundy-burlet 称:“在执行任务过程中,我们发现了航天器的星体跟踪仪问题和一些较小的软件问题。我们在 simulink 中更新了造成这些问题的状态估测模型,重新生成了代码,在新软件上运行了有针对性的测试组件,并将其上传到航天器,航天器又飞行了一个月,再没有发现其它缺陷。
改进了形式化代码检查过程。gundy-burlet 指出:“polyspace code prover 识别出了我们生成的代码中的死代码以及我们手工编写代码中的问题。它还识别了没有错误的代码,以及需要我们密切注意的代码。利用这些结果,我们在形式化检查过程中对代码进行了有针对性的评估。
安培显卡对比新主机,哪款成本更低?
c语言中结构体有联合体的区别
远程控制:智慧煤矿Web 2D可视化组态系统
静脉识别到底是怎样的情况
科学家通过脑机接口读取大脑特定神经信号实现“意念操作”
关于基于模型的设计开发月球探测器的机载飞行软件分析和介绍
怎样兼得智能家居的好处和安全
一文看懂蓝牙网关的数据抓取和数据传输
索尼PS5主机目前不支持蓝牙音频设备
一文详解卫星天线安装的快速定位
LT1111 3V 至 5V 升压型转换器
IGBT模块电磁兼容性设计
通讯终端、集成电路、IC芯片等中电磁干扰解决方案
苹果正在研发超声波显示屏指纹扫描仪
京东方三季度面板价格全线上涨
推荐10个公认最好用的自动化连接器产品
诺基亚7.2渲染图曝光 背面后置摄像头采用三摄圆形相机模块并且采用后置指纹方案
如何区分电位器与可变电阻器
微型节能无线电使物联网世界变得更加可能
骁龙835手机性价比大比拼!一加5/小米6/努比亚Z17/三星S8对比评测:谁更值得入手?