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

Visual walkthroughUnscented Kalman Filter (UKF) — sigma points, better for nonlinear

2,781 words13 min read↑ Read in English

3.5.25 · D2 · Physics › Guidance, Navigation & Control (GNC) › Unscented Kalman Filter (UKF) — sigma points, better for non


Step 1 — "Uncertainty" ka picture kya hota hai?

KYA HAI. Kuch bhi transform karne se pehle, hum agree karte hain ki hum transform kya kar rahe hain. Filtering mein hum koi bhi quantity exactly nahi jaante — hum ek best guess aur uske around doubt ki spread jaante hain.

  • Best guess ko mean kehte hain, jo likha jaata hai (padho "x-bar"). Yeh woh point hai jis par tum bet lagaoge.
  • Doubt ko covariance kehte hain, jo likha jaata hai. Ek dimension mein , jahan ("sigma") yeh batata hai ki ek typical sample se kitna door bhatak jaata hai. Do dimensions mein numbers ki ek chhoti table hai jo ek ellipse of doubt describe karti hai — un directions mein lambi jahan hum unsure hain, aur chhoti jahan hum confident hain.

KYUN. Ek Kalman filter sirf inhi do cheezein track karta hai: kahan (mean) aur kitna sure (covariance). Toh poora game yeh hai: ek nonlinear map se guzarne ke baad, andar aane wala mean aur spread bahar kya ban ke niklega?

PICTURE. Blue dot hai; shaded ellipse hai — har direction mein doubt ka ek standard deviation.

Figure — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear

Step 2 — Poora cloud se push kyun nahi karte?

KYA HAI. Hamare paas ek nonlinear function hai. "Nonlinear" matlab: uska graph ek curve hai, straight line nahi — mein equal steps se mein equal steps nahi milte.

KYUN. "Cloud ka kya hoga?" ka honest jawab yeh hoga: cloud se infinitely many points lo, har ek ko se bhejo, aur resulting cloud dekho. Yahi Particle Filter hai — sahi hai par expensive hai. Extended Kalman Filter (EKF) opposite extreme par jaata hai: woh curve ko par uski tangent line se replace kar deta hai (ek Taylor Series Expansion jise linear term ke baad kaat diya jaata hai) aur ellipse ko us line se push karta hai. Fast hai, lekin curvature phek di jaati hai.

PICTURE. Dekho kaise curved orange function ek symmetric input cloud ko ek lop-sided output cloud mein bend karta hai. Dashed grey tangent line — EKF ki duniya — use symmetric rakhti hai aur mean ko galat jagah rakhti hai.

Figure — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear

Step 3 — Clever points: sigma points choose karna

KYA HAI. Hum poore cloud ko points ke ek chhote, hand-picked set se replace karte hain jise sigma points kehte hain, likha jaata hai (script-X, index ). dimensions mein hum use karte hain:

  • ek center par, ,
  • aur ellipse ke har principal axis ke saath ek matched pair — ek side par, ek side par.

Term by term:

  • covariance ka matrix square root hai (usually Cholesky Decomposition factor with ). Yahi woh cheez hai jo "doubt ke size" ko "kitna step karna hai" mein convert karti hai. 1D mein yeh simply hai.
  • matlab "the -th column" — ellipse ki ek direction.
  • ek scale dial hai ( = "lambda"): bada dial ⇒ points zyada door baithe hain. se hum Step 6 mein properly milte hain.

KYUN. Symmetric pairs guarantee karte hain ki point cloud ka mean exactly par rahe (ek step apne twin se cancel ho jaata hai). ke axes ke saath step karne se cloud ka spread se match karta hai. Do moments, by construction, matched.

PICTURE. 2D ellipse ke liye paanch red dots: center plus do symmetric pairs, har pair ellipse ko uske ek axis ke saath straddling karta hua.

Figure — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear
Recall

kyun aur zyada nahi? Ek deterministic minimal set kyun enough hai? ::: Kyunki ek Kalman filter sirf do moments care karta hai (mean + covariance); points donon ko pin karne ke liye exactly enough hai. Zyada points sirf sampling noise add karte.


Step 4 — Tuning knobs se milte hain

KYA HAI. Dots ko weight karne se pehle, hume teen chhote numbers naam dene hain jo scale dial ko shape karte hain, aur ek aur jo spread tune karta hai. Yeh hain:

  • ("alpha", ek chhota positive number, e.g. ): spread control karta hai — outer dots mean se kitna door baithe hain. Chhota ⇒ dots center ke paas hugte hain.
  • ("kappa", ek secondary knob, usually ya ): scale par ek aur lever, legacy reasons ke liye rakha gaya hai.
  • ("beta"): distribution ki shape ke baare mein prior knowledge fold karta hai. Gaussian input ke liye optimal value hai.

ABHI YEH KYUN NAME KARTE HAIN. Neeche wala covariance weight aur directly use karta hai, aur worked example use karta hai — toh hume yeh formulas likhne se pehle define karne chahiye. Koi symbol uske picture se pehle nahi.

PICTURE. Ek "spread panel" ke knobs: dots ko andar/bahar slide karta hai, doubt ko re-shape karta hai, scale trim karta hai — sab single dial mein feed hote hain.

Figure — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear

Step 5 — Weights: dots se mean aur covariance reproduce karna

KYA HAI. Har sigma point ek weight carry karta hai, likha jaata hai ("W" for weight). Do weight lists hain: mean reconstruct karne ke liye, aur covariance reconstruct karne ke liye.

  • center point par bada weight hai.
  • Har outer point small weight share karta hai — ek pair ke dono sides par same (phir symmetry).

DO LISTS KYUN? Covariance list mean list se sirf center par alag hai:

Yeh hume ek distribution-tuning term inject karne deta hai — Step 4 mein define kiye gaye aur se bana — spread mein bina mean hilaye. Pure bookkeeping hai.

Mean weights ka 1 mein sum hona verify karo (ek unbiased average mein hona zaroori hai). Mean list mein ek center weight plus equal outer weights hain:

PICTURE. Wahi paanch dots, ab circles ki tarah drawn jinki area weight hai — ek bada central disk, chaar chhote satellites.

Figure — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear

Step 6 — Push through, phir answer read off karo

KYA HAI. Ab payoff. Har sigma point ko true function se bhejo:

Phir output statistics ko weighted sums se rebuild karo:

  • = transformed dots ka weighted average = naya mean.
  • = ek transformed dot naye mean se kitni door land karta hai.
  • = "outer product," jo ek displacement ko ek chhota ellipse-piece banata hai; inhe sum karne se output ellipse rebuild hoti hai.

KYUN. Kyunki humne har dot par real use ki, transformed dots true curve par land karte hain — toh unka weighted spread woh curvature capture karta hai jo EKF ki tangent line miss kar gayi thi. Gaussian inputs ke liye yeh 3rd order tak accurate hai, jabki EKF sirf 1st order hai.

PICTURE. Baayi taraf: ellipse par input dots. Beech mein: curve har dot ko output axis par le jaata hai. Daayein: recovered output mean (star) aur spread — notice karo ki mean wahan se shift ho gaya jahan tangent line use rakhti.

Figure — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear

Step 7 — Edge case: dial kya karta hai, aur uske extremes

KYA HAI. Yaad karo step size hai, toh control karta hai ki outer dots center se kitna door baithe hain — aur poori tarah Step-4 ke knobs se set hota hai.

KYUN / cases.

  • Bada (points door): dots function ko se door sample karte hain, far-field curvature feel karte hain — achha hai agar gently curved hai, risky hai agar woh bahaar bahut zyada bend karta hai.
  • Tiny ("scaled UT"): , toh dots par baithe hain — mean ko hugte hue, locally sample karte hue. mein term covariance ko re-inflate karta hai taaki spread sahi rahe chahe dots andar move ho gaye.
  • Degenerate (zero uncertainty): square root hai, saare dots par pile ho jaate hain, aur UT plain tak reduce ho jaata hai — exactly sahi, kyunki bina doubt ke ek point sirf map hota hai.
  • Root guard karo: agar kabhi choose karo toh step imaginary ho jaata hai — yeh kabhi mat karo; rakho taaki .

PICTURE. Wahi input ellipse ki teen settings ke saath: wide dots, tight dots, aur collapsed case — covariance-correction weight tight case ko re-inflate karta dikhaya.

Figure — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear

Step 8 — Edge case: non-differentiable map (Jacobian kyun nahi chahiye)

KYA HAI. Ab tak ka output kaha jaata tha. Ek real filter mein wahi machinery measurement function par use hoti hai: yeh state leta hai aur predict karta hai ki ek sensor ko kya padhna chahiye. Standard filter notation rakhne ke liye, jab function ho toh hum uske output ko (predicted measurement), uske mean ko , aur uski covariance ko rename karte hain — yeh exactly Step 6 ke hain jahan ki jagah hai. Kuch naya nahi, sirf naye letters:

  • ::: predicted measurement ( ka role).
  • ::: uska mean ( ka role).
  • ::: uska spread ( ka role).
  • ::: cross-covariance — bilkul naya — measure karta hai ki input aur output saath mein kaise chalte hain.

Ab 2D state aur (origin se distance) lo. Uska derivative hai, jo origin par blow up karta hai — division by zero.

KYUN. EKF ko uncertainty propagate karne ke liye woh derivative chahiye, toh woh par fail karta hai. UT kabhi differentiate nahi karta. ka har term upar ek dot par ka plain evaluation hai — koi slope nahi, koi singularity nahi. Yahi exactly woh ingredient hai jo Kalman gain ko chahiye, Jacobian ko completely replace karta hua.

PICTURE. Origin ke paas ke around chaar sigma points; cone ka center par ek sharp tip hai (koi tangent plane nahi), phir bhi har dot ko clean output value milti hai.

Figure — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear

Ek-picture summary

Sab ek saath: ek input Gaussian → sigma points ke saath choose kiye → har dot true curve se push kiya → shifted output mean aur skewed output covariance ki weighted recovery, peeche contrast ke liye failed EKF tangent line ghost ki tarah dikhti hai.

Figure — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear
Recall Feynman retelling — ek story ki tarah batao

Hum ek guess aur uske around doubt ke ek fog se shuru karte hain — ek dot aur ek ellipse. Hum khud par trust nahi karte ki poore ellipse ko ek curvy function se mod sakein, toh hum cleverly cheat karte hain: hum kuch pathhar giraaate hain — ek beech mein, aur matched pairs bahar ki taraf step karte hain har direction mein jahan fog pahuncha hua hai. Yeh kitna step karte hain yeh ek dial se set hota hai, jo chhote knobs se bana hai (aur hum hamesha rakhte hain taaki step ek real distance ho, imaginary nahi). Hum pathron ko weight karte hain taaki milke woh original fog hon (same center, same spread), aur ek extra knob Gaussian fog ke liye spread weight tune karta hai ( ideal hai). Phir hum har pathhar ko real curve se phenkate hain — koi fake straight-line stand-in nahi — aur dekhte hain woh kahan land karte hain. Jahan yeh land karte hain unka weighted average hamaara naya best guess hai; weighted spread hamaara naya fog hai. Jab function ek sensor ho toh hum sirf output ko rename karte hain aur yeh bhi track karte hain ki input aur output saath kaise chalte hain, — aur jab bhi sensor ka ek sharp tip ho jahan slopes blast off karte hain, humaare pattharon ko koi fark nahi padta, woh kabhi sirf evaluate karte hain, kabhi differentiate nahi.

Recall Poora cycle ek flow mein
flowchart TD
  A["mean x-bar and covariance P"] --> B["build 2n+1 sigma points"]
  B --> C["push each through true f"]
  C --> D["weighted mean gives y-bar"]
  C --> E["weighted spread gives P_y"]
  D --> F["output belief"]
  E --> F