人在仿真软件万博1manbetx

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

火星人-第三部分-优化轨道

确定发射日期对宇宙飞船的轨道进行了模拟,是时候看看我们如何优化这个轨迹了。

让我们把他带回家!

带他回家!

优化轨迹

首先,我必须承认我并不擅长优化。尽管如此,我还是对使用我们的工具很容易地让它工作印象深刻。

因为这个问题是真正的火箭科学,而我不是一个火箭科学家,我决定不从完整开始丰富的珀内尔机动.相反,我从一个更合理规模的问题开始:战神3号任务最初的计划轨道,即124天到达火星,并在发射日期一年后返回地球。

我创建的模拟,我上周展示的,是这样设置的,它以一个推力角度的矢量作为输入,并记录船的位置。

该模型

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

成本函数

注意,我决定缩放输入和输出,使它们在1的振幅范围内。有人曾经告诉我,优化算法的默认设置在这种规模下工作得更好。

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

运行优化

大约10分钟后,我神奇地获得了一个很好的轨迹,在124天飞越火星,一年后返回地球:

优化结果

现在轮到你了

如果你感兴趣,可以下载整个优化问题在这里.我还是很好奇……如果有人能完全模拟丰富的珀内尔机动,我会遵守承诺,提供不错的MathWorks swag!

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。