Robust control of simple integrator
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposte (0)
Vedere anche
Categorie
Scopri di più su PID Controller Tuning in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!