Simulin万博1manbetxk上的家伙

万博1manbetxSimulink和基于模型的设计

火星救援-第三部分-优化弹道

找到任务的发射日期而且把宇宙飞船的轨迹模拟在一起那么是时候看看如何优化这个轨迹了。

我们把他带回家吧!

把他带回家!

优化轨迹

首先,我必须承认我不是优化方面的专家。话虽如此,使用我们的工具让它工作起来如此容易,这让我印象深刻。

因为这个问题是真正的火箭科学,而我不是一个火箭科学家,我决定不开始全面Rich Purnell手法.相反,我从一个规模更合理的问题开始着手:战神3号任务的原计划轨道,即在124天内到达火星,并在发射日期整整一年后返回地球。

我在上周展示了我所创建的模拟,它将推力角度作为输入向量,并记录船的位置。

该模型

为了确定轨道有多好,我有两个标准:我希望在第124天处于相对于火星的特定位置和速度,在第365天处于相对于地球的特定位置和速度。所以我的成本函数代码是这样的:

成本函数

注意,我决定缩放输入和输出,使它们在1的振幅范围内。有人曾经告诉我,优化算法的默认设置使用这个比例效果更好。

然后我要做的就是把这个代价函数传递给fmincon,由优化工具箱.我利用了快速启动加快工作流程的功能;对于这个特定的模型,初始化所需的时间比模拟本身更多,所以快速重启显著减少了优化收敛所需的处理时间:

运行优化

大约10分钟后,我惊奇地得到了一个很好的轨迹,它在第124天飞过火星,一年后返回地球:

优化结果

现在轮到你了

如果你感兴趣,你可以下载整个优化问题在这里.我还是很好奇……如果有人能完全模拟Rich Purnell手法,我将遵守我的承诺,提供良好的MathWorks swag!

|

评论

要发表评论,请点击此处登录到您的MathWorks帐户或创建一个新帐户。