Difference between revisions of "CDS 112/Ae 103a, Winter 2022"
(75 intermediate revisions by 2 users not shown)  
Line 8:  Line 8:  
* Richard Murray (CDS/BE), murray@cds.caltech.edu  * Richard Murray (CDS/BE), murray@cds.caltech.edu  
* Lectures: MWF, 23 pm, 213 ANB  * Lectures: MWF, 23 pm, 213 ANB  
* Office hours: Wed, 33:30 pm (at CDS tea)  
 width=50%    width=50%   
'''Teaching Assistants'''  '''Teaching Assistants'''  
* Apurva Badithela (CDS), Ayush Pandey (CDS)  * Apurva Badithela (CDS), Ayush Pandey (CDS)  
* Office hours: Fri  * Office hours: Fri 44:45 / Mon 33:45 in 213 ANB; <br> Fri 4:455:15 / Mon 3:454:15 via Zoom  
}  }  
Line 37:  Line 38:  
* Course introduction and logistics  * Course introduction and logistics  
* Overview: control architectures  * Overview: control architectures  
* Python Control Systems Library  * [[http:pythoncontrol.orgPython Control Systems Library]]  
    
* OBC, Chapter 1  * [[http:fbswiki.org/OBCOBC]], {{OBC pdfobcintro29Dec2021Chapter 1}}  
* Lecture notes: {{cds112 wi2022 pdfL11_intro03Jan2022.pdfMon}}, {{cds112 wi2022 pdfL12_intro05Jan2022.pdfWed}}  
* Jupyter notebook: {{cds112 wi2022 pdfW1_intro_to_pythoncontrol.ipynb}}  
* [https://simons.berkeley.edu/controltheory Feedback Control Theory video tutorial (Simons Institute)]  * [https://simons.berkeley.edu/controltheory Feedback Control Theory video tutorial (Simons Institute)]  
 {{cds112   {{cds112 wi2022 pdfhw1wi2022.pdfHW #1}} <br>  
* {{cds112 wi2022 pdfservomechpython_template.ipynb}}  
* {{cds112 wi2022 pdfdiskdrive.py}}  
Out: 5 Jan <br>  Out: 5 Jan <br>  
Due: 12 Jan <br>  Due: 12 Jan <br>  
{{cds112 wi2022 pdfcaltech/hw1wi2022_solns.pdfSolns}} (Caltech only)  
 valign=top   valign=top  
Line 52:  Line 57:  
* Trajectory generation  * Trajectory generation  
* Differential flatness  * Differential flatness  
* Gain scheduling  * Implementation in Python  
* Gain scheduling  
    
* OBC, Chapter 2  * [[http:fbswiki.org/OBCOBC]], {{OBC pdfobctrajgen08Jan2022Chapter 2}}  
* Background: FBS2e, Section 8.5  * Background: FBS2e, Section 8.5  
* Theory: LST, Sections 3.1, 3.2  * Theory: LST, Sections 3.1, 3.2  
 {{cds112  * Jupyter notebooks: {{cds112 wi2022 pdfW2_flatness.ipynb}}, {{cds112 wi2022 pdfW2_gainsched.ipynb}}  
 {{cds112 wi2022 pdfhw2wi2022.pdfHW #2}} <br>  
Out: 12 Jan <br>  Out: 12 Jan <br>  
Due: 19 Jan <br>  Due: 19 Jan <br>  
{{cds112 wi2022 pdfcaltech/hw2wi2022_solns.pdfSolns}} (Caltech only)  
 valign=top   valign=top  
Line 67:  Line 74:  
 Optimal control   Optimal control  
* Maximum principle  * Maximum principle  
*  * <s>Dynamic programming</s>  
* Examples and applications  
* Implementation in Python  
    
* OBC, Chapter 3  * [[http:fbswiki.org/OBCOBC]], {{OBC pdfobcoptimal19Jan2022Chapter 3}}  
 {{cds112  * Theory: [http://liberzon.csl.illinois.edu/teaching/cvoc/cvoc.html Liberzon, 2010]  
* Jupyter notebooks: {{cds112 wi2022 pdfW3_optimal.ipynb}}, {{cds112 wi2022 pdfW3_linquad.ipynb}}, {{cds112 wi2022 pdfvehicle.py}}  
 {{cds112 wi2022 pdfhw3wi2022.pdfHW #3}} <br>  
Out: 19 Jan <br>  Out: 19 Jan <br>  
Due: 26 Jan <br>  Due: 26 Jan <br>  
* {{cds112 wi2022 pdfpvtol.py}}  
{{cds112 wi2022 pdfcaltech/hw3wi2022_solns.pdfSolns}} (Caltech only)  
 valign=top   valign=top  
Line 79:  Line 91:  
24 Jan <br> 26 Jan <br> 28 Jan*  24 Jan <br> 26 Jan <br> 28 Jan*  
 Linear quadratic regulators   Linear quadratic regulators  
* Problem formulation and solution  
* Choosing LQR Weights  
* Incorporating integral feedback  
* Implementation in Python  
* Dynamic programming  
    
* OBC, Chapter 3  * [[http:fbswiki.org/OBCOBC]], {{OBC pdfobcoptimal19Jan2022Chapter 3}}  
 {{cds112  * Theory: [http://liberzon.csl.illinois.edu/teaching/cvoc/cvoc.html Liberzon, 2010]  
* Jupyter notebooks (Wed): {{cds112 wi2022 pdfW4_pvtollqr.ipynb}}, {{cds112 wi2022 pdfW4_lqrtracking.ipynb}}, {{cds112 wi2022 pdfctrlutil.py}}, {{cds112 wi2022 pdfpvtol.py}}  
* Jupyter notebooks (Fri): {{cds112 wi2022 pdfvalue_iteration_discrete.ipynb}}, {{cds112 wi2022 pdftransys.py}}  
 {{cds112 wi2022 pdfhw4wi2022.pdfHW #4}} <br>  
Out: 26 Jan <br>  Out: 26 Jan <br>  
Due: 2 Feb <br>  Due: 2 Feb <br>  
{{cds112 wi2022 pdfcaltech/hw4wi2022_solns.pdfSolns}} (Caltech only)  
 valign=top   valign=top  
Line 90:  Line 110:  
31 Jan <br> 2 Feb <br> 4 Feb  31 Jan <br> 2 Feb <br> 4 Feb  
 Receding horizon control   Receding horizon control  
* Problem formulation and solution  
* Receding horizon control using differential flatness  
* Example: Caltech ducted fan  
* Implementation in Python  
    
* OBC, Chapter 4  * [[http:fbswiki.org/OBCOBC]], {{OBC pdfobcrhc31Jan2022Chapter 4}}  
 {{cds112  * Theory: [https://sites.engineering.ucsb.edu/~jbraw/mpc/ Model Predictive Control (2012)] by Rawlings, Mayne, Diehl  
* Jupyter notebooks: {{cds112 wi2022 pdfW5_rhcdoubleint.ipynb}}  
* Lecture slides: {{cds112 wi2022 pdfL53_dfan04Feb2022.pdfFri}}  
 {{cds112 wi2022 pdfhw5wi2022.pdfHW #5}} <br>  
Out: 2 Feb <br>  Out: 2 Feb <br>  
Due: 9 Feb <br>  Due: 9 Feb <br>  
{{cds112 wi2022 pdfcaltech/hw5wi2022_solns.pdfSolns}} (Caltech only)  
 valign=top   valign=top  
Line 101:  Line 128:  
7 Feb <br> 9 Feb <br> 11 Feb  7 Feb <br> 9 Feb <br> 11 Feb  
 Stochastic systems   Stochastic systems  
* Review of random variables  
* Introduction to random processes  
* Continuoustime, vectorvalued random processes  
* Linear stochastic systems  
* Random processes in the frequency domain  
    
* OBC, Chapter 5  * [[http:fbswiki.org/OBCOBC]], {{OBC pdfobcstochastic07Feb2022Chapter 5}}  
 {{cds112  * Lectures notes: {{cds112 wi2022 pdfL61_reintro07Feb2022.pdfMon}}, {{cds112 wi2022 pdfstochastic_notes.pdfWed/Fri}}  
* Jupyter notebook: {{cds112 wi2022 pdfW6_stochresp.ipynb}}  
 {{cds112 wi2022 pdfhw6wi2022.pdfHW #6}}  
* {{cds112 wi2022 pdfpvtol.py}} (updated)  
Out: 9 Feb <br>  Out: 9 Feb <br>  
Due: 16 Feb <br>  Due: 16 Feb <br>  
{{cds112 wi2022 pdfcaltech/hw6wi2022_solns.pdfSolns}} (Caltech only)  
 valign=top   valign=top  
Line 112:  Line 147:  
14 Feb <br> 16 Feb <br> 18 Feb*  14 Feb <br> 16 Feb <br> 18 Feb*  
 Kalman filtering   Kalman filtering  
* Linear quadratic estimators  
* Extensions of the Kalman filter  
* LQG control  
* Example: vectored thrust aircraft  
* Implementation in Python  
    
* OBC, Chapter 6  * [[http:fbswiki.org/OBCOBC]], {{OBC pdfobckalman13Feb2022Chapter 6}}  
 {{cds112  * Jupyter notebooks: {{cds112 wi2022 pdfW7_pvtol.ipynb}}, {{cds112 wi2022 pdfctrlutil.py}} (updated), {{cds112 wi2022 pdfpvtol.py}} (updated), {{cds112 wi2022 pdfW7_Bayesian_Inference.ipynb}}  
 {{cds112 wi2022 pdfhw7wi2022.pdfHW #7}} <br>  
Out: 16 Feb <br>  Out: 16 Feb <br>  
Due: 23 Feb <br>  Due: 23 Feb <br>  
{{cds112 wi2022 pdfcaltech/hw7wi2022_solns.pdfSolns}} (Caltech only)  
 valign=top   valign=top  
 '''Week 8'''<br>   '''Week 8'''<br>  
<s>21 Feb</s> <br> 23 Feb  <s>21 Feb</s> <br> 23 Feb <br> 25 Feb  
 Sensor fusion   Sensor fusion  
* Discretetime stochastic systems  
* Kalman filters in discrete time  
* Predictorcorrector form  
* Combining information from multiple sensors  
* Information filters  
* Implementation in Python  
    
* OBC, Chapter  * [[http:fbswiki.org/OBCOBC]], {{OBC pdfobcfusion23Feb2022Chapter 8}}  
 {{cds112  * Jupyter notebook: {{cds112 wi2022 pdfW8_kincarfusion.ipynb}}, {{cds112 wi2022 pdfctrlutil.py}} (updated), {{cds112 wi2022 pdfvehicle.py}}  
 {{cds112 wi2022 pdfhw8wi2022.pdfHW #8}} <br>  
Out: 23 Feb <br>  Out: 23 Feb <br>  
Due: 2 Mar <br>  Due: 2 Mar <br>  
{{cds112 wi2022 pdfcaltech/hw8wi2022_solns.pdfSolns}} (Caltech only)  
 valign=top   valign=top  
Line 134:  Line 182:  
28 Feb <br> 2 Mar <br> 4 Mar  28 Feb <br> 2 Mar <br> 4 Mar  
 Autonomous systems   Autonomous systems  
* Advanced estimation: information filter, UKF, MHE, particle filter  
* Multilayer control stack for autonomous systems  
* Introduction to discrete decisionmaking  
* Introduction to safetycritical systems  
* Challenges and open problems  
    
*  * Lecture slides: {{cds112 wi2022 pdfL91_kfexts.pdfMon}}, {{cds112 wi2022 pdfL92_supervisory02Mar2022.pdfWed}}, {{cds112 wi2022 pdfL93_safetycritical04Mar2022.pdfFri}}  
 {{cds112  * [[http:www.cds.caltech.edu/~murray/courses/cds110/wi07/gro02_infofilter.pdfAppendix]] from [[http:ses.library.usyd.edu.au/handle/2123/796Ben Grocholsky's thesis]] on information filter  
* Rawlings, Mayne, Diehl: [[http:sites.engineering.ucsb.edu/~jbraw/mpcModel Predictive Control: Theory, Computation, and Design]] (2nd edition)  
* [http://www.cds.caltech.edu/~murray/papers/2012z_wtm12us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray. ''Unmanned Systems'', 2013  
* [[http:www.youtube.com/watch?v=Wi8Yce28Can We Really Use Machine Learning in Safety Critical Systems? (IPAM talk)]]  
 {{cds112 wi2022 pdfhw9wi2022.pdfHW #9}} <br>  
Out: 2 Mar <br>  Out: 2 Mar <br>  
Due: 9 Mar <br>  Due: 9 Mar <br>  
{{cds112 wi2022 pdfcaltech/hw9wi2022_solns.pdfSolns}} (Caltech only)  
 valign=top   valign=top  
 '''Week 10'''<br>   '''Week 10'''<br>  
7 Mar <br> 9 Mar  7 Mar <br> 9 Mar  
 Review for final   Review for final  
    
 {{cds112   {{cds112 wi2022 pdffinalwi2022.pdfFinal}} <br>  
Out: 9 Mar <br>  Out: 9 Mar <br>  
Due: 16 Mar, 5 pm <br>  Due: 16 Mar, 5 pm <br>  
<! {{cds112  <! {{cds112 wi2022 pdfcaltech/finalwi2022_solns.pdfSolns}} (Caltech only) >  
}  }  
Line 160:  Line 217:  
:The lowest homework set grade will be dropped when computing your final grade.  :The lowest homework set grade will be dropped when computing your final grade.  
* ''Final exam (30%):'' The final exam will be handed out on the last day of class (  * ''Final exam (30%):'' The final exam will be handed out on the last day of class (9 Mar) and due at the end of finals week. It will be an open book exam and computers will be allowed (though not required).  
=== Collaboration Policy ===  === Collaboration Policy ===  
Line 171:  Line 228:  
The primary course texts are  The primary course texts are  
* [OBC] R. M. Murray, "OptimizationBased Control", 2022. [https://fbswiki.org/wiki/index.php/Supplement:_OptimizationBased_Control Online access]  * <span id="OBC">[OBC]</span> R. M. Murray, "OptimizationBased Control", 2022. [https://fbswiki.org/wiki/index.php/Supplement:_OptimizationBased_Control Online access]  
The following additional references may also be useful:  The following additional references may also be useful: 
Latest revision as of 01:29, 12 March 2022
Optimal Control and Estimation  
Instructors

Teaching Assistants

This is the course homepage for CDS 112 (and Ae 103a), Winter 2022. This course is intended for undergraduates and graduate students interested in optimizationbased methods in control. After completion of the course, students will understand the key principles of statespace based controller design, including optimal estimation and control techniques.
Catalog Description
CDS 112. Optimal Control and Estimation. 9 units (306): second term. Prerequisites: CDS 110 (or equivalent) and CDS 131. Optimizationbased design of control systems, including optimal control and receding horizon control. Introductory random processes and optimal estimation. Kalman filtering and nonlinear filtering methods for autonomous systems.
Ae 103 a. Aerospace Control Systems. 9 units (306): second term. Prerequisites: CDS 110 (or equivalent), CDS 131 or permission of instructor. Optimizationbased design of control systems, including optimal control and receding horizon control. Introductory random processes and optimal estimation. Kalman filtering and nonlinear filtering methods for autonomous systems.
Lecture Schedule
Date  Topic  Reading  Homework 
Week 1 3 Jan 
Introduction and review


HW #1 Out: 5 Jan 
Week 2 10 Jan 
Two degree of freedom control design


HW #2 Out: 12 Jan 
Week 3

Optimal control


HW #3 Out: 19 Jan Solns (Caltech only) 
Week 4 24 Jan 
Linear quadratic regulators


HW #4 Out: 26 Jan 
Week 5 31 Jan 
Receding horizon control


HW #5 Out: 2 Feb 
Week 6 7 Feb 
Stochastic systems


HW #6
Out: 9 Feb 
Week 7 14 Feb 
Kalman filtering


HW #7 Out: 16 Feb 
Week 8

Sensor fusion


HW #8 Out: 23 Feb 
Week 9 28 Feb 
Autonomous systems


HW #9 Out: 2 Mar 
Week 10 7 Mar 
Review for final  Final Out: 9 Mar 
Grading
The final grade will be based on homework sets and a final exam:
 Homework (70%): Homework sets will be handed out weekly and due on Wednesdays by 2 pm using GradeScope. Each student is allowed up to two extensions of no more than 2 days each over the course of the term. Homework turned in after Friday at 2 pm or after the two extensions are exhausted will not be accepted without a note from the health center or the Dean. MATLAB/Python code and SIMULINK/Modelica diagrams are considered part of your solution and should be printed and turned in with the problem set (whether the problem asks for it or not).
 The lowest homework set grade will be dropped when computing your final grade.
 Final exam (30%): The final exam will be handed out on the last day of class (9 Mar) and due at the end of finals week. It will be an open book exam and computers will be allowed (though not required).
Collaboration Policy
Collaboration on homework assignments is encouraged. You may consult outside reference materials, other students, the TA, or the instructor, but you cannot consult homework solutions from prior years and you must cite any use of material from outside references. All solutions that are handed in should be written up individually and should reflect your own understanding of the subject matter at the time of writing. Any computer code that is used to solve homework problems is considered part of your writeup and should be done individually (you can share ideas, but not code).
No collaboration is allowed on the final exam.
Course Text and References
The primary course texts are
 [OBC] R. M. Murray, "OptimizationBased Control", 2022. Online access
The following additional references may also be useful:
 [FBS2e] K. J. Astrom and Richard M. Murray, Feedback Systems: An Introduction for Scientists and Engineers, Princeton University Press, Second Edition*, 2020.
 [LST] Richard M. Murray, Feedback Systems: Notes on Linear Systems Theory, 2020. (Updated 30 Oct 2020)
Note: the only sources listed here are those that allow free access to online versions. Additional textbooks that are not freely available can be obtained from the library.