Daniel Seita
Hejia Zhang (Teaching Assistant)
Shihan Zhao (Teaching Assistant)
Use Piazza to contact the course staff: https://piazza.com/usc/spring2024/csci545
When posting any code debugging questions on Piazza, you must declare (in the post) that you have read our class policies here.
Mondays and Wednesdays: 4:00 pm to 5:50 pm. Location: ZHS 352.
We will record lectures and share them on this website (see the "Recording" column below).
Daniel: Mondays, 5:50 pm to 7:00 pm, PHE 212.
Hejia: Thursdays, 3:00 pm to 4:00 pm, RTH 419.
Shihan: Fridays, 10:30 am to 11:30 am, RTH 419.
Exceptions: due to holidays on Jan 15 and Feb 19, Daniel will have office hours on Jan 16 and Feb 20, respectively, both from 4:30pm to 5:30pm.
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 |
---|---|---|---|---|---|---|
Mon Jan 08 |
01 | Introduction | HW 1 (Math Fundamentals); Due Jan 21 |
Slides | YouTube | |
Wed Jan 10 |
02 | Linear Algebra Review | SS Appendix A; Linear Algebra Review |
Slides | YouTube | |
Mon Jan 15 |
No Class (MLK Jr Day) | |||||
Wed Jan 17 |
03 | Probability Review | Lab 1 (Introduction to ROS); Due Feb 04 |
TBF 2.1-2.2; CS287 #11;
Gaussians Review |
Slides | YouTube |
Mon Jan 22 |
04 | Python/ROS Tutorial; Bayes Nets I |
CS188 BN Part 1 | Slides;
Python/ROS |
YouTube | |
Wed Jan 24 |
05 | Bayes Nets II | CS188 BN Part 2 | Slides | YouTube | |
Mon Jan 29 |
06 | Bayesian Filters | HW 2 (Kalman Filters); Due Feb 13 |
TBF 2.3-2.4; CS287 #11 |
Slides | YouTube |
Wed Jan 31 |
07 | Kalman Filters | TBF 3.1-3.3; Video; CS287 #12; CS545 #18 |
Slides | YouTube | |
Mon Feb 05 |
08 | Particle Filters | TBF 4.3; CS188 PF; CS287 #14 |
Slides | YouTube | |
Wed Feb 07 |
09 | 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 |
Mon Feb 12 |
10 | Localization and Mapping | TBF 7.1-7.4.3, 10.1-10.2 | Slides | YouTube | |
Wed Feb 14 |
11 | Mathematical Programming | Lagrangian Video | Slides | YouTube | |
Mon Feb 19 |
No Class (President's Day) | |||||
Wed Feb 21 |
12 | Configuration Spaces | LP 2.1-2.6, CL 3.1-3.2, 3.7 | Slides | YouTube | |
Mon Feb 26 |
13 | AIKIDO Tutorial; Guest Lectures; Midterm Review |
Slides | YouTube | ||
Wed Feb 28 |
14 | Kinematic Transformations | LP 3.1-3.2.1, 3.3.1, CL 3.5 | Slides | YouTube | |
Mon Mar 04 |
15 | Midterm Exam (in class) | ||||
Wed Mar 06 |
16 | Forward and Inverse Kinematics | LP 5 (before 5.1), 6.1-6.2; MR Video, Ch 6 |
Slides | No Recording | |
Mon Mar 11 |
Spring Break | |||||
Wed Mar 13 |
Spring Break | HW 3 (Inverse Kinematics); Due April 01 |
||||
Mon Mar 18 |
17 | 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 |
Wed Mar 20 |
18 | Motion Planning II | CL 7.2; LA 5.4-5.5, 7.1, 7.3; CS287 #10 |
Slides | YouTube | |
Mon Mar 25 |
19 | Markov Decision Processes | CS188 MDPs I, MDPs II; CS287 #02 |
Slides | YouTube | |
Wed Mar 27 |
20 | Acting Under Uncertainty | CS 188 VPI | Slides | YouTube | |
Mon Apr 01 |
21 | Task Space Regions | Lab 4 (Task Space Regions); Due April 26 |
TSP Paper | Slides | YouTube |
Wed Apr 03 |
22 | Reinforcement Learning | CS 188 RL | Slides | YouTube | |
Mon Apr 08 |
23 | Imitation Learning | HW 4 (Imitation Learning); Due April 26 |
Berkeley Deep IL | Slides | YouTube |
Wed Apr 10 |
24 | Dynamics | RT Appendix B; CS287 #21 | Slides | YouTube | |
Mon Apr 15 |
25 | Simulation and Sim-to-Real | LP 8.1.1; CS287 #22 | Slides | YouTube | |
Wed Apr 17 |
26 | Rotation and 3D Representations | LP App. B; MIT 6.4210 #06 | Slides | YouTube | |
Mon Apr 22 |
27 | Advanced / Special Topics Final Exam Review I |
Slides | YouTube | ||
Wed Apr 24 |
28 | Final Exam Review II; Course Wrap-up |
Slides | YouTube | ||
Wed May 01 |
Final Exam (4:30 to 6:30pm) |