Probabilistic Robotics
A.Y. 2022/23
News
2023-02-21: we closed the past exam on infostud upon request of the administration. The students who did not complete the exam (project pending/written test pending) PRESERVE the grade.
Project submission guidelines updated under the section project
Project subscription form is online under the section project
2022-11-04: No lesson. This time I (Giorgio) caught a flu. Hint: Don't forget to close the window when you sleep ;-)
2022-10-31: No lesson. Have a nice long weekend ;-) Lessons restart regularly on 4/11.
2022-10-06: The virtual machine is available in the Teaching Material page
2022-09-27: Please enroll to the CAD Google classroom to receive updates about the course of studies. HERE
2022/09/30: The lessons start on Friday September 30 2022
All lessons will be in presence. In the lecture page we will link the youtube videos of the corresponding lessons of past years.
Abstract
This course aims at providing the students with the necessary mathematical background and the practical guidelines to tackle complex problems in state estimation and model identification for robots. At the end of this course the student will possess the necessary background to approach fundamental problems in robotics including, but not limited to localization, simultaneous localization and mapping (SLAM), calibration and tracking.
Prerequisites
Despite this course in the "manifesto" is scheduled for the first year of the MARR/AIRO studies, it requires reasonably solid notions of Linear Algebra, Robotics 1 (or their italian versions Geometria and Robotica 1) and Autonomous and Mobile Robotics. For this reason, we recommend the students to sustain the exam during the second year.
Pics of First Lecture
Time and Location of the Lectures
When: Fall semester (about 12 weeks), Start: Friday, 2022/09/30
Monday 15:00 - 19:00
Friday 13:30 -15:00 (so that you can have lunch)
Where:
In presence: Room B2, Via Ariosto 25
Exam
ECTS Credits: 6
How to complete the credits for this module: After attending classes, students should:
develop a project.
sustain a written exam.
Next Exams:
2023/01/18, Room A5+A6, via Ariosto, 10:00
2023/02/09, Room A5+A6, via Ariosto, 10:00
2023/03/28, Room A3, via Ariosto, 17:00
2023/06/13, Room 108, Marco Polo, 14:00
2023/07/14, Room A5+A6, via Ariosto, 10:00
2023/09/01 Room 204, Marco Polo, 14:00
12/10/2023, Room A3, Via Ariosto, 13:00
A reminder on what a mark means
The grade is on the test not on the student: a brilliant student can make a test that scores poorly, and a lucky student can make a test that scores high.
We evaluate the tests. We do not judge the students.
Anxiety sucks.
If you (after looking at the solutions) don't feel your mark is correct we might have misunderstood something (or you wrote hieroglyphs). Come and ask for explanations.
Total grade
Written test is 3/4 (max mark 30), project takes 1/4 (max mark 8) and the total grade is 32
Example:
Written part 27/30
Project grade 6/8
Total grade: 27*24/30 + 6 = 27,6 => 28
Projects 2022/2023
To choose a project please fill the following form.
Project Submission
Prepare a readme file in your repo with some explanation about your project, what did you do and how did you solve it. Embed plots (if required, this depends on the project), some tables with numerical errors and output files required (for this create a folder called `output`) for us to evaluate independently the quality of your work.
Send us an email when you complete the project.
Exam Results
If you wish to discuss the exam, send an email to Luca, Leonardo and Giorgio, with subject [PR-[date_of_exam]-discussion]. We will try to clarify the correction by email, and should this not be sufficient we will schedule an individual meet/zoom/whatsoever.
Preliminary Program
Probability Primer
Axioms of probability
Bayes Rule, Chain Rule, Marginalization and Conditioning
Statistical independence
Manipulating pdf representations: marginalizing, conditioning, applying a function
Discrete
Gaussian
Particles
Dynamic Systems
System Model (state, observations, controls)
Filtering (Discrete , Kalman and Particle)
Geometry and Linear Algebra Refresher
vectors, matrices and their operations, SO(X) groups, SE(X) groups
computation of gradients (symbolic, numerical and automatic differentiation)
Applications of Filtering
Localization (Kalman and Particle)
SLAM (Kalman and Particle)
Least Squares Estimation
Gauss-Newton and Levenberg/Marquardton Euclidean Spaces
Probabilistic Interpretation
Manifolds
Robust Kernels
Applications of Least Squares Estimation
Calibration
Sensor Registration (ICP, Bearing-only, Range-Only)
Sparse Least Squares
Structure of the problem
Factor Graphs
Sparse Solvers
Applications of Sparse Least Squares
Graph-SLAM
Simultaneous Localization, Calibration and Mapping
Data Association
Mahalanobis Distance
Voting and Consensus Methods (RANSAC and variants)
Tentative schedule of the lectures
Week 1: Intro, Sensors, Mobile Platforms, Probability
Week 2: Manipulating PDF
Week 3: Dynamic Systems, Filtering, Discrete Filters
Week 4: Kalman Filters
Week 5: Gaussian Filters
Week 6: Wrapup on Filtering and Applictions: Localization and SLAM
Week 7: Least Squares Estimation
Week 7: Least Squares Estimation, Applications: Calibration, Sensor Registration
Week 8: Sparse Least Squares
Week 9: Applications of Sparse Least Squares: Graph-SLAM
Week 10: Data Association
Week 11: Wrapup and Applications
Extras : C++ course by Igor Bogoslavskyi, University of Bonn
We remind that the knowledge of C++ is not mandatory for the exam. Still, we believe that this programming skill might be useful for your career in Robotics.