## Description

- Course Title: Applied Optimal Control
- Course Number: EN530.603, Fall 2019
- Time: MW 3:00-4:15
- Location: Shaffer 304
- Professor: Marin Kobilarov
- Contact: marin(at)jhu.edu
- Office Hours: M 12:45-1:45, Hackerman 117

- Teaching Assistants:
- Paul Stankiewicz [pstanki(at)jhu.edu]
- Yan Jiang [yjiang(at)jhu.edu]
- Phillip Rivera [priver14(at)jhu.edu]
- TA Office Hours: Monday 11:00-12:00, Location: Hackerman 111; Friday 3:00-4:00: Location Hackerman 306

- File Submission (use this link to submit homework code, project presentations, etc…)

The course focuses on the optimal control of dynamical systems subject to constraints and uncertainty by studying analytical and computational methods leading to practical algorithms. Topics include nonlinear optimization, calculus of variations, dynamic programming, linear quadratic (Gaussian) control, numerical trajectory optimization, optimal estimation (e.g. Kalman filtering, batch estimation), stochastic control. The methods and algorithms will be illustrated through implementation of various simulated examples. A class project will involve optimal control and estimation implementation using robotic systems simulated with a physics-based virtual reality environment. Recommended Course Background: linear algebra, differential equations, basic probability theory; experience with control systems; programming in MATLAB and/or Python.

## Objectives

- Nonlinear Optimization Basics
- Calculus of Variations
- Dynamic Programming
- Implementation and Numerical methods
- Optimal filtering for linear and nonlinear systems
- Optimal feedback control with uncertainty
- Stochastic control
- Applications to non-trivial dynamical systems (in simulation)

## Reading

There are a number of good textbooks on optimal control and nonlinear optimization. The suggested primary books are especially useful since they contain almost all of course material and are good self-contained references. The only exception are the last few lectures related to stochastic control and numerical methods. Bertsekas provides a thorough study of nonlinear programming with detailed proofs but also guidelines for implementation with provable performance; Kirk’s book is one of the best introduction to optimal control and calculus of variations, but does not deal with uncertainty; Stengel’s book includes a comprehensive study of both control and estimation but lacks some of the details found in Kirk; Gill, Murray, and Wright book is an excellent reference targeted to more practical implementation and numerical issues. There are, of course, many more great texts on the subject.

- Primary Recommended Textbooks:
- D. Kirk. “Optimal Control Theory: An Introduction
*, 2004. ISBN: 9780486434841* - Stengel, “Optimal Control and Estimation”, edition: 94, ISBN: 9780486682006
- D. Bertsekas. “Nonlinear Programming”, 1999. ISBN: 9781886529007.

- D. Kirk. “Optimal Control Theory: An Introduction

- Additional Recommended Textbooks:
- Bryson and Ho, “Applied Optimal Control”, edition: REV 75, ISBN: 9780891162285
- P. Gill, W. Murray, and M. Wright. “Practical Optimization
*. Academic Press, 1982. ISBN: 9780122839528* - J. L. Crassidis, J. L. Junkins, “Optimal Estimation of Dynamic Systems”, Second Edition, Chapman & Hall, ISBN-13: 978-1439839850

## Schedule

Week | Topic | Lecture Notes | Code | Assignments |
---|---|---|---|---|

8/29/2019 | Course Overview and Matrix Algebra Basics | Lecture #1 | ||

9/4/2019 | Unconstrained Optimization Basics | Lecture #2 | lecture2_1.m lecture2_2.m | Homework #1 |

9/9/2019 | Constrained Optimization Basics | Lecture #3 | lecture3_1.m lecture3_2.m | |

9/18/2019 | Calculus of variations | Lecture #4 | Homework #2 | |

9/23/2019 | Continuous Optimal Control + Terminal Constraints | Lecture #5 | lecture5_1.m lecture5_2.m lecture5_3.m | Homework #3 |

9/30/2019 | LQR | Lecture #6 | lecture6_1.m lecture6_2.m lecture6_2.m | |

10/7/2019 | Inequality Constraints | Lecture #7 | Homework #4 | |

10/21/2019 | Dynamic Programming Midterm (on 10/16) | Lecture #8 | ||

10/28/2019 | Numerical Methods | Lecture #9 | car_shooting.m arm_sim.m trajopt_sqp.m trajopt_sqp_car.m | Homework #5 |

11/1/2019 | cont. | ddp.zip hw6_car_template.m | Homework #6 | |

11/6/2019 | Optimal Estimation | Lecture #10 | ||

11/13/2019 | cont. | int_kf_test.m uni_ekf_test.m uni_br_nobs.m plotcov2.m shape_fit.m | Homework #7 | |

11/18/2019 | Stochastic Control | Lecture #11 |

## Grading Policy

There will be homeworks given every two weeks and due two weeks later (on Wednesday before class). There will be two midterms covering the first half and second half of the semester, and a final covering the whole material. Grades will be determined according to:

Homeworks | 30% |

Midterms | 30% |

Final | 30% |

Project | 10% |

## Ethics

You can work together with other students to study the material related to homeworks/tests but the submitted work must be entirely your own. For more information, see the guide on “Academic Ethics for Undergraduates” and the Ethics Board web site (http://ethics.jhu.edu).

Late homework will not be accepted without a prior approval from the instructor.