Probabilistic Robotics

Course objectives

General Objectives: Acquiring knowledge on the basic tools for probabilistic state estimation in robotics. Being able to apply these tools to real study cases and to implement working solutions. Evaluate the quality of a state estimator. Specific Objectives: Knowledge and Understanding: - how to manipulate probability distributions, in particular Gaussians - the basics of filtering (hisrogram filters, Gaussian filters, particle filters) - the generic model for a stationary non-linear or linear - Dense and Sparse formulation of minimization algorithms (Gauss-Newton, Levenberg Marquardt) - The problem of Data Association, and typical tools to approach it (RANSAC, Heuristics) - Typical study cases of estimation problems in robotics (Calibration, Localization, Mapping and SLAM) Applying Knowledge and Understanding: - Being able to model a problem and to adapt the tools to its solution. - Develop a functioning estimator. Making Judgements: - Being able to analyze the pros and contra of different solutions to the same problem. - Spot the tools applicable to solve all subtasks in the design of an estimator. These abilities are supported by the Project to be developed as a part of the exam. The course interleaves theory and practice. During the practicals the students are asked to complete code snippets provided by the teacher and to run their programs on real study cases. Communication Skills: - Acquire a common language to describe estimators and a development methodology that supports interaction between developers by defining a standard set of goals. Learning Skills: The student will possess the abilities and the skills to approach general estimation problems. The examples in the domain of navigation provided during the course serve as study cases. The indivudal topics learned (Gaussian Manipulation, Filtering Designs, Minimization) are useful instruments to approach a far more general class of problems

Channel 1
GIORGIO GRISETTI Lecturers' profile

Program - Frequency - Exams

Course 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)
Prerequisites
The student should be agile on basic concepts of linear algebra and analysis. In particular she/he should be familiar with - matrices, vectors, eigenspaces, solution of linear systems (dense/sparse). - minimization of multivariate functions - Spatial transformation and groups SO(2), SE(3), SO(3), SE(3) In addition to theoretical foundations, the course aims at developing in the student the practical skills to implement hat he learned in theory. Hence, to fully profit of this course, we recommend to posses reasonable programming skills. In the course we will use extensively Matlab/Octave and seldomly C/C++.
Books
Up to date information and teaching material are available at the following link . https://sites.google.com/diag.uniroma1.it/probabilistic-robotics-2023-24/home Video of the lessons recorded during the pandemic are available on the webpages of the aa 2021/22. https://sites.google.com/diag.uniroma1.it/probabilistic-robotics-2021-22/home
Teaching mode
The course will be held in English, through regular lessons in the class. Each topic will be followed by a practical lesson where you will be assisted in completing programs made by the teacher and the tutor. To fully profit of this experience a laptop is needed. Since AA 2020/21 the lessons will also be streamed, although the presence of students in the class enhances the quality of the teaching due to the improved feedback. All material and up-to-date information are available at https://sites.google.com/diag.uniroma1.it/probabilistic-robotics-2019-20 The site is updated each year. Should the link not work, you can find the updated site for the current AA from here https://sites.google.com/dis.uniroma1.it/grisetti/teaching
Frequency
Attending the lessons (in presence or remotely via streaming) is warmly recommended The lessons held during the pandemic period are however still available on youtube (See the past editions of the course)
Exam mode
The exam will consist in a written test AND a project The written test is articulated in 2 sessions. In the first session (lastin 30 min), the student will be asked to expose an argument explained during the course. In this time, obviously, the student cannot access the course material. In the second session (lasting about 2 hours), the student will be asked to solve \real problems, applying the concepts learned in theory. The project will consist in the development of a software system to approach a classical problem. The exam ends when both the test and the project are completed.
Bibliography
http://asrl.utias.utoronto.ca/~tdb/bib/barfoot_ser17.pdf
Lesson mode
The course will be held in English, through regular lessons in the class. Each topic will be followed by a practical lesson where you will be assisted in completing programs made by the teacher and the tutor. To fully profit of this experience a laptop is needed. Since AA 2020/21 the lessons will also be streamed, although the presence of students in the class enhances the quality of the teaching due to the improved feedback. All material and up-to-date information are available at https://sites.google.com/diag.uniroma1.it/probabilistic-robotics-2019-20 The site is updated each year. Should the link not work, you can find the updated site for the current AA from here https://sites.google.com/dis.uniroma1.it/grisetti/teaching
GIORGIO GRISETTI Lecturers' profile

Program - Frequency - Exams

Course 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)
Prerequisites
The student should be agile on basic concepts of linear algebra and analysis. In particular she/he should be familiar with - matrices, vectors, eigenspaces, solution of linear systems (dense/sparse). - minimization of multivariate functions - Spatial transformation and groups SO(2), SE(3), SO(3), SE(3) In addition to theoretical foundations, the course aims at developing in the student the practical skills to implement hat he learned in theory. Hence, to fully profit of this course, we recommend to posses reasonable programming skills. In the course we will use extensively Matlab/Octave and seldomly C/C++.
Books
Up to date information and teaching material are available at the following link . https://sites.google.com/diag.uniroma1.it/probabilistic-robotics-2023-24/home Video of the lessons recorded during the pandemic are available on the webpages of the aa 2021/22. https://sites.google.com/diag.uniroma1.it/probabilistic-robotics-2021-22/home
Teaching mode
The course will be held in English, through regular lessons in the class. Each topic will be followed by a practical lesson where you will be assisted in completing programs made by the teacher and the tutor. To fully profit of this experience a laptop is needed. Since AA 2020/21 the lessons will also be streamed, although the presence of students in the class enhances the quality of the teaching due to the improved feedback. All material and up-to-date information are available at https://sites.google.com/diag.uniroma1.it/probabilistic-robotics-2019-20 The site is updated each year. Should the link not work, you can find the updated site for the current AA from here https://sites.google.com/dis.uniroma1.it/grisetti/teaching
Frequency
Attending the lessons (in presence or remotely via streaming) is warmly recommended The lessons held during the pandemic period are however still available on youtube (See the past editions of the course)
Exam mode
The exam will consist in a written test AND a project The written test is articulated in 2 sessions. In the first session (lastin 30 min), the student will be asked to expose an argument explained during the course. In this time, obviously, the student cannot access the course material. In the second session (lasting about 2 hours), the student will be asked to solve \real problems, applying the concepts learned in theory. The project will consist in the development of a software system to approach a classical problem. The exam ends when both the test and the project are completed.
Bibliography
http://asrl.utias.utoronto.ca/~tdb/bib/barfoot_ser17.pdf
Lesson mode
The course will be held in English, through regular lessons in the class. Each topic will be followed by a practical lesson where you will be assisted in completing programs made by the teacher and the tutor. To fully profit of this experience a laptop is needed. Since AA 2020/21 the lessons will also be streamed, although the presence of students in the class enhances the quality of the teaching due to the improved feedback. All material and up-to-date information are available at https://sites.google.com/diag.uniroma1.it/probabilistic-robotics-2019-20 The site is updated each year. Should the link not work, you can find the updated site for the current AA from here https://sites.google.com/dis.uniroma1.it/grisetti/teaching
  • Lesson code1052218
  • Academic year2025/2026
  • CourseEngineering in Computer Science and Artificial Intelligence
  • CurriculumSingle curriculum
  • Year2nd year
  • Semester1st semester
  • SSDING-INF/05
  • CFU6