MOBILE ROBOTICS: METHODS & ALGORITHMS - WINTER 2022
University of Michigan - NA 568/EECS 568/ROB 530
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.
Recorded Lectures
- Playlist of the lectures on YouTube: https://www.youtube.com/watch?v=pH4Pkmey2_E&list=PLdMorpQLjeXmbFaVku4JdjmQByHHqTd1F
Course description
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.
Class Goals
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.
Textbook
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
Assignments
- 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
Prerequisites
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.
Related Online Resources
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
Acknowledgement
An early version of this course was based on previous UM courses imparted by Prof. Ryan Eustice and Prof. Edwin Olson.