# How can I design a finite thrust maneuver to approximate an impulse thrust maneuver?

An impulse thrust maneuver is a good approximation of a true orbital maneuver. Of course, a true impulse maneuver in reality would require an infinite amount of force in an infinitely small amount of time (a dirac delta function). In reality, thruster apply finite force in finite time, generating a continuous trajectory change which I think should asymptotically acheive the same result, probably by continuously applying a force starting some time before until sometime after the ideal point where the impulse maneuver would be applied.

My question is: for a given velocity change $$\Delta v$$, how do I determine the required finite force and when exactly to start and stop applying the force? Would I need to account for mass losses during the burn? If so, how do I account for them?

I'm looking for equations that can help me determine this.

Warning: the following is KSP-level discussion; professional trajectory design probably doesn't allow this much hand-waving.

For a sufficiently short but finite impulse, the difference between the idealized impulse and the actual is small enough that it will be lost in the measurement error of other uncertainties -- altitude measurement, nonuniformity of the planet's gravitational field, thrust irregularity, and so forth, and so you can expect to correct the error after the fact with a midcourse adjustment of some sort.

For a longer impulse, I see two options:

• Time the burn to end at the ideal point, but adjust length of the burn and continually alter the direction so that you do not leave the initial orbital path, just increasing your velocity on it, so that the exit condition -- position and velocity -- is exactly the same as it would be if the impulse was instantaneous. If, for example, your ideal maneuver is a tangential Hohmann out of circular orbit, you would need to initially aim below the horizon a bit, to get some downward force to stay on the circular path while exceeding orbital velocity -- a form of "forced orbit". You need to very slightly extend the length of the burn because your burn direction is turning along an arc instead of in a straight line.

• Balance the duration of the burn evenly around the ideal point, holding the direction of the ideal burn constantly throughout the whole period. This means your altitude at exit will be higher than you intended (because you exceeded orbital velocity when you started the burn). You can compensate by iteratively computing the error in final position induced by the finite duration burn and adding a correction to the ideal burn to compensate, repeating until the error is small enough to be dealt with in later midcourse correction. There's probably an analytical solution to short-cut the iterative correction, but my calculus isn't strong, and a complex gravitational model might make that too much trouble. :)

I don't know off the top of my head what the relation between burn duration and trajectory error would be; I'm sure trajectory designers have some "don't worry about it" threshold as a rule of thumb.

Electric propulsion such as ion thrusters will of course have such a long burn duration that more comprehensive handling is required -- the total burn would need to be divided into repeated short burns at perigee, to begin with.

If you're expensing a sizable fraction of your mass in fuel, you'll want to account for that as well; you can use the Tsiolkovsky equation to work out the mass drop given the delta-v. The falling mass implies rising acceleration, which I think breaks the symmetry of centering the burn duration on the ideal. Not sure how to handle that.

• I think the first one is not in general true. A generic $\Delta v$ impulse involves a direction as well as a magnitude. Staying on "the same path" doesn't do that except in maneuvers for raising or lowering of apses where they tend to be parallel. I don't see any particular kind of maneuver specified in the question. It could be a special case if flagged as such.
– uhoh
Sep 20 '17 at 5:19
• I specified matching the exit position and velocity for the first. Assuming you get the timing right, if the exit conditions are the same, it doesn't matter how you got there. If the ideal burn isn't tangential, you're correct that the solution would need to follow a path other than the original orbit. Sep 20 '17 at 11:45
• KSP + MechJeb can easily demonstrate the problem. Sandbox mode, Put a rocket in a 1000km orbit with chemical engine and have MechJeb burn for Duna. It will be about spot on. Equip it with a Nerva engine and put it in an 80km orbit and try it--and it will suicide (fly into the atmosphere.) I think you can do this at 150km but your intercept isn't going to be very good at all. (For those who don't know the game: Kerbin's atmosphere ends at 70km, Duna is a Mars analogue. Mechjeb is a popular mod that will compute burns for you.) Sep 25 '17 at 2:46
• I have been trying to automate this process in kerboscript and I can state for a fact that your approximations are incorrect as @uhoh points out. The deviation of the current orbit and the desired orbit will increase exponentially as the you approach the end of the burn if you do not have perfect timing and perfect attitude control, which you don't. When you do this with ManNodes manually you'll see that the target vector diverges significantly towards the end of the burn when you are trying to be precise. Apr 5 '18 at 8:08

Well, I'm neither a rocket scientist nor intelligent in general but this is what I have surmised after working on this problem my self for quite some time.

Given a $\Delta v$ the finite force required is not really relevant since it will depend on your acceleration which depends on your engines and which will change over time du to changes in mass. What you want to find is the $\Delta t$ of the burn at a constant thrust given your spacecrafts current configuration.

This can actually be easily computed but you definitely need to take mass changes into account.

Computing $\Delta t$ given a $\Delta v$ can be derived from the Tsiolkovsky rocket equation

$\displaystyle \Delta v=v_{\text{e}}\ln {\frac {m_{0}}{m_{f}}}$

Given the fule consumption in $kg/s$ and thrust $T$ of the engine. Doing some math gives you:

$\Delta t = \frac{m_0v_e}{T}(1-e^{-\Delta v / v_e})$

Where $m_0$ is the initial mass of the spacecraft and $v_e$ is the exhaust velocity. $v_e$ is calculated by $v_{{\text{e}}}=I_{{\text{sp}}}\cdot g_{0}$ where $I_{SP}$ is the specific impulse and $g_0$ is the standard gravity on earth.

But here is the crux. The above part is the easy stuff :/ The problem is that your orbit is going to deteriorate from the desired orbit drastically as you approach the end of the burn for some orbital maneuvers. The problem is that you have computed the required $\Delta v$ and burn attitude given an initial orbit. But as you burn you will continuously change your orbit making the prior burn parameters "obsolete" the effect of this will be cumulative and you would need to compute new burn parameters as you burn and change the burn attitude. But doing this is quite nontrivial.

The best approach is doing a $\Delta t$ long burn starting from $t - \frac{\Delta t}{2}$ where $t$ is the time when you would perform the impulse burn and burning in the same direction as the impulse burn and then abort the burn when you are as close to the desired orbit as possible and then perform correction burns at some later time until things are neat.