Description

This course provides an overview of modern optimization and machine learning methods for planning, control, and decision-making, with a focus on robotics applications. Students first study the foundations of continuous and discrete optimization, learning both how real-world robotics problems can be formulated as optimization problems and the algorithms used to solve them. Time permitting, the course also includes a brief treatment of advanced optimization topics such as sum-of-squares optimization and graphs of convex sets. The course then examines decision-making techniques based on machine learning, which leverage data (imitation learning) and/or experience (reinforcement learning). Theoretical material is complemented by real-world robotics examples and hands-on coding exercises in Python. The course culminates in a final project in which students tackle real research problems using the tools developed throughout the quarter.

Prerequisites

This course has no official prerequisites, but it assumes a basic level of mathematical maturity: students should be comfortable reading and writing mathematical arguments, understanding proofs, and working with abstract concepts. Students should also be familiar with linear algebra and basic analysis, including vectors, matrices, norms, functions, differentiation, integration, etc. Basic coding skills are expected, as the course will include examples and homework assignments in Python. Prior exposure to control theory and/or robotics is a plus, but not required, as all relevant background will be introduced in the course.

Lecture notes

Under preparation.