Inspired by my first year experiences working on the ROS map navigation project, I worked on a project which involved a deep-dive into the math and theory behind using extended kalman filters for SLAM as my final project in Quantitative Engineering Analysis. Working on the ROS map navigation project was pretty neat, but that project was much more focused on the implementation rather than the theory.

Here’s a graph showing the results of our implementation. We generated a set of noisy sensor readings (distance and angle of beacons) from a theoretical robot traveling along the ground truth path. The ellipses indicate the uncertainty estimates of the position, with the centers of the ellipses being the best prediction of the odometry at each timestep. Overall, the odometry lines up pretty well with the ground truth values, so I’d say that’s a success!

Project partner: Kawin Nikomborirak

Link to code