Course Meeting Times

Lecture: 2 sessions / week, 1.5 hours / session

Recitations: 1 session / week, 1 hour / session


Robots today move far too conservatively, using control systems that attempt to maintain full control authority at all times. Humans and animals move much more aggressively by routinely executing motions which involve a loss of instantaneous control authority. Controlling nonlinear systems without complete control authority requires methods that can reason about and exploit the natural dynamics of our machines.

This course discusses nonlinear dynamics and control of underactuated mechanical systems, with an emphasis on machine learning methods. Topics include nonlinear dynamics of passive robots (walkers, swimmers, flyers), motion planning, partial feedback linearization, energy-shaping control, analytical optimal control, reinforcement learning/approximate optimal control, and the influence of mechanical design on control. Discussions include examples from biology and applications to legged locomotion, compliant manipulation, underwater robots, and flying machines.

For course 6, area II students, this course will fulfill the Technical Qualifying Exam (TQE) requirement for artificial intelligence.

NOTE: Professor Tedrake offered an updated version of this course that can be accessed through the edX platform.


Students actively engaged in robotics or related research should have all of the necessary prerequisites. Relevant course include introductory classes in robotics (6.141J/16.405J Robotics: Science and Systems I, 2.12 Introduction to Robotics, and 2.165 Robotics or equivalent), control (6.302 Feedback Systems), and machine learning (6.867 Machine Learning). Some familiarity with MATLAB® is recommended. Students from all departments are welcome.


There are no required textbooks for this course. Readings will come from the course notes “Underactuated Robotics: Learning, Planning, and Control for Efficient and Agile Machines.” A list of relevant textbooks is given in the Readings section.

Course Goals

The goal of this course is to develop the tools necessary to design robots that are more dynamic and more agile than the current state-of-the-art. The course is organized into three main parts: nonlinear dynamics, motion planning and control (classical and modern), and machine learning control.

The target audience includes both computer science and mechanical/aeronautics students pursuing research in robotics. Although I assume familiarity with basic robot kinematics and dynamics and comfort with linear algebra, ordinary differential equations, and MATLAB®, the course notes will provide most of the material and references required for the course.


Late problem sets will be penalized 10% per day. There is no final exam.

Problem sets (5) 40%
Midterm 30%
Final project 30%

Course Info

Learning Resource Types

grading Exams
theaters Lecture Videos
group_work Projects
assignment_turned_in Problem Sets with Solutions
assignment_turned_in Programming Assignments with Examples