用户故事

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

挑战

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

解决方案

使用MATLAB和Simuli万博1manbetxnk仿真和三维可视化来验证控制算法并评估国际空间站上的测试结果

后果

  • 通过仿真验证了算法的有效性
  • 三维可视化实验结果
  • 开放独特的教育机会

对于美国宇航局来说,使用MATLAB和相关工具箱开发卫星轨道优化和控制算法的速度大约是使用需要从头开始编写代码的语言开发的速度的两倍。

三个球体在国际空间站自由漂浮。

成功执行航天器机动,如编队飞行、对接和自主交会,需要复杂的控制算法。要在航天器内部的实际操作条件下测试这些算法国际空间站,科学家们使用同步位置保持、啮合、重新定向、实验卫星(球体)配备推进、传感器、通信和处理系统。

为了充分利用空间站有限的测试时间,科学家们首先使用MATLAB开发的模拟器在地面调试和验证他们的算法®和Sim万博1manbetxulink®。因为大多数开发球体算法的科学家都有使用MATLAB的经验,他们可以快速轻松地开始添加新功能,例如,支持新传感器或其他硬件。万博1manbetx

挑战

在空间站上,时间是一种宝贵的资源,因此机组人员必须平衡研究与必要的维护和操作活动。球体实验通常分四个小时进行。安装和拆卸过程通常占用最初和最后的几个小时,只剩下两个小时用于实验。该小组希望充分利用有限的测试时间,让地面科学家和空间站宇航员能够通过模拟测试和调试算法。

直到最近,科学家们还依靠视频监控空间站的实验。低分辨率视频仅提供了一个视角,因此很难看到卫星如何在三维空间中移动。遥测数据虽然对后处理分析有用,但无法实时访问。该小组希望使地面科学家和空间站宇航员能够从多个角度对卫星运动进行可视化。

解决方案

科学家们使用由美国宇航局艾姆斯研究中心维护的基于MATL万博1manbetxAB和Simulink的模拟器在空间站上测试算法之前对算法进行验证。他们使用Simulink 3D动画将球体实验的结果可视化™.

SPHERES模拟器由麻省理工学院(MIT)开发,使用MATLAB、Simulink、航空工具箱和航空区块集™ 模拟三球卫星在微重力下的动力学和运动。该模拟器包括卫星传感器、推进系统和定位系统的万博1manbetx子模型,该定位系统使用红外和超声波技术精确定位卫星在空间站试验区内的位置。

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

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

NASA艾姆斯的团队与休斯顿的NASA约翰逊航天中心合作,在空间站的笔记本电脑上安装MATLAB、Simulink和相关产品。MATLAB和Simulink通过了严格的安全性、性能和可万博1manbetx靠性审查,它们在空间站上的使用获得批准。s manbetx 845

笔记本电脑接收来自球体的遥测数据,并使用MATLAB和Simulink 3D动画生成现场实验的3D动画。空间站机组人员和地面研究人员可以控制该动画,改变透视图和其他参数,以便在整个测试过程中更好地可视化卫星的运动。万博1manbetx

正在计划在空间站的笔记本电脑上使用MATLAB和Simulink,以便在球体万博1manbetx调查期间进行实时轨迹规划。

后果

  • 通过仿真验证了算法的有效性. 由于空间站的测试时间有限,美国宇航局的科学家通过地面模拟来测试和完善他们的想法。MATLAB和Simulink模型捕获了卫星及其环境的所有相关特征,因此科学家们相信,如果代码在模拟中起作用,它将在现实世界的测试中起作用。万博1manbetx

  • 三维可视化实验结果. 此前,科学家们很难确定SPHERES卫星的行为是否符合预期,因为它们只有颗粒状的视频。通过MATLAB和Simulink 3D动画,他们可以立即看到卫星的运动,并根据需要进行更改。万博1manbetx

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