Course Syllabus
Overview
This course focuses on providing you with hands-on control engineering experiences that are relevant to design and operation of modern control systems. Applications include analog circuits, DC motors, inverted pendulum, and a balancing (segway-like) robot. Equal emphasis is placed on mathematical modeling, computational design, and experimental validation. Techniques include feedforward, feedback, PID, full-state, and observer-based control. This course prepares you to solve real-world control system engineering design problems.
Prerequisites: EE 447 (Control Systems Analysis)
Learning Objectives: at the end of this course, you will be able to
- Program simulations of control systems and visualize the results using Python.
- Program input and output from a microcontroller using CircuitPython.
- Synthesize and test feedforward and feedback (PI) control of an RC circuit voltage.
- Synthesize and test position and velocity control of a DC motor.
- Model and numerically simulate inverted pendulum.
- Synthesize and test PID and state space controllers to stabilize an inverted pendulum.
- Synthesize and test a non-linear swing-up controller for an inverted pendulum.
- Model and numerically simulate balancing robot.
- Synthesize and test state space controller for a balancing robot.
Textbook: there is no required textbook for this course. With that said, you may wish to refer to the following textbook and course materials.
- Control Systems Engineering (7th edition) by Nise includes many worked examples, but unfortunately it is quite expensive.
- Feedback Systems (2nd edition) by Astrom and Murray is freely available, and there is a wiki with helpful resources like lecture slides and errata, but unfortunately it has fewer worked examples.
- EE 447 Fa23 -- Control Systems Analysis Canvas page by Prof Burden includes lecture notes as well as homeworks and exams with solutions.
- Introduction to Applied Classical Control by Hannaford is used when he teaches EE 447.
Lab kits
This class is hardware-focused; after the first week, all labs will work with hardware lab kits. These kits are expensive, so you are expected to treat them with the utmost care and respect. You will check out a kit at the beginning of each lab session from the Prof or TA and check it back in at the end.
If you are unable to complete a lab during the assigned lab sessions or are absent from a session, you can check out a kit to take home. Please take care not to break or misplace the hardware, as we have a limited supply of kits.
Lab sessions and participation
We meet from 12:30 to 3:20p every Wednesday and Friday during Fall quarter. You are expected to participate actively in these 20 lab sessions, and your participation will make up 20% of the final grade, so participation in each session contributes 1% to the final grade. You will register participation by checking out the hardware lab kit.
If you need to miss a class session, you must message Prof Burden prior to the start of the class to request an excused absence, and you must share your availability to check out a lab kit to make up the lost time. Excused absences will not receive the session credit of 1% of the final grade, but unexcused absences will be penalized 5% of the final grade. Please notify me as soon as you know you will be absent -- ideally well before class starts, but of course I understand that illness, injury, and other life events can arise last-minute.
The sole exception to the absence policy is if you have completed a lab in its entirety and do not need further access to the hardware. In that case, you can notify Prof Burden and you will not incur a penalty to your grade for the sessions you miss.
You can earn 2% of the final grade as bonus points from submitting lab reports on time (see Deadlines below), which would compensate for 2 excused absences. So it is possible to earn a 4.0 in the class even if you miss 1 or 2 lab sessions.
Lab reports
You will submit a report at the conclusion of each lab documenting your approach, findings, and interpretation. The lab assignments contain detailed instructions about the content to include in the report. These reports make up the majority of the course grade: 80%.
Final project
This is the first time this lab course is being taught, so there is some uncertainty about how long the assigned labs will take. I have made my best estimates based on my experience and that of the TA, but it is possible labs will take longer or shorter than planned. If there is time at the end of the quarter, there will be a final project whose exact scope and structure are TBD. This project will be evaluated as part of the lab report portion of the grade.
Grading
Your grade will be determined by your active participation in lab sessions (20%) and your lab reports (80%).
Deadlines
Lab reports are due at 11:59p the Monday following the conclusion of the lab (so for the labs that are scheduled to last two weeks, you won't submit anything after the first week). If you submit by this deadline, you receive a 2.5% bonus on that report. However, everyone automatically receives an extension to 12p Wednesday. Submitting by this deadline incurs no penalty other than forfeiture of the bonus. Further extensions must be requested in advance.
Collaboration
You will work individually on the labs. You are not permitted to share Python or CircuitPython sourcecode with any other student at any time for any reason. The Prof and TA will be available during lab sessions to answer questions and help debug, and they should be your primary resource. However, it is permissible to talk to a peer at a high level about how to debug or implement a particular piece of code -- the rule is that you can only communicate through spoken and handwritten language (math is allowed), you cannot collaborate on sourcecode. If you violate this policy, the first offense will incur a 1% penalty on the final grade, and all subsequent offenses will confer a grade of 0 on the applicable lab report (approximately 8% of the final grade) in addition to being reported to the Dean's office.
Generative "AI" and LLM
We live in interesting times for pedagogy. Many faculty are concerned about how the broad availability of generative "AI" tools like large language models (LLM) affects the acquisition and application of knowledge (as well as the risks to broader society). I am curious about how these tools can be used in the context of this course. Thus, I have no objection to you using generative "AI" or LLM in this class's coursework.
You must specify the tool (GPT-4 or -5, Bard, LLaMa, Claude, etc) and the prompt used to generate any sourcecode you use to complete a lab. Of course, incorrect or incoherent answers will be penalized regardless of the source. I understand that commercially-available tools are nondeterministic, so if I input your prompt it may not generate output identical to what you observed. But I am interested to learn what kinds of prompts generate course-relevant outputs.
Notes and caveats:
- this policy only applies to my course -- it is your responsibility to adhere to the policies in other courses, your workplace, and your professional community;
- these tools regularly generate falsehoods or nonsense -- it is your responsibility to vet the output before putting it into practice (whether in this course or in your career);
- these tools are being used to cause real harm -- it is our collective responsibility to determine best-practices that enable productive use and prevent abuse.
Canvas
We will use Canvas (i.e. this site) extensively for interaction outside the classroom.
The instruction team will provide lab assignments, example code, etc. through Canvas; you will submit lab reports electronically through Canvas as described above.
If you have a question -- about a concept, assignment, etc. -- it's likely someone else in the class does as well. Please consider posting your question to Canvas Discussions.
Diversity, Equity, and Inclusion
I strongly believe that all must be provided with equality of opportunity to pursue and advance in engineering careers and that no individual should experience marginalization or non-inclusiveness of their contributions or talents because of visible or invisible differences. For example, among others, these differences include age, belief system, disability status, ethnicity, gender, gender identity, gender expression, national origin, race, sexual orientation, socio-economic status, and any other visible or non-visible differences. I am committed to increasing the participation, inclusion, and empowerment of historically under-represented segments of society in our research fields, including pre-college, university, and industry environments as well as professional organizations.
If any aspect of your experience in this class (or your involvement in our Dept or University) is causing you to feel excluded, othered, discriminated against or harassed, I want to know about it. I aspire to have you regard me as an advocate and ally.
Disability and access accommodations
Your experience in this class is important to me. I have made a number of intentional design decisions in an effort to make this course as accessible as possible, but if you need additional accommodations then I welcome receiving them from Disability Resources for Students (DRS). In particular, the following elements of course design are included to improve accessibility:
- There is no timed coursework.
- You are welcome to take breaks.
- I plan to type material using my laptop during class sessions and post those accessible digital files on Canvas after class. You are welcome to record any of the materials or parts of the class session audiovisually. In addition, I will use the classroom's automated Panopto recording functionality to capture class sessions if available.
- You are welcome to use any assistive device during class, including but not limited to hearing protection, noise cancelling headphones, or microphones.
If you have not yet established services through DRS, but have a temporary health condition or permanent disability that requires additional accommodations (conditions include but not limited to; mental health, attention-related, learning, vision, hearing, physical, or health impacts), I encourage you to contact DRS at 206-543-8924 or uwdrs@uw.edu or disability.uw.edu. 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.
If you are unable to obtain needed accommodations through DRS, you are welcome to contact me directly to see if I am able to provide the accommodation.
Religious accommodations
Effective July 28 2019, Washington State Senate Bill 5166 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 and I am happy to implement accommodations.
The UW’s policy, including more information about how to request an accommodation, is available at Faculty Syllabus Guidelines and Resources. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form available at: religious accommodations request form
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.
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 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).
Course Summary:
| Date | Details | Due |
|---|---|---|