Syllabus
Learning online together
In an effort to help us all stay healthy and contribute to flattening the curve Links to an external site., the UW decided that we will learn online together Links to an external site. this quarter (Spring 2021).
My phrasing is deliberate -- since we are all (relatively) new to the online-only format, I anticipate I will continue to learn a tremendous amount this quarter about educational best-practices as I facilitate your learning about linear systems. Rather than view the format change as an obstacle, I'm embracing it as an opportunity, and I encourage you to do the same.
To encourage interaction and engagement with the course material, I provide recorded lectures and notes asynchronously and use the scheduled class time to meet to meet synchronously for an interactive discussion. I expect that you will review the materials I provide in advance of the meeting time and come prepared to ask and answer questions.
(Ideally, you will join all of the synchronous meetings and interact with myself and your peers via audio and video. However, I understand that this ideal may not be achievable for everyone at all times, e.g. if you don't have access to a stable Internet connection in a quiet workspace, or if you aren't in or near Seattle's time zone, so I will enable a phone call-in option and record the Zoom meetings.)
I'm looking forward to learning online together this quarter!
Overview
This course concerns optimal control and estimation with a focus on linear systems in continuous and discrete time. It provides foundational tools for modeling and control and serves as a prerequisite for more advanced courses in control theory, robotics, and optimization. The class will be mathematically rigorous and computationally intensive; we assume familiarity with graduate-level systems theory, i.e. 547 or equivalent graduate-level training in linear algebra, ordinary differential equations, feedback control, and scientific computing. In addition to analytical results, we will emphasize computational tools and illustrate abstract concepts whenever possible using numerical examples.
By the end of this course, you will be able to:
- formulate nonlinear control and estimation problems for stochastic models of physical phenomena;
- approximate nonlinear control and estimation problems using linear control and estimation problems;
- design and implement controllers+estimators for linear systems and apply the controllers+estimators to control nonlinear systems. Links to an external site.
Schedule, lectures, and coursework
I plan to make lecture recordings with notes available electronically on Canvas -- my expectation is that you will review these materials in advance and come to the class meeting prepared to ask and answer questions.
I will draw freely from the references below when writing my notes, but I will endeavor to give specific citations to the above-listed references.
Helpful Colab notebook: lec_examples.ipynb Links to an external site.
Week 1 (Mar 30 & Apr 1) solution of DE: hw0 due Fri Apr 2; hw0 solution Links to an external site.
- 01a -- trajectories: video Links to an external site. (~27min); notes Links to an external site.
- 01b -- flows and simulations: video Links to an external site. (~29min); notes Links to an external site.
- 01c -- linearization: video Links to an external site. (~29min); notes Links to an external site. Links to an external site.
Week 2 (Apr 6 & 8) MIMO systems theory: hw1 due Fri Apr 9
- 02a -- block diagram algebra: intro Links to an external site. (~1min), lecture Links to an external site. (~12min), notes Links to an external site.; hw1 solution Links to an external site.
- 02b -- stability margins: video Links to an external site. (~25min), notes Links to an external site.;
- 02c -- tradeoffs: video Links to an external site. (~29min), notes Links to an external site.;
- 02d -- limits: video Links to an external site. (~11min), notes Links to an external site.; Links to an external site.
Week 3 (Apr 13 & 15) optimal control: hw2 due Fri Apr 16; hw2 solution Links to an external site.
- 03a -- nonlinear programming: video Links to an external site. (~43min), notes Links to an external site.;
- 03b -- dynamic programming: video Links to an external site. (~25min), notes Links to an external site.;
- 03c -- linear-quadratic (LQ) regulation: video Links to an external site. (~35min), notes Links to an external site..
Week 4 (Apr 20 & 22) closed-loop control: hw3 due Fri Apr 23; hw3 solution Links to an external site.
- 04a -- state estimation: video Links to an external site. (~32min), notes Links to an external site.;
- 04b -- observers: video Links to an external site. (~19min), notes Links to an external site.;
- 04c -- linear process: video Links to an external site. (~32min), notes Links to an external site.;
- 04d -- nonlinear process: video Links to an external site. (~17.5min), notes Links to an external site..
Week 5 (Apr 27 & 29) take-home exam 1; solution Links to an external site. Links to an external site.
- to request regrade, send one message to Prof Burden regarding all problems you want reviewed -- note that it is possible for your score to decrease, so please review and ask questions about exam solution before requesting regrades
Week 6 (May 4 & 6) optimal estimation: hw4 due Fri May 7; hw4 solution Links to an external site.
- 06a -- randomness: video Links to an external site. (~44min), notes Links to an external site.;
- 06b -- least-squares: video Links to an external site. (~50min), notes Links to an external site..
Week 7 (May 11 & 13) optimal estimation and closed-loop control, continued: hw6 due Fri May 14; hw6 solution Links to an external site.
- 07a -- Kalman filtering (KF): video Links to an external site. (~23min), notes Links to an external site.;
- 07b -- duality and separation (LQ + KF = LQG): video Links to an external site. (~30min), notes Links to an external site..
Week 8 (May 18 & 20) robust control -- analysis: hw7 due Fri May 21; hw7 solution Links to an external site.
In addition to the lectures and notes below, I encourage you to read this pair of seminal papers, discussed in the first lecture, which strikingly indicate the limits of robustness of LQG regulators.
- 08a -- margins for LQ(+KF=LQG) regulators: video Links to an external site. (~16min + 4min "culture"), notes Links to an external site.;
- 08b -- linear analysis: video Links to an external site. (~50min), notes Links to an external site..
Week 9 (May 25 & 27) robust control -- synthesis: hw8 due Fri May 28; hw8 solution Links to an external site.
- 09a -- and norms -- definition and interpretation: video Links to an external site. (~25.5min), notes Links to an external site.;
- 09b -- and norms -- computation: video Links to an external site. (~13.5min), notes Links to an external site.;
- 09c -- uncertain systems: video Links to an external site. (~25min), notes Links to an external site..
Week 10 (Jun 1 & 3) take-home exam 2; solution Links to an external site. Links to an external site.
References
We will provide lecture notes, homework assignments, and other materials using the following Git repository, hosted on Github: https://github.com/sburden/548-21sp Links to an external site.. Note that you do not need to know what Git is Links to an external site. or how to use Github Links to an external site. -- we will post links to specific files here on Canvas, so you can simply follow the links to download the files. However, you are welcome to watch Links to an external site. or fork Links to an external site. the repository.
Textbook references
There is no required textbook for this course; there is no single text that provides adequate and balanced coverage of the concepts and background in systems theory and optimization in sufficient detail and at a sufficiently advanced level to serve the needs of this course.
Instead, I recommend referring to the following texts as needed. I have endeavored to provide a variety of references with overlapping coverage to accommodate a variety of learning styles; if you find one reference unhelpful, I encourage you to sample another. Many are freely available (for UW students, if not the general public).
Math language and logic: Real mathematical analysis Links to an external site. by Pugh
Linear algebra: Vectors, Matrices, and Least Squares Links to an external site. by Boyd and Vandenberghe; Linear Algebra Links to an external site.by Hefferon
Dynamical systems theory: Nonlinear dynamics and chaos Links to an external site. by Strogatz
Linear control theory: Linear Systems Theory Links to an external site. by Hespanha; Linear system theory and design Links to an external site. by Chen; Feedback Systems Links to an external site. by Murray and Astrom
Optimal control and estimation: Optimal Control Links to an external site. by Lewis, Vrabie, Syrmos; Optimal Control and Estimation Links to an external site. by Stengel
Robust control and estimation: Robust and Optimal Control Links to an external site.by Zhou, Doyle, and Glover; A course in robust control theory by Dullerud and Paganini
Scientific computing: Dive into Python Links to an external site.
Computational Tools
The analytical techniques we learn in class are useful for reasoning formally about control systems. However, real systems rarely admit pen-and-paper analysis, hence in practice we rely extensively on results obtained from computational tools. Therefore this course will emphasize both analytical and computational tools, and highlight the advantages and limitations of each.
My preferred computational toolkit is based on Python (with NumPy, SciPy, iPython, Matplotlib, and other modules); it is free, open-source, cross-platform, and full-featured. We will release example code, homework assignments, and homework solutions using this toolkit.
If this course will be your first experience with Python, I recommend using the Colaboratory Notebook. To provide basic familiarity with programming and scientific computing in Python with the Colaboratory Notebook, I created the following notebooks and videos:
- Programming in Python using the Colaboratory Notebook Links to an external site.: (notebook) (video)
For the more adventurous, you are welcome to set up your own local Python / Jupyter notebook environment -- I have collected some helpful references on the Python page.
You are allowed to make use of any computational tool for the homework and project, but I will only provide example code and homework solutions in Python.
Homework
Workload: there will be a weekly homework assignment submitted in electronic form on Canvas (watch this video Links to an external site. for help converting a Colaboratory notebook to pdf, though you are welcome to submit an ipynb file). There will be approximately eight (8) homework assignments and they will account for 1/2 (50%) of the grade.
Due date: homework assignments are due by midnight (11:59p) Friday. Submitting your assignment by this deadline will provide +2 bonus points (equal to one subproblem).
Extensions: everyone automatically receives an extension on homework assignments to midnight (11:59p) the Sunday immediately following the due date. Due to the fact that we will release homework solutions on Monday morning to facilitate the self-assessment process (see details below), no further extensions will be considered -- please plan accordingly.
Rationale: we want to incentivize you to start (or at least review) homework assignments and to make use of scheduled class meeting times early in the week -- thus, the nominal due date is 5p Fri. However, we don't want to penalize you if other aspects of your professional or personal life take priority in any given week -- thus, the actual due date is 11:59p Sun.
In addition to completing assigned homework, I encourage you to work through examples and exercises from the provided references, and to implement abstract concepts in concrete numerical examples.
Self-assessment
To provide training and feedback that helps cultivate self-reflection, you will grade your homework assignments and receive oversight and feedback from the instructional staff regarding the accuracy of your self-assessment.
Rubric: we will provide detailed solutions on the day following the homework submission deadline, and you will have until the end of the week to grade each of your homework problems on a 0,1,2 point scale:
0 points - no effort / not attempted
1 points - attempted, but incomplete or incorrect solution
2 points - complete and correct solution
For any problem that earns a 1, you have the opportunity to explain the error in your solution and how to correct it; if this explanation is correct, you earn the full 2 points on the problem. To specify grades and provide explanations of any errors, use the Comment feature in Canvas's Assignment page for the homework. This self-assessment procedure video
Links to an external site. (~8.5min) talks through the process and rationale.
Notes and caveats intended to ensure the integrity of this process:
- if you did not attempt the problem initially, you will receive 0 points;
- if you do not grade a problem, you will receive 0 points;
- if you grade incorrectly (i.e. initial solution is incomplete or incorrect and your explanation is incomplete or incorrect), you will receive 1 or 0 at the discretion of the instructional staff (this ensures you cannot simply assign all "2"s, nor can you receive full credit for incomplete or incorrect explanations).
Submission guidelines
You are welcome (and we encourage you) to typeset your homework assignments rather than write them by hand. While you could do this with LaTeX, you may find it easier to use the Colaboratory / Jupyter notebook, since it is adept at embedding equations (via LaTeX syntax), matrix computations, and control system calculations. In this case you can submit the .ipynb file instead of a .pdf file.
If you write your solutions by hand or produce them using a different set of computational tools, you must create a legible scan; if you have any doubts about the fidelity of your scans, send a sample to the TA / Prof in advance of the homework deadline.
Exams
There will be two open-book / open-note take-home exams -- one each in Week 5 and Week 10. We will not make use of the university-scheduled time in final exam week.
Each exam will be worth 1/4 (25%) of the grade.
You are welcome (and encouraged) to:
- use analytical and numerical computational tools -- specify the tool(s) in sourcecode and/or text;
- reuse example sourcecode and other materials provided in this course;
- consult textbooks, websites, and other publicly-available materials -- include full citation(s) with the URL and/or DOI Links to an external site..
You are not permitted to discuss the exam problems or share any part of your solutions with anyone other than the Prof or TA.
- By submitting your exam solution on Canvas, you are affirming your understanding of and adherence to these restrictions.
- We will be available to answer questions during Zoom time in each exam week.
- We will also answer questions posted to the Canvas Discussion board until 5p Fri in each exam week.
I will release solutions at the same time as the exam grades, and accept requests for regrades on specific exam problems for 1 week. Note that it is possible that a regrade request will result in a decrease in your exam score, so please be sure you understand the solution before making a request.
Grade
As described above, the final grade will be determined from the homework and course participation (50%) and two exams (25% each, 50% total).
Canvas
We will use Canvas (i.e. this site) extensively for interaction outside the classroom.
The instruction team will provide homeworks, example code, etc. through Canvas; you will submit homeworks electronically through Canvas as described above.
If you have a question -- about a concept, HW problem, etc. -- it's likely someone else in the class does as well. Please post questions to Canvas Discussions (rather than emailing or messaging the instruction team directly) so that (a) others get to propose answers and (b) others get to see the definitive answer (if any). If you send questions via email to the instruction team, we will direct you to ask it on Discussions so others can benefit from our answer.
If you are unfamiliar with Canvas, here are some links to help you get started:
https://www.tacoma.uw.edu/canvas/getting-started
https://www.tacoma.uw.edu/canvas/how-do-i
https://community.canvaslms.com/community/answers/guides Links to an external site.
Disability and access accommodations
Your experience in this class is important to me. If you have already established accommodations with Disability Resources for Students (DRS), please communicate your approved accommodations to me at your earliest convenience so we can discuss your needs in this course.
If you have not yet established services through DRS, but have a temporary health condition or permanent disability that requires accommodations (conditions include but not limited to; mental health, attention-related, learning, vision, hearing, physical or health impacts), you are welcome to contact DRS at 206-543-8924 or uwdrs@uw.edu or disability.uw.edu Links to an external site.. DRS offers resources and coordinates reasonable accommodations for students with disabilities and/or temporary health conditions. Reasonable accommodations are established through an interactive process between you, your instructor(s) and DRS. It is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law.
Religious accommodations
Effective July 28 2019, Washington State Senate Bill 5166 Links to an external site. required that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. I am proud that my UW ECE colleague Rania Hussein contributed to drafting and promoting this legislation.
The UW’s policy, including more information about how to request an accommodation, is available at Faculty Syllabus Guidelines and Resources Links to an external site.. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form available at: https://registrar.washington.edu/students/religious-accommodations-request Links to an external site.
Safety
Call SafeCampus at 206-685-7233 anytime – no matter where you work or study – to anonymously discuss safety and well-being concerns for yourself or others. SafeCampus’s team of caring professionals will provide individualized support, while discussing short- and long-term solutions and connecting you with additional resources when requested.
Academic misconduct
Engineering is a profession demanding a high level of personal honesty, integrity and responsibility. Therefore, it is essential that engineering students, in fulfillment of their academic requirements and in preparation to enter the engineering profession, shall adhere to the University of Washington’s Student Code of Conduct Links to an external site..
Any student in this course suspected of academic misconduct (e.g., cheating, plagiarism, or falsification) will be reported to the College of Engineering Dean’s Office and the University’s Office of Community Standards and Student conduct. (See CoE website
Links to an external site. for more detailed explanation of the academic misconduct adjudication process). Any student found to have committed academic misconduct will receive a 0-grade on impacted academic work (e.g., assignments, project, or exams).
