Lessons on Mobile Robot Localization and Kalman Filters
Updated 23 May 2022
Learning tools for the localization of mobile robots using visual landmarks in the environment and the extended Kalman Filter
This submission contains educational tools to help students understand the concept of localization for mobile robots. The lessons include interactive scripts to demonstrate the use of common localization algorithms, landmark-based localization and the Extended Kalman Filter (EKF).
The localization of a robot is a fundamental tool for its navigation. There are localization methods based on different sources of information and hardware components, as there is no method that works properly in any scenario and for any robot. From the educational point of view, few students students are able to understand all the mathematical background involved in the localization process.
- Matlab 2020a (Required toolbox: Navigation Toolbox)
- MathWorks Student Competitions Team (2021). Mobile Robotics Simulation Toolbox (https://github.com/mathworks-robotics/mobile-robotics-simulation-toolbox), GitHub. Retrieved June 29, 2021.
- AJ Johnson (2021). error_ellipse (https://www.mathworks.com/matlabcentral/fileexchange/4705-error_ellipse), MATLAB Central File Exchange. Retrieved October 31, 2021.
- ROS Melodic (http://wiki.ros.org/melodic/Installation/Ubuntu)
Be sure you already have the requirements Check Lessons folder to start, the lessons are divided into 6 chapters:
- Chapter 1 Basics: It Covers all the basics to run simulations and understand the basic kinematics for a differential mobile robot.
- Chapter 2 Sensors: At this chapter you will learn how to implement sensors such as Odometry, LIDAR, Object detection and algorithms like VFH for obstacle avoidance.
- Chapter 3 Path planning: At this lessons you will learn how to plan a path and how to make the robot follows it (path tracking) using RRT* algorithm.
Chapter 4 Summary of previous Chapters: In this lesson you will learn how to put all together and reduce your code from previous lessons.
Chapter 5 Localization: In this chapter you will learn why is necessary a localization system and then you will implement the Extended Kalman Filter understanding the theory of each step. You can find a detailed explanation in the file Lecture_Kalman_filter_robots.pdf in this repository.
- Chapter 6 ROS Localization: In this lesson We show you how a localization system works along with MATLAB and ROS. And you will learn how to use the correct EKF parameters using a ROSBAG.
- You can practice with different algorithms, maps (maps folder) and changing parameters to practice in different environments and situations.
EKF pose prediction: Green line
Robot pose: Blue line
Biorobotics Laboratory UNAM (2023). Lessons on Mobile Robot Localization and Kalman Filters (https://github.com/RobotJustina/MRS_EKF_MatLab/releases/tag/v1.0.1), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
See release notes for this release on GitHub: https://github.com/RobotJustina/MRS_EKF_MatLab/releases/tag/v1.0.1