The Contact Departure Corporation · Starship Flight 13 landing burns · lossless convexification after Açıkmeşe, Carson & Blackmore, IEEE TCST 21(6), 2013 · wind, dispersions and an auto-solve

The problem

A lander must go from its ignition state to rest on the surface, at a target if it can reach it, using the least fuel. The paper's Problems 1 and 2 state this with a point-mass model on a rotating planet:

ẋ = A(ω) x + B ( g + Tc/m ), ṁ = −α ‖Tc‖ ρ1 ≤ ‖Tc(t)‖ ≤ ρ2, n̂·Tc(t) ≥ ‖Tc(t)‖ cos θ (thrust bounds and pointing limit) ‖ṙ(t)‖ ≤ Vmax, glide slope ≥ γgs about the landed point (state constraints)

The lower bound ρ1 > 0 makes the set of allowed thrust vectors an annulus, which is not convex, and the pointing limit is not convex either when θ > 90°. The mass equation is nonlinear. The paper's convexification solves it anyway, and solves it exactly.

Lossless convexification (Problems 3 and 4)

The paper adds a slack Γ(t) and replaces the thrust constraints by ‖Tc‖ ≤ Γ, ρ1 ≤ Γ ≤ ρ2, n̂·Tc ≥ Γ cos θ, with ṁ = −αΓ. Theorem 1 proves the optimum of the relaxed problem has ‖Tc‖ = Γ almost everywhere, so it is also the optimum of the original problem. With the change of variables u = Tc/m, σ = Γ/m, z = ln m (Section III-A) and the second-order cone approximation of the bounds on σ, each fixed time of flight is one second-order cone program. The time of flight is found by a line search, and the two problems are solved in order: first the smallest reachable landing error, then the least fuel for that error.

What sits around it

The guidance model is the paper's point mass. The trajectory it produces is then flown through a truth model that the guidance never sees: an exponential atmosphere with drag, a wind profile the vehicle falls through before ignition, engine thrust errors, and a controller that tracks the plan. A Monte Carlo repeats that flight over dispersed mass, thrust, wind, gusts and start state, re-solving the guidance from each dispersed ignition state. When the success rate falls below the threshold, the auto-solve moves the initial conditions until it clears, and says exactly what it moved and why.

Discretisation is N+1 nodes with thrust linear between them and an exact state transition including planet rotation; the cone solver was written for this page. Every answer is checked against the original nonconvex constraints of Problems 1 and 2 before it is shown.

Inputs · Section IV
The four presets are the two Starship Flight 13 landing burns and a tower catch for each vehicle, built from public reporting and published specifications; the masses and burn-start states are estimates. Every field can be edited.
Vehicle

α = 1/(Isp ge cos φ) for specific impulse Isp and engine cant φ; the paper uses 5×10−4 s/m.

With a schedule the bounds become ρ1(t) = min engines × floor × thrust per engine and ρ2(t) = max engines × thrust per engine, phase by phase, and the three throttle fields above are ignored.

Planet

Frame of Fig. 1: x is altitude along the surface normal, y and z are horizontal. The pointing vector n̂ is the x-axis.

Constraints

θ = 180° means no pointing limit. γgs = 0 or Vmax = 0 disables that constraint. Table I of the paper uses θ = 180°, 90° and 45°.

Boundary conditions
Time of flight and discretisation

The time of flight is always found by a line search, as in the paper: the grid is evaluated, then the best bracket is refined by golden section, and the range is clipped to what the fuel allows. Raising the shortest allowed time forces longer, gentler burns than the minimum-fuel answer; the auto-solve uses that as its knob.

Auto-solve

It never touches the wind, the atmosphere, gravity, the planet's rotation, the vehicle or the dispersions, and it never loosens the success tolerance. Each round screens the candidates over half the trials and confirms the winner over all of them, so a round costs a few Monte Carlo runs.

Graceful landing and landing site

The corridor demands ‖ṙ‖ ≤ vtd + k (h − hland) at every node, so speed tapers with height; a burn cannot be shorter than the taper it implies. All three limits are convex and enter both methods.

Wind, air and the fall before ignition

The bellyflop: with a flip time the vehicle falls broadside at the larger drag area, banking its lift at the ignition point to steer, then rotates to engines-first over that many seconds and arrives at the ignition altitude with the smaller area. The flip is unpowered, so it costs altitude and gains speed. Set the flip time to 0 for a vehicle that comes back engines first, as the booster does.

The guidance model is the paper's: no aerodynamics. The truth model that flies the answer has drag with wind (exponential atmosphere), engine errors and, when enabled, a controller that tracks the plan. With a fall altitude the vehicle drops through the wind first and the burn starts from wherever that leaves it.

Monte Carlo

Each trial draws the errors, drops the vehicle through its own wind, re-solves the convex guidance from the ignition state it arrives at, then flies the plan with tracking through the truth. A trial succeeds when it lands within the tolerances with fuel to spare.

Saved cases

A case is every input on this page under a name you choose. Save one that works, load it later as a template, change the Monte Carlo or anything else, and run it again. Cases live in this browser; the download and load buttons move them to and from files on disk.

Run
Idle. Everything runs in your browser, in a background thread.