So I've been thinking about hover slam landings. I want to simulate one. This is the best I've come up with so far. It's all high school physics. Am I far off?


Say you're landing a rocket stage. Say you're approaching vertically at some velocity $v$. Maybe it's your terminal velocity.

But ignore drag.

You'll fire one engine at constant thrust. Assume the engine ignition time is your only control variable. Assume constant throttle for now.

Engine Ignition Time Calculation

To slow the rocket to a stop, you'll need to kill off its kinetic energy, or change it by $0 - \frac{1}{2} v^2$ per unit mass.

The work for this will come from thrust and gravity, and it is $-(n\frac{F_\texttt{T}}{M} - g) \cdot h$ per unit mass, where $n$ is throttle (0--1, assumed fixed for this calculation), $\frac{F_\texttt{T}}{M}$ is nominal thrust acceleration, and $h$ is altitude.

Applying the work-energy theorem,

$$ -\left( n\frac{F_\texttt{T}}{M} - g \right) \cdot h = -\frac{1}{2} v^2, $$

which gives the engine-ignition altitude

$$ h = \frac{v^2}{2(n\frac{F_\texttt{T}}{M} - g)} $$

So if you repeat this calculation regularly and monitor your altitude on descent, you can program your engine to fire when your measured and calculated values first match up---then, hold your throttle at the setting $n$ assumed in the calculation.

Correcting for error

This is all a gross simplification. We're ignoring drag and pitch angle, which will generally not be zero WRT local vertical. So all we're getting is a rough estimate, and we'll need to correct for errors in that estimate.

To correct for those errors, we'll need a second control variable, like engine throttle, $n$.

This means your target throttle needs to fall between your min and max throttle---or you won't be able vary it in both directions to correct for both positive and negative errors as they crop up.

On Falcon 9, this would be roughly 0.7--1.

And if you rearrange the work-energy equation, you can estimate the throttle needed to kill off the remaining kinetic energy once the engine burn is underway, and update the estimate regularly throughout the burn:

$$ n = \frac{\frac{1}{2} v^2 + g\cdot h}{\frac{F_\texttt{T}}{M} \cdot h}, $$

Everything is measurable (altitude, velocity, thrust acceleration) or calculable (thrust acceleration), or known (standard gravity).

As you near landing, drag drops to zero and pitch angle aligns with the local vertical---the conditions assumed in the calculations above. Your error should get smaller and smaller, and you should touch down at near zero velocity...

This can't possibly be an ideal solution, since we didn't optimize for fuel economy, say. And the physics are all very basic and the math very rough. But it seems in principle this would give you a hover slam landing?

Would this work? What did I miss? I'm not a rocket engineer, I'm a high school graduate. Be nice.

  • $\begingroup$ One thing you can do is to initially set the point at which velocity =0 at a negative altitude (below ground). This gives the ability to slowly increase the throttle level a little to raise the zero velocity point towards the surface. The point being that if you aim for zero altitude from the start and for any reason the descent is slowed (eg wind?) there is nothing that you can do to correct it. You can only adjust in one direction (increased acceleration) and to make use of this you might want to aim a little low and slowly push the v=0 point up towards the surface as you get closer to it. $\endgroup$
    – Slarty
    Commented Mar 26, 2021 at 23:04
  • $\begingroup$ KSP tricks, I see. Ha ha. I'll keep in mind. My hope with varying the throttle was that it would correct for the errors in my calculations. But if it turns out that my throttle range is too limited, then for sure I'll need some tricks :D $\endgroup$
    – user39728
    Commented Mar 27, 2021 at 4:01
  • $\begingroup$ Yes the key thing to remember is that even at minimum throttle the engine can't produce a sufficiently small amount of thrust to let the rocket descend. The only thing that allows it to land at all is the fact that it is falling at high speed when the engine is fired up. $\endgroup$
    – Slarty
    Commented Mar 27, 2021 at 15:24
  • 1
    $\begingroup$ larsblackmore.com/iee_tcst13.pdf $\endgroup$ Commented Mar 27, 2021 at 20:31
  • $\begingroup$ There goes academia hiding behind thick veils of obtuse language that accomplishes nothing but disguise how much simpler their research actually is, if you only knew ;P $\endgroup$
    – user39728
    Commented Mar 28, 2021 at 2:19