Assignment: GUI-Based EKF Localization Using Multiple Landmarks
Objective
In this assignment, you will develop a MATLAB graphical user interface that demonstrates 2D robot localization using an Extended Kalman Filter with multiple known landmarks.
Your GUI should combine the visualization style of the provided first Kalman filter GUI with the nonlinear EKF localization model from the provided one-landmark-based EKF script.
Background
A mobile robot moves in a 2D environment using the unicycle motion model:
x=xyθ
where x and y represent the robot position, and θ is the robot heading angle.
The robot receives control inputs:
u=[vω]
where v is the linear velocity and ω is the angular velocity.
The environment contains multiple fixed landmarks at known positions. The robot measures its distance to each landmark using noisy range measurements.
Required Tasks
Students must implement a MATLAB GUI that simulates and visualizes EKF localization using multiple landmarks.
The GUI should include:
A 2D plot showing:
true robot trajectory
estimated robot trajectory
landmark locations
noisy range measurements
uncertainty ellipse of the estimated position
A Run Simulation button.
A Reset button.
User controls for:
process noise level
measurement noise level
number of landmarks
Adding landmarks to 2D plot by mouse click or text input
simulation duration
A live visualization of the robot motion and EKF estimate.
EKF Requirements
Students should implement the EKF prediction step using the nonlinear unicycle model:
xk+1=xk+vΔtcos(θk)
yk+1=yk+vΔtsin(θk)
θk+1=θk+ωΔt
They should also compute the motion Jacobian Fk.
For each landmark i, the range measurement is:
zi=(x−xLi)2+(y−yLi)2
For multiple landmarks, students should construct: