Navigation Systems is focused on the autonomous navigation problem, in the field of mobile robotics. The subject is divided in two parts: perception and movement. Theory is given simultaneously to practices in simulation and using a real mobile robot.
Titular Professors
Experience with Linux systems, ROS 2, and Python is recommended.
The objective of this subject is to make the students learn basic ideas about autonomous navigation in the mobile robotics field. When the course is finished, the students will have the intuition and skills to properly comprehend the different problems in mobile robotics and the algorithms and methods used to solve them.
Part I. Perception
- Fundamentals
1.1. Sensors
1.2. Uncertainty and precision
1.3. Gaussian model
1.4. Conditional probability and Bayes’ theorem - Localization
2.1. Localization
2.2. Kalman filter
2.3. Extended Kalman filter
2.4. Particle filter - Mapping
3.1. Introduction and map typologies
3.2. Occupancy map
3.3. Maps and localization - SLAM
4.1. EKF-based SLAM
4.2. Particle filter-based SLAM
4.3. Graph SLAM
Part II. Movement
- Kinematic model
5.1. Wheels
5.2. Kinematic model
5.3. Inverse kinematic model - Motion planning
6.1. Introduction: planning and navigation
6.2. Global planner
6.3. Local planner - Exploration
7.1. Introduction
7.2. Frontiers
7.3. Replanning
The final grade of the subject is calculated based on the theory grade and the practicals grade, with the following weighting:
- 50% Theory grade
- 50% Practicals grade
Theory grade:
It is calculated from a theory assignment (50%) and a final exam (50%). The final exam is mandatory to pass the subject.
Practicals grade:
It is calculated from practical assignments (33%) and a final project (67%). The final project is carried out in groups of 2–3 students and is presented orally. Its presentation is mandatory to pass the subject.
Passing conditions:
- It is mandatory to take the final exam.
- It is mandatory to submit the final practical project.
The following will be assessed:
- The rigor and coherence in the development of reasoning.
- The conceptual understanding of the fundamentals of mobile robotics.
- The ability to apply methods and algorithms for autonomous navigation.
- The ability to use sensors to perceive the environment and detect obstacles.
- The ability to model and solve problems in real or simulated environments.
- The correct interpretation of the obtained results.
- Clarity and structure in the presentation of procedures and solutions.
[1] Welch, G., & Bishop, G. (2006). An Introduction to the Kalman Filter. University of North Carolina.
Open Robotics. (s. f.). ROS 2 Humble Documentation.
Open Navigation LLC. (s. f.). Navigation2 (Nav2) – ROS 2 Navigation Stack.