3.5.53 · D5Guidance, Navigation & Control (GNC)
Question bank — Powered descent guidance — G-FOLD algorithm (convex optimization)
Before we start, two words you must have pinned (everything below leans on them):
Recall Convex set / convex function (one-line refresher)
A convex set is one where the straight line between any two points inside it stays inside. A convex function is bowl-shaped: it has one lowest point, no false valleys. See Convex Optimization and Second-Order Cone Programming. The whole point of G-FOLD is to make both the constraints (sets) and the cost (function) convex so a solver hits the global minimum.
True or false — justify
The mass equation says a lander loses mass even with engines off.
False. With engines off , so — no exhaust, no mass loss. Mass only drops when thrust is nonzero. ( is a fixed constant, so it never causes loss on its own.)
Minimizing total thrust is the same as minimizing fuel.
True for the true thrust, but the trap is minimizing thrust pointwise (keeping it low everywhere). A long, gentle burn fighting gravity for longer burns more total propellant than a short hard burn — gravity loss. Fuel is the integral, not the peak.
The constraint (upper bound) is what makes the problem non-convex.
False. The inside of a sphere is convex, so the upper thrust-ceiling bound is fine. It is the lower bound (the thrust floor) — the region outside a sphere — that is non-convex.
After lossless convexification the solver might return a solution with (slack unused).
False at the optimum. The cost directly penalizes , so the optimizer squeezes down until it equals . Any interior point with is strictly worse and gets rejected — that is the Pontryagin Minimum Principle guarantee.
The change of variable makes the cost nonlinear.
False. It makes the mass dynamics linear (). The cost is linear in and is untouched by the log substitution.
Fixing flight time before solving throws away optimality.
False. For each fixed we get the exact convex optimum; we then sweep with an outer 1-D search. The fuel-vs- curve is unimodal, so the sweep finds the true best without breaking convexity.
A convex problem can still have several equally-good landing solutions.
True. Convex means no worse local minima, but the set of optimal points can be flat (a tie). What is guaranteed is that every returned optimum has the same, globally-best cost — you never get stuck in an inferior valley.
The glide-slope constraint is non-convex because of the .
False. is just a fixed positive number (a slope), and are the position components in the target frame. The constraint is a norm a linear function — a convex second-order cone. It slots into the SOCP for free.
Spot the error
"We relaxed to , so the model no longer represents the real engine."
The error: relaxation is only loose off the optimum. At the optimum the inequality is active (), recovering the true engine physics exactly. Nothing is lost — hence lossless.
" is defined as , so it is just a fixed function of the state — not a real variable."
The error: is the control we are choosing, so (the acceleration-magnitude slack) is a genuine decision variable. After convexification is only linked to by the inequality , giving the optimizer freedom that the proof then pins down.
"Divide by and you still have in the equation, so it's still nonlinear."
The error: dividing gives where is the new control and is the constant gravity vector. The is absorbed into the definition of ; the equation is now linear in the chosen variables.
"The Taylor expansion of is an approximation, so G-FOLD's answer is only approximate."
Partly a trap. The floor is expanded about the reference log-mass to second order: . Because is convex, its second-order Taylor polynomial is an upward parabola — itself convex — so the constraint stays convex. It is tight near , exactly where the true trajectory's mass lives, and can be re-referenced to tighten.
"Minimum-fuel descent should throttle gently the whole way down for a smooth landing."
The error: minimum-fuel is typically bang-bang — coast/min-thrust, then a hard full-thrust brake near the end (the "suicide burn"). Smooth gentle throttling burns extra fighting gravity longer.
"Because interior-point methods are iterative, G-FOLD cannot guarantee the global optimum."
The error: for a convex program, interior-point methods converge to the global optimum in guaranteed polynomial time. Convexity, not the iteration, is what supplies the global guarantee.
Why questions
Why take the logarithm of mass instead of just using ?
Because is the log-derivative . Setting turns the messy mass dynamics into the perfectly linear (with ) — logs convert division into subtraction.
Why is a global optimum (not just a good local one) so important during descent?
You have roughly one second to compute a trajectory before committing. A non-convex solver could return a false valley or fail to converge; a convex solve reliably returns the single best answer every time, which safety demands.
Why does the fuel cost "want" small, and why does that fact matter?
The cost is , so smaller (the acceleration-magnitude slack) means less fuel. That downward pressure is exactly what drives onto its lower bound , making the lossless relaxation collapse back to the true equality.
Why do we search over from the outside instead of optimizing it inside?
Letting vary inside makes the discretized dynamics bilinear (products of unknowns), destroying convexity. Kept outside as a 1-D sweep over a unimodal curve, convexity of each inner solve is preserved.
Why is the fuel-versus-flight-time curve unimodal (one minimum)?
Too short a demands violent, near-max thrust to brake in time — heavy fuel burn (and eventually infeasibility); too long a wastes propellant hovering against gravity for extra seconds. Fuel falls then rises around one sweet spot, so the curve has a single dip — safe to bracket with a 1-D search. (It is verified numerically per problem rather than proven in closed form.)
Why can't we just cap thrust and forget the lower bound ?
Real engines physically cannot throttle below a floor without flaming out. Ignoring it gives a solution the hardware can't execute; convexification lets us keep the floor while staying convex.
Why is minimizing fuel equivalent to maximizing final mass?
Fuel spent equals initial mass minus final mass, and initial mass is fixed. So less fuel burned ⇔ more mass left at touchdown — the two objectives point the same way.
Why does G-FOLD reproduce Apollo/Falcon-style "burn late" behaviour without being told to?
It falls out of minimizing under the dynamics — delaying thrust cuts the time spent fighting gravity (gravity loss). See Apollo Lunar Descent Guidance and SpaceX Falcon 9 Landing.
Edge cases
What if the available deceleration is less than gravity ()?
Here is the engine ceiling and the gravity magnitude; the best upward acceleration can't overcome the downward , so the lander cannot arrest its fall — the problem is infeasible. G-FOLD reports infeasibility rather than a fake landing, the correct safe outcome.
What happens at the instant thrust is exactly (engine at its floor)?
The throttle-box lower constraint becomes active. This is a valid, feasible edge of the convex box — the solver handles it like any active constraint, no special casing.
What if the target is directly below the lander (purely vertical descent)?
The glide-slope cone degenerates: is trivially satisfied since horizontal offset is ~0. The problem reduces to the 1-D vertical landing — a valid limiting case.
What does mean for the glide-slope cone?
, so the horizontal-offset bound becomes unlimited — the cone opens fully and imposes no restriction. Physically, "any approach angle is allowed."
What does mean?
forces , i.e. purely vertical descent along the target axis. The cone collapses to a line — extremely restrictive but still convex.
What if the initial velocity is already zero at the correct altitude and position?
The trajectory is already a soft pinpoint state; the minimum-fuel solution needs only a hover-then-touch or immediate zero divert, and the cost integral is essentially the propellant to hold against gravity to the ground.
What if two different flight times give nearly identical fuel?
The unimodal fuel curve is flat near its minimum, so several tie. Any of them is acceptable; pick the one giving extra margin (e.g. slightly more time for actuator response).
Recall One-line summary of the whole trap set
Non-convexity lives only in the thrust lower bound; linearizes mass; the -relaxation is lossless because cost pushes ; stays outside; the optimum is bang-bang; and every degenerate cone/thrust case still lands inside a convex, globally-solvable program.