me 233 advanced control ii lecture 16 disturbance observers · me 233 { advanced control ii lecture...

56
ME 233 – Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Upload: others

Post on 06-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

ME 233 – Advanced Control IILecture 16

Disturbance Observers

Tony Kelman

UC Berkeley

March 29, 2016

Page 2: ME 233 Advanced Control II Lecture 16 Disturbance Observers · 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

Page 3: ME 233 Advanced Control II Lecture 16 Disturbance Observers · 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

Page 4: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation

Consider the following plant structure

G(z)U(z)

D(z)

Y (z)

The signals are:

U(z) : control inputD(z) : disturbanceY (z) : output

The goal is to cancel the effect of D(z) on Y (z)

Page 5: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation

Consider the following plant structure

G(z)U(z)

D(z)

Y (z)

The signals are:

U(z) : control inputD(z) : disturbanceY (z) : output

The goal is to cancel the effect of D(z) on Y (z)

Page 6: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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):

G¡1n (z)

Gn(z)U(z)

D(z)

Y (z)

U(z) +D(z)

I Subtract U(z) to reconstruct D(z):

G¡1n (z)

Gn(z)U(z)

D(z)

D(z)

Y (z)

U(z) +D(z)

Page 7: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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):

G¡1n (z)

Gn(z)U(z)

D(z)

Y (z)

U(z) +D(z)

I Subtract U(z) to reconstruct D(z):

G¡1n (z)

Gn(z)U(z)

D(z)

D(z)

Y (z)

U(z) +D(z)

Page 8: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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):

G¡1n (z)

Gn(z)U(z)

D(z)

Y (z)

U(z) +D(z)

I Subtract U(z) to reconstruct D(z):

G¡1n (z)

Gn(z)U(z)

D(z)

D(z)

Y (z)

U(z) +D(z)

Page 9: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation

I Ideally, we would subtract the reconstructed value of D(z)from U(z)

G¡1n (z)

Gn(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

U(z) +D(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 controlscheme, BUT...

Page 10: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation

I Ideally, we would subtract the reconstructed value of D(z)from U(z)

G¡1n (z)

Gn(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

U(z) +D(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 controlscheme, BUT...

Page 11: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation

I Ideally, we would subtract the reconstructed value of D(z)from U(z)

G¡1n (z)

Gn(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

U(z) +D(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 controlscheme, BUT...

Page 12: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation

I Ideally, we would subtract the reconstructed value of D(z)from U(z)

G¡1n (z)

Gn(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

U(z) +D(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 controlscheme, BUT...

Page 13: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation—Problems

G¡1n (z)

Gn(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

U(z) +D(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 bythe 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).

Page 14: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation—Problems

G¡1n (z)

Gn(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

U(z) +D(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 bythe 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).

Page 15: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation—Problems

G¡1n (z)

Gn(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

U(z) +D(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 bythe 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).

Page 16: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation—Problems

G¡1n (z)

Gn(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

U(z) +D(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 bythe 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).

Page 17: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Motivation—Problems

G¡1n (z)

Gn(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

U(z) +D(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 bythe 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).

Page 18: ME 233 Advanced Control II Lecture 16 Disturbance Observers · 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

Page 19: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Disturbance ObserverThe following control structure is referred to as a disturbanceobserver:

The signals are:

U(z) : control input V (z) : measurement noise

D(z) : disturbance D(z) : estimate of D(z)Y (z) : measured output P (z) : performance output

Page 20: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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

Page 21: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Disturbance Observer—Comparison to Motivation

The structure in the Motivation section corresponds to

I 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) )

Page 22: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Disturbance Observer—Comparison to Motivation

The structure in the Motivation section corresponds to

I 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) )

Page 23: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Disturbance Observer—Comparison to Motivation

The structure in the Motivation section corresponds to

I 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) )

Page 24: ME 233 Advanced Control II Lecture 16 Disturbance Observers · 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

Page 25: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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)

⇒ D = Q[G−1n G(U +D) +G−1

n V − U ]

⇒ D = Q(G−1n G− 1)U +QG−1

n GD +QG−1n V

Page 26: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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)

⇒ D = Q[G−1n G(U +D) +G−1

n V − U ]

⇒ D = Q(G−1n G− 1)U +QG−1

n GD +QG−1n V

Page 27: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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)

⇒ D = Q[G−1n G(U +D) +G−1

n V − U ]

⇒ D = Q(G−1n G− 1)U +QG−1

n GD +QG−1n V

Page 28: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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)

⇒ D = Q[G−1n G(U +D) +G−1

n V − U ]

⇒ D = Q(G−1n G− 1)U +QG−1

n GD +QG−1n V

Page 29: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Derivation of closed-loop dynamics

Solve for U in terms of D, U , and V :

U = U − D⇒ U = U −Q(G−1

n G− 1)U −QG−1n GD −QG−1

n V

⇒ [1 +Q(G−1n G− 1)]U = U −QG−1

n GD −QG−1n V

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

Page 30: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Derivation of closed-loop dynamics

Solve for U in terms of D, U , and V :

U = U − D⇒ U = U −Q(G−1

n G− 1)U −QG−1n GD −QG−1

n V

⇒ [1 +Q(G−1n G− 1)]U = U −QG−1

n GD −QG−1n V

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

Page 31: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Derivation of closed-loop dynamics

Solve for P in terms of D, U , and V :

P = GD +GU

⇒ P = GD +G

1 +Q(G−1n G− 1)

[U −QG−1n GD −QG−1

n V ]

P =G(1−Q)

1 +Q(G−1n G− 1)

D +G

1 +Q(G−1n G− 1)

U

− GQG−1n

1 +Q(G−1n G− 1)

V

Page 32: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Derivation of closed-loop dynamics

Solve for P in terms of D, U , and V :

P = GD +GU

⇒ P = GD +G

1 +Q(G−1n G− 1)

[U −QG−1n GD −QG−1

n V ]

P =G(1−Q)

1 +Q(G−1n G− 1)

D +G

1 +Q(G−1n G− 1)

U

− GQG−1n

1 +Q(G−1n G− 1)

V

Page 33: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Derivation of closed-loop dynamics

P =G(1−Q)

1 +Q(G−1n G− 1)

D +G

1 +Q(G−1n G− 1)

U

− GQG−1n

1 +Q(G−1n G− 1)

V

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

P =Gn(1 + ∆)(1−Q)

1 +Q∆D +

Gn(1 + ∆)

1 +Q∆U − Q(1 + ∆)

1 +Q∆V

In forming this relationship, we used that GnG−1n = 1, which in

turn demonstrates why we require Gn to be minimum phase

Page 34: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Derivation of closed-loop dynamics

P =G(1−Q)

1 +Q(G−1n G− 1)

D +G

1 +Q(G−1n G− 1)

U

− GQG−1n

1 +Q(G−1n G− 1)

V

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

P =Gn(1 + ∆)(1−Q)

1 +Q∆D +

Gn(1 + ∆)

1 +Q∆U − Q(1 + ∆)

1 +Q∆V

In forming this relationship, we used that GnG−1n = 1, which in

turn demonstrates why we require Gn to be minimum phase

Page 35: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Derivation of closed-loop dynamics

P =G(1−Q)

1 +Q(G−1n G− 1)

D +G

1 +Q(G−1n G− 1)

U

− GQG−1n

1 +Q(G−1n G− 1)

V

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

P =Gn(1 + ∆)(1−Q)

1 +Q∆D +

Gn(1 + ∆)

1 +Q∆U − Q(1 + ∆)

1 +Q∆V

In forming this relationship, we used that GnG−1n = 1, which in

turn demonstrates why we require Gn to be minimum phase

Page 36: ME 233 Advanced Control II Lecture 16 Disturbance Observers · 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

Page 37: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Choosing Q(z)

Closed-loop dynamics:

P =Gn(1 + ∆)(1−Q)

1 +Q∆D +

Gn(1 + ∆)

1 +Q∆U − Q(1 + ∆)

1 +Q∆V

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 atfrequencies for which sensor noise is large

3. Robustness: Choose |Q(ejω)| to be small at frequencies forwhich |∆(ejω)| is large

Page 38: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Choosing Q(z)

Closed-loop dynamics:

P =Gn(1 + ∆)(1−Q)

1 +Q∆D +

Gn(1 + ∆)

1 +Q∆U − Q(1 + ∆)

1 +Q∆V

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 atfrequencies for which sensor noise is large

3. Robustness: Choose |Q(ejω)| to be small at frequencies forwhich |∆(ejω)| is large

Page 39: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Choosing Q(z)

Closed-loop dynamics:

P =Gn(1 + ∆)(1−Q)

1 +Q∆D +

Gn(1 + ∆)

1 +Q∆U − Q(1 + ∆)

1 +Q∆V

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 atfrequencies for which sensor noise is large

3. Robustness: Choose |Q(ejω)| to be small at frequencies forwhich |∆(ejω)| is large

Page 40: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Choosing Q(z)

Concerns when choosing Q(z):

4. Realizability: Choose Q(z) so thatD(z) = Q(z)[G−1

n (z)Y (z)− U(z)] is realizable

⇒ Choose Q(z) realizable so thatQ(z)

Gn(z)is also realizable

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

Page 41: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Choosing Q(z)

Concerns when choosing Q(z):

4. Realizability: Choose Q(z) so thatD(z) = Q(z)[G−1

n (z)Y (z)− U(z)] is realizable

⇒ Choose Q(z) realizable so thatQ(z)

Gn(z)is also realizable

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

Page 42: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Choosing Q(z)

Concerns when choosing Q(z):

4. Realizability: Choose Q(z) so thatD(z) = Q(z)[G−1

n (z)Y (z)− U(z)] is realizable

⇒ Choose Q(z) realizable so thatQ(z)

Gn(z)is also realizable

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

Page 43: ME 233 Advanced Control II Lecture 16 Disturbance Observers · 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

Page 44: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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

G(z)U(z)

D(z)

Y (z)

P (z) V (z)

C(z)

¡

and we would like to add a disturbance observer:

G¡1n (z)

G(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

P (z) V (z)

Q(z)

+¡C(z)

¡

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

Page 45: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

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

G(z)U(z)

D(z)

Y (z)

P (z) V (z)

C(z)

¡

and we would like to add a disturbance observer:

G¡1n (z)

G(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

P (z) V (z)

Q(z)

+¡C(z)

¡

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

Page 46: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Adding a disturbance observer to an existing controller

G¡1n (z)

G(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

P (z) V (z)

Q(z)

+¡C(z)

¡

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

G¡1n (z)

¹U(z) U(z)

D(z)

Gn(z)

Q(z)

+¡C(z)

¡

¢(z) ~U(z)

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

Page 47: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Adding a disturbance observer to an existing controller

G¡1n (z)

G(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

P (z) V (z)

Q(z)

+¡C(z)

¡

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

G¡1n (z)

¹U(z) U(z)

D(z)

Gn(z)

Q(z)

+¡C(z)

¡

¢(z) ~U(z)

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

Page 48: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Adding a disturbance observer to an existing controller

G¡1n (z)

G(z)¹U(z) U(z)

D(z)

D(z)

Y (z)

P (z) V (z)

Q(z)

+¡C(z)

¡

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

G¡1n (z)

¹U(z) U(z)

D(z)

Gn(z)

Q(z)

+¡C(z)

¡

¢(z) ~U(z)

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

Page 49: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Simplifying the closed-loop representation

Removing ∆(z) from the interconnection, we have

G¡1n (z)

¹U(z) U(z)

D(z)

Gn(z)

Q(z)

+¡C(z)

¡

~U(z)

Omitting dependency on z, we have

D = Q

[Gn

Gn(U + U)− U

]⇒ D = QU

U = −CGn(U + U)− D ⇒ U = −CGn(U + U)−QU⇒ (1 + CGn)U = −(CGn +Q)U

Page 50: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Simplifying the closed-loop representation

Removing ∆(z) from the interconnection, we have

G¡1n (z)

¹U(z) U(z)

D(z)

Gn(z)

Q(z)

+¡C(z)

¡

~U(z)

Omitting dependency on z, we have

D = Q

[Gn

Gn(U + U)− U

]⇒ D = QU

U = −CGn(U + U)− D ⇒ U = −CGn(U + U)−QU⇒ (1 + CGn)U = −(CGn +Q)U

Page 51: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Closed-loop stabilityWe now have the simplified closed-loop system representation

¢(z)

¡Q+CGn

1 +CGn

U(z) ~U(z)

Using the small-gain theorem, we can therefore guaranteeclosed-loop stability if:

1. Gn(z) is minimum phase

2. The following feedback interconnection is stable

Gn(z)C(z)

¡

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

Page 52: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Closed-loop stabilityWe now have the simplified closed-loop system representation

¢(z)

¡Q+CGn

1 +CGn

U(z) ~U(z)

Using the small-gain theorem, we can therefore guaranteeclosed-loop stability if:

1. Gn(z) is minimum phase

2. The following feedback interconnection is stable

Gn(z)C(z)

¡

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

Page 53: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Closed-loop stabilityWe now have the simplified closed-loop system representation

¢(z)

¡Q+CGn

1 +CGn

U(z) ~U(z)

Using the small-gain theorem, we can therefore guaranteeclosed-loop stability if:

1. Gn(z) is minimum phase

2. The following feedback interconnection is stable

Gn(z)C(z)

¡

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

Page 54: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Closed-loop stabilityWe now have the simplified closed-loop system representation

¢(z)

¡Q+CGn

1 +CGn

U(z) ~U(z)

Using the small-gain theorem, we can therefore guaranteeclosed-loop stability if:

1. Gn(z) is minimum phase

2. The following feedback interconnection is stable

Gn(z)C(z)

¡

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

Page 55: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Closed-loop stability

We now have the simplified closed-loop system representation

¢(z)

¡Q+CGn

1 +CGn

U(z) ~U(z)

Using the small-gain theorem, we can therefore guaranteeclosed-loop stability if:

3.

∣∣∣∣Q(ejω) + C(ejω)Gn(ejω)

1 + C(ejω)Gn(ejω)

∣∣∣∣ < 1

|∆(ejω)|, ∀ω ∈ [0, π]

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

Page 56: ME 233 Advanced Control II Lecture 16 Disturbance Observers · ME 233 { Advanced Control II Lecture 16 Disturbance Observers Tony Kelman UC Berkeley March 29, 2016

Closed-loop stability

We now have the simplified closed-loop system representation

¢(z)

¡Q+CGn

1 +CGn

U(z) ~U(z)

Using the small-gain theorem, we can therefore guaranteeclosed-loop stability if:

3.

∣∣∣∣Q(ejω) + C(ejω)Gn(ejω)

1 + C(ejω)Gn(ejω)

∣∣∣∣ < 1

|∆(ejω)|, ∀ω ∈ [0, π]

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