Textbook

The textbook is available online here, and will be updated throughout the semester. Please refer to the schedule for how textbook sections will correspond to the lectures.

Lecture Videos

The Zoom link for the class is provided on piazza. Lectures will be available on the Underactuated Robotics YouTube Channel.

Class Forum

If you have doubts or questions regarding the class material and organization, please use the class forum on Piazza. To access, you must sign up with your @mit.edu email address.

Previous Offerings

Videos of the lectures from previous years can be found at the following links.

Further Material

Here are some useful links to catch up with the class prerequisites and to integrate the lecture notes.

  • Linear Algebra
    • A strong, intuitive understanding of Linear Algebra will very much help you with this class. If off the top of your head you don't remember what the rank of a matrix is, or how to do eigenvalue decomposition, we recommend you review your linear algebra. The entire world of robotics is rich in linear algebra -- you will not regret investing time in mastering fundamentals!
    • To brush up on linear algebra, the content and video lectures from Strang's classic course, MIT 18.06 have helped many students in the past.
    • Another good resource is the textbook Linear Algebra Done Right by Axler.
  • Ordinary Differential Equations (ODEs)
    • While a strong understanding of differential equations will only help you, if you have not taken a full ODE course before, you will probably be okay with just understanding the basics.
    • The Differential Equations content at Khan Academy should be enough to get you going in the class -- you can learn the rest as you go.
  • Coding
    • If you are an absolute beginner with Python, Codecademy provides a friendly introduction.
    • If you are somewhat familiar with Python but would like to brush up on syntax, this tutorial from Stanford CS231n provides a good overview.
    • Although you will not need to know C++ to get an A in the class, the underlying software used for some of the assignments is in C++.
  • Robotics
    • You will not need any prior robotics exposure to succeed in the class. If however you want to start absorbing fundamentals (frame transformations, manipulator equations, etc.) then A Mathematical Introduction to Robotic Manipulation by Murray, Li, and Sastry is a great reference.
  • Nonlinear Dynamics
    • While not a prerequisite, a fantastic textbook for an introduction to nonlinear dynamics is the textbook Nonlinear Dynamics and Chaos by Strogatz.
  • Mathematical Optimization
    • We will teach you all you need to know about optimization, but acquiring a background in the subject will help you deepen understanding. If you know what the following are, you are totally set: LP, QP, SDP, SOS, NLP, MIP.
    • A great textbook on (smooth) optimization is Numerical Optimization by Nocedal and Wright.
    • Everything you need to know about convex optimization can be found in Convex Optimization by Boyd and Vandenberghe.
    • For Sums-of-Squares (SOS) programming you can have a look Parrilo's Thesis or at this book.
    • An advanced, but yet very readable, reference for Mixed-Integer Programming (MIP) is Integer Programming by Conforti, Cornuéjols, and Zambelli.
  • Machine Learning
    • Basic background in Machine Learning can only help. There are many great introductory classes online, Ng's is one.
    • A couple of lectures will be focused on Reinforcement Learning (RL). Two great classes on RL are Silver's and Levine's. A classical RL textbook is Reinforcement Learning: An Introduction by Sutton and Barto.
  • Optimal Control