**Instructor:** Stefanos Nikolaidis (nikolaid at usc dot edu)

**TAs:** Aravind Kuramaguru, David Millard, Gautam Salhotra

**Content Contributors:** Hejia Zhang, Ahmed Fayed

**Lectures:** Mon / Wed 3:30 - 4:50pm, LVL 17

**Office Hours:** Mon / Wed 5:30 - 6:30pm, RTH 401

** 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:

- demonstrate proficiency in the theoretical tools that support state estimation, manipulation and planning with sensor and modeling noise.
- implement these techniques and test them with real-world datasets.
- integrate your algorithms with state-of-the-art simulation environments
- critique a research paper’s methods and analysis
- explain the computational and practical challenges of applying these techniques in real-world interaction settings and compare them in terms of robustness, scalability and performance.

** Prerequisites:** Students are required to have knowledge 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:

- Russell, Stuart J., and Peter Norvig. Artificial intelligence: a modern approach. Pearson Education Limited, 2016. (RN)
- Sebastian Thrun,, Wolfram Burgard, and Dieter Fox. Probabilistic robotics. MIT press, 2005. (TBF)
- Howie Choset, Kevin M. Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia E. Kavraki, and Sebastian Thrun. Principles of robot motion. (CL)
- Steven Lavalle. Planning algorithms. (LA)
- Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, and Giuseppe Oriolo. Robotics: Modelling, Planning and Control (SS).

The assignments and final exam will be based only on material covered in the lectures.

** Grading:**

Component | Percentage |

Lab Assignments | 35% |

HW Assignments | 25% |

Final Exam | 20% |

Participation | 10% |

Scribing | 10% |

**Assessment of Assignments**

**Lab Assignments**: There will be 3-4 lab assignments, which will involve applying the techniques taught in the classroom to robotic systems using real-world data. We will ask you to submit a report for each lab assignment showcasing your results.**Homework Assignments**: The homework assignments will have both theoretical and coding components that will exercise the techniques we will cover in the class and will help you prepare for the lab assignments.-
**Final Exam**: There will be a final exam on the material covered in the lectures and assignments. You can bring to the exam an A4 cheat sheet. No other material, or any electronic devices will be allowed. **Participation**: You will get the most out of this class if you are active and engaged. This includes asking questions and participating in discussions**Scribing**: You will take turns compiling the lecture notes. The scribing will expand on the lecture notes and reading, and students will be expected to include figures and reference. Scribes should delived the notes within five days of the lecture for review.

**Note**: Regardless of the grading system, you are required to submit *all* homework assignments,

**Tentative Schedule**:

Date | Lecture | Topic | Assignment (Released) |
Readings | Notes |

Aug 26 | 1 | Introduction | Lecture 1 | ||

Wed Aug 28 |
2 | Matrix Algebra Refresher | SS Appendix A | Scribing:template.tex | |

Mon Sep 02 |
Labor Day (no class) | ||||

Wed Sep 04 |
3 | Probability Theory, Bayesian Networks | HW (Math Fundamentals) | RN Ch. 13-14 | Lecture 3 |

Mon Sep 09 |
4 | Python / ROS Tutorial | Lab 1 | ||

Wed Sep 11 |
5 | Linear Dynamical Systems | Lecture 5 | ||

Mon Sep 16 |
6 | Bayesian Filters | TBF Ch. 2, 3.1-3.2.3 | Lecture 6 | |

Wed Sep 18 |
7 | Kalman Filters and EKF | HW2 (KF/EKF) | TBF Ch. 3.3.1-3.3.3, 4.3.1-4.3.2 | Lecture 7 |

Mon Sep 23 |
8 | Particle Filters, Motion Models | TBF Ch. 5.3.2, 5.4.2, 6.3.1, 6.6.2 | Lecture 8 | |

Wed Sep 25 |
9 | Sensor Models, Localization | TBF Ch. 7.4.1, 7.4.2, 7.5.1, 9.2 - excluding 9.2.1 | Lecture 9 | |

Mon Sep 30 |
10 | Mapping and SLAM | Lecture 10 | ||

Wed Oct 02 |
11 | Mathematical Programming | Lab 2 (Localization) | Lecture 11 | |

Mon Oct 07 |
12 | AIKIDO Tutorial | AIKIDO (Personal Robotics Lab, University of Washington) | ||

Wed Oct 09 |
13 | Introduction to Haptics (Guest Lecture: Heather Culbertson) | Slides | ||

Mon Oct 14 |
14 | Configuration Spaces | CL 3.1,3.2, 3.5.1 | Lecture 14 | |

Wed Oct 16 |
15 | Kinematic Transformations | HW3 (FK/IK) | CL 3.6-3.8 | Lecture 15 |

Mon Oct 21 |
16 | Inverse Kinematics | Lecture 16 | ||

Wed Oct 23 |
17 | Sampling-based Motion Planning I |
CL 7.1.1, 7.2.2 | Slides | |

Mon Oct 28 |
18 | Sampling-based Motion Planning II |
HW4 (RRT) | CL 7.3.3, LA 7.3.1 | Lecture 18 |

Wed Oct 30 |
19 | Learning from Physical Interactions | Learning with Human Adversaries | ||

Mon Nov 04 |
20 | Special Topics in Robotics | Lab 3 (Motion Planning) | ||

Wed Nov 06 |
21 | Special Topics in Robotics | |||

Mon Nov 11 |
22 | Dynamics | SS Ch. 7.1.1 | Lecture 22 | |

Wed Nov 13 |
23 | Non-Linear Control | SS Ch. 8.6.2, Appendix C3 | Lecture 23 | |

Mon Nov 18 |
24 | Task Space Regions | Lab 4 (Task Space Regions) | Task Space Regions | Lecture 24 |

Wed Nov 20 |
25 | Markov Decision Processes | RN Ch. 17.1, 17.2 (Making Complex Decisions) | Lecture 25 | |

Mon Nov 25 |
26 | Lab Discussion / Office Hours | |||

Wed Nov 27 |
Thanksgiving (no class) | ||||

Mon Dec 02 |
27 | Recap I | |||

Wed Dec 04 |
28 | Recap II |

**Additional Policies**:
Please read the statement on academic conduct and student support systems.
Unless you are assigned to compile lecture notes, please refrain from using laptops or other electronic devices during class.