The SpaceX Falcon 9 does a powered touchdown with a rocket thrust higher than mass, so is not able to establish a low altitude hover and final descent as used by the Apollo lander. Instead it needs to reliably generate a sequence of thrust vector and throttle inputs that simultaneously achieve vertical and horizontal speeds of zero while also having the rocket vertical enough to not topple over.

This command sequence also has to be robust to any wind motion or engine performance deviations from expected that require updates as landing progresses, for example planning for 100% of design thrust to be available but engine only producing 99% during actual touch down so not achieving vertical speed zero at touchdown.

It also has to reliably resolve on relatively low powered hardware and be auditable for reliability when faced with edge cases.

What process does a Falcon 9 use during powered descent and landing to generate thrust vectoring and throttle inputs?

  • $\begingroup$ While this I self answered this question, if anybody has the math skills to provide a better explanation for the convex solver process would be happy to accept it. Q and A was written largely to capture links for a paper actually written by a SpaceX employee. $\endgroup$ Commented Feb 20, 2023 at 10:09

1 Answer 1


This paper surmises autonomous precision vertical landing for rockets, both on Earth and other planets and written by a SpaceX lead for Falcon 9 landing, though in a private capacity.

It describes the control process as being a convex optimization, looking at the range of possible inputs and iterating to an ideal, or at least good enough solution. Notably the described process uses a ground based software package CVXGEN to generate C code for use in flight, with this code being designed to be minimally branching and provably having an upper bounded solving time on given hardware. And hopefully short enough for a human to asses.

Other solutions might provide more accurate solutions but potentially hit the halting problem. Having a fast and real time solver allows the the controller to start making control inputs early, and then rapidly iterate as landing progresses and errors reduce, hopefully achieving a final precision touchdown.

The while the solutions are 'known imperfect' by doing things like Monte Carlo modeling of the landing process for large numbers of start states a dispersion of successes and number of full failures can be determined before flight and risks sensibly assessed.

  • $\begingroup$ ILS (Instrument Landing System) calculated Glide Slope, RADAR to identify the edges of the landing barge, Shipboard relative global positioning system (GPS) $\endgroup$ Commented Feb 20, 2023 at 13:57
  • 1
    $\begingroup$ @TheMatrixEquation-balance Do you have a source for the fact that they use radar, or is that speculation? $\endgroup$ Commented Feb 20, 2023 at 17:56
  • $\begingroup$ I'm confused about the third paragraph. Are you saying some control loops aren't guaranteed to terminate? That's a really awkward way to put that for any reader that doesn't have a computer science background. $\endgroup$
    – Erin Anne
    Commented Feb 20, 2023 at 17:58
  • $\begingroup$ @fyrepenguin - "The use of Radar was mentioned by Elon Musk in the post flight interview for the Falcon Heavy Launch" space.stackexchange.com/questions/8779/… $\endgroup$ Commented Feb 20, 2023 at 18:03
  • 3
    $\begingroup$ @TheMatrixEquation-balance that quote goes on to say "radar altimeter". Identifying the edges of the landing barge is your creation, as is ILS calculating a glide slope (ILS doesn't calculate, it projects a radio beam down the glideslope) and using ILS for Falcon 9 at all (there are no ILS antennas at the Falcon 9 landing sites) $\endgroup$
    – Erin Anne
    Commented Feb 20, 2023 at 18:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.