Simulink Control Design™ - MathWorks

(Tuis.) #1

GustSpeed = 10;
Ki = eye(3);
Kx = zeros(3,6);


Use the slTuner interface to set up the tuning task. List the blocks to be tuned and
specify the nine flight conditions by varying the outage variable in the Simulink model.
Because you can only vary scalar parameters in slTuner, independently specify the
values taken by each entry of the outage vector.


OutageData = struct(...
'Name',{'outage(1)','outage(2)','outage(3)','outage(4)','outage(5)'},...
'Value',mat2cell(OutageCases,9,[1 1 1 1 1]));
ST0 = slTuner('faultTolerantAircraft',{'Ki','Kx'},OutageData);


Use systune to tune the controller gains subject to the nominal requirements. Treat the
wind gust alleviation as a hard constraint.


[ST,fSoft,gHard] = systune(ST0,SoftNom,HardNom);


Final: Soft = 22.6, Hard = 0.99977, Iterations = 307


Retrieve the gain values and simulate the responses to step commands in mu, alpha,
beta for the nominal and degraded flight conditions. All simulations include wind gust
effects, and the red curve is the nominal response.


Ki = getBlockValue(ST, 'Ki'); Ki = Ki.d;
Kx = getBlockValue(ST, 'Kx'); Kx = Kx.d;


% Bank-angle setpoint simulation
plotResponses(OutageCases,1,0,0);


Fault-Tolerant Control of a Passenger Jet
Free download pdf