Selector" blocks for 40 different aircraft orientations (40 different pairs of (alpha,beta)
values). Load these arrays of linearized models.
load csthl20_TrimData G7 CS
size(G7)
8x5 array of state-space models.
Each model has 34 outputs, 9 inputs, and 7 states.
size(CS)
8x5 array of state-space models.
Each model has 6 outputs, 5 inputs, and 0 states.
The slTuner interface is a convenient way to obtain linearized models of
"csthl20_control" that are suitable for control system design and analysis. Through this
interface you can designate the signals and points of interest in the model and specify
which blocks you want to tune.
ST0 = slTuner('csthl20_control');
ST0.Ts = 0; % ask for continuous-time linearizations
Here the points of interest include the angular and rate demands, the corresponding
responses, and the deflections da,de,dr.
AP = {'da;de;dr'
'HL20 Airframe/pqr'
'Alpha_deg'
'Beta_deg'
'Phi_deg'
'Controller/Classical/Demands' % angular demands
'p_demand'
'q_demand'
'r_demand'};
ST0.addPoint(AP)
Since we already obtained linearized models of the "HL20 Airframe" and "Controls
Selector" blocks as a function of (alpha,beta), the simplest way to linearize the entire
model "csthl20_control" is to replace each nonlinear component by a family of linear
models. This is called "block substitution" and is often the most effective way to linearize
complex models at multiple operating conditions.
% Replace "HL20 Airframe" block by 8-by-5 array of linearized models G7
BlockSub1 = struct('Name','csthl20_control/HL20 Airframe','Value',G7);
Angular Rate Control in the HL-20 Autopilot