Information updated until 30/06/2026 CODE 114628 ACADEMIC YEAR 2026/2027 CREDITS 9 cfu anno 3 INGEGNERIA INFORMATICA 8719 (L-8) - IMPERIA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/04 LANGUAGE English TEACHING LOCATION IMPERIA SEMESTER 1° Semester OVERVIEW This 9 ECTS course bridges theoretical "Systems Theory" with feedback design and software implementation for Computer Engineers. Since students already understand Laplace/Z-transforms and open-loop stability, the course bypasses math to focus on closed-loop behavior, design tools, and real-time microcontroller constraints. Adopting the Control Engineering textbook by L. Keviczky et al., the curriculum covers: Continuous Feedback Design (Ch. 1, 2, 4–6, 8): Explores closed-loop sensitivity, tracking error, and loop-shaping using visual s-domain/frequency tools (Root Locus, Bode Plots, and Nyquist Stability Criteria). State Feedback (Ch. 3, 9): Covers controllability/observability, pole-placement, and Luenberger state observers. Digital & Embedded Control (Ch. 11–14): Analyzes sampling effects, discrete PID algorithms, code-level Anti-Reset Windup, and finite-settling-time Deadbeat control. AIMS AND CONTENT LEARNING OUTCOMES This course aims to provide students with the basic conceptual and methodological tools needed to tackle problems of analysis and synthesis related to the control of dynamic systems that characterize engineering plants and physical processes. AIMS AND LEARNING OUTCOMES By the end of this course, students will be able to: 1. Closed-Loop Performance & Graphical Analysis (Continuous-Time) Evaluate open-loop versus closed-loop system characteristics, computing sensitivity functions ($S$ and $T$) to analyze tracking accuracy and disturbance rejection capabilities. Determine a system's steady-state error and classify its "System Type" ($K_p, K_v, K_a$) when subjected to step, ramp, or parabolic inputs. Construct and Interpret Root Locus Plots to predict how changing controller gains ($K$) alters the paths of closed-loop poles in the complex $s$-plane. Apply the Nyquist Stability Criterion and analyze Bode Plots to determine closed-loop stability margins (Gain Margin and Phase Margin) from open-loop frequency response characteristics. 2. Modern State-Space Design Assess the structural properties of linear multi-variable systems by calculating Controllability and Observability matrices (using Kalman decomposition tests). Synthesize state-feedback controllers using pole-placement techniques to meet precise transient response requirements (rise time, settling time, overshoot). Design Luenberger State Observers to computationally estimate internal system variables that lack hardware sensors, understanding how the Separation Principle allows isolated controller and observer design. 3. Digital, Sampled-Data & Software Implementation Map continuous-time $s$-plane stability boundaries and frequency domains to the digital $z$-plane unit circle, accounting for the physical implications of sampling periods, quantization, and Zero-Order Holds (ZOH). Discretize continuous-time controllers into discrete-time equivalents using backward-difference and Tustin (bilinear) transformations. Translate digital control laws into exact difference equations, constructing real-time code (such as in C/C++) to be executed inside timed hardware interrupt loops. Implement Software Protections such as Anti-Reset Windup logic to handle physical actuator saturation and prevent algorithm instability in practical embedded systems. Formulate Deadbeat Control strategies to design unique finite-settling-time algorithms that drive tracking errors to exactly zero within a deterministic number of microcontroller clock cycles. PREREQUISITES Core Prerequisite: Systems Theory & Signals Students must enter the course with a solid command of: Transforms: Using Laplace (s-domain) and Z-Transforms (z-domain) to manipulate open-loop transfer functions. State-Space Formulations: Constructing and transforming vector-matrix equations, computing matrix exponentials, and evaluating internal stability using the eigenvalues of the system matrix A. Mathematical & Software Foundations Linear Algebra & Complex Analysis: Matrix arithmetic (inversion, determinants, rank calculation) and plotting coordinates/vectors in the complex plane. MATLAB & Simulink Familiarity: Core programming knowledge to define systems via script commands (e.g., matrices, basic array operations) and basic familiarity with connecting blocks in Simulink to run time-domain simulations. Basic Engineering: Comfort with standard physical benchmark processes, specifically electromechanical modeling (such as a generic DC Motor). TEACHING METHODS The teaching methodology focuses on computational design, visual interpretation, and real-time software execution, moving away from manual math derivations to leverage the students' Computer Engineering background. Interactive Lectures: Focus on building physical intuition around feedback loop architecture, stability margins, and microcontroller sampling effects. Concepts like Root Locus, Bode, and Nyquist are introduced via live MATLAB demonstrations rather than static whiteboard proofs. Guided Software Labs: Utilize weekly laboratory sessions to solve assigned problems from the companion MATLAB Exercises book. Students use functions like feedback, rlocus, bode, and c2d to bridge theoretical requirements with functional script parameters. Visualizing Non-Linear Realities (Simulink): Students build standard feedback loops in Simulink and introduce input saturation blocks. This allows them to physically observe Integral Windup (overshoot and lag) and design conditional anti-windup loops to resolve it. SYLLABUS/CONTENT Part 1: Continuous-Time Closed-Loop Design (3.5 ECTS) Module 1: Feedback Systems & Characteristics Topics: Open- vs. closed-loop properties, steady-state tracking error, sensitivity functions ($S$ and $T$). Textbook: Chapters 1, 2, and 4 (Section 2.6.1 DC Motor Benchmark). *MATLAB Exercise Book Assignment:_ Chapter 2 (Problem Section 2.6): Simulating and analyzing the step response of the continuous DC motor model benchmark using MATLAB scripts. Chapter 4 (Problem Sections 4.1 & 4.2): Computing and plotting the sensitivity function $S(s)$ and complementary sensitivity function $T(s)$ to analyze disturbance attenuation. Module 2: Root Locus Method (s-Domain Analysis) Topics: Tracking closed-loop pole migration as a function of controller gain $K$; finding breakaway points and critical gain. Textbook: Chapter 5 (Section 5.5). *MATLAB Exercise Book Assignment:_ Chapter 5 (Problem Section 5.5): Generating root locus graphs using the rlocus command, evaluating closed-loop parameter sensitivities, and determining marginal stability thresholds. Module 3: Frequency Response & Performance Margins Topics: Asymptotic Bode plots, the Nyquist Stability Criterion around the $-1+0j$ point, Gain Margin, and Phase Margin. Textbook: Chapter 5 (Section 5.6) and Chapter 6. *MATLAB Exercise Book Assignment:_ Chapter 5 (Problem Section 5.6): Drawing Nyquist contours and Bode frequency responses to compute and verify the exact numeric values of Gain and Phase Margins via MATLAB. Module 4: Conventional Controller Design Topics: Continuous-time lead/lag compensator design and loop-shaping PID tuning. Textbook: Chapter 8 (Sections 8.1 and 8.3). *MATLAB Exercise Book Assignment:_ Chapter 8 (Problem Sections 8.1 & 8.3): Designing active phase-lead compensators to meet a specified phase margin target using the controlSystemDesigner app or command-line scripts. Part 2: Modern State Feedback Control (1.5 ECTS) Module 5: State-Space Synthesis & Observers Topics: Controllability/observability rank tests, pole-placement, and Luenberger state observer design. Textbook: Chapter 3 (Sections 3.3, 3.4) and Chapter 9. *MATLAB Exercise Book Assignment:_ Chapter 3 (Problem Sections 3.3 & 3.4): Testing system arrays for controllability and observability metrics via ctrb() and obsv(). Chapter 9 (Problem Sections 9.1 & 9.2): Using the place() function to synthesize state-feedback controller matrices ($K$) and design a full-state Luenberger observer matrix ($L$). Part 3: Digital & Embedded Control Systems (4 ECTS) Module 6: Microcontroller Interface & Discretization Topics: Sample-and-hold, Zero-Order Holds (ZOH), mapping stability zones to the $z$-plane unit circle, and pulse transfer functions. Textbook: Chapter 11 (Sections 11.1 to 11.4). *MATLAB Exercise Book Assignment:_ Chapter 11 (Problem Sections 11.1 to 11.4): Using c2d() to convert continuous plants to discrete-time equivalents. Plotting discrete pole-zero locations on the $z$-plane map via zplane() to evaluate sampling period effects. Module 7: Digital PID & Code Implementation Logic Topics: Tustin approximations, difference equations, and code-level Anti-Reset Windup logic for actuator saturation. Textbook: Chapter 13 (Sections 13.1, 13.2) and Chapter 8 (Section 8.4). *MATLAB Exercise Book Assignment:_ Chapter 13 (Problem Sections 13.1 & 13.2): Discretizing a continuous PID controller, modeling input saturation, and analyzing system responses. (Note: Extend this script-based exercise to include the conditional integration-halting logic discussed in Chapter 8.4). Module 8: Direct Digital Synthesis Topics: Discrete state-feedback loops, discrete observers, and Deadbeat Control algorithms. Textbook: Chapter 12 (Section 12.4) and Chapter 14 (Sections 14.1 to 14.3). *MATLAB Exercise Book Assignment:_ Chapter 12 (Problem Section 12.4): Synthesizing a direct discrete-time Deadbeat controller and verifying via simulation that tracking error drops to zero within the deterministic settling time. Chapter 14 (Problem Sections 14.1 to 14.3): Coding a fully discrete-time state-space system integrated with a discrete state estimator loop. RECOMMENDED READING/BIBLIOGRAPHY Primary Textbook (Theory) Keviczky, L., Bars, R., Hetthéssy, J., & Bányász, C. (2018). Control Engineering. Singapore: Springer. Role in course: Main reference for continuous-time closed-loop characteristics, classical loop-shaping design (Root Locus, Bode, Nyquist), state-space control, and digital/sampled-data implementations. Note for students: Core reading assignments will be explicitly mapped to the chapters of this volume. Companion Workbook (Laboratory & MATLAB Practice) Keviczky, L., Bars, R., Hetthéssy, J., & Bányász, C. (2018). Control Engineering: MATLAB Exercises. Singapore: Springer. Role in course: Primary source for weekly laboratory assignments, script-based simulations, and computational design verification. Note for students: Essential tool for translating the theoretical frameworks learned in class into functional MATLAB functions (rlocus, bode, nyquist, c2d) and Simulink visual block diagrams. Additional Resources MATLAB & Simulink Documentation: Official toolboxes guide from MathWorks (Control System Toolbox). TEACHERS AND EXAM BOARD ROBERTO SACILE Ricevimento: Contacts: Prof. Roberto Sacile, PhD c/o DIBRIS – University of Genova Polytechnic School via Opera Pia 13 16145 Genova, Italy Mob. +393281003228 Skype live:roberto.sacile_1 H323 130.251.5.4 http://orcid.org/0000-0003-4086-8747 Scopus Author ID: 56250207700 LESSONS Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION 1. Written Examination (Mandatory) A closed-book exam evaluating analytical problem-solving and system design. Key Tasks: Sketching and interpreting Root Locus and Nyquist diagrams, calculating tracking errors and loop stability margins, analytical controller discretization, and computing state-space pole-placement matrices. 2. Oral Examination (Mandatory) An individual interview following a passing grade on the written exam. Key Tasks: Explaining the physical meaning of sensitivity functions and stability criteria, defending code scripts derived from the MATLAB Exercises workbook, and discussing embedded computing constraints (sampling effects, computational lag, and the software logic behind Anti-Reset Windup algorithms). 3. Optional Project (Bonus Points) An independent design project to earn additional points Key Tasks: Modeling and simulating a digital control architecture for a complex plant using MATLAB/Simulink (inspired by the Chapter 16 Case Studies). The architecture must account for input saturation limits and be presented alongside the iterative pseudo-code or C/C++ firmware loop layout. ASSESSMENT METHODS The final grade for this 9 ECTS course evaluates theoretical understanding, computational design proficiency in MATLAB, and embedded coding logic. Attending lessons is strongly recommended, as lectures bridge abstract mathematical frameworks with practical engineering application, which is directly tested in the mandatory oral defense. Continuous Laboratory Assessment (30%): Evaluation of bi-weekly lab submissions, script files, and simulation blocks developed directly from the Control Engineering: MATLAB Exercises workbook. Written Examination (40%): A mandatory, closed-book exam testing analytical synthesis. Key tasks include manual computation of tracking errors, state-space pole-placement matrices, discretization approximations, and sketching Root Locus or Nyquist diagrams to extract stability margins . Oral Examination (30%): A mandatory individual interview following a passing written score. Students must explain the physical significance of feedback sensitivities and stability boundaries, and explicitly defend the script logic and architectural choices made during their laboratory sessions. (Note: Regular lecture attendance is crucial here, as students are questioned on real-time hardware constraints, execution loop scheduling, and code-level Anti-Reset Windup logic discussed during in-class engineering analysis). Optional Design Project (Up to +3 Bonus Points): Individual design and simulation of a digital control system for a complex plant (inspired by the Chapter 16 Case Studies). The architecture must manage input saturation in Simulink and be presented alongside the real-time pseudo-code. FURTHER INFORMATION Contact Roberto Sacile roberto.sacile@unige.it