Visual walkthrough — Powered descent guidance — G-FOLD algorithm (convex optimization)
3.5.53 · D2· Physics › Guidance, Navigation & Control (GNC) › Powered descent guidance — G-FOLD algorithm (convex optimiza
Hum sab kuch in seedhi baaton se build karenge, ek-ek step. Kuch bhi assume nahi kiya jayega.
Step 1 — Girta hua lander aur woh chaar cheezein jo hum measure kar sakte hain
KYA HAI. Ek rocket ko imagine karo jo kisi landing pad ke upar kahin hai. Ise kisi bhi pal completely describe karne ke liye hume sirf kuch numbers chahiye:
- Yeh kahaan hai — iska position. Hum ise likhte hain. Upar chhota arrow ka matlab hai "yeh ek number nahi, teen hain: kitna East, kitna North, kitna upar." Bold letter with arrow = ek vector = space mein ek arrow.
- Yeh kitni tezi se aur kis direction mein move kar raha hai — iska velocity, likha jaata hai . Ek aur arrow. Yeh motion ki direction mein point karta hai; iski length speed hai.
- Abhi yeh kitna bhaari hai — iska mass, likha jaata hai . Sirf ek number (koi arrow nahi), kyunki "bhaariped" ki koi direction nahi hoti. Jaise-jaise fuel jalta hai yeh ghatta hai.
- Engine se push — thrust, likha jaata hai . Phir se ek arrow, kyunki push ki ek strength bhi hoti hai aur ek direction bhi (engine gimbal kar sakta hai flame ko point karne ke liye).

YEH CHAAR HI KYUN. Newton ne humein bataya ki kisi bhi object ka future predict karne ke liye tumhe uska position, velocity, aur uspar lagte forces chahiye. Mass add karo kyunki rocket mass kho deta hai jab woh jalta hai — aur yeh change karta hai ki same push use kaise accelerate karti hai. Yeh chaar poori kahani hain.
Step 2 — Jalte hue rocket ke liye Newton ka law
KYA HAI. Lander par do forces act karti hain: engine push (upar ki taraf) aur gravity jo use neeche kheenchti hai. Kisi planet ki surface ke paas gravity ek constant downward arrow hoti hai jise hum kehte hain (Mars par iski length hai; arrow zameen ki taraf point karta hai).
Newton kehta hai force equals mass times acceleration. Total force thrust plus weight hai:

KYUN. Yeh akela line fall ki poori physics hai. Iske baad sab kuch bookkeeping hai taaki computer ise solve kar sake. Troublemaker pehle se dikhai de raha hai: multiply kar raha hai ko, aur khud har second badal raha hai. Equation ke andar ek moving target.
DIKHTA KAISA HAI. Figure mein kala arrow narangi arrow se ladta hai; unka sum (violet) net force hai, aur yeh wahan point karta hai jahan lander actually accelerate karta hai.
Step 3 — Fuel kaise gaayab hota hai
KYA HAI. Rocket mass kitni tezi se khota hai? Ek rocket exhaust gas ko bahut tezi se peeche fenk kar thrust banata hai. Zyada gas per second bahar karo → zyada thrust aur tezi se weight loss. Concretely:
Term by term:
- — mass loss ki rate (negative: mass neeche jaata hai).
- — thrust arrow ki length, yaani ek number ke roop mein uski strength. Double bars ka matlab hai "yeh arrow kitna lamba hai" (iska magnitude).
- (Greek "alpha") — engine ke liye ek fixed number, equal to jahan exhaust speed hai. Badi exhaust speed ⇒ chhota ⇒ fuel ke saath kanjoos.
- minus sign — hum mass kho rahe hain, gain nahi kar rahe.

BARS KYUN, KYUN NAHI? Fuel ko koi fark nahi padta ki flame kis taraf point kar raha hai, sirf kitna hard hai. Isliye burn rate arrow ki length par depend karta hai, jo ek single positive number hai — isliye magnitude bars. Yeh Tsiolkovsky Rocket Equation ka hamaara pehla taste hai uske instantaneous, differential form mein.
DIKHTA KAISA HAI. Figure ek straight line hai: horizontal axis par thrust strength, vertical par burn rate. Push double karo, burn double karo.
Step 4 — Villain appear hota hai: throttle annulus
KYA HAI. Ek real engine smoothly zero tak throttle nahi kar sakta. Iska ek floor hota hai (iske neeche yeh flames out ho jaata hai) aur ek ceiling (structural limit):
Allowed thrust arrows ka set draw karo. Woh saare arrows jinki length do values ke beech hai ek ring (annulus) bharte hain — do circles ke beech ka region.

POORA PROBLEM YEH KYUN HAI. Ek set convex hota hai agar uske kisi bhi do points ke beech ki straight line set ke andar rahe. Outer circle ke andar ki disk convex hai — theek hai. Lekin ring mein beech mein ek hole hai: doughnut hole ke across ek chord kheecho aur yeh set se bahar chali jaati hai. Non-convex. Non-convex sets wahan hain jahan optimizers jhoothe "landings" mein phans jaate hain.
Step 5 — Mass se divide karo, logarithm lo (nonlinearity khatam karo)
KYA HAI. Do clever renamings. Pehle, Step 2 se Newton ke law ko se divide karo:
Humne awkward ratio ko naam diya — acceleration command. Awkward acceleration equation se gaayab ho gaya; yeh ab mein perfectly linear hai.
Doosra, mass ke liye, use karo (mass ka natural logarithm):
Yahan (Greek "Gamma") sirf "thrust-per-mass strength" ka ek naya naam hai, aur mass ka log hai.

LOGARITHM KYUN? Rate exactly ka derivative hai — "log-derivative" ka yehi matlab hai. Isliye mein kaam karke gandi division ek clean linear line ban jaati hai. Logarithms division ko subtraction mein badal dete hain; yahan yeh ek nonlinear tangle ko straight line mein badal dete hain. Picture dikhati hai curved straight ban jaata hai.
Recall Hum
ko akela kyun nahi chhod sakte? Kyunki ka ko multiply karna AUR ka throttle bounds mein appear karna — yeh do nonlinear knots hain. Trick pehla kholta hai; doosra kholta hai.
Step 6 — Lossless convexification: doughnut hole bhar do
KYA HAI. Throttle bounds ko bhi se divide karo. Upper/lower thrust limits par bounds ban jaate hain, lekin hum slack ko thrust length ke stand-in ke roop mein introduce karte hain aur demand karte hain:
Pehli inequality ko dhyan se padho: force karne ki jagah (ek equation — ek thin shell, non-convex), hum sirf maangte hain (andar kahin bhi allowed). ka set jo yeh satisfy karta hai ek ice-cream cone hai — aur cone convex hota hai. Doughnut hole bhar gaya.

RELAXING FREE KYUN HAI. Fuel cost jo hum minimize karenge woh hai — yeh ko chhota rakhna chahti hai. Lekin se neeche nahi ja sakta. Isliye optimizer ko squeeze karta hai jab tak woh ko kiss nahi kar leta — answer mein recover ho jaata hai, true engine physics. Yeh Pontryagin Minimum Principle ke zariye provable hai, aur isliye is trick ko lossless kehte hain: humne constraint relax ki lekin optimum honest boundary par wapas aa jaata hai.
DIKHTA KAISA HAI. Figure mein optimal solution (magenta dot) hamesha cone ki surface par rest karta hai, kabhi andar float nahi karta — cost use skin par kheenchti hai.
Step 7 — Aakhri curved wall: floor
KYA HAI. Ek nonlinearity survive karti hai. Lower throttle bound, mein likhi jaaye, hai kyunki hai, isliye . Woh ek curve hai, aur curve as a lower bound non-convex ho sakta hai. Hum ise ek reference mass ke paas approximate karte hain (ek coasting no-thrust path ke saath mass) Taylor expansion use karke — exponential ko uske apne tangent parabola se replace karke:
- Bracket ki second-order Taylor picture hai — ek convex parabola jo true curve ko hug karti hai.
- Upper bound sirf pehle do terms use karta hai (ek straight line) — yeh bhi convex hai.

TAYLOR KYUN, KUCH AUR KYUN NAHI? Taylor expansion woh unique polynomial hai jo ek point par curve ki value, slope, aur bend match karta hai. Ise second order tak rakhne se hume ek convex quadratic milti hai — highest fidelity jo hum convex rahte hue afford kar sakte hain. Ab har constraint ya toh linear hai ya ek cone: problem ek Second-Order Cone Program (SOCP) hai.
DIKHTA KAISA HAI. Figure true curve (violet) aur uski parabola approximation (orange dashed) ko overlay karta hai jo par touch karti hai — practically identical us mass range mein jahan lander actually jaata hai.
Step 8 — Glide-slope cone add karo aur program padho
KYA HAI. Ek safety wall aur baaki hai: kisi pahad mein sideways mat ghuso. Lander ko ek funnel ke andar rakhne par majboor karo jo pad se upar ki taraf khulab hai. Agar height hai aur horizontal offset hai, toh funnel hai:
- — glide-slope angle, funnel kitna khulta hai.
- — height ke har metre ke liye kitne metres sideways allowed hain (funnel ki wall ka opposite-over-adjacent). Phir se ek cone, convex.
Ab sab kuch stack karo — yeh finished convex program hai:

Time ko line-search KYUN. Ek fixed flight time ke liye upar ka har piece convex hai — ek solve, global optimum. Lekin ko variable banana ek nonlinearity wapas laata hai. Isliye hum convex problem ko kai values ke liye solve karte hain aur sabse sasta chunte hain; fuel-vs- curve mein ek single dip hota hai (unimodal), isliye ek simple 1-D search kaam kar jaati hai. Yeh outer loop Falcon 9 aur Mars landings par onboard replanning ka seed hai.
Ek-picture summary

Poori derivation ek canvas par: nonlinear rocket → ( se divide karo, lo) → linear dynamics → (equality ko tak relax karo) → convex cone → SOCP global optimum tak solve hua.
Recall Feynman retelling — jaise kisi dost ko batate ho
Hamare paas ek rocket hai jo pad ki taraf gir raha hai, aur hum chahte hain ki woh dheere se, theek us jagah, kam se kam fuel use karke land kare. Newton hume motion deta hai, lekin do cheezein ise computer ke liye ugly banati hain. Pehli, rocket ka weight jalta rehta hai jaise woh jalti hai — isliye hum "push divided by weight" ko ek clean acceleration knob ke roop mein rename karte hain, aur hum weight ke logarithm ko track karte hain taaki uska change ek straight line ban jaaye. Doosri, engine idle hokar zero nahi ho sakta — use kam se kam thoda push karna hi padta hai — jo pushes ka ek doughnut banaata hai jisme beech mein ek forbidden hole hai. Doughnuts optimizers ko phasate hain. Isliye hum hole bhar dete hain: hum thrust strength ko slack variable ke exactly equal hone ki jagah at most hone dete hain, doughnut ko ice-cream cone mein badal dete hain. Aur yahi magic hai — kyunki hum fuel bachane ki koshish kar rahe hain, aur fuel cost wahi slack hai, answer naturally cone ki surface par slip aa jaata hai, free mein honest engine physics wapas de kar. Ek curved wall (minimum-throttle floor) ko hum Taylor parabola se seedha karte hain. Ek safety funnel wrap karte hain taaki kisi pahad se takraaye nahi. Jo bachta hai woh ek smooth bowl hai jiska ek lowest point hai — ek second-order cone program — jise computer ek second ke fraction mein global best tak nail kar deta hai. Kuch flight times try karo, sabse sasta rakho, aur land karo.