Probabilistic Robotics

A.Y. 2021/22


News

  • 2021/12/08: I discovered that there is no lesson because of bank holiday :)

  • 2021/12/01: lesson remote. I have some small side effect of the booster dose. See you on line

  • 2021/11/30: lesson starts at 15:00, since i have to get my booster dose of COVID vaccine.

  • 2021/11/5: I cannot come to class because I am simultaneously in a PhD evaluation committee. No lesson for this day. All comes back on track on next monday 2021/11/9

  • 2021/10/27: There is the exam of probabilistic robotics in the same lecture hall. Lesson canceled. All comes back to normal on Fri 29/10.

  • 2021/10/26: We will have no room for this day. Since we are short in lesson slots, and the lesson is purely theoretical, you can watch the video of last year (linked in the lesson's page)

  • 2021/10/19: We have been moved from A2 to A6 (via Ariosto). The timing stays the same Tuesday 14:00 - 16:00, Wednesday 1100 -13:00, Friday 11:00 - 13:00

  • 2021/10/16: The schedule of the lessons has changed Tuesday 14:00 - 16:00, Wednesday 1100 -13:00, Friday 11:00 - 13:00 in A2, via Ariosto.

  • All lessons will be made available through the following youtube channel (click here).

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.

Teachers

Prof. Giorgio Grisetti

Tiziano Guadagnino

Barbara Bazzana

Office (DIAG)

B121

Hours

Monday 11:00, 13:00 + anytime upon email appointment.

email appointment

email appointment

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.

Course Enrollment

Please fill the following form to get enrolled in the course.

Enrollment Form

Time and Location of the Lectures

When: Fall semester (about 12 weeks), Start: Tuesday, 2020/09/28

Tuesday 14:00 - 16:00

Wednesday 1100 -13:00

Friday 11:00 - 13:00

Tuesday 11:00-13:00

Thursday 13:00-17:00

Where:

Exam

ECTS Credits: 6

How to complete the credits for this module: After attending classes, students should:

  • develop a small project.

  • sustain a written exam.

Next Exams:

  • 2022/01/14, Room B2, 14:00

  • 2022/01/31, Room 106, Marco Polo, 14:00

  • 2022/03/15, Room A2, Via Ariosto, 11:00

  • 2022/06/08, Room 1-2, Via del Castro Laurenziano, 14:00

  • 2022/07/14, Room 108, Via Ariosto, 14:00

  • 2022/09/01, Room B2, Via Ariosto, 10:00

  • 2022/10/26, Room A3, Via Ariosto, 16: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.

Exam Results

If you wish to discuss the exam, send an email to barbara 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

Link

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.