迭代制导真空单级定点着陆原理【2】

前言
这是一个介绍迭代制导真空单级定点着陆的系列文章
第0篇以最简的形式只介绍了计算公式与流程,不需要懂任何原理就可以复现

第1篇介绍了使用最优控制求解大量简化的定点着陆问题,得到了含未知常数的姿态角解

我不是自动化或者航天相关专业的,全靠听过几节现代控制论的网课读懂论文加以复现,不保证正确,如有错误还请指正

引力常量(引力常数G与星球质量M的乘积)
最大推力
喷气速度(单位m/s,1s比冲等于9.81m/s喷气速度)
燃料质量消耗速率(
)
与时间无关的积分常数(*取x,vx,y,vy,z,vz)
【2】
以当前时间为0的时间
剩余飞行时间
设定的终端位置
设定的终端速度
当前位置(t=0)
当前速度(t=0)
当前质量(t=0)
位置、速度、质量关于时间的函数
推力产生的总速度增量、位移增量
引力产生的总速度增量、位移增量
滑行位移增量
推力的速度、位移增量关于时间的函数
引力的速度、位移增量关于时间的函数
【3】
只满足终点速度约束的姿态角
推力的方向矢量向xy平面做投影
是从
到
的夹角,以向z轴正方向为负
是从x轴到
的夹角,以向y轴正方向为正


和速度(或者已知轨道的六根数),通过调整推力的大小和方向,使飞船在推力和重力的共同作用下,达到设定的最终位置
和速度
· 坐标原点O在星球中心
· OY指向终端位置
· OX在轨道平面内,与OY垂直,与火箭飞行速度同向

有了坐标系的规定和以上几个条件的限定,我们可以把上篇最后得到的姿态角公式
近似简化为
是仅满足速度约束的最优化问题的姿态角,四个k是修正小量,不出意外的话要比

得考虑引力了
上篇文章我们一直是在没有引力的自由空间内做的分析,但到了定点着陆不可能不考虑引力的问题了
根据微积分的线性特性,我们可以把火箭变化的位置和速度分成三个分量:滑行、推力、引力,也就是
(1)
这里下标t表示推力项(thrust),下标g表示引力项(gravity),下标c表示滑行项(coast)
也许你看到这里会立刻意识到,只要我算出引力项,然后移到等号左边,重新构建起“等效的”终端位置和速度,不就可以直接套用无引力的条件了吗
但是你紧接着就会发现,积分号内位置函数是未知的,如果要求出它,就得求出其中的引力项
,而求出这一项,又得求速度的引力项
,一个逻辑上的套娃就出来了
怎么解决这个问题呢,我们做一个野蛮近似,假设从当前到制导结束的引力作用效果等效于一个常矢量
这只是对当前与终端重力加速度做了一个非常野蛮的平均,肯定会引入误差,但是你会发现,当逐渐靠近着陆点时,误差会逐步减少
上面的积分项和滑行项就变成了
(2)
解决了引力的问题我们继续解决下一个问题


不要忘了上篇计算出的姿态角公式里还保留着一堆未知常数,计算它们的过程不可避免地要反复做积分,但积分上限现在是未知的,这是不行的,我们得算一下
这里要引入一下齐奥尔科夫斯基公式
那么dv是不是呢?严格来说不是的。齐奥尔科夫斯基公式在推导的过程中要求推力是朝一个固定方向,所以只有姿态角保持
时,才有
。不过前面提到,简化姿态角公式里的k是小量,这里可以野蛮近似认为
我们把公式(1)的第一行修改一下,和刚刚得到的函数放在一起

,
以上三个公式对另外一个姿态角的k也适用
这样积分就是人能算的了,为了写起来简洁我们先设定四个推力积分


是已知的,引力项与滑行项由公式(2)给出,推力项

虽然这篇文章虽然求解出了姿态角随时间变化的函数,但依然存在很多问题
终端只限定了速度和2个位置分量,第三个位置分量应当怎么处理
星球在自转,落点的位置在不断的变化,如果建立的是非旋转系,落点会不准,如果建立的是旋转系,重力计算会不准
计算里引入了大量的近似,每一次近似都会引入微小的误差,任何一点微小的误差都有可能导致最终偏离着陆点很远的距离
总飞行时间大多有上百秒,的大小会逐渐变大,太大了会导致前面作为小量的近似误差很大

参考资料
[1] 丁文浩. 月球探测器动力下降段制导控制方法研究[D].哈尔滨工业大学,2022.
[2] 李伟. 基于精确控制解的运载火箭迭代制导自适应性分析研究[D]. 哈尔滨工业大学, 2012.
[3] oPengLuo. 迭代制导总结. https://blog.csdn.net/qq_25777815/article/details/91858142