Simulin万博1manbetxk上的Guy

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

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

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

让我们带他回家!

带他回家!

优化轨迹

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

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

我创建的模拟,我上周展示过,设置成以推力角矢量作为输入,并记录船的位置。

该模型

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

成本函数

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

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

运行优化

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

优化结果

现在轮到你了

如果你感兴趣,你可以下载整个优化问题在这里.我还是很好奇……如果有人能模拟完整里奇·珀内尔策略,我将信守承诺,提供漂亮的MathWorks swag!

|

コメント

コメントを残すには,ここをクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。