Instructor: Stefanos Nikolaidis (nikolaid at usc dot edu)
TAs: Chris Denniston, Heramb Nemlekar, Hejia Zhang
Content Contributors: Hejia Zhang, David Millard, Aravind Kuramaguru, Gautam Salhotra
Lectures: Mon / Wed 3:30 - 4:50pm (online only)
Office Hours: Mon 5:30 - 6:30pm (online only)
Course Description: 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 and human-robot interaction.
Learning Objectives: 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:
Prerequisites: Students are required to have a solid background of probability theory, linear algebra and calculus. Programming knowledge of Python is also required.
Reading Material: There is no required textbook for this course. The lecture material is available online. Much of the lecture material is taken from these books:
The assignments and final exam will be based only on material covered in the lectures.
Grading:
Component | Percentage |
Lab Assignments | 40% |
HW Assignments | 30% |
Final Exam | 30% |
Assessment of Assignments
Note: Regardless of the grading system, you are required to submit all homework assignments,
Tentative Schedule:
Date | Lecture | Topic | Assignment (Released) |
Readings | Notes | |
Aug 24 | 1 | Introduction | Lecture 1, Slides | |||
Wed Aug 26 |
2 | Matrix Algebra Refresher | SS Appendix A | Slides | ||
Mon Aug 31 |
3 | Probability Theory | HW (Math Fundamentals) | RN Ch. 13-14 | Lecture 3, Slides | |
Wed Sep 2 |
4 | Python / ROS Tutorial | Lab 1 | |||
Mon Sep 7 |
Labor day (no class) | |||||
Wed Sep 9 |
4 | Bayesian Networks | Slides | |||
Mon Sep 14 |
5 | Linear Dynamical Systems | Lecture 5, Slides | |||
Wed Sep 16 |
6 | Bayesian Filters | TBF Ch. 2, 3.1-3.2.3 | Lecture 6, Slides | ||
Mon Sep 21 |
7 | Kalman Filters and EKF | HW2 (KF/EKF) | TBF Ch. 3.3.1-3.3.3, 4.3.1-4.3.2 | Lecture 7, Slides | |
Wed Sep 23 |
8 | Particle Filters, Motion Models | TBF Ch. 5.3.2, 5.4.2, 6.3.1, 6.6.2 | Lecture 8, Slides | ||
Mon Sep 28 |
9 | Sensor Models, Localization | TBF Ch. 7.4.1, 7.4.2, 7.5.1, 9.2 - excluding 9.2.1 | Lecture 9, Slides | ||
Wed Sep 30 |
10 | Mapping and SLAM | Lecture 10, Slides | |||
Mon Oct 5 |
11 | AIKIDO Tutorial | AIKIDO (Personal Robotics Lab, University of Washington) | |||
Wed Oct 7 |
12 | Midterm review | Lab 2 (Localization) | Slides | ||
Mon Oct 13 |
13 | Mathematical Programming | Lecture 13, Slides | |||
Wed Oct 14 |
14 | Configuration Spaces | CL 3.1,3.2, 3.5.1 | Lecture 14, Slides | ||
Mon Oct 19 |
15 | Kinematic Transformations | HW3 (FK/IK) | CL 3.6-3.8 | Lecture 15, Slides | |
Wed Oct 21 |
16 | Inverse Kinematics | Lecture 16, Slides | |||
Mon Oct 26 |
17 | Sampling-based Motion Planning I |
CL 7.1.1, 7.2.2 | Slides | ||
Wed Oct 28 |
18 | Sampling-based Motion Planning II |
HW4 (RRT) | CL 7.3.3, LA 7.3.1 | Lecture 18, Slides | |
Mon Nov 2 |
19 | Learning from Physical Interactions | Lab 3 (Motion Planning) | Learning with Human Adversaries | ||
Wed Nov 4 |
20 | Special Topics in Robotics | ||||
Mon Nov 9 |
21 | Task Space Regions | Lab 4 (Task Space Regions) | Task Space Regions | Lecture 21, Slides | |
Wed Nov 11 |
22 | Dynamics | SS Ch. 7.1.1 | Lecture 22, Slides | ||
Mon Nov 16 |
23 | Non-Linear Control | SS Ch. 8.6.2, Appendix C3 | Lecture 23, Slides | ||
Wed Nov 18 |
24 | Final Review | Slides |
Additional Policies: Please read the statement on academic conduct and student support systems.