Assignment title: Information
Ma
Matlab version : 2011a
Instructions
Complete this exercise using Matlab and Simulink software.
This practical will be assessed as part of the Class Participation. You can complete each task at your own pace and submit at the end of the course for assessment.
The exercise requires the student to make use of Matlab tools to evaluate a MIMO system, IMC system and to try Statistical Process Control techniques.
The objective of Part A- of this lab exercise is to gain experience with the design of a LQG MIMO control system for an industrial process and to compare it to a SISO design. The objective of Part B- is to gain experience with the use of IMC and Statistical Process Control techniques.
You will make use of the Matlab functions to simulate the system [1].
Part A-
This exercise demonstrates the use of the LQG design tools in a process control application. The goal is to regulate the horizontal and vertical thickness of the beam produced by a hot steel rolling mill. This example is adapted from [2]. The plant model is MIMO.
Process and Disturbance Models
The rolling mill is used to shape rectangular beams of hot metal. The desired outgoing shape is sketched below.
Figure 1 Beam Shaping by Rolling Cylinders.
This shape is impressed by two pairs of rolling cylinders (one per axis) positioned by hydraulic actuators. The gap between the two cylinders is called the roll gap.
Figure 2 Rolling Mill Stand.
The objective is to maintain the beam thickness along the x- and y-axes within the quality assurance tolerances. Variations in output thickness can arise from the following:
• Variations in the thickness/hardness of the incoming beam
• Eccentricity in the rolling cylinders
Feedback control is necessary to reduce the effect of these disturbances. Because the roll gap delta cannot be measured close to the mill stand, the rolling force is used instead for feedback.
The input thickness disturbance is modeled as a low pass filter driven by white noise. The eccentricity disturbance is approximately periodic and its frequency is a function of the rolling speed. A reasonable model for this disturbance is a second-order bandpass filter driven by white noise.
This leads to the following generic model for each axis of the rolling process.
Figure 3 Open-Loop Model.
The measured rolling force variation f is a combination of the incremental force delivered by the hydraulic actuator and of the disturbance forces due to eccentricity and input thickness variation. Note that:
The outputs of H(s), Fe(s), and Fi(s) are the incremental forces delivered by each component.
• An increase in hydraulic or eccentricity force reduces the output thickness gap δ.
• An increase in input thickness increases this gap.
Cross-Coupling Effects
Rolling mills have some amount of cross-coupling between axes because an increase in force along x compresses the material and causes a relative decrease in force along the y axis.
Cross-coupling effects are modeled as shown in the figure below with gxy=0.1 and gyx=0.4.
Figure 4 Cross-Coupling Model.
MIMO Design
The MIMO design consists of a single regulator that uses both force measurements fx and fy to compute the actuator commands, u_x and u_y. This control architecture is depicted in the figure below.
Figure 5 MIMO Control Structure.
Type the following MATLAB code for the x-axis model
Hx = tf(2.4e8 , [1 72 90^2] , 'inputname' , 'u_x');
Fex = tf([3e4 0] , [1 0.125 6^2] , 'inputname' , 'w_{ex}');
Fix = tf(1e4 , [1 0.05] , 'inputname' , 'w_{ix}');
gx = 1e-6;
T = append([ss(Hx) Fex],Fix);
Px = [-gx gx;1 1] * T;
Px.OutputName = {'x-gap' , 'x-force'};
Type the following MATLAB code for the y-axis model
Hy = tf(7.8e8,[1 71 88^2],'inputname','u_y');
Fiy = tf(2e4,[1 0.05],'inputname','w_{iy}');
Fey = tf([1e5 0],[1 0.19 9.4^2],'inputn','w_{ey}');
gy = 0.5e-6;
Py = append([ss(Hy) Fey],Fiy);
Py = [-gy gy;1 1] * Py;
Py.OutputName = {'y-gap' 'y-force'};
Type the following MATLAB code for the coupling of x and y
gxy = 0.1;
gyx = 0.4;
P = append(Px,Py); % Append x- and y-axis models
P = P([1 3 2 4],[1 4 2 3 5 6]); % Reorder inputs and outputs
CC = [1 0 0 gyx*gx ; % Cross-coupling matrix
0 1 gxy*gy 0 ;
0 0 1 -gyx ;
0 0 -gxy 1 ];
Pxy = CC * P; % Cross-coupling model
Pxy.outputn = P.outputn;
Kxy = lqry(Pxy(1:2,1:2),eye(2),1e-4*eye(2));
Exy = kalman(Pxy(3:4,:),eye(4),1e4*eye(2));
Regxy = lqgreg(Exy,Kxy);
clxy = feedback(Pxy,Regxy,1:2,3:4,+1);
Type the following MATLAB code to prepare the simulation and to create disturbances
dt = 0.01; % simulation time step
t = 0:dt:30;
wx = sqrt(1/dt) * randn(2,length(t)); % x-axis disturbances
wy = sqrt(1/dt) * randn(2,length(t)); % y-axis disturbances
wxy = [wx ; wy];
Type the following MATLAB code to simulate the x and y thickness gaps for the two-axis model:
h = lsimplot(Pxy(1:2,3:6),'b',clxy(1:2,3:6),'r',wxy,t);
h.Input.Visible = 'off';
legend('Open Loop','Closed Loop')
Q1
As evidence of completing the practical participation, send the figure showing the linear simulation results for x-axis and y-axis.
A:
To show the advantage of direct MIMO LQG design over separate SISO designs for each axis. Type
milldemo
at the command line import a complete MATLAB demo. The SISO design in the demo is modeled by the variable clxy0.
Simulate the x and y thickness gaps for the SISO model:
h = lsimplot(Pxy(1:2,3:6),'b',clxy0(1:2,3:6),'r',wxy,t);
h.Input.Visible = 'off';
legend('Open Loop','Closed Loop')
Q2
As evidence of completing the practical participation, send the figure showing the linear simulation results for x-axis and y-axis.
A:
Q3
From the results of Q1 and Q2, what is the advantage of MIMO design when compared to SISO design?
A:
Part B-
Q4
You are required to load and run the IMCProcessDemo.m demo in MATLAB. You can access the demo by opening MATLAB help and navigating to "Control System Toolbox Control System Toolbox Examples GUI Examples Internal Model Control Design for a Chemical Reactor Plant".
Modify G1g value in the code so that the gain mismatch will be 2 times G1p instead of 3 times G1p.
Notice that you may need to create your own copy of IMCProcessDemo.m to keep the original demo unaltered.
As evidence of completing the practical participation, send the step response figure when the mismatch in Gain is 2 times G1p (no mismatch).
A:
Q5
Before going into production, many manufacturers run a capability study to determine if their process will run within specifications enough of the time. Capability indices produced by such a study are used to estimate expected percentages of defective parts.
Capability studies are conducted with the capability function. The following capability indices are produced:
mu — Sample mean
sigma — Sample standard deviation
P — Estimated probability of being within the lower (L) and upper (U) specification limits
Pl — Estimated probability of being below L
Pu — Estimated probability of being above U
Cp — (U-L)/(6*sigma)
Cpl — (mu-L)./(3.*sigma)
Cpu — (U-mu)./(3.*sigma)
Cpk — min(Cpl,Cpu)
As an example, simulate a sample from a process with a mean of 3 and a standard deviation of 0.005 by typing the following MATLAB code:
rng default; % For reproducibility
data = normrnd(3,0.005,100,1);
Compute capability indices if the process has an upper specification limit of 3.01 and a lower specification limit of 2.99 by typing the following MATLAB code:
S = capability(data,[2.99 3.01])
Visualize the specification and process widths by typing the following MATLAB code:
capaplot(data,[2.99 3.01]); grid on
As evidence of completing the practical participation, send the step response figure of the capability plot.
A:
[1] Matlab. The MathWorks Incorporated, 2015.
[2] Grimble, M.J., Robust Industrial Control: Optimal Design Approach for Polynomial Systems, Prentice Hall, 1994, p. 261 and pp. 443-456.