CS545: Introduction to Robotics

Fall 2025

Course Staff

Daniel Seita

Teaching Assistant: TBD

Use Piazza to contact the course staff: TBD

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: 2:00pm to 3:15pm, GCS 305A. Let him know if you plan to attend and do not have card access.

TAs: TBD.

Exceptions: if there are holidays and/or conflicts, Daniel will note them here.

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