现在我们都知道,发动机靠的是Tom Muller,在TRW干了15年,TR-106发动机负责人,然后,被Musk挖走了。
控制靠谁呢?在领英上有这么一组简历:剑桥本科和硕士,麻省博士,随后在JPL干了4年火星着陆。然后,也被Musk挖走了。
他就是Lars Blackmore,SpaceX火箭着陆工程负责人,入轨火箭一级着陆第一人。看起来定语也不少哦,这是因为航天飞机轨道器和助推器都被回收过,而蓝色起源又抢了个亚轨道一级回收。只是这里定语虽然多,但却分量最重,因为很难且意义重大。
Lars Blackmore曾撰文说:SpaceX使用CVXGEN生成定制的飞行代码,采用高速在线凸优化算法。
凸优化是啥?
问题模型和简化
忽略地球曲率,忽略大气阻力,假设发动机比冲恒定,第一步不考虑横向运动,只考虑垂向,可将问题描述为:
这里F为发动机推力,模型简化为: 通过流量(ṁ)调节,实现位置为0时,速度为0。
这里流量怎么调节有无穷多可能性,正是《设计和仿真有什么区别?》中所说的无穷多个自由度。加载个遗传算法、粒子群算法包暴力寻优?不会有好结果。
做出一个解析解?从上式可以积分出速度,即我们都知道的齐奥尔科夫斯基定律。但已经没法再进一步写出位置公式来。那就进一步蜕化。
假设为常流量,问题转化为了流量为多少的问题,只有一个优化变量。但此时仍写不出位置解析公式,难以进行一般结论分析。
假设为常加速度呢?通过不断降低发动机推力,与箭体重量匹配,达到常加速度下降,此时公式可写为:
从双过零条件,即末位置和末速度均为0,可以解出着陆时间t=-2h/v0,过程中加速度为:
从上式可知,对于简化模型,给定初始位置和速度,存在恒加速度,可以实现双过零。比想象的好,因为之前还担心找不到解呢?
采用文献给出的Falcon返回参数(r0=[5582 2100 450]; v0=[-353 -190 -40]; m0=38963;),此处只考虑x方向,从图中可以看到在可变推力下,位置和速度同时到达0。
从图中也可以看出,返回初始条件的给定比较讲究。如图,推力正好从800kN左右调节到650kN,而对应Merlin1D发动机推力调节范围为592~845kN。
简化模型在干扰下的适应性
上图这个公式中,如果只用初始点的位置和速度,是无法适应干扰的。观察此式发现,对于任何时刻,都可将此时刻作为起始时刻,都可以重新计算一个加速度,这时候,算法就具备了一定的干扰适应能力。
如发动机点火时推进剂剩余量多500kg,同时发动机推力比指令值少5%。计算表明,此偏差下仍能双过零,只是着陆过程中给出的指令已经不是常值加速度了。但总体而言,一维情形下的返回是件简单的事情。
三维情况
仍采用公式a=v0^2/2/x0,三个方向分别施加。采用文献参数(r0=[5582 2100 450]; v0=[-353 -190 -40]; m0=38963;),可以看到在位置和速度同时到达0。图中的推力产生加速度在初始时刻不是常值,这是因为发动机推力存在最大值限幅。
从图中可以看出,Y/Z向速度比X向先到达0。这是靠合理的XYZ位置、速度起始值组合保证的,在算例组合下,t=2r0/v0=[31.6261 22.1053 22.5000]s。
这个组合要求非常高,这也意味着Falcon返回的气动减速段,栅格翼一定不仅仅在调姿态和减速,同时也在进行制导,为反推点火点寻找较好的位置和速度组合。
|