Task
Complete the Week 6 lab: add the outer position/altitude loop to
student.py (position error → desired tilt + thrust, with gravity compensation),
cascading into your Week-5 inner loop. Hold hover, then fly a position step.
The Week 6 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)
student.py— full cascade (inner + outer)wk6_position.png— 3-D or per-axis position vs time for the step- Report (PDF, ≤ 3 pages): loop architecture sketch, the step response, final position error, and a comparison against the
CascadePIDreference
Pass bar — expected results
- Position step (e.g. to [1, 1, 1.5] m): final position error < 0.1 m, stable hover after arrival
- Runs via
PYTHONPATH=. python examples/02_hover_pid.py --controller student
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:
- The quad demonstrably flies to the setpoint under your full cascade
- Architecture sketch matches the code (outer → attitude reference → inner)
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_Wk6_<studentID>.zipWhere
MUST LMS → MLTE03 → Week 6 Lab dropbox LMS link — TO FILL
Deadline
date / time — TO FILL (before Week 7)