Advanced Control Engineering
Instructor: Laurent Lessard
This is a graduate-level course that covers topics in modern control engineering, including: optimal control, optimal filtering, robust/nonlinear control, and model predictive control. The main theme of the course is how uncertainty propagates through dynamical systems, and how it can be managed in the context of a control system. We will emphasize modern tools from computational linear algebra and convex optimization, and use Matlab for implementation. List of prerequisites:
- Required: Basic linear algebra / differential equations; matrix/vector manipulations, subspaces, linear independence, solving ODEs and systems of linear equations. (e.g., MATH 2341)
- Recommended: Basic linear systems theory; state-space equations, controllability/observability. (e.g. ME 5659 or EECE 7200).
- Strongly recommended: Experience using Matlab. If you know how to use other scripting languages such as Python+Matplotlib, you’ll find Matlab very easy to learn and you should be fine.
Who should take this course?
- Aspiring control engineers wondering what you do when PID control won’t cut it. This course presents an optimization-based view of control, culminating with the industry-standard technique of model predictive control (MPC).
- Engineering students looking to strengthen their knowledge of dynamical systems and feedback control, in a way that meshes with the rest of their engineering knowledge. If transfer functions and Bode plots left you unsatisfied, this course is for you. No frequency domain, I promise!
- Students in MIE/ECE/CS doing research in robotics. This course covers modern tools for tackling difficult control and state-estimation problems and how to reason about uncertainty; very relevant to robotics.
- Students in ECE/CEE/IE studying complex optimization problems such as power systems, supply chains, or transportation networks. This course covers optimization and control in a unified way, which is essential for reasoning about multi-scale systems.
- Students in CS doing research in machine learning / reinforcement learning. Modern ML/RL must deal with data from dynamical systems. This course provides the background on dynamical systems you won’t learn in CS courses and builds on familiar techniques such as dynamic programming.
Topics covered in the course:
These are the foundational topics covered the course. It’s fine if you have seen some of these topics in previous classes; we will be going into more depth this time, and you will build on your existing knowledge.
- Applied linear algebra. Fundamental subspaces, least squares, minimum norm, the SVD, sensitivity, symmetric matrices and ellipsoids, geometric interpretations, recursive least squares, solutions in Matlab.
- Linear systems theory. Controllability/observability, reachability with minimum energy, estimation with minimum error, Lyapunov equations, Gramians, stability characterization via Linear Matrix Inequalities.
- Convex optimization. Polytopes, LPs and QPs, KKT conditions, normal equations, duality, geometry of solutions. Viewing control and estimation problems as optimization problems. Solving optimization problems in Matlab.
- Optimal control. Minimum-energy state transfer, value function and dynamic programming, linear quadratic regulator (LQR), following a planned trajectory.
- Optimal state estimation. Multivariate Gaussian distributions, recursive estimation, Kalman filter, Extended Kalman filter. LQG control and the separation principle.
- Robust control. Representing polytopic and ellipsoidal uncertainty, control in the presence of unknown or adversarial disturbances, the KYP lemma, the S-Lemma, dissipativity theory.
- Model Predictive Control (MPC). Formulating constrained control problems as optimization problems. Explicit MPC, robust MPC, practical considerations, and simple implementations in Matlab.
Linear equations, least squares, and the SVD:
- (Boyd) EE263 “Introduction to Linear Dynamical Systems” [lecture slides]
- (Lessard) ECE532 “Matrix Methods in Machine Learning” [slides and videos]
Optimal estimation and filtering:
- (Lessard) EE717 “Linear Systems” [lecture slides]
- (Lall) EE266 “Stochastic control” [lecture slides]
- (Lall) EE207b “Stochastic estimation and Kalman filtering” [lecture slides]
- (Boyd) EE263 “Linear Dynamical systems” [lecture slides]
- (Papusha and Murray) CDS270-2 “Mathematical Methods in Control and System Engineering” [lecture slides]
- (Boyd) EE364 “Convex Optimization”. [lecture slides] [free textbook] [lecture videos]
- (Boyd) EE364b “Convex Optimization II”. [lecture slides]
- (Lessard) CS524 “Introduction to Optimization”. [slides and video]