CS545: Introduction to Robotics

Fall 2025

Course Staff

Professor: Daniel Seita

Teaching Assistant: Zeyu Shangguan

Use Piazza to contact the course staff: https://piazza.com/usc/fall2025/csci545

When posting any code debugging questions on Piazza, please declare (in the post) that you have read our class policies here.

Lectures

Thursdays: 4:00 pm to 7:20 pm. Location: SLH 102.

We will record lectures and share them on this website (see the "Recording" column below). If you want to peek ahead, the course will be similar to the one taught in Spring 2024.

Office Hours

Daniel: Thursdays, 2:00pm to 3:15pm, GCS 305A, starting September 04. Let him know if you plan to attend and do not have card access.

Zeyu: Wednesdays, 10:30am to 11:30am, in GCS, starting September 03.

Exceptions: Daniel will not have OHs on September 25 (travel) and October 09 (fall recess).

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, especially for manipulation and mobility.

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 should have a solid background in probability, linear algebra, and calculus. Students should also be comfortable programming in Python.

Reading Material

Much of the lecture material is based on readings from:

Relevant Courses

Additionally, we will also have materials from these relevant courses:

Grading

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.

Acknowledgments

This course is mostly based on materials from Stefanos Nikolaidis' class at USC. We will cite other acknowledgements throughout the slides.

Syllabus (Subject to Change)

A few notes about the syllabus:
Date Class Topic Assignment (Released) Readings / References Slides Recording
Thurs
Aug 28
01 Introduction HW 1 (Math Fundamentals);
Due Sept 09
Thurs
Aug 28
01 Linear Algebra Review SS Appendix A;
Linear Algebra Review
Thurs
Sept 04
02 Probability Review Lab 1 (Introduction to ROS);
Due Sept 18
TBF 2.1-2.2; CS287 #11;
Gaussians Review
Thurs
Sept 04
02 Python/ROS Tutorial;
Bayes Nets I
CS188 BN Part 1
Thurs
Sept 11
03 Bayes Nets II HW 2 (Kalman Filters);
Due Sept 25
CS188 BN Part 2
Thurs
Sept 11
03 Bayesian Filters TBF 2.3-2.4;
CS287 #11
Thurs
Sept 18
04 Kalman Filters TBF 3.1-3.3; Video;
CS287 #12; CS545 #18
Thurs
Sept 18
04 Particle Filters TBF 4.3; CS188 PF;
CS287 #14
Thurs
Sept 25
05 Motion Models;
Sensor Models
Lab 2 (Monte Carlo Localization);
Due Oct 09
TBF 5.1-5.3.3, 6.1-6.3.1
Thurs
Sept 25
05 Localization and Mapping TBF 7.1-7.4.3, 10.1-10.2
Thurs
Oct 02
06 Mathematical Programming Lagrangian Video
Thurs
Oct 02
06 Configuration Spaces LP 2.1-2.6, CL 3.1-3.2, 3.7
Thurs
Oct 09
No Class (Fall Recess)
Thurs
Oct 09
No Class (Fall Recess)
Thurs
Oct 16
07 AIKIDO Tutorial;
Kinematic Transformations
HW 3 (Inverse Kinematics);
Due Nov 03
LP 3.1-3.2.1, 3.3.1, CL 3.5
Thurs
Oct 16
07 Forward and Inverse Kinematics LP 5 (before 5.1), 6.1-6.2;
MR Video, Ch 6
Thurs
Oct 23
08 Midterm Exam
(in class, 4:00pm to 6:00pm)
Thurs
Oct 23
08 Midterm Exam
(in class, 4:00pm to 6:00pm)
Thurs
Oct 30
09 Motion Planning I Lab 3 (RRT for a Manipulator);
Due Nov 20
CL 7.1; LA 5.6, 6.2.2;
MIT 6.843 #16
Thurs
Oct 30
09 Motion Planning II CL 7.2; LA 5.4-5.5, 7.1, 7.3;
CS287 #10
Thurs
Nov 06
10 Task Space Regions Lab 4 (Task Space Regions);
Due Dec 03
TSP Paper
Thurs
Nov 06
10 Markov Decision Processes CS188 MDPs I, MDPs II;
CS287 #02
Thurs
Nov 13
11 Acting Under Uncertainty CS 188 VPI
Thurs
Nov 13
11 Reinforcement Learning CS 188 RL
Thurs
Nov 20
12 Imitation Learning HW 4 (Imitation Learning);
Due Dec 04
Berkeley Deep IL
Thurs
Nov 20
12 Dynamics RT Appendix B; CS287 #21
Thurs
Nov 27
No Class (Thanksgiving)
Thurs
Nov 27
No Class (Thanksgiving)
Thurs
Dec 04
13 Simulation and Sim-to-Real LP 8.1.1; CS287 #22
Thurs
Dec 04
13 Rotation and 3D Representations;
Course Wrap-Up
LP App. B; MIT 6.4210 #06 Slides YouTube
Thurs
Dec 11
Final Exam
(in class, 4:30pm to 6:30pm)
Thurs
Dec 11
Final Exam
(in class, 4:30pm to 6:30pm)