Robust control of simple integrator

4 views (last 30 days)
J. van Delft
J. van Delft on 17 Jun 2014
Dear Matlab community,
I'm trying to use H-inf and Mu synthesis to make my controller more robust. However, I have no experience with these methods so I decide to tackle a simple problem first:
I've got a plant which is a single integrator with some bounded uncertainty. My ideal response would be that of a PI controller. Furthermore, there is a weight, W_perf, on the error between the ideal response and the actual response. My code looks as follows (I'm basically simplifying the example of the lateral control of an aircraft: http://www.mathworks.nl/help/robust/examples/control-of-aircraft-lateral-axis-using-mu-synthesis.html):
%Plant
Kp = 3; Ki = 1;
Plant = tf(1,[1 0]);
Plant.u = 'unc_des'; Plant.y = 'omega';
% Uncertainty plant
W_in = tf(1.5*[1 20],[1 200]);
Delta_G = ultidyn('Delta_G',[1 1]);
Unc = 1 + W_in * Delta_G; Unc.u = 'omega_des'; Unc.y = 'unc_des';
% Connect plant and uncertainty
Plant_unc = connect(Plant,Unc,'omega_des','omega');
% Ideal response
Hideal = tf([Kp Ki],[1 Kp Ki]);
Hideal.u = 'omega_cmd'; Hideal.y = 'omega_ideal';
% Sum
sum1 = sumblk('e_omega = omega_ideal - omega');
% Weigh performance
W_perf = tf([1/4 2],[1 1]);
W_perf.u = 'e_omega'; W_perf.y = 'z_perf';
% Connect
OLIC = connect(Plant_unc,sum1,Hideal,W_perf,{'omega_cmd','omega_des'},...
{'omega_cmd','omega','z_perf'});
When I try to synthesise the H-inf controller I get an error
[kinf,~,gammainf] = hinfsyn(OLIC.NominalValue,2,1)
[a b2;c1 d12] does not have full column rank at s=0
So my question is why does this happen? Has it got something to do with the nature of the design problem? Did I make a mistake in the code? And how do I solve it?
Thanks, J. van Delft

Answers (0)

Categories

Find more on Robust Control Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!