# Supplement: Optimization-Based Control

These notes serve as a supplement to Feedback Systems by Åström and Murray and expand on some of the topics introduced there. Our focus is on the use of optimization-based methods for control, including optimal control theory, receding horizon control, and Kalman filtering. Each chapter is intended to be a standalone reference for advanced topics that are introduced in Feedback Systems.

Note: Permission is granted to download and print a copy for individual use, but this material may not be reproduced, in whole or in part, without written consent from the author.

##### News (archive)
• 12 Mar 2023: new version (2.3h) is now complete and posted
• Jan-Feb 2023: updated versions of Chapters 2-7 (version 2.3x) posted roughly every week
• 31 Dec 2022: posted Jupyter notebooks for Chapter 1 (intro to python-control)
• 29 Dec 2022: added new Chapter 1 (introduction) and starting to post updates for v2.3

### Contents

 Contents and Preface (PDF, 20 Feb 2023) Ch 1 - Introduction (PDF, 03 Jan 2023) System and Control Design The Control System “Standard Model” Layered Control Systems The Python Control Systems Library (python-control): intro-iosys.ipynb (PDF), intro-xferfcn.ipynb (PDF) Exercises: servomech-python_template.ipynb, servomech.py Ch 2 - Trajectory Generation and Tracking (PDF, 08 Jan 2023) Two Degree of Freedom Design Trajectory Tracking and Gain Scheduling Trajectory Generation and Differential Flatness Implementation in Python: trajgen-gainsched.ipynb (PDF), trajgen-flatness.ipynb (PDF) Other Methods for Generating Trajectories Ch 3 - Optimal Control (PDF, 14 Jan 2023) Review: Optimization Optimal Control of Systems Examples Implementation in Python: optimal-kincar.ipynb (PDF), kincar.py Linear Quadratic Regulators: optimal-linquad.ipynb (PDF), optimal-pvtol-lqr.ipynb (PDF), pvtol.py Choosing LQR Weights Advanced Topics: optimal-lqr-tracking.ipynb (PDF) Ch 4 - Receding Horizon Control (PDF, 28 Jan 2023) Optimization-Based Control Receding Horizon Control with Terminal Cost Implementation in Python: rhc-doubleint.ipynb (PDF) Receding Horizon Control Using Differential Flatness Choosing Cost Functions Implementation on the Caltech Ducted Fan Ch 5 - Stochastic Systems (PDF, 05 Feb 2023) Brief Review of Random Variables Introduction to Random Processes Continuous-Time, Vector-Valued Random Processes Linear Stochastic Systems with Gaussian Noise Random Processes in the Frequency Domain Implementation in Python: stochastic-linsys.ipynb (PDF) Ch 6 - Kalman Filtering (PDF, 20 Feb 2023) Linear Quadratic Estimators Extensions of the Kalman Filter LQG Control Implementation in Python: kalman-pvtol.ipynb (PDF), pvtol.py Application to a Vectored Thrust Aircraft Ch 7 - Sensor Fusion (PDF, 12 Mar 2023) Discrete-Time Stochastic Systems Kalman Filters in Discrete Time Predictor-Corrector Form Sensor Fusion Implementation in Python: fusion-kincar.ipynb (PDF), kincar.py, fusion-mhe-pvtol.ipynb (PDF), pvtol.py Additional Topics Bibliography and Index (PDF, 20 Feb 2023)