Robust control of simple integrator

1 次查看(过去 30 天)
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

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 PID Controller Tuning 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by