用户故事

为自主编队飞行开发卫星制导、导航和控制软件

挑战

开发低成本卫星GNC系统,实现自主编队飞行、交会和小团队近距离操作

解决方案

使用基于模型设计的MathWorks工具对GNC算法进行建模,执行实时仿真,并生成生产飞行代码

结果

  • 开发时间减少50%
  • 支持早期验证和测试重用
  • 跨部门协作的简化

“传统上,控制工程师使用文本和图表来指定需求,由其他人来编写软件代码。在基于模型的设计中,我们消除了这一步。从概念到执行,我们与模型一起工作,我们有自动生成的代码在太空中飞行。”

Ron Noteborn OHB

计划中的太空任务通常依赖于自主编队飞行,即一个航天器接近或与另一个航天器一起飞行。由OHB AG (OHB)与法国和德国空间机构以及丹麦技术大学合作领导的Prisma项目测试和验证了先进自主编队飞行的制导、导航和控制(GNC)战略。

OHB的工程师使用基于模型的设计来开发GNC算法,运行系统级实时闭环仿真,并为Prisma的两颗卫星Mango和Tango生成飞行代码。他们通过重用MATLAB启动了这个项目®和仿真软金宝app件®以前开发的模型探测卫星

OHB首席工程师Ron Noteborn说:“我们在MATLAB中评估了不同的GNC算法概念,然后迅速转向Simulink模型进行仿真。”金宝app“这些模型演变成完整的飞行模型,我们在Simulink工厂模型的闭环仿真中进行了验证。金宝app从那里,只需点击一下鼠标,就可以生成飞行代码。”

挑战

Prisma将展示自主编队飞行和自主会合(芒果从10公里到10米以内接近探戈)和接近操作(距离接近1米)。

OHB需要开发全新的GNC算法,以利用卫星的先进传感器和推进系统。

OHB的姿态轨道控制系统工程师Robin Larsson说:“由于飞船上的推进剂数量有限,我们需要在开始太空实验之前验证我们的系统是否能正常工作。”

OHB工程师需要与法国和德国的工程师合作,将他们的Simulink模型和C代码集成到完整的GNC系统中。金宝app

解决方案

OHB工程师使用基于模型设计的MathWorks工具对GNC系统进行建模和仿真,执行实时闭环仿真,并生成生产飞行代码。

OHB将GNC的设计划分为编队飞行、交会和近距离操作。他们在MATLAB中测试和分析算法思想,然后在Simulink和statflow中建模金宝app®在闭环仿真中验证算法。

OHB工程师编写MATLAB脚本,从电子表格中导入模块接口数据,并为每个系统模块自动创建一个具有匹配接口和信号总线的Simulink模型。金宝app脚本还用于验证已完成模块上的接口。

该团队在Simulink中进行了闭环模拟,以验证GNC算法。金宝app这些模拟测试了工厂模型的单个组件,以及由协作机构贡献的多个子系统组成的集成系统。

使用Simu金宝applink Coder™和Embedded Coder®, OHB工程师从他们的GNC模型和工厂模型生成代码。他们将工厂代码部署到Simulink Real-Time™,并为金宝app机载目标LEON2处理器编译GNC代码。OHB随后对Simulink Real-Time系统和LEON2控制器进行了硬件在环测试,验证了算法的实时性。金宝app

随着卫星硬件的可用,该团队用真实的传感器和驱动器替换了工厂模型的部分,并重新进行模拟。这导致了一个具有最大飞行HIL量的测试设置,包括机载计算机和受射频信号刺激的GPS接收器。为了预演实际任务飞行操作和验证飞行命令序列,OHB在Simulink Real-Time上对工厂模型进行了仿真。金宝app

OHB工程师使用MATLAB编译器建立独立的应用程序来显示和分析卫星飞行数据。即使没有安装MATLAB, OHB工作人员也可以使用这些应用程序为卫星操作做准备。

OHB的工程师正在为第三个项目重复使用Prisma模型:小型GEO,一个通用的地球同步卫星平台。

结果

  • 开发时间减少50%。“使用基于模型的设计来开发和验证我们的算法比手工编码快50%,”Noteborn说。“通过重复使用70%的SMART-1姿态控制模型,我们几乎完全节省了这些部件的开发时间。”

  • 支持早期验证和测试重用。“我们有四个级别的验证,从Simulink中的桌面模拟到使用Simulink Real-Time和目标硬件上的飞行命令序列的HIL测试,”Larss金宝appon说。“我们很早就进行了测试,然后在整个开发过程中重复使用这些测试。这种方法确保了一致性和可重复性。”

  • 跨部门协作的简化。“我们将来自其他机构的C代码作为s函数合并到我们的Simulink仿真中,这样我们就可以在完整的系统中验金宝app证它们,”Noteborn说。“我们还与其他机构的同事交换Simu金宝applink模型。用Simulink框图比用C代码更容易理解其他工程师的设计如何工作。”金宝app