Robust control of simple integrator

조회 수: 1 (최근 30일)
J. van Delft
J. van Delft 2014년 6월 17일
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