ME 233 – Advanced Control II
Lecture 16
Disturbance Observers
Tony Kelman
UC Berkeley

March 29, 2016

Outline
Motivation

Disturbance observer

Derivation of closed-loop dynamics

Choosing Q(z)Adding a disturbance observer to an existing feedback controller

Outline
Motivation

Disturbance observer

Derivation of closed-loop dynamics

Choosing Q(z)Adding a disturbance observer to an existing feedback controller

Motivation
Consider the following plant structure
D(z)
U(z)

G(z)

Y (z)

The signals are:
U (z) : control input
D(z) : disturbanceY (z) : output

Motivation
Consider the following plant structure
D(z)
U(z)

G(z)

Y (z)

The signals are:
U (z) : control input
D(z) : disturbanceY (z) : output
The goal is to cancel the effect of D(z) on Y (z)Motivation
I Let the plant be given by the transfer function Gn (z), whichis minimum phase (i.e. its poles and zeros are strictly insidethe unit disk in the complex plane)

Motivation
I Let the plant be given by the transfer function Gn (z), whichis minimum phase (i.e. its poles and zeros are strictly insidethe unit disk in the complex plane)
I Use an inverse plant to reconstruct U (z) + D(z):

D(z)
U(z)

Gn(z)

U(z) + D(z)G¡1n (z)Y (z)Motivation
I Let the plant be given by the transfer function Gn (z), whichis minimum phase (i.e. its poles and zeros are strictly insidethe unit disk in the complex plane)
I Use an inverse plant to reconstruct U (z) + D(z):

D(z)
U(z)

Gn(z)

U(z) + D(z)Y (z)G¡1n (z)I Subtract U (z) to reconstruct D(z):

D(z)
U(z)

Gn(z)

U(z) + D(z)¡+D(z)

G¡1n (z)Y (z)Motivation
I Ideally, we would subtract the reconstructed value of D(z)from U (z)
D(z)
¹U(z)

U(z)

Gn(z)

+

¡

U(z) + D(z)¡+D(z)

G¡1n (z)Y (z)Motivation
I Ideally, we would subtract the reconstructed value of D(z)from U (z)
D(z)
¹U(z)

U(z)

Gn(z)

+

¡

U(z) + D(z)¡+D(z)Y (z)G¡1n (z)I This would yield the closed-loop dynamics Y (z) = Gn (z)Ū (z)Motivation
I Ideally, we would subtract the reconstructed value of D(z)from U (z)
D(z)
¹U(z)

U(z)

Gn(z)

+¡

U(z) + D(z)¡+D(z)Y (z)G¡1n (z)I This would yield the closed-loop dynamics Y (z) = Gn (z)Ū (z)This controller structure would reconstruct D(z) then subtract itfrom U (z) so that the effect of the disturbance is exactly canceledMotivation
I Ideally, we would subtract the reconstructed value of D(z)from U (z)
D(z)
¹
U(z)

U(z)

Gn(z)

+¡

U(z) + D(z)¡+D(z)Y (z)G¡1n (z)I This would yield the closed-loop dynamics Y (z) = Gn (z)Ū (z)This controller structure would reconstruct D(z) then subtract itfrom U (z) so that the effect of the disturbance is exactly canceled⇒ This would be useful as an inner loop of a larger control
scheme, BUT...

Motivation—Problems
D(z)
¹
U(z)

U(z)

Gn(z)

+

¡U(z) + D(z)¡+D(z)Y (z)G¡1n (z)The control structure has some problems that should be resolvedin order for it to be useful:
I Since G−1n (z) is typically not proper, it is not realizableMotivation—Problems
D(z)
¹U(z)

U(z)

Gn(z)

+

¡U(z) + D(z)¡+D(z)Y (z)G¡1n (z)The control structure has some problems that should be resolvedin order for it to be useful:
I Since G−1n (z) is typically not proper, it is not realizable⇒ We cannot reconstruct D(z)Motivation—Problems
D(z)
¹U(z)

U(z)

Gn(z)

+

¡U(z) + D(z)¡+D(z)Y (z)G¡1n (z)The control structure has some problems that should be resolvedin order for it to be useful:
I Since G−1n (z) is typically not proper, it is not realizable⇒ We cannot reconstruct D(z)I The system being controlled might not be exactly as given by

the model Gn (z)Motivation—Problems
D(z)
¹U(z)

U(z)

Gn(z)

+

¡

U(z) + D(z)¡+D(z)Y (z)G¡1n (z)The control structure has some problems that should be resolvedin order for it to be useful:
I Since G−1n (z) is typically not proper, it is not realizable⇒ We cannot reconstruct D(z)I The system being controlled might not be exactly as given by

the model Gn (z)I Sensor noise will corrupt the reconstructed value of D(z)Motivation—Problems
D(z)
¹
U(z)

U(z)

Gn(z)

+¡

U(z) + D(z)¡+D(z)Y (z)G¡1n (z)The control structure has some problems that should be resolvedin order for it to be useful:
I Since G−1n (z) is typically not proper, it is not realizable⇒ We cannot reconstruct D(z)I The system being controlled might not be exactly as given by

the model Gn (z)I Sensor noise will corrupt the reconstructed value of D(z)I The block diagram above is not well-posed and, in particular,

U (z) is not a realizable function of Y (z).

Outline
Motivation

Disturbance observer

Derivation of closed-loop dynamics

Choosing Q(z)Adding a disturbance observer to an existing feedback controller

Disturbance Observer
The following control structure is referred to as a disturbanceobserver:The signals are:
U (z) : control input
D(z) : disturbanceY (z) : measured output

V (z) : measurement noiseD̂(z) : estimate of D(z)P (z) : performance output

Disturbance Observer

I The one difference in the control architecture (compared tothe motivation) is the presence of Q(z)I Q(z) is used to make the dynamics from U (z) and Y (z) toD̂(z) realizable

Disturbance Observer—Comparison to Motivation

The structure in the Motivation section corresponds toI G(z) = Gn (z) (the plant is exactly as modeled)Disturbance Observer—Comparison to Motivation

The structure in the Motivation section corresponds toI G(z) = Gn (z) (the plant is exactly as modeled)I V (z) = 0 (there is no sensor noise)Disturbance Observer—Comparison to Motivation

The structure in the Motivation section corresponds toI G(z) = Gn (z) (the plant is exactly as modeled)I V (z) = 0 (there is no sensor noise)
I Q(z) = 1 (it is possible to realize G−1n (z) )Outline
Motivation

Disturbance observer

Derivation of closed-loop dynamics

Choosing Q(z)Adding a disturbance observer to an existing feedback controllerDerivation of closed-loop dynamics

We will omit the dependency on z to shorten notation

Derivation of closed-loop dynamics

We will omit the dependency on z to shorten notation
Plant dynamics: Y = G(U + D) + V

Derivation of closed-loop dynamics

We will omit the dependency on z to shorten notation
Plant dynamics: Y = G(U + D) + V
Now find the disturbance estimate D̂ in terms of U , D, and V :Derivation of closed-loop dynamics

We will omit the dependency on z to shorten notation
Plant dynamics: Y = G(U + D) + V
Now find the disturbance estimate D̂ in terms of U , D, and V :D̂ = Q(G−1n Y − U)⇒⇒

−1D̂ = Q[G−1n G(U + D) + Gn V − U ]−1−1
D̂ = Q(G−1n G − 1)U + QGn GD + QGn VDerivation of closed-loop dynamics

Solve for U in terms of D, Ū , and V :U = Ū − D̂⇒⇒

−1−1
U = Ū − Q(G−1n G − 1)U − QGn GD − QGn V−1−1[1 + Q(G−1n G − 1)]U = Ū − QGn GD − QGn VDerivation of closed-loop dynamics

Solve for U in terms of D, Ū , and V :U = Ū − D̂⇒⇒

−1−1U = Ū − Q(G−1n G − 1)U − QGn GD − QGn V−1−1[1 + Q(G−1n G − 1)]U = Ū − QGn GD − QGn V

Now that we have U in terms of D, Ū , and V , we can solve for P
in terms of D, Ū , and V

Derivation of closed-loop dynamics

Solve for P in terms of D, Ū , and V :⇒P = GD + GU
G−1
P = GD +[Ū − QG−1n GD − QGn V ]1 + Q(G−1n G − 1)

Derivation of closed-loop dynamics

Solve for P in terms of D, Ū , and V :⇒P = GD + GU
G−1
P = GD +[Ū − QG−1n GD − QGn V ]1 + Q(G−1n G − 1)
P =G(1 − Q)
G
D+Ū
−1
1 + Q(Gn G − 1)
1 + Q(G−1n G − 1)
GQG−1nV−
1 + Q(G−1n G − 1)

Derivation of closed-loop dynamics

P =GG(1 − Q)
D+Ū
−1
1 + Q(Gn G − 1)
1 + Q(G−1n G − 1)
GQG−1nV−
1 + Q(G−1n G − 1)

Let G(z) = Gn (z)(1 + ∆(z)) where ∆(z) is stable

Derivation of closed-loop dynamics

P =G
G(1 − Q)
D+Ū
−1
1 + Q(Gn G − 1)
1 + Q(G−1n G − 1)
GQG−1nV−
1 + Q(G−1n G − 1)

Let G(z) = Gn (z)(1 + ∆(z)) where ∆(z) is stable

P =Gn (1 + ∆)(1 − Q)
Gn (1 + ∆)Q(1 + ∆)
D+Ū −V
1 + Q∆
1 + Q∆
1 + Q∆

Derivation of closed-loop dynamics

P =GG(1 − Q)
D+Ū
−1
1 + Q(Gn G − 1)
1 + Q(G−1n G − 1)
GQG−1nV−
1 + Q(G−1n G − 1)

Let G(z) = Gn (z)(1 + ∆(z)) where ∆(z) is stable

P =Gn (1 + ∆)(1 − Q)
Gn (1 + ∆)Q(1 + ∆)D+Ū −V
1 + Q∆
1 + Q∆
1 + Q∆

In forming this relationship, we used that Gn G−1
n = 1, which inturn demonstrates why we require Gn to be minimum phaseOutline
Motivation

Disturbance observer

Derivation of closed-loop dynamics

Choosing Q(z)Adding a disturbance observer to an existing feedback controllerChoosing Q(z)Closed-loop dynamics:
P =Gn (1 + ∆)Q(1 + ∆)Gn (1 + ∆)(1 − Q)
D+Ū −V
1 + Q∆
1 + Q∆
1 + Q∆

Concerns when choosing Q(z):1. Robust disturbance rejection: Choose Q(ejω ) ≈ 1 at
frequencies for which disturbance rejection is importantChoosing Q(z)Closed-loop dynamics:
P =Gn (1 + ∆)Q(1 + ∆)Gn (1 + ∆)(1 − Q)
D+Ū −V
1 + Q∆
1 + Q∆
1 + Q∆

Concerns when choosing Q(z):1. Robust disturbance rejection: Choose Q(ejω ) ≈ 1 atfrequencies for which disturbance rejection is important
2. Sensor noise insensitivity: Choose |Q(ejω )| to be small at
frequencies for which sensor noise is large

Choosing Q(z)Closed-loop dynamics:
P =Gn (1 + ∆)Q(1 + ∆)Gn (1 + ∆)(1 − Q)
D+Ū −V
1 + Q∆
1 + Q∆
1 + Q∆

Concerns when choosing Q(z):1. Robust disturbance rejection: Choose Q(ejω ) ≈ 1 at
frequencies for which disturbance rejection is important
2. Sensor noise insensitivity: Choose |Q(ejω )| to be small atfrequencies for which sensor noise is large
3. Robustness: Choose |Q(ejω )| to be small at frequencies forwhich |∆(ejω )| is large

Choosing Q(z)Concerns when choosing Q(z):4. Realizability: Choose Q(z) so thatD̂(z) = Q(z)[G−1n (z)Y (z) − U (z)] is realizable

Choosing Q(z)Concerns when choosing Q(z):4. Realizability: Choose Q(z) so thatD̂(z) = Q(z)[G−1n (z)Y (z) − U (z)] is realizable⇒ Choose Q(z) realizable so thatQ(z)is also realizable
Gn (z)

Choosing Q(z)Concerns when choosing Q(z):4. Realizability: Choose Q(z) so thatD̂(z) = Q(z)[G−1n (z)Y (z) − U (z)] is realizable⇒ Choose Q(z) realizable so thatQ(z)is also realizable
Gn (z)

This is a constraint on the relative degree of Q(z)Outline
Motivation

Disturbance observer

Derivation of closed-loop dynamics

Choosing Q(z)Adding a disturbance observer to an existing feedback controller

Adding a disturbance observer to an existing controller
Suppose we have designed a controller C(z) for the interconnection
D(z)

C(z)

U(z)

P (z)

V (z)
Y (z)

G(z)

¡

and we would like to add a disturbance observer:
D(z)

C(z)

¡¹
U(z)

P (z)

U(z)

G(z)

+¡¡

+Q(z)
^D(z)

G¡1n (z)

V (z)
Y (z)

Adding a disturbance observer to an existing controller
Suppose we have designed a controller C(z) for the interconnection
D(z)

C(z)

U(z)

P (z)

V (z)
Y (z)

G(z)

¡

and we would like to add a disturbance observer:
D(z)

C(z)

¡¹
U(z)

P (z)

U(z)

G(z)

+¡
¡

+V (z)Y (z)G¡1n (z)

Q(z)
^D(z)

How does this affect the stability of the closed-loop system?

Adding a disturbance observer to an existing controller
D(z)

C(z)

¡

¹U(z)

P (z)

U(z)

G(z)

+

¡
¡

+V (z)Y (z)G¡1n (z)

Q(z)
^D(z)

Since we are only interested in stability, we set the exogenous
inputs to zero. Also, we let G(z) = Gn (z)(1 + ∆(z)).

Adding a disturbance observer to an existing controller
D(z)

C(z)

¹U(z)

P (z)

U(z)

¡V (z)
Y (z)

G(z)

+¡
¡

G¡1n (z)

+Q(z)
^
D(z)

Since we are only interested in stability, we set the exogenous
inputs to zero. Also, we let G(z) = Gn (z)(1 + ∆(z)).
¢(z)
C(z)

¡

¹
U(z)

U(z)

Gn(z)

+

¡
¡

+Q(z)
^D(z)

~
U(z)

G¡1n (z)Adding a disturbance observer to an existing controller
D(z)

C(z)

¹U(z)

P (z)

U(z)

¡V (z)
Y (z)

G(z)

+¡
¡

G¡1n (z)

+Q(z)
^D(z)

Since we are only interested in stability, we set the exogenous
inputs to zero. Also, we let G(z) = Gn (z)(1 + ∆(z)).
¢(z)
C(z)

¡¹U(z)

U(z)

~
U(z)

Gn(z)

+¡
¡

+G¡1n (z)

Q(z)
^D(z)

To use the small-gain theorem, we must simplify this to a feedback
interconnection of ∆(z) and another system.

Simplifying the closed-loop representation
Removing ∆(z) from the interconnection, we have~
U(z)

C(z)

¡U(z)

¹U(z)

Gn(z)

+¡
¡

+Q(z)
^D(z)

G¡1n (z)Simplifying the closed-loop representation
Removing ∆(z) from the interconnection, we have
~
U(z)

C(z)

¡U(z)

¹U(z)

Gn(z)+¡¡+G¡1n (z)

Q(z)
^D(z)

Omitting dependency on z, we haveGnD̂ = Q(Ũ + U ) − UGn
U = −CGn (Ũ + U ) − D̂⇒⇒⇒D̂ = QŨ

U = −CGn (Ũ + U ) − QŨ

(1 + CGn )U = −(CGn + Q)Ũ

Closed-loop stability
We now have the simplified closed-loop system representation
~U(z)

U(z)

¢(z)

¡Q + CGn
1 + CGnClosed-loop stability
We now have the simplified closed-loop system representation
~
U(z)

U(z)

¢(z)

¡Q + CGn
1 + CGn

Using the small-gain theorem, we can therefore guarantee
closed-loop stability if:
1. Gn (z) is minimum phase

Closed-loop stability
We now have the simplified closed-loop system representation
~
U(z)

U(z)

¢(z)

¡

Q + CGn
1 + CGn

Using the small-gain theorem, we can therefore guarantee
closed-loop stability if:
1. Gn (z) is minimum phase
2. The following feedback interconnection is stable
C(z)¡Gn(z)

Closed-loop stability
We now have the simplified closed-loop system representation
~U(z)

U(z)

¢(z)

¡Q + CGn
1 + CGn

Using the small-gain theorem, we can therefore guarantee
closed-loop stability if:
1. Gn (z) is minimum phase
2. The following feedback interconnection is stable
C(z)

Gn(z)

¡(i.e. the nominal closed-loop system without the disturbanceobserver is stable)

Closed-loop stability
We now have the simplified closed-loop system representation
~U(z)

U(z)

¢(z)

¡Q + CGn
1 + CGn

Using the small-gain theorem, we can therefore guarantee
closed-loop stability if:
3.

Q(ejω ) + C(ejω )Gn (ejω )1<,jωjω
1 + C(e )Gn (e )|∆(ejω )|∀ω ∈ [0, π]Closed-loop stability
We now have the simplified closed-loop system representation
~
U(z)

U(z)

¢(z)

¡Q + CGn
1 + CGn

Using the small-gain theorem, we can therefore guarantee
closed-loop stability if:
3.

Q(ejω ) + C(ejω )Gn (ejω )1<,jωjω
1 + C(e )Gn (e )|∆(ejω )|∀ω ∈ [0, π]

In order to meet this condition, it must be true thatQ(ejω ) 6≈ 1 whenever ω ∈ [0, π] is such that |∆(ejω )| ≥ 1.