• No results found

Example 2

In document An Overview on Robust Control (Page 37-47)

A.1 Examples

A.1.2 Example 2

In this example, H–controller design with structured uncertainty will be demon-strated. The system shown in Figure 28 is a typical example for an industrial rotational control problem. A DC-motor with inertia J1 drives a load inertia J2. The positions of the two inertias are measured and the second inertia is controlled to a required position. The two inertia are coupled with an ideal spring, rotation is damped with viscous friction in the bearings. The electric circuit of the DC-motor is modeled as an RL-Element. Model uncertainty arises from changing load inertia, varying friction and changing resistance due to temperature changes in the motor.

It is not sensible to assume that all model parameters are uncertain although this is the reality. Every uncertain parameter adds complexity to the controller design, par-ticularly if the controller is calculated with µ–synthesis. The following uncertainties will be modeled:

J2 = ¯J2(1 + ∆J2δJ2), c2 = ¯c2(1 + ∆c2δc2), R = ¯R(1 + ∆RδR) (58) δJ2, δp2 and δRrepresent the possible, relative perturbations on the corresponding parameters. Their range is [−1, 1].

Figure 28: Model for the rotational system

Modeling the system leads to the following differential equations:

L˙i = u − Ri − Φω1 (59)

Φi = J1ω˙1+ c1ω1+ k(ϕ1− ϕ2) (60)

k(ϕ1− ϕ2) = J2ω˙2+ c2ω2+ d (61) d is a disturbance torque acting upon the load inertia. With some algebraic manipulations the equations are reordered as follows:

˙i = 1

L(u − Ri − Φω) (62)

˙ For solving the structured uncertainty design problem, the system must be trans-formed into the form shown in Figure 13. This can be a tedious task if the procedure is not formalized in such a way, that it can be done with a suitable tool. A closer look to the above equation reveals, that the uncertain parameters are either factors on variables, e.g. Ri and c2ω2, or the inverse of the parameter is a factor on an algebraic term, e.g. J12(k(ϕ1 − ϕ2) − c2ω2 − d). The idea to formalize the model construction process is, to define new variables for the algebraic terms and to repre-sent the uncertain parameter as LFT models. Afterwards a CACSD-Tool (CACSD:

Computer aided control system design) can interconnect the model an build its state space representation. The LFTs block diagram are shown in Figure 29. In the figure also input variables are defined, if necessary. All together, the system model is:

˙i = −1

Figure 29: LFT of uncertain parameters

It’s state space representation is:

Together with the system equations (69) the plant is now completely defined. We let MATLAB calculate the interconnections of all the subsystems. In Figure 31 the build process is visualized. In the variable ’systemnames’ all block are specified, the system output names are listed in the variables ’inputvar’ and ’outputvar’ and the interconnection are defined with ’input to . . . ’ variables. The numerical parameter values are documented in table 1

The resulting set of plant frequency responses are drawn in Figure 30.

For optimizing performance the approach shown in Figure 17(b) is chosen, i.e.

performance is formulated with a fictitious uncertainty block ∆p, also called the performance uncertainty block. Consequently, performance has to be expressed as an input-output mapping, where performance is guaranteed when its norm is less than 1. Figure 32 shows the block diagram of the system to be optimized and its representation with a fictitious uncertainty block is drawn in 33 The controller inputs are the position error of the load inertia and the position of the drive inertia. Both

name nominal variance

Table 1: Parameter values

−200

Figure 30: Closed-loop frequency response

measurements are corrupted with measurement noise and the plant is disturbed with torque changes d on the second inertia. Performance outputs are the control error and controller output u, both weighted with a suitable transfer function.

Again, one has to be very careful to define a sensible H–optimization problem, i.e. the problem has to be well defined for all frequencies, especially at ω = ∞.

Technically, this follows from the full rank condition on the matrices D12 and D21. Consequently, the mapping from any input to the two controller input must have a direct feed-through term of rank two. Both, the perturbation inputs and the torque disturbance d have zero direct feed-through terms to the position measurement. The reference signal r and the measurement noise n1 and n2 can contribute to a full rank matrix D12, if the measurement noise weightings are chosen to be strictly propper.

This becomes obvious, if the control system is drawn as an LFT as shown in Figure 33. A full rank matrix D21, which is the direct feed-through term from the control signal u to the system outputs, is guaranteed, if the weighting Wu is strictly proper.

Beside its technical need, weighting functions provide useful tuning knobs for the controller design. Often, the plant is a good low pass filter, and consequently the spectra of the measurements lack of high frequency content. This might lead to a controller with very large gain at high frequency. Applied to the true plant with

Figure 31: System model

inevitable measurement noise, the actuator will be heavily stressed and will not have a large life-time. As a remedy, the measurement noise weighting function offer the possibility to add high frequency content to the measurements spectra. The spectra of load disturbances are modeled with the weighting Wd. This physically motivated weighting introduces low frequency disturbances into the system.

Disturbance attenuation and tracking error are tuned with the control error weight We. The function will be similarly to W1 of example 1. With Wu closed-loop bandwidth can be influenced, because it can be used to limit controller gain in around the crossing-over frequency.

The weight are chosen as follows:

We = 0.085 (s + 10) s + 10−5 Wd = 0.000018 (s + 1)

s + 0.001 (70)

Figure 32: Control structure

Wϕ1 = 0.003 (s + 1) s + 100 Wϕ2 = Wϕ2

Wu = 0.1s s + 100

(71) The frequency responses are shown in Figure 34.

Now, all is defined for the controller design. In MATLAB, a system can be build according to Figure 33 and an H–controller can be calculated. If the block diagonal structure of the uncertainty matrix ∆ is not taken into account, the minimal value of the H-Norm is 15.9 and the resulting control system is unstable. This shows, that for structured uncertainties, the simple H–approach is not a good choice. To circumvent the problem µ-synthesis was developed. As described in 8.1 this involves optimization of the H-Norm over all possible frequency dependent scalings of the structured uncertainty ∆. Using D-K-Iteration, the controller, described in the se-quel is obtained.

The controller frequency response is shown in Figure 35. The mapping of the control error r − ϕ2 to the input u is shown on the left. On the right the frequency response of ϕ1 to u drawn. The controller is of order 22 and exhibits large gain at frequency above 1 rad/s. The frequency responses cannot be easily be approximated with a simple PIDT1-controller. The closed-loop frequency responses from the setpoint r to ϕ1 and ϕ2 can be analyzed in Figure 36 and the corresponding step responses are in Figure 37.

Analysis of the closed-loop performance shows, that the attained bandwidth is not very large. This is due to the large controller gain, necessary to achieve a cross-ing over frequency above 2 rad/s. Due to the control signal weight Wu this can not become arbitrarily large. In order to achieved larger bandwidth, the noise weight-ings Wn or Wu have to be relaxed.

M-File for plant

Figure 33: Control system as LFT

%Parameters

omega=logspace(-1,2,100);

J1=0.1;J2=1.5;DJ2=0.5;c1=0.01;c2=0.02;Dc2=0.1;k=100;R=18;DR=0.1;L=0.0021;Phi=0.1;

Ap=[0 -Phi/L 0 0 0;

Phi -c1/J1 0 -k/J1 k/J1;

0 0 0 0 0;

0 1 0 0 0;

0 0 1 0 0];

Bp=[1/L 0 -1/L 0 0;

0 0 0 0 0;

0 0 0 1 0;

0 0 0 0 0;

0 0 0 0 0];

Cp=[0 0 0 1 0;

0 0 0 0 1;

0 0 1 0 0;

1 0 0 0 0;

1 0 0 k -k];

Dp=[0 0 0 0 0;

0 0 0 0 0;

0 0 0 0 0;

0 0 0 0 0;

0 -1 0 0 -1];

P=pck(Ap,Bp,Cp,Dp);

mat_R=[0 R;DR R];

mat_J2=[-DJ2 1/J2;-DJ2 1/J2];

10−4 10−2 100 102 104

Figure 34: Weighting functions

mat_c2=[0 c2;Dc2 c2];

gam=2.5;

systemnames = ’P mat_R mat_J2 mat_c2’;

inputvar = ’[uR; uJ2; uc2; d; u]’;

input_to_P = ’[u; d; mat_R(2); mat_J2(2); mat_c2(2)]’;

input_to_mat_R = ’[uR; P(4)]’; %P(4) is current i input_to_mat_J2 = ’[uJ2; P(5)]’; %P(5) is fJ2 input_to_mat_c2 = ’[uc2; P(3)]’; %P(3) is omega_2

outputvar = ’[mat_R(1); mat_J2(1); mat_c2(1); P(1); P(2)]’;

%Phi2 for performance, all disturbance ’outputs’, phi1 and phi2 for control sysoutname = ’Ex2_Plant_LF’;

cleanupsysic = ’yes’;

sysic}

M-File to define control system with weghtings

% now calculate the hinf controller system gam = 0.085;

systemnames = ’Ex2_Plant_LF W_e W_d W_phi1 W_phi2 W_u’;

inputvar = ’[uPert{3}; dw; n1; n2; r; u]’;

input_to_Ex2_Plant_LF = ’[uPert; W_d; u]’;

input_to_W_e = ’[r-Ex2_Plant_LF(5)-W_phi2]’;

input_to_W_d = ’[dw]’;

input_to_W_phi1 = ’[n1]’;

input_to_W_phi2 = ’[n2]’;

input_to_W_u = ’[u]’;

outputvar = ’[Ex2_Plant_LF(1:3); W_u; W_e; r-Ex2_Plant_LF(5)-W_phi2; Ex2_Plant_LF(4)+W_phi1]’;

sysoutname = ’Ex2_Sys_LF’;

cleanupsysic = ’yes’;

sysic

M-File for µ-controller design

−20 0 20 40 60 80 100

From: In(1)

To: Out(1)

100

−360

−180 0 180 360 540

To: Out(1)

From: In(2)

100 Bode Diagram

Frequency (rad/sec)

Magnitude (dB) ; Phase (deg)

Figure 35: Controller frequency response

% now calculate the hinf controller system DK_DEF_NAME = ’dk_mds’;

dkit

K_mu = k_dk3mds;

% Analysis with nominal plant

Ex2_Plant_nom=sel(Ex2_Plant_LF, 4:5, 4:5);

figure(2), clf, bode_dm(K_mu,omega) systemnames = ’Ex2_Plant_nom K_mu’;

inputvar = ’[dw; n1; n2; r]’;

input_to_Ex2_Plant_nom = ’[dw; K_mu]’;

input_to_K_mu = ’[r-Ex2_Plant_nom(2)-n2; Ex2_Plant_nom(1)+n1]’;

outputvar = ’[Ex2_Plant_nom(1:2); K_mu]’;

sysoutname = ’Ex2_Closed_Loop’;

cleanupsysic = ’yes’;

sysic

M-File with parameter for µ-controller design NOMINAL_DK = Ex2_Sys_LF;

NMEAS_DK = 2;

NCONT_DK = 1;

BLK_DK = [-1 1; -1 1; -1 1; 4 2]

OMEGA_DK = logspace(-2, 3,100);

AUTOINFO_DK = [1 3 1 4*ones(1, size(BLK_DK,1))];

NAME_DK = ’mds’;

See MATLAB manual for the robust-control toolbox for a description of the parameters.

−150

set of closed loop systems

Frequency (rad/sec)

set of closed loop systems

Frequency (rad/sec)

(b) r to ϕ2

Figure 36: Closed-loop frequency response

0 2 4 6 8 10 12 14

Figure 37: Closed-loop step response

In document An Overview on Robust Control (Page 37-47)

Related documents