Difference between revisions of "Supplement: Optimization-Based Control"
Jump to navigation
Jump to search
(Created page with "<font size="+1">Richard M. Murray (Caltech)</font> These notes serve as a supplement to ''Feedback Systems'' by {{Astrom}} and Murray and expand on some of the topics introdu...") |
|||
(48 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | <font size="+1">Richard M. Murray | + | {{OBC quick links}} |
+ | <font size="+1">[[User:Murray|Richard M. Murray]]</font> | ||
− | These notes serve as a supplement to ''Feedback Systems'' by {{Astrom}} 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''. | + | These notes serve as a supplement to ''Feedback Systems'' by {{Astrom}} 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:''' | + | '''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 ([[OBC: Archived news|archive]]) ===== | |
− | ===== News ([[OBC:Archived 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 |
− | * | ||
− | |||
<p> | <p> | ||
Line 18: | Line 17: | ||
|- valign=top | |- valign=top | ||
| width=50% | | | width=50% | | ||
− | * {{OBC pdf|Contents and Preface|obc-frontmatter| | + | * {{OBC pdf|Contents and Preface|obc-frontmatter|20Feb2023}} |
− | * {{OBC pdf|Ch 1 - Trajectory Generation and Tracking|obc-trajgen| | + | * {{OBC pdf|Ch 1 - Introduction|obc-intro|03Jan2023}} |
+ | ** System and Control Design | ||
+ | ** The Control System “Standard Model” | ||
+ | ** Layered Control Systems | ||
+ | ** The Python Control Systems Library (python-control): {{OBC notebook|intro-iosys}}, {{OBC notebook|intro-xferfcn}} | ||
+ | ** Exercises: {{OBC exercise|servomech-python_template.ipynb}}, {{OBC exercise|servomech.py}} | ||
+ | * {{OBC pdf|Ch 2 - Trajectory Generation and Tracking|obc-trajgen|08Jan2023}} | ||
** Two Degree of Freedom Design | ** Two Degree of Freedom Design | ||
** Trajectory Tracking and Gain Scheduling | ** Trajectory Tracking and Gain Scheduling | ||
** Trajectory Generation and Differential Flatness | ** Trajectory Generation and Differential Flatness | ||
− | * {{OBC pdf|Ch | + | ** Implementation in Python: {{OBC notebook|trajgen-gainsched}}, {{OBC notebook|trajgen-flatness}} |
+ | ** Other Methods for Generating Trajectories | ||
+ | * {{OBC pdf|Ch 3 - Optimal Control|obc-optimal|14Jan2023}} | ||
** Review: Optimization | ** Review: Optimization | ||
** Optimal Control of Systems | ** Optimal Control of Systems | ||
** Examples | ** Examples | ||
− | ** Linear Quadratic Regulators | + | ** Implementation in Python: {{OBC notebook|optimal-kincar}}, {{OBC python|kincar.py}} |
+ | ** Linear Quadratic Regulators: {{OBC notebook|optimal-linquad}}, {{OBC notebook|optimal-pvtol-lqr}}, {{OBC python|pvtol.py}} | ||
** Choosing LQR Weights | ** Choosing LQR Weights | ||
− | ** Advanced Topics | + | ** Advanced Topics: {{OBC notebook|optimal-lqr-tracking}} |
− | * {{OBC pdf|Ch | + | * {{OBC pdf|Ch 4 - Receding Horizon Control|obc-rhc|28Jan2023}} |
** Optimization-Based Control | ** Optimization-Based Control | ||
− | ** Receding Horizon Control with | + | ** Receding Horizon Control with Terminal Cost |
+ | ** Implementation in Python: {{OBC notebook|rhc-doubleint}} | ||
** Receding Horizon Control Using Differential Flatness | ** Receding Horizon Control Using Differential Flatness | ||
+ | ** Choosing Cost Functions | ||
** Implementation on the Caltech Ducted Fan | ** Implementation on the Caltech Ducted Fan | ||
| width=50% | | | width=50% | | ||
− | * {{OBC pdf|Ch | + | * {{OBC pdf|Ch 5 - Stochastic Systems|obc-stochastic|05Feb2023}} |
− | ** Review of Random Variables | + | ** Brief Review of Random Variables |
** Introduction to Random Processes | ** Introduction to Random Processes | ||
** Continuous-Time, Vector-Valued Random Processes | ** Continuous-Time, Vector-Valued Random Processes | ||
− | ** Linear Stochastic Systems | + | ** Linear Stochastic Systems with Gaussian Noise |
** Random Processes in the Frequency Domain | ** Random Processes in the Frequency Domain | ||
− | * {{OBC pdf|Ch | + | ** Implementation in Python: {{OBC notebook|stochastic-linsys}} |
+ | * {{OBC pdf|Ch 6 - Kalman Filtering|obc-kalman|20Feb2023}} | ||
** Linear Quadratic Estimators | ** Linear Quadratic Estimators | ||
** Extensions of the Kalman Filter | ** Extensions of the Kalman Filter | ||
** LQG Control | ** LQG Control | ||
+ | ** Implementation in Python: {{OBC notebook|kalman-pvtol}}, {{OBC python|pvtol.py}} | ||
** Application to a Vectored Thrust Aircraft | ** Application to a Vectored Thrust Aircraft | ||
− | * {{OBC pdf|Ch | + | * {{OBC pdf|Ch 7 - Sensor Fusion|obc-fusion|12Mar2023}} |
** Discrete-Time Stochastic Systems | ** Discrete-Time Stochastic Systems | ||
** Kalman Filters in Discrete Time | ** Kalman Filters in Discrete Time | ||
** Predictor-Corrector Form | ** Predictor-Corrector Form | ||
** Sensor Fusion | ** Sensor Fusion | ||
− | ** | + | ** Implementation in Python: {{OBC notebook|fusion-kincar}}, {{OBC python|kincar.py}}, {{OBC notebook|fusion-mhe-pvtol}}, {{OBC python|pvtol.py}} |
** Additional Topics | ** Additional Topics | ||
− | * {{OBC pdf|Bibliography and Index|obc-backmatter| | + | * {{OBC pdf|Bibliography and Index|obc-backmatter|20Feb2023}} |
|} | |} |
Latest revision as of 23:47, 12 March 2023
|
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
|
|