Daniel Seita
Teaching Assistant: TBD
Use Piazza to contact the course staff: TBD
When posting any code debugging questions on Piazza, please declare (in the post) that you have read our class policies here.
Thursdays: 4:00 pm to 7:20 pm. Location: SLH 102.
We will record lectures and share them on this website (see the "Recording" column below). If you want to peek ahead, the course will be similar to the one taught in Spring 2024.
Daniel: 2:00pm to 3:15pm, GCS 305A. Let him know if you plan to attend and do not have card access.
TAs: TBD.
Exceptions: if there are holidays and/or conflicts, Daniel will note them here.
This class will introduce students to the fundamental questions in robotics: what are good models of the world and how to integrate them reliably into the planning of deployed robotic systems physically interacting with the environment. All these problems arise from the uncertainty due to sensor noise, modeling limitations, approximations in algorithmic computations and inherent unpredictability of action outcomes. The course will explore probabilistic techniques that allow robots to act reliably and exhibit a variety of different behaviors in spite of different sources of uncertainty. We will first cover algorithms for state estimation in both known and unknown environments. We will then explore functional aspects of robot’s interaction with the world, such as the geometry of configuration spaces and manipulation planning in these spaces. We will wrap up the course by exploring the interplay of inference and planning and its applications in robot autonomy, especially for manipulation and mobility.
In this course, you will be introduced to probabilistic techniques that allow state estimation, manipulation and planning in robotics. By the end of this course you should be able to:
Students should have a solid background in probability, linear algebra, and calculus. Students should also be comfortable programming in Python.
Much of the lecture material is based on readings from:
Additionally, we will also have materials from these relevant courses:
The overall course grade is based on:
We will share grades via Gradescope. We reserve the right to make tweaks to the grading as needed. When submitting assignments on Gradescope please follow the instructions carefully to make sure that the formatting is correct (e.g., if we ask for one page per answer, please do that). To encourage in-class attendance and productive discussions on Piazza, we may offer a small amount of extra credit points to students with excellent course participation or who have written exceptionally helpful or useful Piazza posts. In practice, this may help students who are just below the cutoff for a particular grade. We do not offer alternative times to take the midterm or final exam.
This course is mostly based on materials from Stefanos Nikolaidis' class at USC. We will cite other acknowledgements throughout the slides.
Date | Class | Topic | Assignment (Released) | Readings / References | Slides | Recording |
---|---|---|---|---|---|---|
Thurs Aug 28 |
01 | Introduction | HW 1 (Math Fundamentals); Due Jan 21 |
Slides | YouTube | |
Thurs Aug 28 |
01 | Linear Algebra Review | SS Appendix A; Linear Algebra Review |
Slides | YouTube | |
Thurs Sept 04 |
02 | Probability Review | Lab 1 (Introduction to ROS); Due Feb 04 |
TBF 2.1-2.2; CS287 #11;
Gaussians Review |
Slides | YouTube |
Thurs Sept 04 |
02 | Python/ROS Tutorial; Bayes Nets I |
CS188 BN Part 1 | Slides;
Python/ROS |
YouTube | |
Thurs Sept 11 |
03 | Bayes Nets II | CS188 BN Part 2 | Slides | YouTube | |
Thurs Sept 11 |
03 | Bayesian Filters | HW 2 (Kalman Filters); Due Feb 13 |
TBF 2.3-2.4; CS287 #11 |
Slides | YouTube |
Thurs Sept 18 |
04 | Kalman Filters | TBF 3.1-3.3; Video; CS287 #12; CS545 #18 |
Slides | YouTube | |
Thurs Sept 18 |
04 | Particle Filters | TBF 4.3; CS188 PF; CS287 #14 |
Slides | YouTube | |
Thurs Sept 25 |
05 | Motion Models; Sensor Models |
Lab 2 (Monte Carlo Localization); Due Feb 25 |
TBF 5.1-5.3.3, 6.1-6.3.1 | Slides | YouTube |
Thurs Sept 25 |
05 | Localization and Mapping | TBF 7.1-7.4.3, 10.1-10.2 | Slides | YouTube | |
Thurs Oct 02 |
06 | Mathematical Programming | Lagrangian Video | Slides | YouTube | |
Thurs Oct 02 |
06 | Configuration Spaces | LP 2.1-2.6, CL 3.1-3.2, 3.7 | Slides | YouTube | |
Thurs Oct 09 |
No Class (Fall Recess) | |||||
Thurs Oct 09 |
No Class (Fall Recess) | |||||
Thurs Oct 16 |
07 | AIKIDO Tutorial; Guest Lectures; Midterm Review |
Slides | YouTube | ||
Thurs Oct 16 |
07 | Kinematic Transformations | LP 3.1-3.2.1, 3.3.1, CL 3.5 | Slides | YouTube | |
Thurs Oct 23 |
08 | Midterm Exam (in class) | ||||
Thurs Oct 23 |
08 | Midterm Exam (in class) | ||||
Thurs Oct 30 |
09 | Forward and Inverse Kinematics | HW 3 (Inverse Kinematics); Due April 01 |
LP 5 (before 5.1), 6.1-6.2; MR Video, Ch 6 |
Slides | YouTube |
Thurs Oct 30 |
09 | Motion Planning I | Lab 3 (RRT for a Manipulator); Due April 12 |
CL 7.1; LA 5.6, 6.2.2; MIT 6.843 #16 |
Slides | YouTube |
Thurs Nov 06 |
10 | Motion Planning II | CL 7.2; LA 5.4-5.5, 7.1, 7.3; CS287 #10 |
Slides | YouTube | |
Thurs Nov 06 |
10 | Markov Decision Processes | CS188 MDPs I, MDPs II; CS287 #02 |
Slides | YouTube | |
Thurs Nov 13 |
11 | Acting Under Uncertainty | CS 188 VPI | Slides | YouTube | |
Thurs Nov 13 |
11 | Task Space Regions | Lab 4 (Task Space Regions); Due April 26 |
TSP Paper | Slides | YouTube |
Thurs Nov 20 |
12 | Reinforcement Learning | CS 188 RL | Slides | YouTube | |
Thurs Nov 20 |
12 | Imitation Learning | HW 4 (Imitation Learning); Due April 26 |
Berkeley Deep IL | Slides | YouTube |
Thurs Nov 26 |
No Class (Thanksgiving) | |||||
Thurs Nov 26 |
No Class (Thanksgiving) | |||||
Thurs Dec 04 |
13 | Dynamics | RT Appendix B; CS287 #21 | Slides | YouTube | |
Thurs Dec 04 |
13 | Simulation and Sim-to-Real | LP 8.1.1; CS287 #22 | Slides | YouTube | |
TBD TBD |
Final Exam |