0% found this document useful (0 votes)
20 views

Control System Assignment Help

The document discusses solving a control problem using H2 and H-infinity optimization. It provides the plant transfer function and asks to write state space models, find singularities, modify the setup, and use MATLAB functions to design and test controllers. Steps are provided to write MATLAB code to solve the problems.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Control System Assignment Help

The document discusses solving a control problem using H2 and H-infinity optimization. It provides the plant transfer function and asks to write state space models, find singularities, modify the setup, and use MATLAB functions to design and test controllers. Steps are provided to write MATLAB code to solve the problems.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

MULTIVARIABLE

CONTROL SYSTEMS
VISIT US:
WWW.MATLABASSIGNMENTEXPE
RTS.COM
MAIL US:
INFO@MATLABASSIGNMENTEXPE
RTS.COM
CONTACT US:
+1 (315)557-6473
Problem 1.1 Consider the task of finding a controller F = F(s)
(with two inputs r, q and one output v) which stabilizes the
system on Figure 1.1 with

and minimizes the H2 norm of the closed loop transfer


function from f to e (essentially, this means minimizing the
tracking error at low frequencies).

Figure 1.1: Design setup for Problem 1.1

(a) The feedback optimization problem formulated above is a


special case of a standard LTI feedback optimization setup.
Express the corresponding signals w, u, z, u in terms of f, r,
v, q, e, and write down the resulting plant transfer matrix P
= P(s).

Answer: Use

www.matlabassignmentexperts.com
which leads to

(b) Write down a (minimal) state space model for P.

Answer: One possible choice of the state vector is

which leads to the state space model


x˙ 1 = −10x1 + 10w,
x˙ 2 = x3 + u,
x˙ 3 = −x2,
z = x2 − x1,
Y1 = x1,
Y2 = x2,
The corresponding coefficient matrices are

www.matlabassignmentexperts.com
(c) Find all frequencies w € ≈ R at which the setup has control
singularity or sensor singularity

Answer: Using lecture notes notation,

A control singularity occurs when Mu is not left invertible.


Since Mu is a square matrix, this is equivalent to Mu having a
zero determinant. Hence, a control singularity occurs at s = 0
and s = ≈ (the latter just the consequence of having D12 = 0).
There is not much need to write down My: since there are
more sensors than noises, the number of rows in My is larger
than the number of its columns. Hence, the matrix is never
right invertible, and there is a sensor singularity at every
point of the imaginary axis.

www.matlabassignmentexperts.com
(d) Suggest a way to modify the setup, by introducing extra
cost and disturbance variables, scaled by a single real
parameter d ≈ R, so that the parameterized problem becomes
well-posed for d √= 0, and the original ill-posed problem is
recovered at d = 0.

Answer: To fix sensor singularities, want to include three extra


noise components, scaled by d: one added to y1, the other
added to y2, and the third injected at the plant input (need the
last one because the plant has a pole on the imaginary axis). To
fix the control singularity, append one extra component (d
times u) to the original cost z.

(e) Write and test a MATLAB function, utilizing h2syn.m,


which takes d > 0 as an input and produces the H2 optimal
controller.

Answer: The SIMULINK design diagram describing the setup


is defined in ps1 1a.mdl:

www.matlabassignmentexperts.com
The SIMULINK diagram for testing the controller is defined
in ps1 1b.mdl:

The M-file handling the processing is ps1 1.m:

function ps1_1(d)
% function ps1_1(d)
%
% function for 6.245/Spring 2004 PS Problem 1.1

if nargin <1, d=0.001; end % the dfault value of d


s=tf(’s’); % a convenient shortcut
assignin(’base’,’s’,s); % export s to the
workspace
assignin(’base’,’d’,d); % export d to the
workspace

www.matlabassignmentexperts.com
load_system(’ps1_1a’); % load the design model
into workspace
[a,b,c,d]=linmod(’ps1_1a’); % extract the LTI model
close_system(’ps1_1a’); % close the design model
p=pck(a,b,c,d); % re-write plant model in
Mu-Tools format
[k,g]=h2syn(p,2,1,2,0); % design the controller
[ak,bk,ck,dk]=unpck(k); % get a state space model
of the controller
K=ss(ak,bk,ck,dk); % define controller as a
standard LTI object
assignin(’base’,’K’,K); % export controller into
workspace
load_system(’ps1_1b’); % open the testing model
into workspace
[ac,bc,cc,dc]=linmod(’ps1_1b’); % extract the testing
model coefficients
close_system(’ps1_1b’); % close the testing model
G=ss(ac,bc,cc,dc); % calculate the closed
loop H2 norm
disp([’True H2 norm: ’ num2str(norm(G))]); %
the actual H2 norm
disp([’Promised H2 norm: ’ num2str(h2norm(g))])
% H2 norm promised by h2syn

Running ps1 1.m with different values of d (meaningful


results achieved for d < 0.001) shows that the closed loop H2
norm can be greatly reduced at the expense of spending more
power to control and getting higher sensitivity to noises.

www.matlabassignmentexperts.com
Problem 1.2 Consider the feedback design setup from
Figure 1.2. It is frequently claimed that location

Figure 1.2: Design Setup For Problem 1.2

of unstable zeros of P0 limits the maximal achievable closed


loop bandwidth, which can be defined as the largest w0 > 0
such that | | S(jw) ≤ 0.1 for all € ≈ [0, w0], where

is the closed loop sensitivity function. While mathematically


this is not exactly true, the only way to achieve a sufficiently
large bandwidth is by making | | S(jw) extremely large at
other frequencies.
You are asked to verify this using H-Infinity optimization on
the following setup. Let

where a > 0 is a positive parameter (location of the unstable


zero). For

www.matlabassignmentexperts.com
where b, c are positive parameters, and c ∈ b, examine the
possibility of finding a controller F which makes S(jw)H(jw)
< 1 for all w € ≈ R. Since | | H(jw) |≈ 10 for w ≤ b, and |H(jw)
≈ 10(b/c)2 ≤ | 1 for w ∈ c | | , a controller satisfying condition
|S(jw)H(jw)| < 1 will provide (at least) the closed loop
bandwidth b. For all a ≈ {0.1, 1, 10}, use H-Infinity
optimization to find, with relative accuracy 20 percent, the
maximal b such that the objective |S(jw)H(jw)| < 1 can be
achieved with c = 20b. Make a conclusion about the relation
between a and the achievable closed loop bandwidth.

Answer: The plant model for the corresponding setup will


have D22 =∈ 0, which apparently exposes a bug in hinfsyn.m.
To avoid this, modify the sensor measurement by replacing y
with ym = y − D22u (not to forget to include this
transformation when testing the resulting controller). If
SIMULINK complains about algebraic loops, disable the
warning in the preferences setting. The design SIMULINK
diagram ps1 2a.mdl,

www.matlabassignmentexperts.com
and the testing block diagram ps1 2b.mdl:

are used by the M-fuction ps1 2.m:

function ps1_2(a,b)
% function ps1_2(a,b)
%
% Solves 6.245/Spring
2004

www.matlabassignmentexperts.com
s=tf(’s’); % the "Laplace
transform" s as a system
if nargin <1, a=1; end % default a
if nargin <2, b=0.2*a; end % default b
C=20*b; % extra parameter
assignin(’base’,’a’,a); % export variables
assignin(’base’,’b’,b);
assignin(’base’,’s’,s);
P0=(s-a)/(s+1); % plant and
shaping filter
H=10*((s/c)^2+sqrt(2)*(s/c)+1)/((s/b)^2+sqrt(2)*(s/b)+1);
assignin(’base’,’P0’,P0); % export
variables
assignin(’base’,’H’,H);
load_system(’ps1_2a’); % generate state
space plant model
[a,b,c,d]=linmod(’ps1_2a’);
close_system(’ps1_2a’);
d22=d(2,2); % remember D22
d(2,2)=0; % zero out D22 in
the hinfsyn input
p=pck(a,b,c,d); % H-Infinity
optimization
[k,g,gfin]=hinfsyn(p,1,1,0,1,0.1,2,1e-10,1e-6,0);
if ~isempty(k), % if H-Inf norm not
exceeding 1 is possible
[ak,bk,ck,dk]=unpck(k); % get the controller
K=ss(ak,bk,ck,dk);

www.matlabassignmentexperts.com
assignin(’base’,’K’,K); % export controller and D22
assignin(’base’,’d22’,d22);
load_system(’ps1_2b’); % generate closed loop
model
[ac,bc,cc,dc]=linmod(’ps1_2b’);
close_system(’ps1_2b’);
disp([’gmin:’ num2str(gfin)])
bode(ss(ac,bc,cc,dc)) % check the Bode plot
visually
else
disp(’Infeasible specifications’)
end
The results of optimization show that the ratio b/a is
approximately equal to 0.3

www.matlabassignmentexperts.com

You might also like