Probabilistic Robot Localization using Extended Kalman Filter SLAM
The Extended Kalman Filter (EKF) is a powerful algorithm for estimating the state of systems that change over time, especially when their behavior and measurements are nonlinear. It extends the classic (linear) Kalman Filter by handling nonlinearity through linearization—using Taylor series expansions and Jacobian matrices at each step. This makes EKF highly valuable in real-world applications such as autonomous vehicle navigation, robotics, aerospace systems, and mobile device localization, where relationships between variables are rarely simple or linear.
Core Mechanics of the Extended Kalman Filter
The EKF works in two main phases:
Prediction – The filter uses known system dynamics and control inputs to project the current state forward in time.
Update – It then incorporates new sensor measurements to refine this prediction, reducing uncertainty.
At any given time, the EKF maintains two key pieces of information:
A state vector (e.g., the robot’s position and orientation).
A covariance matrix representing the uncertainty in these estimates.
I implemented the Extended Kalman Filter (EKF) in the context of Simultaneous Localization and Mapping (SLAM). My goal was to enable a simulated robot to estimate both its trajectory and the locations of surrounding landmarks, using only noisy motion controls and sensor observations.
I started by working through the mathematical foundations of EKF-SLAM, understanding how the filter linearizes nonlinear models using Jacobian matrices and incorporates process and sensor noise into the state estimation process. I then developed my own EKF-SLAM solver, combining prediction and correction steps to continuously refine the robot’s position and map the environment.
Finally, I analyzed how different factors—such as process noise, sensor noise, and model linearization—affect the filter’s performance. This project gave me hands-on experience in applying EKF for real-time state estimation, deepening my understanding of data fusion, uncertainty modeling, and mapping—skills that are essential for modern robotics and autonomous systems.
Parameter Tuning
Parameter tuning for EKF-SLAM involved systematically varying noise parameters—specifically, the standard deviations for motion model noise in the x, y, and angular (α) directions, as well as for the sensor's bearing (β) and range (r).
Tuning σx and σy
Increasing the motion noise parameter for x (σx) resulted in noticeably larger uncertainty ellipses along the robot's path and modest increases in both Euclidean and Mahalanobis distances, indicating that the system maintained accuracy but with greater estimated uncertainty.
Reducing σx, on the other hand, produced smaller uncertainty ellipses but led to increased estimation errors, highlighting risks of overconfidence and potential filter divergence when underestimating noise.
Adjusting the y-direction noise (σy) showed a similar pattern.
Tuning σα
Tuning rotational noise (σα) demonstrated the algorithm's robustness—higher values only marginally increased uncertainty, with final poses and landmarks nearly identical to the baseline. Lower rotational noise, however, reduced estimate confidence but increased factual error.
Tuning σβ and σr
For measurement parameters, increasing the bearing (σβ) and range (σr) noise parameters did not significantly disrupt accuracy, with landmarks and robot poses remaining close to baseline values, though uncertainty grew. Conversely, reducing these values shrank ellipses but increased both types of error and made the filter more brittle.