Filtrul extins Kalman (EKF) este un algoritm utilizat pe scară largă în localizarea robotului. El estimează poziția robotului și orientarea acestuia prin combinarea datelor senzorilor cu un model matematic al mișcării robotului. Înțelegerea fundațiilor matematice ale EKF este esențială pentru implementarea și reglajul eficient.

Reprezentarea statului și predicția

Miezul EKF implică reprezentarea stării robotului ca vector, incluzând de obicei poziția și orientarea. Etapa predicției utilizează un model neliniar de mișcare pentru a proiecta starea curentă în timp. Aceasta implică calcularea matricei iacobiene a modelului de mișcare pentru a liniariza ecuațiile neliniare din jurul estimării curente.

Actualizare și liniarizare măsurători

Măsurătorile senzorilor sunt încorporate prin etapa de actualizare. Deoarece măsurătorile sunt adesea funcţii neliniare ale stării, EKF linearizează aceste funcţii folosindu-se de Jacobienii lor. Acest proces ajustează starea estimată pe baza diferenţei dintre citirile aşteptate şi cele reale ale senzorilor.

Ecuații matematice

Ecuaţiile predicţiei sunt:

Predicția de stat:

x

Previziuni privind ovarul:]

Pk+1- = Fk Pk Fkt + Qk

unde f este modelul de mișcare neliniară, Fk este iacobian, P este matricea de covareză, iar Q este ovareză de zgomot proces.

Ecuațiile de actualizare sunt:

Kalman câștig:

Kk = Pk- Hkt (Hk Pk− Hkt + Rk) - 1

Actualizare de stat:

x

Actualizare ovariană:

Pk = (I - Kk Hk) Pk−

Aici, h este modelul de măsurare neliniară, Hk este iacobian, Rk este canvarția zgomotului de măsurare, și zk este măsurarea reală a senzorului.