3.5.24 · D2 · HinglishGuidance, Navigation & Control (GNC)

Visual walkthroughExtended Kalman Filter (EKF) — linearization, Jacobians

3,198 words15 min read↑ Read in English

3.5.24 · D2 · Physics › Guidance, Navigation & Control (GNC) › Extended Kalman Filter (EKF) — linearization, Jacobians

Prerequisites jinpe hum tike hain (agar rusty ho toh build karo): Taylor Series & Linearization, Jacobian Matrix & Multivariable Calculus, Covariance Propagation. Yeh EKF parent note ka visual companion hai.


Step 1 — Ek curve, aur ek point jis par hum bharosa karte hain

KYA. Sabse seedha honest picture se shuru karo: ek akela nonlinear measurement function (upar ke box wala sensor rule). Socho ek radar jiska reading target position par ek curved rule ke zariye depend karta hai. Hum us rule ko ek kaali curve se draw karte hain. Hamare paas ek aur cheez bhi hai jis par hum yakeen karte hain: humara abhi ka best estimate, input axis par ek akela dot jise kehte hain ("x-hat", hat ka matlab hai estimate).

KYUN. EKF kabhi bhi poori curve par ek saath bharosa nahi karta — yeh impossible hoga, curve infinitely varied hai. Woh sirf us ek point ke chhote se neighbourhood par bharosa karta hai jis par abhi uska yakeen hai. Toh poori derivation ka pehla kaam hai: bharose ka point chunna.

PICTURE. Laal dot hai; kaali curve measurement map hai. Har cheez laal dot ke aaspaas hoti hai.

Figure — Extended Kalman Filter (EKF) — linearization, Jacobians

Step 2 — Tab tak zoom karo jab tak curve seedhi na lagne lage

KYA. par curve ko microscope se dekho. Ek baar zoom karo, phir dobara. Jitna zyada zoom karenge, curve utni hi flat dikhegi — yahan tak ki ek chhoti si window mein, yeh visually ek seedhi line se alag nahi dikhegi.

KYUN. Yeh puri EKF ki secret ek observation mein hai: koi bhi smooth curve, kaafi closely dekhi jaaye, ek line hai. Yeh koi trick nahi hai — yeh "smooth" ki definition hai. Agar hum sirf ke bahut paas wale states ke baare mein poochhen, toh hum curve ki jagah us local line use kar sakte hain aur almost kuch nahi khoenge.

PICTURE. Teen panels, har ek same laal point par gehri zoom. Kaali curve ko flat hote dekho.

Figure — Extended Kalman Filter (EKF) — linearization, Jacobians

Step 3 — Line ka naam do: value + slope × step

KYA. Hum ab woh seedhi line likhte hain jo par measurement curve se chipki rehti hai. Line ko do numbers chahiye: kahan se shuru hoti hai aur kitni steep hai.

Har term, exactly jahan appear hoti hai:

  • — curve ki actual height anchor par. Jahan tangent line touch karti hai.
  • slope: output kitne units utha jata hai jab input ek unit hilta hai, bilkul par measure kiya.
  • — hum anchor se kitna door gaye. Anchor par zero hai, toh line wahan curve ko touch karti hai.

KYUN yeh tool aur koi nahi. Hum parabola ya poora polynomial fit kar sakte the. Hum jaanbujhkar line (first order) par ruk jaate hain kyunki Kalman machinery sirf Gaussians ko constant matrices ke zariye move karna jaanti hai — line ki slope ek constant hai. Yeh first-order Taylor expansion hai, aur "first order" precisely isliye choose kiya gaya hai kyunki yeh sabse zyada order hai jo linear KF consume kar sakta hai.

PICTURE. Laal tangent line kaali curve ke upar rakhi, height aur slope figure par labelled.

Figure — Extended Kalman Filter (EKF) — linearization, Jacobians

Step 4 — Ek slope se poori matrix tak: Jacobian

KYA. Real states ek number nahi hote. Target ka aur hota hai; radar range aur bearing return karta hai. Toh input ek vector hai aur output ek vector. Akela slope ek slopes ki grid banna chahiye: har (output, input) pair ke liye ek. Woh grid measurement map ka Jacobian hai, jise kehte hain.

Grid padhna — yahi poora Jacobian ka idea hai:

  • Ek row = ek output. Top row = "range kaise respond karta hai"; yeh range ki sensitivity har input ke liye list karti hai.
  • Ek column = ek input. Left column = " ko nudge karne se kya hota hai"; yeh har output ka ke response ko list karta hai.
  • Entry = = output ki slope agar tum sirf input ko jiggle karo.

KYUN. Do inputs ke saath, tangent "line" har output ke liye tangent plane ban jaati hai. Ek plane ko phir bhi sirf har axis ke saath apni slopes chahiye — aur woh slopes exactly woh partial derivatives hain jo Jacobian mein baithe hain. Jacobian woh best constant matrix hai jo curve ke local behaviour ko reproduce karta hai, jo exactly wahi tha jo KF ne demand kiya tha.

PICTURE. Ek curved surface ( plane par range) jis par flat laal tangent plane par kiss kar raha hai; do axis-slopes top Jacobian row ki do entries hain.

Figure — Extended Kalman Filter (EKF) — linearization, Jacobians
Recall Reading direction check karo

Range/bearing ke liye mein, row 1, column 2 wali entry ka kya matlab hai? ::: range kitna badalta hai jab sirf hilta hai. Row output choose karta hai (range), column input choose karta hai ().


Step 5 — Transition curve aur uski slope par switch karo

KYA. Ab tak kaali curve measurement map thi. Ab hum wahi tangent construction doosri curve par karte hain — upar ke box wala state-transition map , jo (pichli tick) ko agli state tak le jaata hai. Iska tangent slope, exactly Steps 3–4 ki tarah build kiya gaya, transition Jacobian hai

Har symbol: transition rule ki slopes ki grid (sensor ki nahi); bar — "pichli tick ke estimate par evaluate kiya gaya," kyunki wahan se motion shuru hoti hai.

KYUN. Hamen ki zarurat hai is baat se pehle ki hum samjhein ki belief cloud ek tick forward move hote waqt kaise phailta hai. Geometry nayi nahi hai — yeh Step 3 ka "value + slope × step" ki jagah par apply kiya gaya hai.

PICTURE. Wahi tangent idea, ab transition curve par labelled: kaali curve , laal tangent jiska slope hai, par anchored.

Figure — Extended Kalman Filter (EKF) — linearization, Jacobians

Step 6 — Transition curve se ek point nahi, ek cloud push karo

KYA. Humari belief kabhi ek akela dot nahi hoti — yeh ek fuzzy cloud (Gaussian) hoti hai par centred, jiska width covariance hai. Dekho kya hota hai jab yeh cloud transition curve se do alag tareekon se guzarti hai:

  1. True curve ke zariye (top path): cloud bent aur lopsided nikaalta hai — ab clean Gaussian nahi rahi. KF equations ek skewed blob ko describe nahi kar sakti.
  2. Laal tangent line ke zariye (slope , bottom path): ek seedhi line ek Gaussian ko sirf stretch aur shift karti hai — yeh perfect Gaussian rehti hai. Ab KF ise handle kar sakta hai.

KYUN. Tangent line isliye exist karti hai. Covariance propagate karne ke liye map ko linear hona chahiye taaki "Gaussian in ⇒ Gaussian out." Curve woh promise torti hai; tangent use nibhati hai. Hum jaanbujhkar thodi accuracy (curve ka bend) ke badle ek Gaussian trade karte hain jis par hum actually compute kar sakein.

PICTURE. Same input cloud , do exits: bent (curve ) vs. clean (tangent, slope ).

Figure — Extended Kalman Filter (EKF) — linearization, Jacobians

Step 7 — Split personality: mean nonlinear, covariance linear

KYA. Yeh woh subtlety hai jo parent note ne flag ki thi. Jab hum filter ko ek tick age badhate hain:

  • cloud ka centre true curve se move hota hai — kyunki agli state ka best guess current best guess ka honest function hai;
  • cloud ki width Jacobian se move hoti hai — kyunki sirf ek straight map ek Gaussian ko Gaussian rakhta hai.

KYUN. Centre ke liye curve use karna kuch bhi cost nahi karta (ek single point kisi bhi curve ko exactly follow kar sakta hai). Width ke liye curve use karna Gaussian rakhna impossible hai. Toh hum har object ko us map se route karte hain jise woh survive kar sake.

PICTURE. Ek arrow labelled "centre" kaali curve follow karta hua; arrows ka ek doosra pair labelled "width" laal tangent (slope ) follow karta hua — thoda diverge karta hua, jo exactly approximation error hai.

Figure — Extended Kalman Filter (EKF) — linearization, Jacobians

Step 8 — Tangent kahan draw ki jaati hai yeh important hai: do evaluation points

KYA. Curve ki slope har point par alag hoti hai. Toh kis point par hum tangent draw karte hain yeh decide karta hai ki kaunsa slope milega. EKF do alag curves par do alag anchors use karta hai:

  • (transition slope) curve par previous estimate par draw ki jaati hai — kyunki wahan se motion shuru hoti hai.
  • (measurement slope) curve par predicted estimate par draw ki jaati hai — kyunki measurement us jagah ke against compare ki jaati hai jahan hum predict karte hain ki abhi hain.

KYUN. Galat point par tangent draw karo aur uski slope galat hai, toh aur galat hain, toh poora filter drift karta hai. Curve ki steepness sach mein us par jagah-jagah badlati hai — koi "the slope" nahi hoti.

PICTURE. Wahi curve do alag states par do laal dots ke saath aur clearly alag-alag steepness wali do tangents — dikhata hua ki "the Jacobian" ka koi matlab nahi "evaluated kahan" ke bina.

Figure — Extended Kalman Filter (EKF) — linearization, Jacobians

Step 9 — Degenerate case: tangent kahan fail karti hai

KYA. Do dangerous situations, har ek ki apni picture:

  1. Flat spot (slope ). Jahan ek curve momentarily level off hoti hai, uski tangent slope almost zero hoti hai. Tangent kehti hai "output is input par barely respond karta hai," phir bhi ek chhoti si move steep part par land kar sakti hai. Transition curve ka example: pendulum ka transition Jacobian entry par vanish ho jaati hai — restoring stiffness exactly wahan disappear ho jaati hai jahan linear model claim karta hai ki yeh constant hai. (Note yeh ki slope hai, ki nahi — same flat-spot geometry, transition curve.)
  2. Far anchor. Agar truth se door hai, wahan draw ki gayi tangent poori galat direction mein point karti hai; cloud galat taraf stretch hoti hai aur filter diverge karta hai.

KYUN. Tangent sirf apne anchor ke paas aur jab curve wahan genuinely gentle ho tabhi sach bolti hai. Dono failures ek hi failure hain — Step 2 ki flat window ke bahar line par bharosa karna.

PICTURE. Left: ek flat-spot tangent jo nearby steep curve ko buri tarah mis-predict karti hai. Right: ek door anchor jiska tangent true state ko bilkul miss karta hai (divergence).

Figure — Extended Kalman Filter (EKF) — linearization, Jacobians

Ek-picture summary

Upar sab kuch, compress karke: ek Gaussian cloud par ek kaali curve ke saath baithti hai; laal tangent line (slope = Jacobian) curve ko locally replace karti hai; centre true curve follow karta hai jabki width tangent follow karti hai, ek clean Gaussian produce karta hai jo hum linear Kalman equations ko feed karte hain. Table lock in karti hai ki kaun si curve aur kaun sa Jacobian kis phase se belong karta hai.

phase centre ke liye curve width ke liye Jacobian evaluate kiya gaya
predict (transition)
update (measurement)
Figure — Extended Kalman Filter (EKF) — linearization, Jacobians
Recall Feynman retelling — plain words mein bolo

Socho tum fog mein ek ulhar-pulhar pahadi road par chal rahe ho, aur sirf apne paon ke neeche ki zameen par bharosa kar sakte ho. Zameen ka woh tukda flat dikhta hai chahe poora pahaad curved ho — woh flat tukda hi tangent hai, aur woh kitna tilted hai, wahi Jacobian hai. Sach mein do alag pahad hain: ek motion pahad (teri position har second kaise aage badhti hai, tilt ), doosra sensor pahad (tere instruments teri position kaise read karte hain, tilt ). Tum ek fuzzy sense rakhte ho tum sach mein kahan ho shaayad (ek cloud, covariance ). Jab tum samay mein ek kadam aage lete ho, tum apne guess ke centre ko real curvy motion road par move karte ho — kyunki tera best single guess kisi bhi road ko exactly follow kar sakta hai. Lekin teri fuzziness ko tum sirf apne paon ke neeche flat tilt use karke stretch karte ho, kyunki ek straight tilt fuzz ko nicely bell-shaped aur math-friendly rakhta hai, jabki real curve ise ek ugly lopsided blob mein smear kar degi jis par koi compute nahi kar sakta. Isse predicted cloud milta hai, "minus" ka matlab hai "moved but not yet corrected." Ek rule jo tum kabhi nahi tod sakte: apna flat patch us pair ke neeche draw karo jis par abhi khade ho — motion pahad par ke liye pichli tick par, sensor pahad par ke liye predicted spot par. Aur agar road tezi se bend kare, ya tum road se kaafi door se shuru karo, toh flat patch ek jhooth hai aur ya tum girte ho (diverge) ya phir ek smarter scout switch karo jo real road par kai points sample karta hai — the UKF.