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

Frictionless carts with masses m1 and m2 and positions x1 and x2 connected by a spring with constant k. The system input u1 is the control force applied to the first cart, and the system output y1 is the position measurement x2 of the second cart.

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

Block diagram showing the interconnections of the cart transfer functions G1 and G2 with the spring k. The diagram expresses the system transfer function P(s) as the LFT interconnection of a block F(s) having inputs {u1,u2} and outputs {y1,y2} with the spring block having input y2 and output u2.

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