ECE-320 Linear Control Systems
Since the predominant goal of this grant is to have students understand and appreciate the distinction between a model of a system and the real system, most of the Matlab routines used in the labs plot both the predicted response (based on the model) and the measured response (from the ECP system). A model of the system is necessary for the initial design of a controller, but the predicted response of the system may not match the true system response due to the simplified models being used.
This year we utilized ECP's Simulink drivers as our plants, and all of the labs were done in Simulink. The Simulink drivers were configured so that the ECP 210 systems used units of cm for both input and output, and the ECP 205 systems used units of radians for both input and output.
Lab 1: In this laboratory, the students reviewed using Simulink and using a Matlab script to drive a Simulink model. They modified open loop systems to make closed loop systems and utilized a simple model matching controller. They also went through a guide to be sure their system was properly set up.
Lab 1, openloop_driver.m, openloop.mdl, state_model_1dof.mat, guide.pdf
Lab 2: In this laboratory, the students estimate the damping ratio and natural frequency of four systems we model as a second order systems. There are models for both the rectilinear system and torsional systems. The parameters are estimated using both the log decrement method and by trying to match the measured step response with the predicted step response. Matlab GUI programs are used to make this more efficient.
Lab 2, Log_Dec.m, Log_Dec.fig, compare1.m
Lab 3: In this laboratory, the students estimate the damping ratio and natural frequency of a second order system using the log decrement method, then measure the frequency response of the same system. The frequency response of the transfer function estimated using the time domain method is compared with the measured frequency response. The measured frequency response is then used to estimate both the damping ratio and the natural frequency of the system. Matlab is used to compare the initial estimate of the frequency response with the measured frequency response, and then to determine the system parameters by optimizing the fit to the measured frequency response.
Lab 3, process_data_1dof.m, model_1dof.m, get_A.m
Lab 4: In this lab the students obtain two models of a two degree of freedom system. They then convert this transfer function model to a state variable model.
Lab 4 (rectilinear), Lab 4 (torsional) process_data_2dof.m, model_2dof.m
Lab 5: In this laboratory, the students utilize model matching approaches to control the behavior of the system. ITAE, Deadbeat, and Quadratic Optimal closed loop transfer functions are utlized. Matlab is used to determine the controller when the plant and desired closed loop transfer functions are assumed to be known.
Lab 5, solve_quadratic.m
Lab 6: This is a software lab, where the students are introduced to Matlab's sisotool for designing controllers for single input single output systems.
Lab 7: In this lab, the students control three one degree of freedom systems using PID controllers with real and complex zeros. They also explore the use of dynamic prefilters to cancel the zeros in the closed loop transfer function.
Lab 8: In this lab the students attempt to meet design specifications by choosing the desired closed loop poles and designing a controller by solving the Diophantine equations. Matlab is utilized to determine the controller when the plant and desired closed loop poles are known.
Lab 8, solve_diophantine.m
Lab 9: In this lab the students use state variable feedback to control a state variable model. The closed loop poles are determined by either guessing state feedback gains or by utilizing Linear Quadratic Regulator control. Matlab is used to predict the response of the system (based on the model), determine the closed loop pole locations for the given feedback gains, and determine the appropriate prefilter gains.
Lab 9, Basic_1dof_State_Variable_Model.mdl, Basic_1dof_State_Variable_Model_Driver.m
Lab 10: In this lab the students first model a regular pendulum on a single cart (a 2 dof system). They then control the regular pendulum. After this is working correctly, the students get a model for the inverted pendulum and try and control it. The students really like this lab!
Lab 10, process_data_pendulum.m, model_pendulum_full.m, Basic_2dof_State_Variable_Model.mdl, Basic_2dof_State_Variable_Model_Driver.m, model_inverted_pendulum_full.m