Make the ascent manager farsighted
KSPanier opened this issue · 6 comments
Would it be possible to program the ascent manager, so it knows how much atmospheric drag it will recieve while coasting to space, so MechJeb fires for a higher apoapsis, that get's lowered to the correct level by the atmosphere?
If the only problem is that the stuttering is annoying, I think a better solution would be to try to make the stuttering smoother. What do you think about that?
How would this be better than the current approach? Implementing this would be possible, but it'd be extra work (both in development and in calculations at runtime), and I'm not sure what the benefit would be.
I suspect the current approach is more fuel-optimal than the one you suggested — drag is proportional to velocity squared, so it seems like it'd be better to let velocity drop slightly and then correct than to overshoot in the first place.
It's the fight between oberth and drag, but I think the effect is negligable, but it kinda feels awkward having your engines stuttering because the periapsis changes for 2 meters.
It's more efficient to go faster, if we're below terminal velocity: you get more air drag, but less gravity drag. But these corrections done in the current suboptimal way tend to be on the order of 5 m/s, so only people doing challenges care.
A similar problem is that jets spin down slowly when you turn them off, so you need to turn them off before you have your apoapsis reach its intended target or you will overshoot. But it's an edge case.
One more note: If you're using engines with a limited number of relights, the stuttering makes MechJeb unusable.