Introduction to Robotics

Instructor: Stefanos Nikolaidis (nikolaid at usc dot edu)

TAs: Chris Denniston, Heramb Nemlekar, Hejia Zhang

Content Contributors: Hejia Zhang

Lectures: Mon / Wed 3:30 - 4:50pm (online only)

Office Hours: Mon / Wed 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, lab assignments, take the final exam and regularly attend lectures to receive a passing grade for the class.

Tentative Schedule:

Date Lecture Topic Assignment (Released)
Readings Notes
Aug 17 1 Introduction Lecture 1
Wed
Aug 19
2 Matrix Algebra Refresher SS Appendix A
Wed
Aug 24
3 Probability Theory, Bayesian Networks HW (Math Fundamentals) RN Ch. 13-14 Lecture 3
Mon
Aug 26
4 Python / ROS Tutorial Lab 1
Wed
Aug 31
5 Linear Dynamical Systems Lecture 5
Wed
Sep 2
6 Bayesian Filters TBF Ch. 2, 3.1-3.2.3 Lecture 6
Mon
Sep 7
Labor day (no class)
Wed
Sep 9
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 14
8 Particle Filters, Motion Models TBF Ch. 5.3.2, 5.4.2, 6.3.1, 6.6.2 Lecture 8
Wed
Sep 16
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 21
10 Mapping and SLAM Lecture 10
Wed
Sep 23
11 Mathematical Programming Lab 2 (Localization) Lecture 11
Mon
Sep 28
12 AIKIDO Tutorial AIKIDO (Personal Robotics Lab, University of Washington)
Wed
Sep 30
13 Midterm review
Mon
Oct 5
Guest Lecture
Wed
Oct 7
14 Configuration Spaces CL 3.1,3.2, 3.5.1 Lecture 14
Mon
Oct 12
15 Kinematic Transformations HW3 (FK/IK) CL 3.6-3.8 Lecture 15
Wed
Oct 14
16 Inverse Kinematics Lecture 16
Mon
Oct 19
17 Sampling-based
Motion Planning I
CL 7.1.1, 7.2.2 Slides
Wed
Oct 21
18 Sampling-based
Motion Planning II
HW4 (RRT) CL 7.3.3, LA 7.3.1 Lecture 18
Mon
Oct 26
19 Learning from Physical Interactions Lab 3 (Motion Planning) Learning with Human Adversaries
Wed
Oct 28
20 Special Topics in Robotics
Mon
Nov 2
21 Dynamics SS Ch. 7.1.1 Lecture 21
Wed
Nov 4
22 Task Space Regions Lab 4 (Task Space Regions) Task Space Regions Lecture 22
Mon
Nov 9
23 Non-Linear Control SS Ch. 8.6.2, Appendix C3 Lecture 23
Wed
Nov 11
24 Recap

Additional Policies: Please read the statement on academic conduct and student support systems.