EN530.603.F2019 Applied Optimal Control


  • 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.


  • 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)


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.
  • 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


WeekTopicLecture NotesCodeAssignments
8/29/2019Course Overview and Matrix Algebra BasicsLecture #1
9/4/2019Unconstrained Optimization BasicsLecture #2lecture2_1.m lecture2_2.mHomework #1
9/9/2019Constrained Optimization BasicsLecture #3lecture3_1.m lecture3_2.m
9/18/2019Calculus of variationsLecture #4Homework #2
9/23/2019Continuous Optimal Control + Terminal ConstraintsLecture #5lecture5_1.m lecture5_2.m lecture5_3.mHomework #3
9/30/2019LQRLecture #6lecture6_1.m lecture6_2.m lecture6_2.m
10/7/2019Inequality ConstraintsLecture #7Homework #4
10/21/2019Dynamic Programming
Midterm (on 10/16)
Lecture #8
10/28/2019Numerical MethodsLecture #9car_shooting.m arm_sim.m trajopt_sqp.m trajopt_sqp_car.mHomework #5
Homework #6
11/6/2019Optimal EstimationLecture #10
11/13/2019cont.int_kf_test.m uni_ekf_test.m uni_br_nobs.m plotcov2.m shape_fit.mHomework #7
11/18/2019Stochastic ControlLecture #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%


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.