火星人-第三部分-优化轨道
后确定发射日期和对宇宙飞船的轨道进行了模拟,是时候看看我们如何优化这个轨迹了。
让我们把他带回家!
优化轨迹
首先,我必须承认我并不擅长优化。尽管如此,我还是对使用我们的工具很容易地让它工作印象深刻。
因为这个问题是真正的火箭科学,而我不是一个火箭科学家,我决定不从完整开始丰富的珀内尔机动.相反,我从一个更合理规模的问题开始:战神3号任务最初的计划轨道,即124天到达火星,并在发射日期一年后返回地球。
我创建的模拟,我上周展示的,是这样设置的,它以一个推力角度的矢量作为输入,并记录船的位置。
为了确定轨道的好坏,我有两个标准:我想在第124天相对于火星处于一个特定的位置和速度,以及在第365天相对于地球处于一个特定的位置和速度。我的成本函数代码是这样的:
注意,我决定缩放输入和输出,使它们在1的振幅范围内。有人曾经告诉我,优化算法的默认设置在这种规模下工作得更好。
然后我要做的就是把这个代价函数传递给fmincon,从优化工具箱.我利用了快速启动加快我的工作流程;对于这个特定的模型,初始化所需的时间比模拟本身要多,所以Fast Restart显著减少了优化收敛所需的处理时间:
大约10分钟后,我神奇地获得了一个很好的轨迹,在124天飞越火星,一年后返回地球:
现在轮到你了
如果你感兴趣,可以下载整个优化问题在这里.我还是很好奇……如果有人能完全模拟丰富的珀内尔机动,我会遵守承诺,提供不错的MathWorks swag!
评论
要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。