Skip to main content

Interactive Online Learning for Control System 2

Computational competencies Digitalisation and blended learning Extended reality Formative assessment
Control Systems 2 is a bachelor-level degree course followed by an average of 300 students every year. While the subject is very theoretical, controls have broad real-world applications. This project provides students with exposure to implementation challenges through online, interactive Jupyter notebook-based coding experiences to reinforce the current theory and exercise-based curriculum.

Abstract

The control systems field is renowned for being «the most mathematical of the engineering disciplines». Notwithstanding, it is even known as «the hidden technology», because of its extremely broad application. This conundrum: seeming so theoretical but being so practical introduces non-trivial learning challenges for students.

To address this challenge, it is necessary to incorporate in the teaching offering as many application examples as possible, in the form of exercise sets and case studies of real-world systems. Currently, exercise sessions are provided with a traditional «frontal-teaching» approach that is not always effective at transmitting real-world competence.

After studying the theory, ideally, students would have the opportunity to: (i) transform the theory into algorithms and validate their efficacy in an interactive computational environment, possibly using state-of-the-art engineering tools; (ii) use the validated algorithms in a simulation environment to assess the system level outcomes; and finally (iii) implement the simulation tested algorithms on real-world hardware platform to assess practical outcomes.

In this project, we propose to introduce the first step of the above: interactive coding-based learning experiences, particularly for each module of the existing Control Systems 2 (CS2) course. These coding-based experiences will be developed using Python and Jupyter Notebooks (JNs), and will provide significant benefits to the learners.

Project goals

The goal of this project is to create 13 coding learning experiences, one per existing course module. These learning experiences will be interactive Jupyter notebooks using Python, covering the following topics:

1. Fundamental concepts of control systems 1: dynamic system representations, system analysis tools, and controller design using loop shaping and PID control techniques;

2. State feedback for LTI (linear time-invariant) SISO (single-input single-output systems;

3. State estimation for LTI SISO systems (Luenberger observers);

4. Digital implementation of controllers: numerical methods, emulation, and aliasing;

5. Decomposition into structural properties: reachable, observable subsystems;

6. Transition from SISO to MIMO (multi-input, multi-output) systems: similarities and differences;

7. MIMO system sensitivity functions and analysis tools;

8. MIMO control I: relative gain arrays, decoupling and decentralized control;

9. MIMO control II: Linear Quadratic Regulators (LQR), part 1;

10. MIMO control III: LQR, part 2;

11. Kalman filter (deterministic formulation);

12. MIMO control IV: Linear Quadratic Gaussian regulator (LQG);

13. Elements of nonlinear control.

Each notebook will be broken down into several activities including:

– a practical reformulation of the theory necessary to consume the notebook;

– interactive cells with a step-by-step exploration of fundamental technical learning objectives of each module;

– unit tests to self-assess the correctness of the implemented algorithms;

– at least one practical case study to apply the new content to;

– parametric analysis and visualization of performance outcomes;

– embedded links for questions and feedback.

These new coding modules will be offered to the students alongside the existing materials, reinforcing the curriculum.

Effects of the project

Jupyter notebooks (JNs) have revolutionized the way educators teach and students learn by allowing the integration of code, data, and visualizations into a single, easily accessible online document. This innovative approach provides an interactive and dynamic environment for students to experiment and test their understanding of the material, making it an excellent tool for using programming in the context of modern applications such as data analysis or even machine learning. Furthermore, JNs are open-source and can be easily shared, which encourages collaboration and knowledge sharing among students and instructors. The anticipated effects and added value introduced are several:

Students:

– learning assessments at the end of the course will show improved retention of core intended learning outcomes;
– student motivation will rise due to cross-disciplinary skill acquisition (coding);
– student satisfaction will rise due to the ability to engage with non-trivial real-world scenarios;
– the interior motivation of students (gaining competence to solve real-world problems) will rise while exterior motivation (passing the exam) will fall.

Faculty:

– JNs provide reproducible learning experiences for students that are accessible beyond class hours, increasing the effectiveness of delivery of teaching activities;
– standardizing pedagogical offerings despite particular instructor classroom performance;
– providing easily improvable pedagogical assets, lowering the barrier to introducing new topics, and hence maintaining the course updated through iterations.

Entire degree program:

– elevating the standard of learning by offering real-world applications to the theoretical aspects of control systems;
– equipping students with coding competence, which is beneficial for many other courses throughout most engineering programs;
– exposing students to the ruthlessness of the real world: where effort is not enough to achieve outcomes. Students will be more detail-oriented and focused on learning outcomes.

Links and downloads

Authors

  • Dejan Milojevic

    Lecturer

    Institute for Dynamic Systems and Control

    Kontaktieren

  • Jacopo Tani

    Lecturer

    Institute for Dynamic Systems and Control

    Kontaktieren

  • Emilio Frazzoli

    Professor

    Dynamic Systems and Control

    Kontaktieren

  • Niclas Scheuer

    Lead TA

    Institute for Dynamic Systems and Control

    Kontaktieren