Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Modern Control Design: Pole-Placement and Observer-Based State Feedback, Summaries of Design

Modern control design, specifically pole-placement and observer-based state feedback. It covers the design of a state feedback control to place closed-loop poles, the use of state estimators for systems with unavailable states, and the design of a full-state observer. The document also includes examples and MATLAB code.

Typology: Summaries

2021/2022

Uploaded on 09/27/2022

gustavott
gustavott 🇬🇧

3.9

(14)

254 documents

1 / 14

Toggle sidebar

Related documents


Partial preview of the text

Download Modern Control Design: Pole-Placement and Observer-Based State Feedback and more Summaries Design in PDF only on Docsity!

CHAPTER

MODERN

CONTROL

DESIGN

The classical design techniques of Chapters 6 and 7 are based on the root-locus and

frequency response that utilize only the plant output for feedback with a dynamic

controller. In this final chapter on design, we employ modern control designs that

require the use of all state variables to form a linear static controller. Modern control

design is especially useful in multivariable systems; however, in this chapter the ideas

of state-space design are illustrated using single-input, single-output systems.

One approach in modern control systems accomplished by the use of state feed-

back is known as pole-placement design. The pole-placement design allows all roots

of the system characteristic equation to be placed in desired locations. This results in

a regulator with constant gain vector K.

The state-variable feedback concept requires that all states be accessible in a

physical system, but for most systems this requirement is not met; i.e., some of the

states are inaccessible. For systems in which all states are not available for feedback,

a state estimator (observer) may be designed to implement the pole-placement design.

The other approach to the design of regulator systems is the optimal control

problem where a specified mathematical performance criterion is minimized.

8.1. Pole-Placement Design 171

8.1 Pole-Placement Design

The control is achieved by feeding back the state variables through a regulator with

constant gains. Consider the control system presented in the state-variable form

x _(t) = Ax(t) + Bu(t) (8.1)

y (t) = Cx(t)

Consider the block diagram of the system shown in Figure 8.1 with the following state

feedback control

u(t) = Kx(t) (8.2)

where K is a 1  n vector of constant feedback gains. The control system input r (t)

is assumed to be zero. The purpose of this system is to return all state variables to

values of zero when the states have been perturbed.

....................................................................................................................... ..... .

.........

......

.



 

................................................................................................................................................................................................................................................................................................................................................ ..... .

.........

......

.

Plant

................................................................................... ..... .

.........

......

.

. .. ... .. ... .. ... .. ... .. ... .. ... .. ... ..............................................................................................................................................................................................

......

..

........... .....

k

n

....................................................... ..

...

....

....

...

....

....

...

....

....

...

....

...

....

....

...

....

...

....

....

...

....

... ..... ...... ....

.. ... ... ... ... ..

. .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... ..........................................................................................................................................................

......

..

........... .....

k

................................................................................................................................................ ..

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...... ... .... ......

... ... .. ... .. ...

. .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... ......................................................................................................................

......

..

........... .....

k

........................................................................................................................................................................................................................................................................................................................................................................ ...

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

.. .. ... ... .. ... ..

. .. ... ... .. ... ..

r (t) = 0 u(t) y (t)

x

n

(t)

   x

(t) x

(t)

FIGURE 8.

Control system design via pole placement.

Substituting (8.2) into (8.1), the closed-loop system state-variable representation

is

x _(t) = (A BK )x(t) = A

f

x(t) (8.3)

The closed-loop system characteristic equation is

jsI A + BKj = 0 (8.4)

Assume the system is represented in the phase variable canonical form as follows

2 6 6 6 6 6 6 4

x _

x _

.

.

.

x _

n 1

x _

n

3 7 7 7 7 7 7 5

=

2 6 6 6 6 6 6 4

0 1 0 : : : 0

0 0 1 : : : 0

.

.

.

0 0 0 : : : 1

a

0

a

a

: : : a

n 1

3 7 7 7 7 7 7 5 2 6 6 6 6 6 6 4

x

x

.

.

.

x

n 1

x

n

3 7 7 7 7 7 7 5

+

2 6 6 6 6 6 6 4

0

0

.

.

.

0

3 7 7 7 7 7 7 5

u(t)

(8.5)

172 8. Modern Control Design

Substituting for A and B into (8.4), the closed-loop characteristic equation for the

control system is found

jsI A + BKj = s

n

+ (a

n 1

+ k

n

)s

n 1

  •    + (a

+ k

)s + (a

0

+ k

) = 0 (8.6)

For the specified closed-loop pole locations 

; : : : ; 

n

, the desired charac-

teristic equation is

c

(s) = (s + 

)    (s + 

n

) = s

n

+

n 1

s

n 1

  •    +

s +

0

= 0 (8.7)

The design objective is to find the gain matrix K such that the characteristic

equation for the controlled system is identical to the desired characteristic equa-

tion. Thus, the gain vector K is obtained by equating coefficients of equations (8.6)

and (8.7).

k

i

=

i 1

a

i 1

(8.8)

If the state model is not in the phase-variable canonical form, we can use the trans-

formation technique of Chapter 3 Section 3.5 to transform the given state model to

the phase-variable canonical form. The gain factor is obtained for this model and then

transformed back to confirm with the original model. This procedure results in the

following formula, known as Ackermann’s formula.

K =



0 0    0 1



S

1

c

(A) (8.9)

where the matrix S is given by

S =



B AB A

B : : : A

n 1

B



(8.10)

and the notation

c

(A) is given by

c

(A) = A

n

+

n 1

A

n 1

  •    +

A +

0

I (8.11)

The function [K, A

f

] = placepol(A, B, C, p) is developed for the pole-placement

design. A, B, C are system matrices and p is a row vector containing the desired

closed-loop poles. This function returns the gain vector K and the closed-loop system

matrix A

f

. Also, the MATLAB Control System Toolbox contains two functions for

pole-placement design. Function K = acker(A, B, p) is for single input systems, and

function K = place(A, B, p) , which uses a more reliable algorithm, is for multi-input

systems.

The condition that must exist to place the closed-loop poles at the desired lo-

cation is to be able to transform the given state model into phase-variable canonical

form. That is, the controllability matrix S, given in (8.10), must have a nonzero deter-

minant. This characteristic is known as controllability.

Example 8.

For the plant

2

4

x_

x _

x _

3

5

=

2

4

1 0 0

1 2 0

3

5

2

4

x

x

x

3

5

+

2

4

0

0

3

5

u

8.1. Pole-Placement Design 173

y =





x

design a state feedback control to place the closed-loop pole at 3  j 4 and 8.

Obtain the initial condition response, given x

(0) = 1 , x

(0) = 1 and x

(0) = 1.

The following commands

A=[-1 0 0; -1 -2 0; 1 0 0];

B=[1; 0; 0];

C=[1 1 0 ]; D=0;

j=sqrt(-1);

P=[-3+j4 -3-j4 -8]; % desired closed-loop poles

[K,Af]=placepol(A,B,C,P); % returns gain K and closed-loop

% system matrix

% initial condition response

t=0:.02:2;

r=zeros(1,length(t)); % generates a row of zero input

x0=[1 1 -1]; % initial state

[y,x]=lsim(Af, B, C, D, r, t, x0); % initial state response

subplot(2,2,1), plot(t, x(:,1)),title('x_1(t)'), grid

subplot(2,2,2), plot(t, x(:,2)),title('x_2(t)'), grid

subplot(2,2,3), plot(t, x(:,3)),title('x_3(t)'), grid

subplot(2,2,4), plot(t, y),title('y(t)'), grid

subplot(111)

result in

Feedback gain vector K

Uncompensated Plant

Transfer function:

s^2 + s

-----------------

s^3 + 3 s^2 + 2 s

Compensated system closed-loop

Transfer function:

s^2 + s

-------------------------

s^3 + 14 s^2 + 73 s + 200

Compensated system matrix A - B*K

-12 -51 -

-1 -2 0

The results are given in Figure 8.2.

174 8. Modern Control Design

0 0.5 1 1.5 2

− 2

0

x

(t)

0 0.5 1 1.5 2

−0.

0

0.

x

(t)

0 0.5 1 1.5 2

− 1

−0.

0

0.

x

(t)

0 0.5 1 1.5 2

− 2

0

y(t)

FIGURE 8.

Initial condition response for Example 8.1.

Example 8.

A single-input single-output plant has the transfer function

G(s) =

s(s + 1)(s + 4)

Obtain a state model for the plant and design a state feedback that will place the

closed-loop pole at 2  j 2 and 5. Also, obtain the closed-loop transfer function

for the controlled system.

The following commands

num=4; den=[1 5 4 0];

[A, B, C, D]=tf2ss(num, den) % converts transfer function

% to state model

j=sqrt(-1);

P=[-2+j2 -2-j2 -5]; % desired closed-loop poles

[K,Af]=placepol(A,B,C,P); % returns gain K & closed-loop

% system matrix

result in

A =

-5 -4 0

8.2. Controllability 175

B =

0

0

C =

D =

0

Feedback gain vector K

Uncompensated Plant

Transfer function:

-----------------

s^3 + 5 s^2 + 4 s

Compensated system closed-loop

Transfer function:

-----------------------

s^3 + 9 s^2 + 28 s + 40

Compensated system matrix A - B*K

-9 -28 -

From the above results the closed-loop transfer function for the controlled plant is

T (s) =

C (s)

R (s)

=

s

+ 9 s

+ 28 s + 40

8.2 Controllability

A system is said to be controllable when the plant input u can be used to transfer

the plant from any initial state to any arbitrary state in a finite time. The plant de-

scribed by (8.1) with the system matrix having dimension n  n is completely state

controllable if and only if the controllability matrix S in (8.10) has a rank of n. The

function S=cntrable(A, B) is developed which returns the controllability matrix S

and determines whether or not the system is state controllable.

8.3 Observer Design

In the pole-placement approach to the design of control systems, it was assumed that

all state variables are available for feedback. However, in practice it is impractical to

install all the transducers which would be necessary to measure all of the states. If the

state variables are not available because of system configuration or cost, an observer

176 8. Modern Control Design

....................................................................................................... ........ ...

............

....



 

.......................................................................................................................................................................................................................................................................................... ........ ...

............

....

Plant

....................................................................................................... ........ ...

............

.... . .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ......

..

...

...

..

...

...

..

...

...

..

...

. .. ... .. ... .. ... .. ... .. .. ... ... .. ... .. .. ... ... .. ... .. .. ... ... .. ... .. .. ... .. ... ... .. .. ... .. ... ... ................................................................................................................................................................

..... ....... ...... ...

Observer

. ... .. .. ... ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... ..............................................................

..... ........ ...... ..

Controller

....................................................................

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

...

..

.. .. ... .. ... ... ..

. .. ... .. ... ... ..

r (t) = 0 u(t) y (t)

Estimated

State x_

FIGURE 8.

State feedback design with an observer.

or estimator may be necessary. The observer is an estimator algorithm based on the

mathematical model of the system. The observer creates an estimate x^ (t) of the states

from the measurements of the output y (t). The estimated states, rather than the actual

states, are then fed to the controller. One scheme is shown in Figure 8.3.

Consider a system represented by the state and output equations

x _(t) = Ax(t) + Bu(t) (8.12)

y (t) = Cx(t) (8.13)

Assume that the state x(t) is to be approximated by the state ^x(t) of the dynamic

model

_

^x(t) = A ^x(t) + Bu(t) + G(y (t) y^ (t)) (8.14)

y ^ (t) = C ^x(t) (8.15)

Subtracting (8.14) from (8.12), and (8.15) from (8.13), we have

( x_(t)

_

^x(t)) = A(x(t) ^x (t)) G(y (t) y^ (t)) (8.16)

(y (t) y^ (t)) = C(x(t) ^x(t)) (8.17)

where x(t) ^x(t) is the error between the actual state vector and the estimated vec-

tor, and y (t) y^ (t) is the error between the actual output and the estimated output.

Substituting the output equation into the state equation, we obtain the equation for the

error between the estimated state vector and the actual state vector.

e _(t) = (A GC)e(t) = A

e

e(t) (8.18)

where

e(t) = x(t) ^x(t) (8.19)

If G is chosen such that eigenvalues of matrix A GC all have negative real parts,

then the steady-state value of the estimated state vector error e(t) for any initial con-

dition will tend to zero. That is, ^x(t) will converge to x(t). The design of the observer

is similar to the design of the controller. However, the eigenvalues of A GC must

8.3. Observer Design 177

be selected to the left of the eigenvalues of A. This ensures that the observer dynamic

is faster than the controller dynamic for providing a rapid updated estimate of the state

vector.

The estimator characteristic equation is given by

jsI A + GCj = 0 (8.20)

For a specified speed of response, the desired characteristic equation for the

estimator is

e

(s) = s

n

+

n 1

s

n 1

  •    +

s +

0

= 0 (8.21)

Thus, the estimator gain G is obtained by equating coefficients of (8.20) and

(8.21). This is identical to the pole-placement technique, and G is found by the appli-

cation of Ackermann’s formula

G =

e

(A)

2

6

6

6

4

C

C A

.

.

.

C A

n 1

3

7

7

7

5

1

2

6

6

6

4

0

0

.

.

.

3

7

7

7

5

(8.22)

and the notation

e

(A) is given by

e

(A) = A

n

+

n 1

A

n 1

  •    +

A +

0

I (8.23)

The function [G, A

e

] = observer(A, B, C, p

e

) is developed for the estimator. p

e

is

the desired estimator eigenvalues. This function returns the gain vector G and the

closed-loop system matrix A

f

.

The necessary condition for the design of an observer is that all the states can

be observed from the measurements of the output. This characteristic is known as

observability.

Example 8.

For the plant



x_

x _



=



 

x

x



+



0



u

y =





x

design a full-state observer such that the observer is critically damped with eigenval-

ues at 8 and 8.

The following commands

A=[ 0 1; 16 0];

B=[0; 1];

C=[1 0]; D=0;

Pe=[-8 -8]; % desired observer eigenvalues

[K,Ae]= observer(A,B,C,Pe); % returns gain K and closed-loop

result in

178 8. Modern Control Design

Estimator gain vector G

Open-loop Plant

Transfer function:

--------

s^2 - 16

Error matrix A - G*C

8.4 Observability

A system is said to be observable if the initial vector x(t) can be found from the

measurement of u(t) and y (t). The plant described by (8.12) is completely state ob-

servable if the inverse matrix in (8.22) exists. The function V=obsvable(A, C) returns

the observability matrix V and determines whether or not the system is state observ-

able.

8.5 Combined Controller-Observer Design

Consider the system represented by the state and output equations (8.12) and (8.13)

with the state feedback control based on the observed state x^(t) given by

u(t) = K ^x(t) (8.24)

Substituting in (8.12), the state equation becomes

x _(t) = (A BK)x (t) + BKe(t) (8.25)

Combining the above equation with the error equation given by (8.19), we have



x_(t)

e_(t)



=



A BK BK

0 A GC

 

x(t)

e(t)



(8.26)

The function [K, G, A

c

] = placeobs(A, B, C, p, p

e

) is developed for the com-

bined controller-observer design. A is the system matrix, B is the input column vector,

and C is the output row vector. p is a row vector containing the desired closed-loop

poles and p

e

is the desired observer eigenvalues. The function displays the gain vec-

tors K and G , open-loop plant transfer function, and the controlled system closed-loop

transfer function. Also, the function returns the gain vector K , and the combined sys-

tem matrix in (8.26).

8.5. Combined Controller-Observer Design 179

Example 8.

For the system of Example 8.3, design a controller-observer system such that the

desired closed-loop poles for the system are at 1  j 2. Choose the eigenvalues of

the observer gain matrix to be p

e

= p

e

= 8.

The following commands

A=[ 0 1; 16 0];

B=[0; 1];

C=[1 0]; D=0;

j=sqrt(-1);

P=[-1+j2 -1-j2]; % desired regulator roots

Pe=[-8 -8]; % desired observer roots

[K,G,Af]= placeobs(A,B,C,P,Pe); % returns gain K,G & closed-loop

% system matrix

result in

Feedback gain vector K

Estimator gain vector G:

Open-loop Plant

Transfer function:

--------

s^2 - 16

Controller-estimator

Transfer function:

496 s + 2192

----------------

s^2 + 18 s + 117

Controlled system closed-loop

Transfer function:

496 s + 2192

------------------------------------

s^4 + 18 s^3 + 101 s^2 + 208 s + 320

Combined controller observer system matrix

-5 -2 21 2

0 0 -16 1

0 0 -64 0

From the above results the controller-observer transfer function is

G

ce

=

496 s + 2192

s

+ 18 s + 117

The closed-loop transfer function for the controlled plant is

T (s) =

C (s)

R (s)

=

496 s + 2192

s

+ 18 s

+ 101 s

+ 208 s + 320

180 8. Modern Control Design

8.6 Optimal Regulator Design

The object of the optimal regulator design is to determine the optimal control law

u



(x; t) which can transfer the system from its initial state to the final state (with zero

system input) such that a given performance index is minimized. The performance

index is selected to give the best trade-off between performance and cost of control.

The performance index that is widely used in optimal control design is known as the

quadratic performance index and is based on minimum-error and minimum-energy

criteria.

Consider the plant described by

x _(t) = Ax(t) + Bu(t) (8.27)

The problem is to find the vector K (t) of the control law

u(t) = K(t)x(t) (8.28)

which minimizes the value of a quadratic performance index J of the form

J =

Z

t

f

t

0

(x

0

Qx + u

0

Ru)dt (8.29)

subject to the dynamic plant equation in (8.27). In (8.29) Q is a positive semidefinite

matrix and R is a real symmetric matrix. Q is positive semidefinite if all its principal

minors are nonnegative. The choice of the elements of Q and R allows the relative

weighting of individual state variables and individual control inputs.

To obtain a formal solution, we can use the method of Lagrange multipliers.

The constraint problem is solved by augmenting (8.27) into (8.29) using an n-vector

of Lagrange multipliers , . The problem reduces to the minimization of the following

unconstrained function

L(x; ; u; t) = [x

0

Qx + u

0

Ru] + 

0

[Ax + Bu x_] (8.30)

The optimal values (denoted by the subscript ) are found by equating the partial

derivatives to zero.

@ L

@ 

= AX



+ Bu



x_



= 0 ) x_



= AX



+ B u



(8.31)

@ L

@ u

= 2 Ru



+ 

0

B = 0 ) u



=

R

1



0

B (8.32)

@ L

@ x

= 2 x

0



Q+

_



0

+ 

0

A = 0 )

_

 = 2 Qx



A

0

 (8.33)

Assume that there exists a symmetric, time varying positive definite matrix p (t) satis-

fying

 = 2 p(t)x



(8.34)

Substituting (8.34) into (8.32) gives the optimal closed-loop control law

u



(t) = R

1

B

0

p(t)x



(8.35)

8.6. Optimal Regulator Design 181

Obtaining the derivative of (8.34), we have

_

 = 2( p_ x



+ p x_



) (8.36)

Finally equating (8.33) with (8.36), we obtain

p _(t) = p(t)A A

0

p(t) Q + p(t)BR

1

B

0

p(t) (8.37)

The above equation is referred to as the matrix Riccati equation. The boundary

condition for (8.37) is p(t

f

) = 0. Therefore, (8.37) must be integrated backward in

time. Since a numerical solution is performed forward in time, a dummy time variable

 = t

f

t is replaced for time t. Once the solution to (8.37) is obtained the solution

of the state equation (8.31) in conjunction with the optimum control equation (8.35)

is obtained.

The function [  , p, K, t, x]=riccati is developed for the time-domain solution of

the Riccati equation. The function returns the solution of the matrix Riccati equation,

p( ), the optimal feedback gain vector k( ), and the initial state response x(t). In or-

der to use this function, the user must declare the function [A; B; Q; R; t

0

; t

f

; x

0

] =system

(A; B; Q; R; t

0

; t

f

; x

0

) containing system matrices and the performance index ma-

trices in an M-file named system.m.

For linear time-invariant systems, since p_ = 0 , when the process is of infinite

duration, that is t

f

= 1 , (8.37) reduces to the algebraic Riccati equation

pA + A

0

p + Q pBR

1

B

0

p = 0 (8.38)

The MATLAB Control System Toolbox function [k, p]=lqr2(A, B, Q, R) can be

used for the solution of the algebraic Riccati equation.

Example 8.

Design a state feedback system for the plant described by



x_

x _



=

2

4

0 4 5

3

5

2

4

x

x

x

3

5

+

2

4

0

0

3

5

u

y =





x

Find the optimal control law to minimize the performance index

J =

Z

0



4 x

(t) + 3 x

+ 2 x

+

u



dt (8.39)

The admissible states and control values are unconstrained. The states are initially at

x

(0) = 2 , x

(0) = 0 and x

(0) = 2. For this system we have

A =

2

4

0 4 5

3

5

; B =

2

4

0

0

3

5

; Q =

2

4

3

5

; and R =

First an M-file named system.m is created and the function [A, B, Q, R, t

0

; t

f

; x

0

) =

system (A, B, Q, R, t

0

; t

f

; x

0

) is defined as follows.

182 8. Modern Control Design

− 2

0

Vector K(t) of the control law u(t)=−k(t)x(t)

− 2

− 1

0

Initial state response x

, x

, x

FIGURE 8.

Optimal feedback gain vector K (t) and initial condition response x (t).

function [A,B,Q,R,t0,tf,x0]=system(A,B,Q,R,t0,tf,x0)

A=[0 1 0; 0 0 1;0 -4 -5]; B=[0;0; 1];

Q=[4 0 0; 0 3 0;0 0 2]; R=.5;

t0=0; tf=15;

x0=[2 0 -2];

The above function is saved in an M-file named system.m. Then, the following com-

mands

[tt,p,k,t,x]=riccati

subplot(2,1,1), plot(tt,k),

title('Vector K(t) of the control law u(t)=-k(t)x(t)'),

grid,

subplot(2,1,2), plot(t,x),

title('Initial state response x_1, x_2, x_3'), grid

subplot(111)

result in the control law and the response is given in Figure 8.4.

Example 8.

For Example 8.5 use the MATLAB Control System Toolbox lqr2 to obtain the solution

to the algebraic Riccati equation.

The following commands

8.6. Optimal Regulator Design 183

A=[0 1 0; 0 0 1;0 -4 -5]; B=[0;0; 1];

Q=[4 0 0; 0 3 0;0 0 2];R=.5;

[K, p]=lqr2(A,B,Q,R)

result in

K =

2.8284 3.4780 0.

p =

10.5755 8.4801 1.

8.4801 11.0060 1.

1.4142 1.7390 0.