用户故事

研究人员用基于MATLAB的模拟器测试NASA SPHERES卫星的控制算法

挑战

为卫星编队飞行、自主交会和对接算法提供调试和测试平台

解决方案

使用MATLAB和Simulink仿真和3D可视化验证控制算法,并评估国际空间站上的测试结果

结果

  • 仿真验证算法
  • 实验结果3D可视化
  • 开启独特的教育机会

对于NASA来说,用MATLAB和相关工具箱开发卫星轨迹优化和控制算法的速度大约是用需要从头编码的语言开发的两倍。

美国国家航空航天局的球体
三个球体在国际空间站自由漂浮。

成功执行诸如编队飞行、对接和自主交会等航天器机动需要复杂的控制算法。在实际运行条件下对这些算法进行测试国际空间站在美国,科学家使用同步位置保持、参与、调整、实验卫星(球体)装备了推进、传感器、通信和处理系统。

为了充分利用空间站有限的测试时间,科学家们首先使用MATLAB开发的模拟器在地面上调试和验证他们的算法®和仿真软件®.因为大多数为SPHERES开发算法的科学家都有MATLAB的经验,他们可以快速上手并轻松添加新功能——例如,支持新的传感器或额外的硬件。

挑战

在空间站上,时间是宝贵的资源,因此宇航员必须在研究与必要的维护和操作活动之间取得平衡。SPHERES实验通常以4小时为一组。安装和拆卸过程通常消耗第一个和最后一个小时,只留下两个小时进行实验。该团队希望充分利用有限的测试时间,让地面上的科学家和空间站上的宇航员通过模拟测试和调试算法。

直到最近,科学家们还依靠视频来监控空间站实验。低分辨率的视频只提供了一个视角,很难看到卫星的三维运动。遥测数据虽然对后处理分析有用,但无法实时获取。该组织希望使地面上的科学家和空间站上的宇航员能够从多个视角看到卫星的运动。

解决方案

科学家们使用NASA艾姆斯研究中心维护的基于MATLAB和Simulink的模拟器来验证算法,然后在空间站上进行测试。他们使用Simulink 3D动画™可视化SPHERES实验的结果。

SPHERES模拟器由麻省理工学院(MIT)开发,使用MATLAB、Simulink、Aerospace Toolbox和Aerospace Blockset™对三颗SPHERES卫星在微重力条件下的动力学和运动进行建模。该模拟器包括卫星传感器、推进系统和一个定位系统的子模型,该系统使用红外和超声波技术在空间站测试区内精确定位卫星的位置。

为了使用模拟器,研究人员创建了客座科学家程序(GSP)模块,这是C/ c++代码中控制算法的实现,无需修改就可以在模拟器和SPHERES处理器中使用。模拟器通过一个mex文件接口访问C/ c++代码。科学家可以直接在C/ c++中编写GSP模块,也可以在MATLAB或Simulink中开发它们,并使用嵌入式编码器®生成C/ c++代码。

研究人员通过模拟测试了他们的控制算法。许多人在调试代码时使用MATLAB对结果进行后处理。

NASA艾姆斯的团队与位于休斯顿的NASA约翰逊航天中心合作,在空间站的笔记本电脑上安装MATLAB、Simulink和相关产品。2022世界杯八强谁会赢?MATLAB和Simulink通过了严格的安全性、性能和可靠性审查,并获准在空间站上使用。

笔记本电脑接收来自SPHERES的遥测数据,并使用MATLAB和Simulink 3D动画制作现场实验的3D动画。空间站的工作人员和地面上的研究人员可以控制这个动画,改变视角和其他参数,以便在整个测试过程中更好地可视化卫星的运动。

正在计划在SPHERES调查期间在空间站笔记本电脑上使用MATLAB和Simulink进行实时轨迹规划。

结果

  • 仿真验证算法.由于在空间站上的测试时间有限,NASA的科学家们通过地面模拟来测试和改进他们的想法。MATLAB和Simulink模型捕获了卫星及其环境的所有相关特征,因此科学家们有信心,如果代码在模拟中有效,它将在现实世界的测试中有效。

  • 实验结果3D可视化.此前,科学家们很难确定SPHERES卫星是否像预期的那样运行,因为它们只有颗粒状的视频。利用MATLAB和Simulink 3D动画,他们可以立即看到卫星的运动,并根据需要做出改变。

  • 开启独特的教育机会.MATLAB和Simulink模拟器对于零机器人(Zero Robotics)是至关重要的。零机器人是由麻省理工学院(MIT)举办的一项竞赛,在该竞赛中,高中生们创建并模拟C算法,用SPHERES卫星解决特定的挑战。获胜者的代码将在空间站上的工作人员进行的现场锦标赛中使用。

Baidu
map