80/20 CORE: G-FOLD turns the "how do I land a rocket on a pinpoint using minimum fuel while never violating thrust limits, glide-slope, and physics" problem into a convex optimization — which computers can solve reliably and fast to the global optimum. The trick (its Nobel-worthy move) is a change of variables + lossless convexification that removes the non-convex thrust lower bound.
WHY convex? Non-convex problems can have many local minima; a solver might return a "landing" that's not the best, or fail to converge in the ~1 second you have during descent. A convex problem has one minimum, and interior-point methods find it in guaranteed polynomial time. G-FOLD = "Guidance for Fuel Optimal Large Diverts."
State: position r(t)∈R3, velocity v=r˙, mass m(t).
Newton's 2nd law with gravity g (constant, near-planet) and thrust T:
mv˙=T+mg
Fuel is burned proportional to thrust magnitude (rocket equation, differential form). With exhaust velocity ve=Ispg0, define α=1/ve:
m˙=−α∥T∥
The villain: the constraint ∥T∥≥Tmin (engines can't throttle below a floor) defines the region outside a sphere — a non-convex set. Also m multiplying v˙ makes the dynamics nonlinear.
How to solve: discretize time into N nodes → a finite-dimensional SOCP → solve with an interior-point method (ECOS, SDPT3). Do a line search over tf (flight time) since the problem is convex for fixed tf; the fuel-vs-tf curve is unimodal.
Lander at rz=100 m, vz=−20 m/s, g=−3.71 m/s² (Mars). Ignore mass change; Tmax/m=12 m/s², Tmin/m=3 m/s².
Q: Can it stop before ground? Max deceleration available =12−3.71=8.29 m/s² (thrust up, gravity down).
Distance to stop from 20 m/s: d=2av2=2(8.29)400=24.1 m <100 m. ✔ Why this step? We compare "shortest stopping distance at full thrust" against available altitude — if it fits, a fuel-optimal solution exists.
Fuel-optimal shape: minimum-fuel ⇒ bang-bang in Γ: coast (or min-thrust) then full-thrust brake at the last moment. Why? Burning early wastes propellant fighting gravity longer; the optimizer delays the burn — G-FOLD reproduces the classic "suicide burn."
Target at origin; lander approaching from the side at 30° above horizontal, but a ridge occupies angles below 40°. Set θgs=45° so ∥[rx,ry]∥≤tan45°(rz)=rz.
At rz=200 m the lander must be within 200 m horizontal radius. Why this step? The cone forces the trajectory to stay above a safe descent funnel — a convex constraint (a cone is convex), so it slots straight into the SOCP with no penalty to tractability.
Which constraint makes powered descent non-convex?
The thrust lower bound ∥T∥≥Tmin (outside-a-sphere = non-convex set).
What substitution linearizes the mass dynamics?
z=lnm, giving z˙=−αΓ.
Define the acceleration control and slack variables.
a=T/m and Γ≥∥a∥ with Γ representing ∥T∥/m.
What is "lossless convexification"?
Relaxing ∥a∥=Γ to ∥a∥≤Γ; provably the optimum still hits equality, so no optimality is lost.
Why is the relaxation lossless?
The cost ∫Γdt minimizes Γ, forcing Γ=∥a∥ at the optimum (Pontryagin).
What class of convex problem is discretized G-FOLD?
A Second-Order Cone Program (SOCP).
Why can't tf be a variable in the convex solve?
It makes dynamics bilinear/non-convex; handle it via an outer 1-D line search.
Objective for minimum-fuel landing?
Minimize ∫0tfΓdt (equivalently maximize final mass m(tf)).
Shape of the fuel-optimal thrust profile?
Bang-bang: min-thrust/coast then a final full-thrust braking burn ("suicide burn").
What is the glide-slope constraint and why convex?
∥[rx,ry]∥≤tanθgs(rz−rz,land); it's a cone, which is a convex set.
Why is m˙=−α∥T∥ with α=1/(Ispg0)?
Thrust =m˙fuelve, so mass-loss rate =∥T∥/ve=α∥T∥.
Recall Feynman: explain to a 12-year-old
Imagine you're landing a video-game rocket and you must touch the exact "X" with zero speed, using as little fuel as possible. The engine can't idle super low — it's either off or above a minimum push. That "either off or strong-ish" rule makes the puzzle tricky, with lots of possible landings, and computers get confused. G-FOLD is a clever rewrite: instead of tracking the actual push, we track push ÷ weight, and we let the computer pretend the push can be anything up to a chosen budget number Γ. Because we're rewarded for keeping the budget small, the computer naturally uses exactly the push it needs — no cheating. Now the puzzle has one best answer, and the computer finds it fast enough to steer a real rocket down safely.
Socho tumhe ek rocket ko exactly ek marked point pe, zero speed ke saath, aur minimum fuel me land karana hai (jaise SpaceX ka Falcon ya Mars lander). Problem yeh hai ki engine ko ek minimum thrust ke niche throttle nahi kar sakte — matlab thrust ya to strong hoga ya bilkul off. Yeh "Tmin floor" wali condition ek non-convex set banati hai (ek sphere ke bahar ka region), aur mass bhi 1/m ki wajah se dynamics nonlinear kar deti hai. Non-convex problem me bahut saare local minima hote hain, solver confuse ho jaata hai aur real-time (~1 second) me reliable answer nahi milta.
G-FOLD ka jaadu do steps me hai. Pehla: variable change — hum a=T/m aur z=lnm lete hain. Log lene se mass ki equation z˙=−αΓlinear ban jaati hai. Dusra: lossless convexification — hum ∥a∥=Γ ko relax karke ∥a∥≤Γ likh dete hain (yeh ek cone hai, convex). Proof (Pontryagin) kehta hai ki optimum pe hamesha equality hold karegi, isliye kuch bhi "lose" nahi hota. Ab pura problem ek SOCP (Second-Order Cone Program) ban jaata hai jise computer guaranteed global optimum tak, fast, solve kar leta hai.
Intuition yeh hai: fuel cost ∫Γdt ko minimize karne me solver Γ ko chota rakhna chahta hai, isliye woh khud-ba-khud Γ ko ∥a∥ ke barabar le aata hai — koi cheating nahi. Aur fuel-optimal answer aksar bang-bang hota hai: pehle coast/min-thrust, phir last moment pe poora full-thrust braking burn (famous "suicide burn"). Glide-slope cone b