System with Uncertain Parameters

As an example of a closed-loop system with uncertain parameters, consider the two-cart "ACC Benchmark" system [13] consisting of two frictionless carts connected by a spring shown as follows.

ACC Benchmark Problem

The system has the block diagram model shown below, where the individual carts have the respective transfer functions.

G1(s)=1m1s2G2(s)=1m2s2.

The parameters m1, m2, and k are uncertain, equal to one plus or minus 20%:

m1 = 1 ± 0.2 
m2 = 1 ± 0.2 
k = 1 ± 0.2

"ACC Benchmark" Two-Cart System Block Diagram y1 = P(s) u1

The upper dashed-line block has transfer function matrix F(s):

F(s)=[0G1(s)][11]+[11][0G2(s)].

This code builds the uncertain system model P shown above:

m1 = ureal('m1',1,'percent',20);
m2 = ureal('m2',1,'percent',20);
k  = ureal('k',1,'percent',20);

s = zpk('s');
G1 = ss(1/s^2)/m1;
G2 = ss(1/s^2)/m2;


F = [0;G1]*[1 -1]+[1;-1]*[0,G2];
P = lft(F,k);

The variable P is a SISO uncertain state-space (USS) object with four states and three uncertain parameters, m1, m2, and k. You can recover the nominal plant with the command:

zpk(P.nominal)
ans =
 
        1
  -------------
  s^2 (s^2 + 2)
 
Continuous-time zero/pole/gain model.

If the uncertain model P(s) has LTI negative feedback controller

C(s)=100(s+1)3(0.001s+1)3

then you can form the controller and the closed-loop system y1 = T(s) u1 and view the closed-loop system's step response on the time interval from t=0 to t=0.1 for a Monte Carlo random sample of five combinations of the three uncertain parameters k, m1, and m2 using this code:

C=100*ss((s+1)/(.001*s+1))^3; % LTI controller
T=feedback(P*C,1); % closed-loop uncertain system
step(usample(T,5),.1);

See Also

|

Related Topics