Introduction to Robotics

Instructor: Stefanos Nikolaidis (nikolaid at usc dot edu)

TAs: Ya-Chuan Hsu, Heramb Nemlekar, Gautam Salhotra, Bryon Tjanaka

Content Contributors: Hejia Zhang, David Millard, Aravind Kuramaguru, Gautam Salhotra

Lectures: Mon / Wed 10:00 - 11:50am LVL17

Office Hours: Mon 12pm - 1pm

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 and take the final exam to receive a passing grade for the class.

Tentative Schedule:

Date Lecture Topic Assignment (Released)
Readings Notes
Mon
Aug 23
1 Introduction Slides
Wed
Aug 25
2 Matrix Algebra Refresher SS Appendix A Slides
Mon
Aug 30
3 Probability Theory HW (Math Fundamentals) RN Ch. 13-14 Slides
Wed
Sep 1
4 Python / ROS Tutorial Lab 1
Mon
Sep 6
Labor day (no class)
Wed
Sep 8
5 Bayesian Networks Slides
Mon
Sep 13
6 Bayesian Filters TBF Ch. 2, 3.1-3.2.3 Slides
Wed
Sep 15
7 Linear Dynamical Systems Slides
Mon
Sep 20
8 Kalman Filters and EKF HW2 (KF/EKF) TBF Ch. 3.3.1-3.3.3 Slides
Wed
Sep 22
9 Particle Filters TBF Ch. 4.3.1-4.3.2 Slides
Mon
Sep 27
10 Motion Models and Sensor Models TBF Ch. 5.3.2, 5.4.2, 6.3.1, 6.6.2 Slides
Wed
Sep 29
11 Localization and Mapping Ch. 7.4.1, 7.4.2, 7.5.1, 9.2 - excluding 9.2.1 Slides
Mon
Oct 4
12 AIKIDO Tutorial AIKIDO (Personal Robotics Lab, University of Washington)
Wed
Oct 6
13 Midterm review Lab 2 (Localization) Slides
Mon
Oct 11
14 Mathematical Programming Slides
Wed
Oct 13
15 Configuration Spaces CL 3.1,3.2, 3.5.1 Slides
Mon
Oct 18
16 Special Topics in Robotics CL 3.6-3.8
Wed
Oct 20
17 Kinematic Transformations CL 3.6-3.8 Slides
Mon
Oct 25
18 Inverse Kinematics HW3 (FK/IK) Slides
Wed
Oct 27
19 Sampling-based
Motion Planning I
CL 7.1.1, 7.2.2 Slides
Mon
Nov 1
20 Special Topics in Robotics
Wed
Nov 3
21 Sampling-based
Motion Planning II
HW4 (RRT) CL 7.3.3, LA 7.3.1 Slides
Mon
Nov 8
22 Task Space Regions Task Space Regions Slides
Wed
Nov 10
23 Dynamics Lab 3 (Motion Planning) SS Ch. 7.1.1 Slides
Mon
Nov 15
24 Special Topics in Robotics
Wed
Nov 17
25 Non-Linear Control SS Ch. 8.6.2, Appendix C3 Slides
Mon
Nov 22
26 Acting Under Uncertainty Risk-aware planning Slides
Wed
Nov 24
Thanksgiving Holiday (no class)
Mon
Nov 29
27 Final Review Slides
Wed
Dec 1st
28 Q & A

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