代写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?




站长地图