代写ELEC4632 Lab 4代做留学生Matlab程序
- 首页 >> Database
ELEC4632 Lab 4
Real-time implementation of output feedback control system for set-point control
In this lab, you are going to implement your non-deadbeat output feedback control system you designed in Lab 3 on the actual W-T system in real-time to evaluate its performance. However, the characteristics of the same W-T setup may have slightly changed since the last time you used it. The valves positions of the W-T setup may also have been changed since then. As a result, your identified model from Lab 2 and your designed output state feedback controller from Lab 3 are no longer valid for the W-T setup you are working with in this lab. Thus, for the purpose of this lab, you must repeat system identification, as what you did in Lab 2, and modify your Lab 3 codes for set-point control part so that your modified output feedback control system is working properly in real-time on your specific W-T setup.
Lab Exercise (2 marks)
Make sure that you have your lecture notes on the topics of “Pole Placement Design” and “Digital Control System Characteristics”, and previous lab notes and your personal notes with yourself. You can always access lecture and lab notes via Moodle as well. Now, follow the steps below for this lab exercise.
1. System Identification (0.5 marks, checked after 50 minutes)
a. Repeat system identification on the W-T system as you did before in Lab 2. It is always important to have a valid model for the process that you are working with at each stage of practical control system design and implementation. Show your results to the demonstrator to receive the mark for this part of lab exercise by plotting the figures that you were asked before in Labs 1 and 2.
2. Output feedback control design (0.5 marks, checked after 1 hour 20 minutes)
a. Once a good model is obtained, design an output feedback control system using your codes from Lab 3. You just need your results from Set-point control and output feedback control parts. You can assume initial conditions are zero. Use the same reference signal as in Lab 3 for the control system to track as fast as possible without exceeding the control input limits, i.e., yref(k) = {0, 0.7, -0.2, 0.5, 0} with each level period to be 140×0.75 = 105sec. Make sure your choice of closed-loop eigenvalues results in control input remaining within its limits.
3. Real-time implementation of the control system (1 marks, checked after 2 hours and 20 minutes)
a. When you are satisfied with simulation results, download the pre-built Simulink file named WaterTankSysControl.slx from Moodle. Set your model and controller parameter in the real-time model as shown in Fig. 1. The parameters are model matrices G, H, C; state feedback gain L; observer gain K; inverse of close-loop DC gain Gcl-1(1) named as Gcl_ 1, and input and output offsets, u_offset and y_offset, respectively. You just need to assign them with their values in MATLAB Workspace as Simulink can read them from there. Moreover, you should change the default values in Saturation TANK#1 block to Vmax and Vmin of your W-T setup. Make sure to use state- space matrices G, H, C and D of the canonical observable form in the observer block. In the Simulink model you will have variables G_obs, H_obs, C_obs and D_obs inside the Observer block. The values of the variables are G_obs=GT, H_obs=CT, C_obs=HT, and D_obs=DT.
Fig. 1. Pre-built Simulink model for real-time output state feedback control with observer.
b. After making sure all the proper setting are in place, run the Simulink file. The running time is set to 5×140×0.75 = 525sec or 8 minutes and 45 seconds, and the program will stop after this time. The data will be recorded in MATLAB Workspace as SFLogData in Structure format, and it is saved on current directory of MATLAB as SFControlData_0.mat. Similar to the what was explained in Lab 2 for data recording, if you repeat the experiment, the new data will be saved under the same name with an increment of one unit, so you would never lose any test data.
Fig. 2 Actual output feedback control of W-T system result in Simulink
c. Finally, extract the data as shown below and plot them against your simulated results similar to Fig. 3.
treal = SFLogData.time;
yref = SFLogData.signals(1).values(:,1);
yreal = SFLogData.signals(1).values(:,2);
ureal = SFLogData.signals(2).values;
This figure shows the actual output feedback control results obtained from one of the W-T systems for which the modelling data was given in SysIdenData_StudentVersion.mat (the example data that has been used throughout Lab 1 and Lab3). It compares the real-time results with the simulated ones. The closed-loop eigenvalues were chosen as [0.9 0.9] for this test with zero initial conditions. As you can see, the practical results are quite similar to the simulation ones for output signal in Fig. 3(a) and control input signal in Fig. 3(b). Both simulation output and control input signals are shifted up by output offset and input offset, respectively. This confirms that the identified model was accurate enough to represent the process and to be used for the controller design, as well as validity of the output feedback control design, particularly from the similarity in the pattern of both the control input signals and their final values at each period inFig. 3(b).
Fig. 3. Comparison between simulated and actual output feedback control of W-T system in set-point tracking, (a) Output for different water levels, (b) Control input.
Optional as Bonus: Can you explain the behaviour of the real-time control operation in the first period (initial transient behavior) shown in Fig. 3? Why is control input in Fig. 2(b) saturated at the beginning?
