Syllabus
Instructor
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 (Winter 2021).
My phrasing is deliberate -- since we are all 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 plan to provide recorded lectures and notes asynchronously, then we will meet synchronously at the scheduled class time (i.e. "Zoom time") 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 focus of this course is the use of linearity in systems theory. 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 builds upon concepts familiar from linear algebra, ordinary differential equations, and feedback control. In addition to analytical results, we will emphasize computational tools and illustrate abstract concepts whenever possible using numerical examples. AA/ECE 510 is a prerequisite for this course.
By the end of this course, you will be able to:
- construct and simulate nonlinear control system models for physical phenomena;
- approximate nonlinear control system models using linear control systems;
- assess stability, controllability, observability, and input/output properties of linear control systems;
- design and implement a stabilizing controller + observer for linear and nonlinear control systems.
Course materials
We will provide lecture notes, homework assignments, and other materials using the following Git repository, hosted on Github: https://github.com/sburden/547-21wi 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, i.e. you do not need to purchase a textbook.
I will draw material from several references, but primarily Linear Systems Theory Links to an external site. by Hespanha. For topics not covered in that book, I am providing a variety of references with overlapping coverage to accommodate different learning styles; if you find one reference unhelpful, I encourage you to sample another. I have also tried to find references that are freely available (for UW students, if not the general public).
Math language and logic: Calculus Links to an external site. (MIT OpenCourseWare) by Strang; Real mathematical analysis Links to an external site. by Pugh
Linear algebra: Introduction to Applied Linear Algebra Links to an external site. by Boyd and Vandenberghe; Linear Algebra Links to an external site. by Hefferon
Signals and Systems: Systems, Signals, and Transforms Links to an external site. by Phillips, Parr, and Riskin; Signals and Systems Links to an external site. by Oppenheim, Willsky, and Hamid
Control theory: Linear system theory and design by Chen; Feedback Systems by Astrom and Murray
Differential equations: Differential Equations Links to an external site. (MIT OpenCourseWare) by Haynes and Miller
Dynamical systems: Nonlinear dynamics and chaos Links to an external site. by Strogatz
Scientific computing: Dive into Python Links to an external site.; NumPy Manual Links to an external site.; Colaboratory Notebook Links to an external site.
Lecture materials and class meeting (i.e. Zoom time)
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 above references when writing my notes, but I will endeavor to cite specific chapters in specific books to help guide your studies.
I will update the 547_lec.ipynb Links to an external site. notebook throughout the quarter with computational examples and other material to supplement the lecture videos.
Week 1 (Jan 5 & 7) nonlinear DE: hw0 Links to an external site. due Fri Jan 8; hw0 solution Links to an external site.
- 01a -- trajectories: video Links to an external site., ~30min; notes Links to an external site.
- 01b -- flows and simulations: video Links to an external site., ~30min; notes Links to an external site.
- 01c -- linearization: video, Links to an external site.~30min; notes Links to an external site.
Week 2 (Jan 12 & 14) linear DE: hw1 Links to an external site. due Fri Jan 15; hw1 solution Links to an external site.
- 02a -- LTI -- time domain: video Links to an external site., ~31min; notes Links to an external site.
- 02b -- LTV: video Links to an external site., ~25min; notes Links to an external site.
- 02c -- LTI -- frequency domain: video Links to an external site., ~23min; notes Links to an external site. Links to an external site.
Week 3 (Jan 19 & 21) stability: hw2 due Fri Jan 22; hw2 solution Links to an external site.
- 03a -- definitions: video Links to an external site., ~18min; notes Links to an external site.
- 03b -- tests -- eigenvalue: video Links to an external site., ~22min; notes Links to an external site.
- 03c -- tests -- Lyapunov: video Links to an external site., ~36min; notes Links to an external site.
- 03d -- tests -- input/ouput: video Links to an external site., ~17min; notes Links to an external site.
Week 4 (Jan 26 & 28) controllability: hw3 due Fri Jan 29; hw3 solution Links to an external site.
- 04a -- definitions: video Links to an external site., ~26min; notes Links to an external site.
- 04b -- tests -- LTV: video Links to an external site., ~29min; notes Links to an external site.
- 04c -- tests -- LTI: video Links to an external site., ~19min; notes Links to an external site.
Week 5 (Feb 2 & 4) take-home exam1 due 5p Fri Feb 5; exam1 solution Links to an external site.
To help you prepare, I've provided the practice exam1 from Fall 2015: ipynb Links to an external site., pdf Links to an external site.. However, you should focus on problems 3, 5, 6; problems 1, 2, 4 aren't in scope of current 547 -- they are "510" questions.
Week 6 (Feb 9 & 11) controllability, continued: hw5 due Fri Feb 12; hw5 solution Links to an external site.
- 06a -- tests -- eigenvector: video Links to an external site., ~20min; notes Links to an external site.
- 06b -- tests -- Lyapunov: video Links to an external site., ~18min; notes Links to an external site.
- 06c -- state feedback: video Links to an external site., ~19min; notes Links to an external site.
Week 7 (Feb 16 & 18) observability: hw6 due Fri Feb 19; hw6 solution Links to an external site.
- 07a -- motivation: video Links to an external site., ~14min; notes Links to an external site.
- 07b -- definitions: video Links to an external site., ~15min; notes Links to an external site.
- 07c -- tests -- LTV: video Links to an external site., ~22min; notes Links to an external site.
- 07d -- duality -- LTI: video Links to an external site., ~17min; notes Links to an external site.
Week 8 (Feb 23 & 25) closing the loop: hw7 due Fri Feb 26; hw7 solution Links to an external site.
- 08a -- state estimation: video Links to an external site., ~30min; notes Links to an external site.
- 08b -- output feedback: video Links to an external site., ~26min; notes Links to an external site.
- 08c -- nonlinear system: video Links to an external site., ~18min; notes Links to an external site.
Week 9 (Mar 2 & 4) MIMO systems: hw8 due Fri Mar 5; hw8 solution Links to an external site.
- 09a -- interconnection: video Links to an external site., ~34min; notes Links to an external site.
- 09b -- minimal realizations: video Links to an external site., ~40min; notes Links to an external site.
- 09c -- inverses: video Links to an external site., ~35min; notes Links to an external site.
Week 10 (Mar 9 & 11) take-home exam2 due 5p Fri Mar 12; exam2 solution Links to an external site.
Finals week: there will be no coursework during the University's Final Exam Week -- enjoy your break!
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.
The computational toolkit we will use in this course is based on Python (with NumPy, SciPy, iPython, Matplotlib, and the Control System Toolbox); 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 Links to an external site..
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.
To familiarize yourself with programming and scientific computing in Python, I created the following notebooks and videos:
- Colaboratory Notebook (video Links to an external site.)
- Programming in Python: (notebook Links to an external site.) (video Links to an external site.) (modified notebook from video Links to an external site.)
Homework
See the Assignments page linked from the course homepage for homework assignments and deadlines.
Workload: there will be a weekly homework assignment submitted in electronic form as a .pdf and/or .ipynb on Canvas (watch this video for help converting a Colaboratory notebook to pdf). There will be approximately eight (8) homework assignments and they will account for 50% of the grade.
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.
Collaboration guidelines
You are welcome (and encouraged) to:
- work together, synchronously and asynchronously, in study groups;
- 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..
Submission guidelines
You will submit your homework writeup by uploading a .pdf and/or .ipynb on the Canvas Assignment. We will only grade legible .pdf and .ipynb files -- we will not grade content in any other file format (.doc, .zip, .m, ...).
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 Notebook Links to an external site., since it is adept at embedding equations (via LaTeX syntax), matrix computations, and control system calculations. To facilitate, we will provide Colaboratory Notebooks for homework assignments, exams, and solutions.
Printing instructions: this video Links to an external site. explains some of nuances involved in producing a legible pdf from the Colaboratory Notebook.
If you write your solutions by hand, you must create a legible scan; if you have any doubts about the fidelity of your scans, send a sample to the instruction team in advance of the homework deadline.
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 Monday following the homework submission deadline, and you will have until the next assignment is due 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).
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 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.
Due dates and extensions
Due date: homework assignments and take-home exams are due by 5p Friday the week they are assigned. Submitting by this deadline will provide +2 bonus points (equal to one subproblem).
Extensions: everyone automatically receives an extension on homeworks and exams to midnight (11:59p) the Sunday immediately following the due date. Due to the fact that we will release solutions on Monday morning, no further extensions will be considered -- please plan accordingly.
Rationale: we want to incentivize you to start (or at least review) assignments / exams and to make use of scheduled class meeting times -- 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.
Grade
As described above, the final grade will be determined from homework (50%) and two exams (25% each).
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).
