AA 174A / AA 274A / CS 237A / EE 260A

Principles of Robot Autonomy I

Fall 2020

Course Description

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).

Meeting Times

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.

Syllabus

The class syllabus can be found here.

Schedule

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