Simulink Control Design™ - MathWorks

(Tuis.) #1
Define Operating Point Specifications

Before creating an operating point specification, configure the model to use the model
initial condition.

set_param(mdl,'LoadExternalInput','off')
set_param(mdl,'LoadInitialState','off')

Create a default operating point specification object.

ops = operspec(mdl);

Impose constraints on the outputs.

ops.Outputs(1).Known = true(10,1);
ops.Outputs(1).y(1) = 0; % Bucket angle
ops.Outputs(1).y(3) = 50; % Upper angle
ops.Outputs(1).y(5) = -50; % Lower angle
ops.Outputs(1).y(7) = 0; % Base angle
ops.Outputs(1).y(9) = -45; % Support angle

Configure Trim Options

Configure trim optimizer options. Set the 'OptimizerType' option to 'graddescent-
proj', which is a projection-based trim optimizer that enforces consistency of the model
physical states. To display trim progress, set the 'DisplayReport' option to 'iter'.

opt = findopOptions('OptimizerType','graddescent-proj',...
'DisplayReport','iter');
opt.OptimizationOptions.MaxFunEvals = 20000;

Trim Model

Find the steady-state operating point that meets these specifications. The following
command takes a few minutes.

[op,rpt] = findop(mdl,ops,opt);

Optimizing to solve for all desired dx/dt=0, x(k+1)-x(k)=0, and y=ydes.

(Maximum Error) Block
---------------------------------------------------------
(4.50000e+01) scdbackhoeTRIM/Out1
(3.88972e+00) scdbackhoeTRIM/Plant/Mounting Assembly/Mounting Base and Support Arms/Support Arm Right/Revolute Joint Arm
(3.25130e+00) scdbackhoeTRIM/Plant/Backhoe Arm/Arm-Bucket Joint

1 Steady-State Operating Points

Free download pdf