Task
Complete the Week 7 lab: design an LQR gain K on your Week-4 (A, B) model
(solve the Riccati equation,
u = −Kx + hover feedforward), drop it into the
controller, and compare against your cascade PID on the same step.
The Week 7 lab sheet walks through the build step by step —
this page defines what you hand in and how it is graded.
What to submit (one zip)
wk7_lqr.py— LQR design + closed-loop runwk7_compare.png— PID vs LQR step responses on one figure- Report (PDF, ≤ 3 pages): your Q/R choices and why, closed-loop poles, and the comparison table (overshoot, settling time, control effort)
Pass bar — expected results
- Closed-loop poles all in the left half-plane (default weights give max Re(pole) ≈ −1.7)
- A fair PID-vs-LQR comparison: same scenario, same plots, a numbers table
Assessment criteria
| Criterion | Weight | What earns full marks |
|---|---|---|
| Results & verification | 40% | The pass-bar numbers are met and reproduced by re-running your code from a clean checkout. Partial credit tracks how close you get and whether failures are honestly reported. |
| Code correctness & quality | 25% | Your own implementation (not the reference copied back); runs without edits; readable structure and naming; no dead code. |
| Report: plots & numbers | 20% | Requested plots present, axes labelled, units shown; the key numbers stated in text, not left inside figures. |
| Discussion & insight | 15% | Interpretation goes beyond restating outputs — connects the result to the theory taught that week. |
| Total | 100% | = 5% of the course grade |
Lab-specific checks on top of the rubric:
- K is designed from your (A,B), not copied constants; poles verified stable
- Comparison draws a defensible conclusion (which wins on what, and why)
Rules
- Individual work. Discussing ideas is encouraged; code and report must be written by you. Identical code or text is treated under the University’s academic-integrity rules.
- AI assistants (ChatGPT, Copilot, …) may be used as a tool, with two conditions: declare the use in your report (one line is enough), and be able to explain every line you submit — you may be asked to, in person.
- Late submission: −20% per day, not accepted after 3 days. One free 48-hour extension per student per semester — ask before the deadline.
- Re-runs. We grade by re-running your code (
PYTHONPATH=. python …on a clean copy of the course simulator plus your files). “Works on my machine” without reproducibility loses the results marks.
📤 Submit via the MUST LMS
What
the zip described above
Filename
MLTE03_Wk7_<studentID>.zipWhere
MUST LMS → MLTE03 → Week 7 Lab dropbox LMS link — TO FILL
Deadline
date / time — TO FILL (before Week 8)