Main Content

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.


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):


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:

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

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


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

Figure contains an axes object. The axes object contains 5 objects of type line. This object represents untitled1.

See Also


Related Topics