For slides, lecture notes, and example codes, see https://github.com/UMich-CURLY-teaching/UMich-ROB-530-public
In Winter 2022, we had 140 graduate students and a few undergraduate students.
- Playlist of the lectures on YouTube: https://www.youtube.com/watch?v=pH4Pkmey2_E&list=PLdMorpQLjeXmbFaVku4JdjmQByHHqTd1F
Theory and application of probabilistic and geometric techniques for autonomous mobile robotics. This course presents and critically examines contemporary algorithms for robot perception. Topics include Bayesian filtering; stochastic representations of the environment; motion and sensor models for mobile robots; algorithms for mapping, localization; application to autonomous marine, ground, and air vehicles.
Learn the math and algorithms underneath state-of-the-art robotic systems. The majority of these techniques are heavily based on geometric and probabilistic reasoning---an area with extensive applicability in modern robotics. An intended side-effect of the course is to strengthen your expertise in this area.
- Implement, and experiment with these algorithms.
- Be able to understand research papers in the field of robotics.
- Try out some ideas/extensions of your own.
Note: the focus of the course is on math and algorithms. We will not study the mechanical or electrical design of robots.
We will use the combination of the following two books:
- Probabilistic Robotics S. Thurn, W. Burgard, and D. Fox MIT Press, Cambridge, MA, September 2010. ISBN-13: 978-0-262-20162-9, Third Printing
Errata for the third printing can be found on the book's website: http://www.probabilistic-robotics.org. It is strongly recommended that you annotate your text copy with the errata corrections.
- State Estimation for Robotics Timothy D. Barfoot, University of Toronto, 2021
- Homework 1 -- Preliminaries
- Homework 2 -- Estimation & Kalman Filtering
- Homework 3 -- Nonlinear Filtering
- Homework 4 -- Lie Groups & Invariant EKF
- Homework 5 -- Localization
- Homework 6 -- Mapping
- Homework 7 -- SLAM
Exposure to Linear Algebra, check out ROB 101, ROB 101 Book, and ROB 501, basic Probability and Statistics, Estimation, Matrix Calculation, and essential Calculus such as Taylor series and function approximation would be useful. We will review them in class.
Familiarity with one programming language. We use MATLAB, Python, Julia, and C++ for programming throughout the course.
There are a massive amount of related resources available online for free. I list some of them here (non-exhaustive), so you can choose based on your preference and priorities.
- Artificial Intelligence for Robotics (recommended)
- SLAM Course by Prof. Cyrill Stachniss (recommended)
- Intro to Statistics
- Linear Algebra:
- A Primer on Matrices (recommended) by Prof. Stephen P. Boyd
- Introduction to Linear Dynamical Systems by Prof. Stephen P. Boyd
- Graphical Models by Prof. Zoubin Ghahramani
- Probabilistic Graphical Models by Prof. Daphne Koller
- Gaussian Processes by Prof. Carl Edward Rasmussen
- UC Berkeley Artificial Intelligence CS 188 by Prof. Pieter Abbeel
- MIT 6.034 Artificial Intelligence by Prof. Patrick Winston
- TUM Multiple View Geometry by Prof. Daniel Cremers
An early version of this course was based on previous UM courses imparted by Prof. Ryan Eustice and Prof. Edwin Olson.