Documente Academic
Documente Profesional
Documente Cultură
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
3/79
4/79
6/79
temperature
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
7/79
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
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
Questions:
Under which conditions on the system is this strategy applicable?
How can we generalize to multivariable systems of higher order?
10/79
temperature
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
12/79
z
H
yK
z
H
y
14/79
(?)
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
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.
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
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
cbd
d.
a + bkp c
e
P
uK
e
P
y
K
26/79
x = Ax + Bu, y = Cx
z = Cz x + Dz u
(System)
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
Kff
z
System
y
Kfb
Kff
z
System
y
Kfb
dy
29/79
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
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
e = (Ce De F )x + De Gd + Ded d.
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
10
10
10
Control
5
0
5
0
4
6
Regulated Output
0.2
0
0.2
0
34/79
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
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
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
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
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
F G .
(sub)
41/79
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
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)
.
Bd
S+
= 0.
Ce De
0
Ded
(R)
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)
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
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
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
+
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
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
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
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
61/79
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
Bd
S
Ded
Dd
(P)
B
x
0
d .
De
u
D
, d = Sd
=
C D
d
e
(C)
(CL)
A B
d = 0 S .
d
C D
e
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
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
Equivalently, A is Hurwitz.
For all trajectories of (CL) the output satisfies
lim e(t) = 0.
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)
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
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
S+
=0
Ce + De
0
Ded
which just is (R).
74/79
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
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
e
P
y
S I 0
0 I
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