← IRoM Lab

Introduction to Robotics

Princeton University

ROB 345 / 549

Course description

Robotics is a rapidly growing field with applications including drones, autonomous vehicles, and home assistants. This course will provide an introduction to the fundamental theoretical and algorithmic principles behind modern robotic systems. The course will also allow students to get hands-on experience through project-based assignments with the Crazyflie quadrotor. For the final project, students train a vision-based navigation policy using imitation learning. Course topics include:

  • Motion Planning
  • Feedback Control
  • State estimation, localization, and mapping
  • Machine learning for robotics
  • Broader topics: Robotics and the law, ethics, and economics

This course is aimed at undergraduate students (primarily juniors and seniors). The graduate-level track (ROB 549) is aimed at first-year PhD students.

Note: this course website is the public-facing version; Princeton students enrolled in the course should use Canvas. This website provides access to course materials including lecture videos, notes, slides, assignments, and the final project (see below).

Instructor

Anirudha Majumdar

Mechanical & Aerospace Engineering, Princeton University

Acknowledgements

A number of course staff members have contributed greatly to the development of this course over the years. I am particularly grateful to Jon Prevost, Vincent Pacelli, Julienne LaChance, Alec Farid, Meghan Booker, David Snyder, Allen Ren, Eric Lepowsky, Alexandra Bodrova, and Nate Simon.

Lecture recordings were done by the Princeton Broadcast Center.

Reference textbooks

  • D. Gammelli, J. Lorenzetti, K. Luo, G. Zardini, M. Pavone, Principles of Robot Autonomy.
  • S. M. LaValle, Planning Algorithms.
  • S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics.

Course prerequisites

Multivariable calculus, linear algebra, basic probability, basic differential equations, some programming experience (this course uses Python).

Hardware

The assignments for the course (provided below) include theory, programming, and hardware implementation components. For the hardware, we use the Crazyflie drone from Bitcraze. This is a lightweight drone with open-source software. The motion planning and feedback control hardware assignments can be completed with the following parts list:

For the final project, students train a vision-based navigation policy using imitation learning. We attach cameras to the drones, which transmit images in real-time to a receiver unit plugged into to a laptop. Completing the final project requires the following additional parts:

Crazyflie drone used in course assignments

Course materials

Lecture videosMaterialsAssignments
Lecture 1: Intro to Robotics
Geometric Motion Planning
Lecture 2: Discrete planning (graph search)
Lecture 3: Randomized planning (RRTs)
Dynamics and Control
Lecture 4: Planar quadrotor dynamics
Lecture 5: 3D quadrotor dynamics, linearization
Lecture 6: Fixed points, stability, PD control
Lecture 7: Linear Quadratic Regulator (LQR)
Planning with Dynamics Constraints
Lecture 8: Differential flatness
Lecture 9: Trajectory optimization, time-varying feedback
State Estimation, Localization, Mapping
Lecture 10: Camera models, optical flow
Lecture 11: Nondeterministic filter
Lecture 12: Bayes filtering
Lecture 13: Kalman filtering and particle filtering
Lecture 14: Localization
Lecture 15: Mapping
Lecture 16: Simultaneous localization and mapping (SLAM)
Machine Learning for Robotics
Lecture 17: Imitation learning
Lecture 18: Generative architectures (flow matching, diffusion)
Lecture 19: Data augmentation and DAgger
Lecture 20: Vision-language-action models (VLAs)
Lecture 21: Reinforcement learning - I
Lecture 22: Reinforcement learning - II
Lecture 23: World models
Broader topics in robotics
Lecture 24: Robotics and jobs, ethics, and laws