Effacer les filtres
Effacer les filtres

Robust control of simple integrator

3 vues (au cours des 30 derniers jours)
J. van Delft
J. van Delft le 17 Juin 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

Réponses (0)

Catégories

En savoir plus sur Robust Control Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by