Syllabus for “Principles of Automatic Control”
Instructors: - Andrea Munafo (andrea.munafo@unipi.it) - Riccardo Costanzi (riccardo.costanzi@unipi.it)
Semester: Spring 2024
Lectures: 3 sessions (8h) / week for 8 weeks
- Tuesday: 08:30 - 11:30
- Wednesday: 10.30-13:30
- Thursday: 11.30-13:30
Office Hours: After Lectures
Learning Outcomes
- Understand the fundamental principles of automatic control, including concepts such as feedback control, stability, and controllability.
- Analyze and design control systems using mathematical models and tools, including Laplace transforms, transfer functions, and block diagrams.
- Apply control strategies to various real-world engineering problems, such as temperature control, speed control, etc.
- Evaluate the performance of control systems and identify ways to improve them, including adjusting control parameters and modifying system components.
- Develop critical thinking and problem-solving skills by applying control principles to novel and complex engineering problems, and communicating their findings effectively.
You will be well-prepared to apply the principles of automatic control to a variety of engineering fields, such as robotics, aerospace, and manufacturing, etc.
Course Description
This course introduces the design of feedback control systems. Topics include:
|
|
Tutorials and TCLab
The practical component of our course involves using the Temperature Control Lab (TCLab). This hands-on approach enhances understanding of control problems.
|
You can purchase TCLab on amazon.com for about $50, but purchasing it is not mandatory for this course. I will provide a limited number of boards, and TCLab offers simulators, which are usually sufficient for grasping the course concepts.
Guidelines for Using TCLab: - Only one board at any time. - Schedule your TCLab time using the course Teams channel spreadsheet. When returning the board, ensure to check out. Responsibility for the board rests with the last person listed as having it on the spreadsheet.
Week 1: Introduction and Basics - Notebooks: - Introduction (01_intro
) - Basics of Feedback Control (02_basics_of_feedback_control
) - Objectives: - Understanding Control Systems and their importance in modern technology. Discussions on basic terminologies and concepts in control systems. Distinction between Open-Loop and Closed-Loop control systems. Exploring the structure and challenges of Feedback Control Systems. Design approaches for Feedback Control Systems. Historical context and evolution of control systems.
TCLab Integration: Familiarization with the lab and basic setup.
- Notebooks:
00_Spacecraft_Thermal_Control_Systems
,01_TCLab
,01_Understanding_TCLab
- Lab:
02_TCLab_Lab_1_Coding_a_relay_controller
- Notebooks:
Activities: Group discussions on real-world applications of control systems.
Assignment:
- Install Python. Python is a general-purpose programming language. It is used in this course for process dynamics and control.
- Install TCLab Libraries
Week 2: Mathematical Modeling - Notebooks: - Mathematical Models (03_introduction_to_control_problem
), - Laplace Transforms and Transfer Functions (04_dynamic_systems
), - System Response and The Final Value Theorem; Characteristics of First-Order and Second-Order systems (05_dynamic_response
)
Objectives:
- Understanding mathematical models and transfer functions in control systems. Real-world examples of control systems: Water Level Control, Automobile Driving System, Hydraulic Power Steering Mechanism, Residential Heating System. Introduction to Multi-Input Multi-Output (MIMO) systems. Analysis of complex control systems and their components. Block Diagram of Basic Feedback Structure.
TCLab Integration: Modeling Identification
- Notebooks:
03_System_Model_and_Identification_TCLab
,04_Step_Testing_TCLab
,05_Fitting_Step_Test_Data_to_Empirical_Models
, (optional:05b_First-Order-Model-for-a-Single-Heater
) - Lab:
06_TCLab_Lab_2_Model_Identification
- Notebooks:
Activities: Problem-solving sessions to apply mathematical models to theoretical scenarios.
Assignment: TCLab Simulate Step Response. Description: Dynamic Temperature Response of a Heater and Temperature Sensor with an Arduino
Week 3: System Response and Feedback - Notebooks:
- Inverse Laplace Transform (06_inverse_laplace_transform
) - Modeling Dynamic Systems: mechanical and thermal modeling (07_modeling_dynamic_systems
) - Components of a controller (08_control_system_components
) - Models of Control Devices and Systes (09_Models_of_Control_Devices_and_Systems
) - Hardware and some case studies (10_hardware_and_case_studies
, 11_AC_hardware_and_case_studies
)
Objectives:
- Explore system response to various inputs and the role of feedback in control systems. Time-domain analysis of systems, introduction to modelling of physical systems. Understanding hardware and exemplar case studies for practical understanding. Application of inverse Laplace transform in control systems. Methods of partial fraction decomposition for complex functions.
TCLab Integration: Given the data from an identification experiment, the next task is to find one or more models that accurately reproduce the process response to changes in the manipulated variable. This notebook demonsrates a practical approach to fitting low-order models to step response data.
- Notebooks: -
- Lab:
07_CLab_Lab_2_Fitting
Activities: Interactive simulations to demonstrate the impact of feedback on system stability.
Assignment: TCLab Convective Heat Transfer. Description: Convective Heat Transfer Prediction with a Transistor Heater. !!!
Week 4: Stability and Controllers - Notebooks: - A first complete application, temperature control system (12_A_First_Complete_Application
) - Feedback Control (13_Principles_of_Feedback_Control
, 14_Feedback_systems_and_their_effects
) - Diving deeper on control systems: PID Controllers (Introduction to Control Systems
) - Stability Analysis in Control Systems (16_Stability
, 17_Stability_and_Routh_Criterion
)
Objectives:
- Applying theoretical knowledge to a complete control system application. Detailed study of feedback control principles and their applications. Analyzing the effects of feedback mechanisms in control systems. Revisiting the fundamental concepts in control systems. Study the concepts of stability in systems and feedback systems, and the basics of PID controllers. Detailed study of the Routh criterion and its application in assessing stability.
TCLab Integration: Implement controllers using TCLab.
- Notebooks:
08_Relay_Control
,09_PID_Control
- Labs:
10_Lab-Assignment-PID-Control
,11_Lab-Assignment-PI-Control
- Notebooks:
Activities: Group exercises to design basic PID controllers for given specifications.
Resources: TCLab FOPDT Model. Description: Linear Dynamic Temperature Response Model of a Heater and Temperature Sensor with an Arduino
Week 5: Advanced Control Strategies - Notebooks: - Performance of Feedback Systems (18_Performance_of_Feedback_Systems
) - Design of Feedback Control: Second Order Systems (19_Design_of_feedback_control
, 20_Design_of_feedback_control_continued
) - Steady-state accuracy and a complete design example (21_Steady_State_Accuracy_And_Design_Principles
)
- Objectives:
- Study the concepts of performance in feedback systems. Evaluating and enhancing the performance of feedback control systems. Introduction to steady-state accuracy. Initial discussions on strategies and methodologies for designing effective feedback control systems.
- TCLab Integration: Continue with implementation of simple PID controllers using TCLab.
Week 6: Advanced Control Strategies: Root Locus - Notebooks: - Root Locus (22_Compensator_Design_Using_Root_Locus
, 23_Design_with_the_root_locus
, 24_Compensators_and_Root_Locus
)
Objectives:
- Understanding the Root Locus and how to use it to design control systems.
TCLab Integration: TBC
Activities: Case studies of different control strategies in computing systems.
Assignment: Graphical Method: FOPDT to Step Test. Description: A first-order linear system with time delay is a common empirical description of many dynamic processes. Python source code demonstrates how to simulate a step test and compare with an FOPDT approximation.
TCLab FOPDT Regression. Description: Linear Dynamic Temperature Response Model of a Heater and Temperature Sensor with an Arduino
Week 7: Advanced Control Strategies: Frequency Response - Notebooks: - Frequency Response and the Nyquist’s Criterion (25_Introduction_to_Frequency_Domain_Analysis_in_Control_Systems
) - Application of the Nyquist’s Criterion (26_Application_of_Nyquist_Stability_Criterion
) - Relative Stability (27_The_Nyquist_Stability_Criterion_and_Relative_Stability
) - Objectives: - Understanding the Frequency Response, the Nyquist Criterion and the concept of relative stability.
- TCLab Integration: Design and implement a controller using TCLab.
- Activities: Case studies of different control strategies in computing systems.
- Assignment: TCLab Controller Design. Description: Design a controller for automation of temperature regulation to a setpoint. The controller adjusts a heater to regulate the temperature.
Week 8: Bode Plots, Control and Final Comments - Notebooks: - Bode Plots (28_Body_Plots
) - System performance in the frequency domain (29_Feedback_system_performance_based_on_frequency_response
) - Loop shaping (30_Loop_Shaping
)
Objectives:
- Understanding Bode Plots. Analysis of performance in the frequency domain. Loop shaping as a control strategy. Review of key concepts and preparation for the final exam.
TCLab Integration: State-space modeling with TCLab.
Activities: Q&A sessions, mock tests, and group discussions.
Assignement:
- TCLab Proportional-only Control. Description: TCLab with proportional-only control has offset between the setpoint and measured temperature. The purpose of this lab activity is to quantify and verify the offset.
- TCLab PI Control. Description: TCLab with proportional integral (PI) control eliminates offset between the setpoint and measured temperature
- TCLab PID Control. Description: TCLab with proportional integral derivative (PID) control. Use IMC and ITAE tuning and compare the response
Textbooks
Italian - Bolzern, Scattolini, Schiavoni. Fondamenti di Controlli Automatici, 2nd ed. McGraw-Hill.
- Ogata, Katsuhiko. Modern Control Engineering. 4th ed. Prentice Hall, 2002.
English - Ogata, Katsuhiko. Modern Control Engineering. 4th ed. Prentice Hall, 2002.
M. Gopal, Control Systems Principles and Design, McGraw-Hill (3rd edition).
Richard C. Dorf and Robert H. Bishop IE, Modern Control Systems (13th Edition).
Other texts which might be helpful:
G. Marro, Controlli Automatici, Zanichelli
Franklin, Gene, J. David Powell, and Abbas Emami-Naeini. Feedback Control of Dynamic Systems. 6th ed. Prentice Hall, 2009. ISBN: 9780136019695.
Van de Vegte, John. Feedback Control Systems. 3rd ed. Prentice Hall, 1994. ISBN: 9780002085069.
Kuo, Benjamin. Automatic Control Systems. 8th ed. John Wiley & Sons, 2003. ISBN: 9780471381488.
Ogata, Katsuhiko. Solving Control Engineering Problems with MATLAB. Prentice Hall, 1993. ISBN: 9780130459077.
The Role of Software in the Study of Feedback Systems
Using a software package like Python or MATLAB is very helpful in the study of Feedback Systems.
The software can best be used initially to check work that is first done traditionally with pencil and paper.
This is particularly helpful when verifying polar plots (Nyquist plots), Bode diagrams and root loci when first attempting to sketch these functions.
Step responses in the time domain can be examined in order to build an intuitive sense of the relations between time and frequency domain behavior.
Simplifying approximations that are often made when carrying out preliminary designs can be checked for validity using Python.
More complex problems can be studied with a computer-aided design package without the enormous burden of doing extensive computations.
We suggest that everyone become familiar with the use of Python or MATLAB.
Remember that the computer is to aid in achieving understanding and should be used intelligently as an engineering tool.
The goal is for you to come away with an understanding of feedback theory in some depth.
Frequently Asked Questions (FAQ)
- see notebook
00_FAQ.ipynb