CDS 112/Ae 103a, Winter 2022

From Murray Wiki
Revision as of 01:29, 12 March 2022 by Murray (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Optimal Control and Estimation


  • Richard Murray (CDS/BE),
  • Lectures: MWF, 2-3 pm, 213 ANB
  • Office hours: Wed, 3-3:30 pm (at CDS tea)

Teaching Assistants

  • Apurva Badithela (CDS), Ayush Pandey (CDS)
  • Office hours: Fri 4-4:45 / Mon 3-3:45 in 213 ANB;
    Fri 4:45-5:15 / Mon 3:45-4:15 via Zoom

This is the course homepage for CDS 112 (and Ae 103a), Winter 2022. This course is intended for undergraduates and graduate students interested in optimization-based methods in control. After completion of the course, students will understand the key principles of state-space based controller design, including optimal estimation and control techniques.

Catalog Description

CDS 112. Optimal Control and Estimation. 9 units (3-0-6): second term. Prerequisites: CDS 110 (or equivalent) and CDS 131. Optimization-based 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 (3-0-6): second term. Prerequisites: CDS 110 (or equivalent), CDS 131 or permission of instructor. Optimization-based 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
5 Jan
7 Jan

Introduction and review HW #1

Out: 5 Jan
Due: 12 Jan
Solns (Caltech only)

Week 2

10 Jan
12 Jan
19 Jan

Two degree of freedom control design
  • Trajectory generation
  • Differential flatness
  • Implementation in Python
  • Gain scheduling
HW #2

Out: 12 Jan
Due: 19 Jan
Solns (Caltech only)

Week 3

17 Jan
19 Jan
21 Jan

Optimal control
  • Maximum principle
  • Dynamic programming
  • Examples and applications
  • Implementation in Python
HW #3

Out: 19 Jan
Due: 26 Jan

Solns (Caltech only)

Week 4

24 Jan
26 Jan
28 Jan*

Linear quadratic regulators
  • Problem formulation and solution
  • Choosing LQR Weights
  • Incorporating integral feedback
  • Implementation in Python
  • Dynamic programming
HW #4

Out: 26 Jan
Due: 2 Feb
Solns (Caltech only)

Week 5

31 Jan
2 Feb
4 Feb

Receding horizon control
  • Problem formulation and solution
  • Receding horizon control using differential flatness
  • Example: Caltech ducted fan
  • Implementation in Python
HW #5

Out: 2 Feb
Due: 9 Feb
Solns (Caltech only)

Week 6

7 Feb
9 Feb
11 Feb

Stochastic systems
  • Review of random variables
  • Introduction to random processes
  • Continuous-time, vector-valued random processes
  • Linear stochastic systems
  • Random processes in the frequency domain
HW #6

Out: 9 Feb
Due: 16 Feb
Solns (Caltech only)

Week 7

14 Feb
16 Feb
18 Feb*

Kalman filtering
  • Linear quadratic estimators
  • Extensions of the Kalman filter
  • LQG control
  • Example: vectored thrust aircraft
  • Implementation in Python
HW #7

Out: 16 Feb
Due: 23 Feb
Solns (Caltech only)

Week 8

21 Feb
23 Feb
25 Feb

Sensor fusion
  • Discrete-time stochastic systems
  • Kalman filters in discrete time
  • Predictor-corrector form
  • Combining information from multiple sensors
  • Information filters
  • Implementation in Python
HW #8

Out: 23 Feb
Due: 2 Mar
Solns (Caltech only)

Week 9

28 Feb
2 Mar
4 Mar

Autonomous systems
  • Advanced estimation: information filter, UKF, MHE, particle filter
  • Multi-layer control stack for autonomous systems
  • Introduction to discrete decision-making
  • Introduction to safety-critical systems
  • Challenges and open problems
HW #9

Out: 2 Mar
Due: 9 Mar
Solns (Caltech only)

Week 10

7 Mar
9 Mar

Review for final Final

Out: 9 Mar
Due: 16 Mar, 5 pm


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, "Optimization-Based Control", 2022. Online access

The following additional references may also be useful:

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.