Sunteți pe pagina 1din 79

Tracking and Disturbance Rejection

Reference tracking by full-information and output-feedback


A substantial generalization: The regulation problem
The regulator equation
Disturbance estimators
Regulation by full-information and output-feedback
Extension to general signal models
The general regulator theory
Detailed discussion of motor example
Related Reading
[KK]: 7.4 [AM]: 3 (examples), 6.4
1/79

Tracking
So far we have concentrated on (asymptotically) steering the state of a
system to an equilibrium, possibly in an optimal fashion according to an
integral quadratic cost criterion.
In practice it is often required to steer some output of the system to
a specific location as desired by a user. Examples:
Pilot: Moving the joystick forward in order to let aircraft tilt forward
to the specified angle.
Car driver: Pushing the gas-pedal to a certain position such that the
car drives with a desired speed.
Manufacturing: Letting a welding robot follow a path on a car body.
Abstract Task: Design a controller such that a specified system
output z follows an external reference signal r as well as possible.
2/79

The Classical Tracking Configuration


Consider the following system H, also called to-be-controlled plant:
u

Suppose that z should follow the external reference signal r. Idea:


Compute the error signal e = r z. If e = 0 no action is required.
If e 6= 0 then generate a control signal u to drive e back to zero.
This should be achieved with an error feedback controller u = Ke.
The error signal e is the information available to the controller.
The controlled system can clearly be depicted as
r

3/79

Example: Water Heater


With input voltage u, water temperature T and surrounding temperature
S as well as the thermal capacitance C > 0 of water and the thermal
resistance R > 0 of the wall, a simple model is C T + R1 (T S) = u.
For some nominal temperature value S0 of S (such as 20 degrees Celsius)
set x = T S0 and d = S S0 . This leads to the system
x = ax + bu + bd d.
with positive constants a, b, bd . We intend to control x which motivates
to introduce the following output:
z = cx with c = 1.
Let us emphasize the following interpretations:
u is the control input variable manipulated by the controller.

d is a disturbance input that cannot be influenced by control.


z is the to-be-controlled signal/output/variable.

4/79

Example: Water Heater


Let us consider the situation that d = 0. We then get
x = ax + bu, z = cx.
The simplest error feedback controller is defined by a constant gain:
u = k(r z).
The controlled system clearly is
x = (a + bkc)x + bkr, z = cx.
Obvious facts:
k stabilize the system iff k > a/(bc).
If r = r0 is a constant reference value, the output converges to
cbk
z0 =
r0 .
a + bkc
We have z0 = r0 iff cbk/(a + bkc) = 1. This cannot be achieved!
5/79

Example: Water Heater


Remedy 1: High-gain feedback
If we let k grow large, the steady-state error


a
|r0 | can be rendered small.

|r0 z0 | =
a + bkc
We cannot obtain exact asymptotic tracking. But still we achieve
+ stabilization and approximate tracking
+ both properties are robust: essentially independent of values of a, b, c
However, this comes along with disadvantages:
large errors lead to large control actions
small tracking errors require high-gain
high-gains could destabilize more complicated systems
Good design framework: H -synthesis (Robust Control)

6/79

High-Gain Feedback: C = 1, R = 10, = 1

temperature

temperature

Step responses from reference r to z and u:


0.8
0.6
0.4
0.2
0

k=1
k=2
k=5
k = 10
k = 20
0

0.5

1.5
time

2.5

10
8
6
4
2
0

0.1

0.2

0.3

0.4

0.5 0.6
time

0.7

0.8

0.9

1
7/79

Example: Water Heater


Ingenious remedy 2: Incorporate integral action
Proportional integral (PI) controller with gains kp and ki :
Z t
u(t) = kp e(t) + ki
e( ) d with e(t) = r(t) z(t).
0

A state-space description is
x K = 0xK + 1(r z), u = ki xK + kp (r z), xK (0) = 0.
The controlled system reads as




 

x
a bkp c bki
x
bkp
=
+
r
x K
c
0
xK
1



x
z = c 0
xK
If kp and ki render the controlled system asymptotically stable then
the PI controller achieves exact tracking.
8/79

PI Control: C = 1, R = 10, = 1

temperature

Step responses from reference r to z and u for ki = 1:


1
0.5
0

temperature

k=1
k=2
k=5
k = 10
k = 20
0

0.5

1.5
time

2.5

10
8
6
4
2
0

0.1

0.2

0.3

0.4

0.5 0.6
time

0.7

0.8

0.9

1
9/79

Example: Water Heater


Remedy 3: Assume that both z and r are available for control
We stress that, in practice, this might or might not be possible!
A two-degrees of freedom controller with a static feedback gain
kp and a static feedforward-gain kf is defined as
u = kp (r z) + kf r.
Design strategy:
Choose kp such that u = kp (r z) stabilizes the system.

Adjust kf such that the steady-state gain of the system is 1.

Questions:
Under which conditions on the system is this strategy applicable?
How can we generalize to multivariable systems of higher order?

10/79

Example: Water Heater


With u = kp (r z) + kf r the controlled system clearly is
x = (a + bkp c)x + bkp kf r, z = cx.
Design:
Choose and kp 6= 0 such that (a + bkp c) < 0.
Then the steady state-response of z for the controlled system and
with constant r is given by
cbkp
z=
kf r.
a + bkp c
Since cb 6= 0 we can take kf for which the steady-state gain is 1.
The choice of kf depends on the system parameters. If the controller is
implemented on a system with different values of a, b, c, then kf will
most probably not be the correct feed-forward gain to achieve tracking.
11/79

2-DOF Design: C = 1, R = 10, = 1

temperature

temperature

Step responses from reference r to z and u for ki = 1:


1
0.8
0.6
0.4
0.2
0

k=1
k=2
k=5
k = 10
k = 20
0

0.5

1.5
time

2.5

10
8
6
4
2
0

0.1

0.2

0.3

0.4

0.5 0.6
time

0.7

0.8

0.9

1
12/79

The Tracking Problem


Let us hence consider a system
x = Ax + Bu
y = Cx + Du
z = Cz x + Dz u
with a measurement output y which is available for control, and some
to-be-controlled output z which should track the reference. Note that
z can - but must not - be a copy of y (C = Cz and D = Dz )!
Goal: Design a controller which stabilizes the system and for which
z asymptotically tracks all constant reference signals r:
lim [r z(t)] = 0.

In order to be able to stabilize the system we assume from now on that


(A, B) is stabilizable and (A, C) is detectable.
13/79

Block Diagram and Controller Structure


The uncontrolled system can be depicted as
u

z
H

We need to specify a controller structure with which the goal should be


achieved. We opt for a general two-degrees of freedom controller
r
uK

yK

The controlled system is obtained with u = yK and uK = y as


r
K

z
H

y
14/79

Tracking by Full-Information Feedback


We start with the assumption y = x (which amounts to C = I, D = 0).
A linear static full-information controller is described by
 
 x
u = F x + Gr = F G
r
with to-be-chosen gain matrices F and G. How should they be designed?
The controlled system is described as
x = (A BF )x + BGr, z = (Cz Dz F )x + Dz Gr.
Since the system should be stabilized, we choose F such that A BF
is Hurwitz. Then the steady-state response for constant r is
z = [Dz (Cz Dz F )(A BF )1 B]Gr.
For asymptotic tracking we would like to guarantee that z = r for all
possible constant reference inputs r. This requires to take G with
[Dz (Cz Dz F )(A BF )1 B]G = I.

(?)
15/79

Motor Example
Let us consider the normalized model of a DC-motor ([F] p.20) with the
applied voltage and the shaft-angle as its input and output:


 
 

0 1
0

x =
x+
u, y = z = 1 0 x, x =
.
0 1
1

With a state-feedback gain F satisfying eig(A BF ) = {2 i}, the


feedforward gain is G = 5. Simulated responses ((0) = 1, (0) = 0):
Control action

10
0
10
0

4
6
Reference (red) and output

10

10

2
0
2
0

16/79

Tracking by Output-Feedback
If x is not measurable (y 6= x), we can choose L such that A LC is
Hurwitz and design the observer
x = A
x + Bu + L(y y), y = C x + Du
in order to asymptotically reconstruct the state. Then the separation
principle motivates to control the system - with the gains F and G
designed for full-information feedback - as
u = F x + Gr.
The constructed output-feedback controller (based on the measured
signals r and y) stabilizes the system and achieves tracking.
We conclude that the separation principle holds: We can combine a
full-information controller with an observer to obtain an output-feedback
controller that achieves the desired task.
17/79

Proof
The dynamics of the estimation error x = x x are described by

x = x x = Ax + Bu A
x Bu L(y y) = (A LC)
x.

Since u = F x+F x +Gr, the controlled system admits the description


  
  

x
A BF
BF
x
BG
=
+
r,
0
A LC
x
0
x
 
 x
z = Cz Dz F Dz F
+ Dz Gr.
x
Since A BF and A LC are Hurwitz, the closed-loop system is
asymptotically stable. Then note that the reference input does not drive
the estimation error dynamics! Therefore the steady-state value of the
output z is, as for full-information feedback, still simply given by
[Dz (Cz Dz F )(A BF )1 B]Gr.
Due to the choice of G this indeed equals r.
18/79

Motor Example
Placing the error dynamics eigenvalues at 8 4i leads to the following
response for output-feedback control:
Control action (fi: blue, of: green)
20
0
20
0

2
4
6
8
Reference (red) and output (fi: blue, of: green)

10

2
0
2
0

10
19/79

Employed Implementations
Full-information control:
r

x = Ax + Bu
z = Cz x + D z u
y=x

x
F

Output-Feedback Control:
r

x = Ax + Bu
z = Cz x + D z u
y = Cx + Du

y
x
= (ALC)
x +(B LD)u+Ly
v = Fx

20/79

My Matlab Code

A=[0 1;0 -1];B=[0;1];Ch=[1 0];Dh=0;C=Ch;;D=Dh;x0=[-1;0];


p=[-2+i;-2-i];F=place(A,B,p);G=1/(Dh-(Ch-Dh*F)*inv(A-B*F)*B);
L=place(A,C,4*p);
%observer: inputs u,y
ob=ss(A-L*C,[B-L*D L],F,0);xc0=[0;0];
%system for simulation: inputs r,u outputs u,z,r,u,y
z=[0 0];sy=ss(A,[z B],[z;Ch;[z;z];C],[0 1;0 Dh;eye(2);0 D]);
%controller: inputs r u y
co=[G -ob];cl=lft(sy,co); %nice command for closing loops!
t=linspace(0,10,1e3);r=square(t);[y,to]=lsim(cl,r,t,[x0;xc0]);
figure(1);np=2;subplot(np,1,1);plot(to,y(:,1));grid on;
title(Control action)
subplot(np,1,2);plot(to,y(:,2),t,r,r);grid on;
title(Reference (red) and output);
21/79

Some Reflections
We obtained a recipe for designing tracking controllers. However, we
have not yet gotten any insights under which conditions the procedure
is successful at all.
Questions to be discussed in the upcoming regulator theory:
What are the precise conditions for the existence of G? Is it depending
on the choice of F whether we can construct G?
Is it possible to design tracking controllers even if r is not measurable?
For example, one can often only measure the tracking error y = z r.
In addition to tracking, can we also reject disturbances?
Can one track other than constant signals? Interesting practical cases
are ramps or sinusoidal signals of a specified frequency.
22/79

Solvability Condition
Note that equation (?) can be re-written with = (A BF )1 BG
as (Cz Dz F ) + Dz G = I. Hence
(A BF ) + BG = 0 and (Cz Dz F ) + Dz G = I
which is easily re-arranged to
A + B(G F ) = 0 and Cz + Dz (G F ) I = 0.
With = G F we finally arrive at the so-called regulator equation

  

A B

0
+
= 0.
Cz Dz

I
The existence of a solution to this equation is the precise condition
for the existence of a tracking controller! We already proved necessity.
If and are solutions and F renders ABF Hurwitz, set G = +F
and reverse the arguments to obtain (?) (which proves sufficiency).
23/79

Example: Water Heater


The tracking controller on slide 12 was designed without taking a possible deviation of d from zero into account. Lets see what happens if the
room temperature is not equal to S0 such that d 6= 0. The controlled
system then reads as
x = (a + bkp c)x + bkp kf r + bd d, z = cx.
If a + bkp c > 0, the steady-state response for constant r, d is
z=r+

cbd
d.
a + bkp c

Clearly a nonzero disturbance d spoils the tracking behavior.


Questions:
Can we design a controller that achieves tracking irrespective of d?
If not, does it help if buying a sensor in order to measure d?
24/79

A Leap Forward: The Regulation Problem


Let us now substantially generalize the discussed scenario. Consider
x = Ax + Bu + Bd d
y = Cx + Du + Dd d
e = Ce x + De u + Ded d.
This so-called generalized plant has some control input u and a
measurement output y. Moreover it is affected by a generalized
disturbance d and specifies a performance output e.
Regulation Problem: Design a feedback controller
x K = AK xK + BK y, u = CK xK
which stabilizes the controlled system and which achieves regulation
for constant generalized disturbances d:
lim e(t) = 0.

We also say that d is asymptotically rejected from e or suppressed at e.


25/79

Block Diagram and Controller Structure


The uncontrolled system can be depicted as
d

e
P

The intention is to design a feedback controller


yK

uK

The controlled system is obtained with u = yK and uK = y as


d

e
P

y
K
26/79

Special Problem 1: Reference Tracking


The reference tracking problem as on slide 13 for the system
+ Du,

x = Ax + Bu, y = Cx
z = Cz x + Dz u

(System)

is subsumed to the regulation problem for the generalized plant


x = Ax + Bu + 0d
 
 
 

0
C
D
y =
x+
u+
d
I
0
0
e = Cz x + Dz u + (I)d.
Here d admits the interpretation as a reference signal. Observe that
d does not directly affect the plants state.
+ Du
and d. It could
The measurement output is a stacking of Cx
as well consist of other linear combinations of these signals.
The performance output e is the tracking error Cz x+Dz ud. Clearly
Cz x + Dz u asymptotically tracks d iff e(t) 0 for t .

27/79

Special Problem 2: Disturbance Rejection


The input d is called generalized disturbance since it can consist of
known components (such as reference signals) and real disturbances
that are caused by unknown sources (such as measurement noise).
Then Bd , Dd , Ded determine how the disturbance affects the state, the
measurement output and the performance output. Some terminology:
Bd d is often called the process disturbance.
Dd d is the so-called measurement noise.
Ded d is a load disturbance.
Different choices of these matrices offer a high modeling flexibility. For
example, if only modeling measurement noise one would choose Bd =
0, Ded = 0 and take the components of Dd 6= 0 as weights to describe
how much each component of y is affected by the noise d.
28/79

SP 3: Reference Tracking with Measurement Noise


If linear, the controller on slide 14 can be written as





r
r
yK = K
= Kff Kfb
= Kff r + Kfb uK .
uK
uK
The controlled system (uK = y and u = yK ) can be depicted as
r

Kff

z
System
y
Kfb

If y is corrupted by measurement noise we get


r

Kff

z
System
y
Kfb

dy

29/79

Reference Tracking and Disturbance Rejection


The generalized plant for the configuration on slide 29 with (System) is
clearly given by
x = Ax + Bu,
 
 




I 0
dy
C
D
y =
x+
u+
0 I
r
0
0


 dy
e = Cz x + Dz u + 0 I
r
+ Du
+ Idy and r, while the
The measurement output consists of Cx
generalized disturbance has the components dy and r.
In conclusion, if we can solve the regulation problem on slide 25,
we actually provide a solution to a whole variety of in itself relevant
more special control problems (as in the examples).
Seemingly different design problems are handled in a unified framework.
30/79

Summary on Setup
d is called generalized disturbance since it can include both userspecified as well as unknown externals signals that are not influenced
by control.
y encompasses those signals that are available to the controller for
processing. y can contain components of d in case that these are
available for control.
The generalized plant P on slide 26 encodes information about the
to-be-controlled system and its relation to the desired controller and
system-controller interconnection structure.
Although K on 26 is (formally) a feedback controller, it can consist
of both feedback- and feed-forward components.
Slide 26 depicts a generic abstract design framework that covers a
lot of (and many more than mentioned) interconnection structures.
31/79

Main Result: Nominal Regulation


Its a beautiful coincidence that, despite this substantially higher level of
generality, the previous solution approach extends without much effort.
Theorem 1 Let (A, B) be stabilizable and the regulator equation

  

A B

Bd
+
=0
(R0)
Ce De

Ded
have a solution. Then there exist static gains F , G such that the fullinformation controller u = F x+Gd solves the regulation problem.
Solvability of the regulator equation is also a necessary condition!
The gains are designed as follows:
Choose any F such that A BF is Hurwitz.
If and are solutions of the regulator equations then set
G := + F .
32/79

Alternative Proof for Full-Information Feedback


The controlled system is
x = (A BF )x + BGd + Bd d,

e = (Ce De F )x + De Gd + Ded d.

Asymptotic stability: If d = 0 then lim x(t) = 0 for any x(0).


t

To show regulation let us perform the transformation = x d. Due


to d = 0 and x = + d the closed-loop system admits the description
= (A BF ) + [(A BF ) + BG + Bd ] d = (A BF ),
|
{z
}
A+B+Bd =0

e = (Ce De F ) + [(Ce De F ) + De G + De d] d = (Ce De F ).


|
{z
}
Ce +De +Ded =0

Regulation: lim e(t) = 0 for any constant disturbance d and x(0).


t

33/79

Motor Example
Let the motor on slide 16 be affected by a torque disturbance:


 
 

0 1
0
0
x =
x+
u+
d, y = e = 1 0 x.
0 1
1
1

A full information controller u = F x + Gd acts as follows:


Disturbance
4
2
0
0

10

10

10

Control
5
0
5
0

4
6
Regulated Output

0.2
0
0.2
0

However this controller cannot be implemented - only y is measurable.

34/79

Main Result: Nominal Regulation


Theorem 2 Let (A, B) be stabilizable and (A, C) be detectable.
Moreover suppose that


A Bd
has full column rank
(D)
C Dd
and that the regulator equation (R0) is solvable. Then the regulation problem by output-feedback has a solution.
Stabilizability of (A, B) and detectability of (A, C) are required for constructing stabilizing controllers. The role of (D) will become clear in the
constructive proof with an algorithm for controller design.
Note that the to-be-solved regulator equations are identical for fullinformation and output-feedback control.
For special configurations the hypothesis are often seen to be always
satisfied or they admit nice system theoretic interpretations.

35/79

Disturbance Estimators
Since we are only allowed to use y for control, we try to exploit the
separation principle for designing an output-feedback regulator. This
requires to design an observer that asymptotically reconstructs both the
system state x and the disturbance signal d from y. For this purpose we
include the model for the considered class of disturbances d = 0
in the system dynamics. If neglecting e we get the extended system
 

   
x
x
B
A Bd
+
u,
=
d
0
0 0
d
| {z }
| {z }
AE
BE
 
 x
+ Du.
y = C Dd
| {z } d
CE

The desired observer exists if this extended system is detectable.


Lemma 3 (AE , CE ) is detectable if (A, C) is and if (D) holds.
36/79

Proof
By the Hautus-test we need to check whether

A I Bd

0
I has full column rank if Re() 0.
C
Dd
Since (A, C) is detectable, the matrix has full column rank for all 6= 0
with Re() 0.
For = 0 it is required

A
0
C

that

Bd
0 has full column rank,
Dd

which is assured by (D).


Note that detectability of (AE , CE ) also implies that (A, C) is detectable
and that (D) holds.
37/79

Motor Example
Let us design a state- and disturbance estimator for the model on slide 34. The detectability hypothesis is satisfied. A pole-placing observer
for the extended system with eigenvalues {5, 6, 7} leads to
State (blue) and estimate (red)

50
0
50
0
5
0
5
0
5
0
5
0

5
10
15
State (blue) and estimate (red)

20

5
10
15
Disturbance (blue) and estimate (red)

20

10

15

20
38/79

Output Feedback Control


As motivated on slide 36 we design a regulator as follows: Check whether




A Bd
(A, B) is stabilizable and
, C Dd
is detectable;
0 0

  

A B

Bd
the regulator equation
+
= 0 is solvable.
Ce De

Ded
If the answers are yes then choose



A Bd
F , L such that A BF ,
L C Dd are Hurwitz;
0 0
G = + F where , satisfy the regulator equation.
Then the following controller solves the regulation problem:
! 
   
x
x
A Bd
B
+
u + L(y y),
= 0 0

0
d
d
 
 
 x
 x
u = F G
, y = C Dd
+ Du.
d
d
39/79

Proof: Output Feedback Control


If we merge d = 0 with the system dynamics we get the extended system
 

   
x
x
A Bd
B
u,
=
+

d
0 0
0
d
| {z } | {z } | {z }
AE
BE
 xE
 x
y = C Dd
+ Du,
| {z } d
CE
 
 x
e = Ce Ded
+ De u.
| {z } d
CeE

The constructed observer-based controller can then be written as


x E = AE xE + BE u + L(y y), y = CE xE + Du, u = FE xE
where we made use of the abbreviations
 
x
xE =
and FE =
d


F G .

It is now routine to compute the closed-loop dynamics.


40/79

Proof: Output Feedback Control


With the states xE and xE = xE xE they are described by
  
 
 
 xE
x E
AE BE FE BE FE
xE
=
, e = CeE De FE De FE
.
0
AE LCE
xE
xE
x E
Note that x E = ... and e = ... read more explicitly as
x = (A BF )x + (Bd + BG)d + BFE xE ,
d = 0,

(sub)

e = (Ce De F )x + (Ded + De G)d + De FE xE .


We can hence extract the closed-loop interconnection of the original
system and our controller by just canceling d = 0. This leads to




 

x
A BF
BFE
x
Bd + BG
=
+
d,
0
AE LCE
xE
0
x E



x
e = Ce De F De FE
+ (Ded + De G)d.
xE
Lets now check that the controller does the job.

41/79

Proof: Output Feedback Control


Asymptotic stability: Suppose d = 0. Since A BF and AE LCE
are Hurwitz, we infer for arbitrary x(0) and xE (0) that
lim x(t) = 0 and lim xE (t) = 0.

Regulation: Suppose that d is an arbitrary constant disturbance signal.


Since x E = (AE LCE )
xE we then still infer that
lim xE (t) = 0.

Hence the controller acts as a state and disturbance estimator in closedloop (which is practically relevant for diagnosis purposes)! Finally note
that e in (sub) is e1 + e2 where e1 is the output for xE = 0 and e2 is
z = (A BF )z + BFE xE , e2 = (Ce De F )z + De FE xE , z(0) = 0.
Due to the full-information arguments, e1 (t) 0 for t . Since
z(t) 0 (Lemma 4) and thus e2 (t) 0 we infer e(t) 0 for t .
42/79

Proof: Output Feedback Control


Lemma 4 Let A be Hurwitz and suppose that limt v(t) = 0.
Then all solutions of x = Ax + v satisfy limt x(t) = 0.

43/79

Motor Example
Let us design an output-feedback controller for the motor example on
slide 38 that rejects the torque disturbance from e = . All hypothesis
are satisfied. A regulating controller leads to the following results:
Disturbance
4
2
0
0

10
Control

15

20

10
Regulated Output

15

20

10

15

20

5
0
5
0
0.5
0
0.5
0

44/79

Motor Example
Suppose that, in addition to disturbance rejection, should as well track
a reference signal. This can be subsumed to our problem and, still, all
hypothesis are satisfied. We obtain the following simulation results:
Disturbance and Reference (red)
5
0
5
0

10

15

20

25

10
15
Tracked Output

20

25

10

20

25

Control
10
0
10
0
2
0
2
0

15

45/79

My Matlab Code
A=[0 1;0 -1];B=[0;1];Bd=[0 0;1 0];
Ch=[1 0];Dh=0;Dhd=[0 -1];
C=[1 0;0 0];D=[0;0];Dd=[0 0;0 1];
X=-inv([A B;Ch Dh])*[Bd;Dhd];Pi=X(1:2,:);Ga=X(3:end,:);
p=[-2+i;-2-i];F=place(A,B,p);G=Ga+F*Pi;
Ae=[A Bd;zeros(2,4)];Be=[B;zeros(2,1)];Ce=[C Dd];Fe=[F -G];
L=place(Ae,Ce,[-10 -11 -12 -13]);
z=[0 0];sys=ss(A,[Bd B],[Ch;z;C],[z Dh;z 1;Dd D]);
co=ss(Ae-L*Ce-Be*Fe+L*D*Fe,L,Fe,0);
cl=lft(sys,-co)
t=linspace(0,25,1e3);
d=1*(t>0&t<4)+2*(t>4&t<8)+4*(t>8&t<12)+0*(t>12);
r=square(t/1.5);[y,to]=lsim(cl,[d r],t);
46/79

Signal Models
So far the generalized disturbance signal was assumed to be constant.
This signal set is equal to the solution set of the the differential equation
d = 0.
This system can thus be viewed as a signal model or signal generator.
We are thus lead to immediate generalizations. For example, sinusoidal
signals of frequency are generated by
d = Sd with S =

0
0

St

since e


=

cos(t) sin(t)
sin(t) cos(t)


.

Even more generally, we can work with block-diagonal matrices



 



0 1
0 1
0 s
S = diag
,
,...,
0 0
1 0
s 0

in order to model constants, ramps and sinusoids of frequencies 1 , ..., s .


47/79

Extension of Design Procedure


In our development we can replace d = 0 all throughout by d = Sd. One
can design stabilizing controllers that achieve regulation for all signals
d(t) = eSt d0 with arbitrary unknown d0 Rdim(S)
under the following hypothesis:
1. Persistent disturbances: S has no eigenvalues in C .
2. Existence of stabilizing state-feedback gain: (A, B) is stabilizable.
3. Solvability of regulator equation: There exist and with

   


A B

Bd

S+
= 0.
Ce De

0
Ded

(R)

4. Existence of a state and disturbance estimator:






A Bd
(AE , CE ) :=
, C Dd
is detectable.
0 S
48/79

Extension of Design Procedure


Under the given hypothesis a regulator is designed as follows: Choose



A Bd
F , L such that A BF ,
L C Dd are Hurwitz;
0 S
G = + F where , satisfy the regulator equation (R).
Then the controller
! 

x
A Bd
= 0 S
d
 
 x
u = F G
,
d

x
d


+

y =

B
0

C Dd

u + L(y y),


x
d


+ Du

stabilizes the system and achieves regulation limt e(t) = 0 for all
generalized disturbances satisfying d = Sd.
The proof requires hardly any modification of what has been shown.
49/79

Remarks
1. In view of Lemma 4 it makes sense to consider only non-decaying
disturbances - the others are regulated by all stabilizing controllers.
This justifies the assumption eig(S) C0 C+ .
2. and 3. have been discussed earlier.
4. is too strong. It suffices that (A, C) is detectable and that (Ce Ded )
vanishes on the undetectable subspace of the extended system.
In the practically important situation y = e one can fully dispense
with 4. without any additional conditions.
In the design procedure, L needs to be chosen such that
AE LCe
is maximally stable: The unstable subspace of AE LCE is equal
to the undetectable subspace of (AE , CE ). Such an L can be easily
found after transforming the system into observability normal form.

50/79

Motor Example
Suppose that the disturbance is still constant but that the reference is
cos(t) + sin(t) with arbitrary unknown , R.
This motivates to choose the signal generator

0
0
0 0 0
1
S = 0 0 1 since eSt = 0 cos(t) sin(t) .
0 1 0
0 sin(t) cos(t)

Disturbances are all solutions of d = Sd. Then d1 (t) is the constant


torque disturbance and d2 (t) is the reference signal. Since d3 (t) is irrelevant, we are lead to the following generalized plant used for design:

 



0
0 0 0
0 1
d,
u+
x =
x+
1
1 0 0
0 1




1 0
0 0 0
y =
x+
d,
0 0
0 1 0


e = 1 0 x + 0 1 0 d.

51/79

Motor Example

Clearly (A, B) =

0 1
0 1

0 1 0
0 1 1

(AE , CE ) =
0 0 0
0 0 0
0 0 0

  
0
,
is controllable and
1

0 0


0 0

1
0
0
0
0

0 0
, 0 0 0 1 0 is observable.

0 1
1 0

The regulator equation is

0 1 0     0 0 0
0 0 0
0 1 1 0 0 1 + 1 0 0 = 0

0
1 0 0
0 1 0
0 1 0
and has the solution

0 1 0
= 0 0 1 .
1 1 1

Hence we are sure that we can design a regulator!


52/79

Motor Example
We take F and L with eig(A BF ) = {2 i} and eig(AE LCE ) =
{5, 6, 7, 8, 9}. (These have not been chosen very carefully!)
We obtain the controller

0 10 00
0
19.95 1.43
!
  1
122.53 17.65
0 1 1 0 0 x
x

0 0 0 0 0
0
=
+
u
+

313.9 61.83 (y y),

d
0 0 0 0 1
0
0.15 14.05
0
1.09 47.38
0 0 0 1 0
 

 
 x
x
1 0 0 0 0
u = 5 3 1 4 4
, y =
.

0 0 0 1 0
d
d
For simulations this controller is interconnected with the system


 
 
0 1
0
0
x =
x+
u+
d1 ,
0 1
1
1


 

1 0
0
y =
x+
d2 , z = 1 0 x.
0 0
1

53/79

How Did I Solve the Regulator Equation?


%solve regulator equation with Kronecker algebra
M=[A B;Ch Dh];
n=size(A,1);n1=size(M,1)-n;n2=size(M,2)-n;
As=kron(eye(3),M);
As=As-kron(S,[eye(n) zeros(n,n2);zeros(n1,n) zeros(n1,n2)]);
bs=-vec([Bd;Dhd]);
x=As\bs;
X=reshape(x,3,3);
Pi=X(1:2,:);
Ga=X(3,:);
%check whether indeed satisfied:
M*[Pi;Ga]-[Pi;zeros(1,3)]*S+[Bd;Dhd]

54/79

Motor Example
We arrive at the following nice simulation results:
Disturbance (blue) and Reference (red)
5
0
5
0

10

15

20

25

10
15
Tracking Output

20

25

10

20

25

Control
20
0
20
0
5
0
5
0

15

55/79

Motor Example
If only the tracking error is measurable (y = r) we obtain:
5

Disturbance (blue) and Reference (red)

0
5
0

10

15

20

25

40
20
0
0

10
15
Tracking Output

20

25

10

20

25

Control

0
5
0

15

56/79

Discussion
The following observations can be made in case that y = e:
The constructed controller incorporates a model of the generalized
disturbances. Under specific hypothesis it can be shown that this is
a necessary property for a controller to achieve regulation. This fact
is often called the internal-model principle.
If the disturbances are directly measured, a regulator typically places
zeros of the controlled system at the to-be-suppressed frequencies
by rightly balancing the measurements. This can be sensitive to
modeling errors (non-robustness).
If d is not directly measured, the controller typically has poles at the
to-be-suppressed frequencies which creates zeros of the closed-loop
system at those frequencies. Usually, such designs are more robust.
For constant disturbances the controller has integral action!
There exists a systematic way to design robust regulators.

57/79

Recap: The Stable Subspace of a Matrix


For A Rnn factorize the characteristic polynomial A as A =
with and having only zeros in C and C0 C+ respectively. Then
E (A) := ker((A)) and E0+ (A) := ker((A))
are the generalized eigenspaces of A w.r.t. C and C0 C+ respectively.
E (A) (E0+ (A)) is the largest among all subspaces V Rn such that
AV V and eig(A|V ) C (eig(A|V ) C0 C+ ).
E (A) is also called the stable subspace of A. If T1 is a basis matrix
of E (A) and T2 is chosen such that T = (T1 T2 ) is invertible, we infer


A11 A12
1
T AT =
with eig(A11 ) C , eig(A22 ) C0 C+ .
0 A22
Recall that such an (even orthogonal) similarity transformation T can
be computed effectively with the (real ordered) Schur decomposition.
58/79

Block-Diagonalization
Now let eig(A11 ) C and eig(A22 ) C0 C+ . Then we infer


  


A11 A12
I
x1
n
E
= Im
=
R | x2 = 0 .
0 A22
0
x2
Moreover, the Sylvester equation
A11 X XA22 + A12 = 0
has a unique solution X. It is then easy to see that


  


A11 A12
X
x1
n
E0+
=R
=
R | x1 Xx2 = 0 .
0 A22
I
x2
Furthermore, the similarity transformation


I X
T =
0 I
block-diagonalizes the block-triangular matrix as follows:



 

A11 A12
A11 A11 X XA22 + A12
A11 0
1
T
T =
=
.
0 A22
0
A22
0 A22
59/79

A Key Characterization of Output Stability


With eig(A11 ) C and eig(A22 ) C0 C+ consider the system



A11 A12
x =
x, y = C1 C2 x.
0 A22
With X satisfying A11 X XA22 + A12 , transform the system into



A11 0
z =
z, y = C1 C1 X + C2 z.
0 A22
In view of the assumed spectral properties, we infer limt C1 eA11 t = 0.
Moreover, limt (C1 X + C2 )eA22 t = 0 iff C1 X + C2 = 0. Therefore
lim y(t) = 0 holds for all trajectories iff C1 X + C2 = 0.

This can be expressed in a coordinate-free fashion as follows.


Lemma 5 All trajectories of the system x = Ax, y = Cx satisfy
limt y(t) = 0 iff E0+ (A) N (C).
60/79

The Undetectable Subspace


Definition 6 The undetectable subspace of (A, C) is the largest
A-invariant subspace contained in N (C) such that the restriction of
A to this subspace has all its eigenvalues in C0 C+ .
A geometric characterization can be given as follows.
Lemma 7 Let U be the unobservable subspace of (A, C) and E0+
be the generalized eigenspace of A with respect to C0 C+ . The
undetectable subspace of (A, C) then equals U E0+ .

61/79

Rendering the Undetectable Subspace Explicit


By Theorem IV-8 (observability normal form) and slide 59, x = Ax+Bu,
y = Cx + Du can be transformed by a state-coordinate change into

z1
A11 0
0
z1
B1
z2 = A21 A22 0 z2 + B2 u
z3
A31 0 A33
z3
B3

 z1
y = C1 0 0 z2 + Du
z3
such that (A11 , C1 ) is observable, A22 is Hurwitz, eig(A33 ) C0 C+ .
Lemma 8 For (A, C) as above the undetectable subspace is


0
z1

R 0 = z2 | z1 = 0, z2 = 0 .
z

I
3
62/79

Proof
It is trivial to see that the given subspace has the three properties as
required in the definition. The following technique of proof that it is
largest should be remembered since it can be very useful for much more
complicated questions in geometric control. Suppose that V is any subspace with all three properties and let V be a basis matrix of V. Then
there exists some M with eig(M ) C0 C+ and

A11 0
0
V1
V1
 V1
A21 A22 0 V2 = V2 M,
C1 0 0 V2 = 0.
A31 0 A33
V3
V3
V3
Since A11 V1 = V1 M and C1 V1 = 0, we infer V1 = 0 by observability of
(A, C). Hence we get A22 V2 = V2 M . Since eig(A22 ) eig(M ) = we
infer from A22 V2 V2 M = 0 that V2 = 0 (Sylvester equation). Hence


0
0
R(V ) = R 0 R 0 .
V3
I
63/79

Uncontrolled Generalized Plant


Consider the generalized plant with signal generator


A Bd B
x
x
e = Ce Ded De d , d = Sd.
y
u
C Dd D
The extended generalized plant is

x
A
d 0
=
e Ce
C
y

Bd
S
Ded
Dd

(P)


B
x

0
d .
De
u
D

Assumptions: (A, B) is stabilizable and (A, C) is detectable. The


signal generator S satisfies eig(S) C0 C+ .
Our goal is to obtain necessary conditions for solvability of the regulation
problem with a general controller x K = AK xK + BK u, y = CK xK .
64/79

Controlled Generalized Plant


If we interconnect the generalized plant with the controller

 


x K
AK BK
xK
=
,
u
CK 0
y
we obtain the controlled system with signal generator
  
 
A B

, d = Sd
=
C D
d
e

(C)

(CL)

and the extended controlled system


A B  
d = 0 S .
d
C D
e

Here we use the abbreviations


 

A
BCK
Bd
x
A B
=
,
= BK C AK + BK DCK BK Dd .
xK
C D
Ce
De CK
Ded
65/79

Proof
After permutation we have


x
A B Bd
x
y = C D Dd u .
e
Ce De Ded
d
Merging with u = CK xK leads

x
A
y= C
e
Ce

to

BCK Bd
x
DCK Dd xK .
De CK Ded
d

Merging the controller differential equation with y = ... shows

x
K

x K = AK + BK DCK BK C BK Dd x .
d
Just combining the two leads to

x
A
BCK
Bd
x
x K = BK C AK + BK DCK BK Dd xK .
e
Ce
De CK
Ded
d

66/79

Precise Problem Formulation


Regulation Problem: For the generalized plant (P) determine a
controller (C) such that the controlled generalized plant (CL) has
the following properties:
If d(t) = 0 for all t 0 then all state-trajectories of (CL) satisfy
lim x(t) = 0 and lim xK (t) = 0.

Equivalently, A is Hurwitz.
For all trajectories of (CL) the output satisfies
lim e(t) = 0.

We have provided an extensive motivation for this abstract mathematical


problem formulated for some generalized plant. You should appreciate by
now that this generic problem formulation and solution covers a whole
diversity of concrete questions as appearing in practice.
67/79

Modification of Signal Generator


Suppose that

(AE , CE ) :=

A Bd
0 S


, C Dd


is not detectable.

We can then identify the following necessary condition for the solvability
of the regulation problem.
Lemma 9 If the regulation problem admits a solution then the undetectable subspace of (AE , CE ) is contained in N (Ce Ded ).
If this necessary condition has been verified to be true, we clarify in the
proof that it is possible, without loosing any generality, to reduce the
signal generator such that the detectability property for the resulting
extended system is valid.
In this sense it causes no generality to proceed under the hypothesis
that (AE , CE ) is detectable.
68/79

Proof of Lemma 9

X1
If the undetectable subspace of (AE , CE ) is non-trivial, let X =
X2
0
+
be a basis matrix. Then there exists M with eig(M ) C C and
AX1 + Bd X2 = X1 M, SX2 = X2 M, CX1 + Dd X2 = 0

(1)

Claim: X2 has full column rank. If not, then x N (X2 ) implies


AX1 x = X1 M x, 0 = X2 M x, CX1 x = 0
and thus M x N (X2 ); hence N (X2 ) 6= {0} is M -invariant; then there
exists some x N (X2 ) \ {0} with M x = x. We get AX1 x = X1 x
and CX1 x = 0. Since Re() 0 and (A, C) is detectable, we infer
X1 x = 0 and thus x = 0, a contradiction.
By a coordinate change ofthestates of the signal generator, we can as0
sume w.l.o.g. that X2 =
. Introduce the corresponding partitions
I



Bd
Bd1 Bd2
S11 S12
S=
and Ded = Ded1 Ded2 .
S21 S22
Dd
Dd1 Dd2

69/79

Proof of Lemma 9
Then (1) is equivalent to

AX1 + Bd2 = X1 M, S =

S11 0
S21 M


, CX1 + Dd2 = 0.

Let us now assume that the system controlled with (AK , BK , CK ) solves
the regulator problem. The extended controlled system then reads as

x
A
BCK
Bd1
Bd2
x
x K BK C AK + BK DCK BK Dd1 BK Dd2

xK

d1 = 0

0
S11
0

d1 .

d2 0

0
S21
M
d2
C
D
C
D
D
e
e
e K
ed1
ed2
After the state-coordinate change x = x X1 d2 we get


x
A
BCK
Bd1
0
x K BK C AK + BK DCK BK Dd1
0


d1 = 0
0
S
0
11


d2 0
0
S21
M
C
D
C
D
D
+
C e X1
e
e
e K
ed1
ed2

xK

d1 .

d2
70/79

Proof of Lemma 9
For all trajectories of this system we have e(t) 0 for t . This
implies, in particular,
(Ded2 + Ce X1 )eM t 0 for t .
Since eig(M ) C0 C+ , we conclude Ded2 + Ce X1 = 0. This means


 X1
Ce Ded X = Ce Ded1 Ded2 0 = Ce X1 + Ded2 = 0
I
which we had to prove. If this condition holds, (AK , BK , CK ) solves the
regulation problem for the original system iff it does so for the following
modified extended generalized plant with a reduced signal generator:

A Bd1 B
x
x

d 0 S11 0

1=

e Ce Ded1 De d1
u
C Dd1 D
y
By construction this system is detectable from y.

71/79

Main Result
Consider the generalized plant P with signal generator


A Bd B
x
x
e = Ce Ded De d , d = Sd.
y
u
C Dd D
Theorem 10 Let (A, B) be stabilizable and




A Bd
, C Dd
be detectable
0 S
and suppose that eig(S) C0 C+ . Then the regulator problem
has a solution iff the regulator equation (R) is solvable.
We have seen how to prove if. The main intention of this last part is
to prove only if.

72/79

Proof of Theorem 10
Let us assume that the system controlled with (AK , BK , CK ) solves the
regulation problem. The extended controlled system then reads as


A B  

d = 0 S
d
C D
e

with A being Hurwitz. Hence AX X S + B = 0 has a unique solution


X . The coordinate change = X d leads to


 
A
0

d = 0
.
S
d
C CX + D
e
If regulation is achieved we infer CX + D = 0 and thus
 
 
 
A
X
B
X
S+
= 0.
C
0
D

73/79

Proof of Theorem 10
Let us nowrecall the structure of A, B, C and partition the rows of
X
X =
accordingly. We get the equations
Y

 
A
BCK
X
Bd
BK C AK + BK DCK X Y S + BK Dd = 0
Y
Ce
De CK
0
Ded
and thus

AX + BCK Y
X
Bd
AK Y + BK (CX + DCK Y ) Y S + BK Dd = 0
Ce X + De CK Y
0
Ded

Therefore, = X and = CK Y satisfy



  


A + B
X
Bd

S+
=0
Ce + De
0
Ded
which just is (R).
74/79

Internal Model Principle


Consider the generalized plant with signal generator


A Bd B
x
x
e = C Dd D d , d = Sd
y
C Dd D
u
for which the regulated output e equals the measurement output y.
Theorem 11 Let the hypotheses of Theorem 10 be satisfied. If the
controller (C) solves the regulation problem, it can be transformed
by a state-coordinate change into






xK = S CK xK + DK y, u = CK xK .

0 AK
BK
In this sense AK necessarily contains the model S of the signals to be
regulated. This also implies dim(AK ) dim(S) which leads to a lower
bound on the required state-dimension of any regulator.
75/79

Proof of Theorem 11
We follow the proof of the previous theorem which lead to

AX + BCK Y
X
Bd
AK Y + BK (CX + DCK Y ) Y S + BK Dd = 0
CX + DCK Y
0
Dd
and hence
AX + BCK Y XS + Bd = 0, AK Y = Y S, CX + DCK Y + Dd = 0.
Claim: Y has full column rank. If not we have SN (Y ) N (Y ). Hence
we find an S-eigenvector x N (Y ) to the eigenvalue with Re() 0.
We get (A I)Xx + Bd x = 0, (S I)x = 0 and CXx + Dd x = 0.
By the detectability hypothesis we infer x = 0, a contradiction.
 
I
By a controllers state-coordinate change we get Y =
. Hence
0




K


S CK
D
K = CK .
AK =
,
B
=
,
C
=
C
Y
C
K
K
K
K
0 AK
B
76/79

Internal Model Principle


The controller in Theorem 11 can be written as a series interconnection



K  
 1
  
2
A
B

K
S I 0
1
K 2 .
u1 , u1 = CK D
=
y
0 I
u
u2
u2
CK 0
Hence the controlled system can be depicted as
d

P
y

S I 0
0 I


AK
CK
CK

K
B
K
D
0

77/79

Internal Model Principle: A design Recipe


This leads to a general design recipe even for the generalized plant (P)
under the hypotheses of Theorem 10:
Solve the regulator equation (R) to obtain .
Precompensate P to obtain
d
u

e
P
y

S I 0
0 I

Design a stabilizing controller for the precompensated plant.


Then the resulting controller for (P) solves the regulation problem.
78/79

Covered in Lecture 7
Synthesis for performance
Tracking and disturbance rejection, one- and two-degrees of freedom
controller design
Disturbance models
constant disturbances, sinusoidal disturbances
Internal model principle
state-feedback design, the regulator equation, disturbance estimators,
output feedback design
General regulator theory as developed by Francis and Wonham

79/79

S-ar putea să vă placă și