This course will cover basic principles for endowing mobile autonomous robots with perception, planning, and decision-making capabilities. Algorithmic approaches for robot perception, localization, and simultaneous localization and mapping; control of non-linear systems, learning-based control, and robot motion planning; introduction to methodologies for reasoning under uncertainty, e.g., (partially observable) Markov decision processes. Extensive use of the Robot Operating System (ROS) for demonstrations and hands-on activities. Prerequisites: CS 106A or equivalent, CME 100 or equivalent (for linear algebra), and CME 106 or equivalent (for probability theory).
Prof. Marco Pavone |
---|
Somrita Banerjee | Abhishek Cauligi | Boris Ivanovic |
---|---|---|
Mengxi Li | Joseph Lorenzetti |
Lectures meet on Tuesdays and Thursdays from 10:30am to 11:50am, Fridays from 10:00am to 11:20am. They will all be online. Friday lectures are optional for those enrolled in AA 174A. For all others, the homework will require material taught during the Friday lectures.
Sections are on Mondays and Wednesdays from 10:30am to 12:30pm, Mondays from 3:00pm to 5:00pm, Tuesdays from 4:00pm to 6:00pm, and Thursdays from 2:00pm to 4:00pm. They will all be online.
Prof. Pavone's office hours are on Tuesdays 1:00pm to 2:00pm and by appointment, all online.
CA office hours are on Tuesdays from 2:00pm to 4:00pm and Thursdays from 4:00pm to 6:00pm, all online.
The class syllabus can be found here.
Subject to change. Lecture notes and scribe notes are updated below. We will try to have the lecture notes updated before the class.
Week | Topic | Lecture Slides | Lecture Notes | Sections |
---|---|---|---|---|
1 |
Course overview, mobile robot kinematics
Introduction to the Robot Operating System (ROS) Friday: HW1 out |
Lecture 1
Pre-knowledge quiz (solutions) Lecture 2 (live) |
Lecture 1 Notes
Lecture 2 Notes |
|
2 |
Trajectory optimization
Trajectory tracking & closed loop control Friday: Advanced methods for trajectory optimization |
Lecture 3
Lecture 4 Lecture 5 (ex_1.py, ex_2.py) |
Lecture 3 Notes
Lecture 4 Notes Lecture 5 Notes |
Section 1 Slides
Section 1 Handout |
3 |
Motion planning I: graph search methods
Motion planning II: sampling-based methods Tuesday: HW1 due, HW2 out |
Lecture 6
Lecture 7 |
Lecture 6 Notes
Lecture 7 Notes |
Section 2 Slides
Section 2 Handout |
4 |
Robotic sensors & introduction to computer vision
Camera models & camera calibration Friday: Stereo vision Friday: HW2 due, HW3 out |
Lecture 8
Lecture 9 Lecture 10 |
Lecture 8 Notes
Lecture 9 Notes Lecture 10 Notes |
Section 3 Slides
Section 3 Handout |
5 |
Image processing, feature detection & description
Information extraction & classic visual recognition Friday: Modern robotic perception |
Lecture 11
Lecture 12 Lecture 13 |
Lecture 11 Notes
Lecture 12 Notes |
Section 4 Slides
Section 4 Handout |
6 |
Intro to localization & filtering theory
Parameteric filtering (KF, EKF, UKF) Friday: Nonparameteric filtering (PF) Tuesday: HW3 due, HW4 out |
Lecture 14
Lecture 15 Lecture 16 |
Lecture 14 Notes
Lecture 15 Notes Lecture 16 Notes |
Section 5 Slides
Section 5 Handout |
7 |
EKF localization
EKF SLAM Friday: Monte Carlo localization and particle filter SLAM Tuesday: Final project released |
Lecture 17
Lecture 18 Lecture 19 |
Lecture 17 Notes
Lecture 18 Notes |
Section 6 Slides
Section 6 Handout |
8 |
Tuesday: No lecture
Multi-sensor perception & sensor fusion (by Daniel Watzenig) Friday: No lecture |
Lecture 20 | Lecture 20 Notes |
Section 7 Slides
Section 7 Handout |
9 |
Software for autonomous systems (by Daniel Watzenig)
State machines Tuesday: HW4 due Friday: No lecture, Final project check-in due |
Lecture 21
Lecture 22 |
Lecture 22 Notes | |
10 |
Decision making under uncertainty
Reinforcement learning Friday: Final project demo |
Lecture 23
Lecture 24 |
Lecture 23 Notes
Lecture 24 Notes |