dynamical systems analysis iv: root locus plots & routh stability by peter woolf...

28
Dynamical Systems Analysis IV: Root Locus Plots & Routh Stability By Peter Woolf ([email protected]) University of Michigan Michigan Chemical Process Dynamics and Controls Open Textbook version 1.0 Creative commons

Post on 21-Dec-2015

239 views

Category:

Documents


1 download

TRANSCRIPT

Dynamical Systems Analysis IV:Root Locus Plots & Routh Stability

By Peter Woolf ([email protected])University of Michigan

Michigan Chemical Process Dynamics and Controls Open Textbook

version 1.0

Creative commons

• Qualitatively model your system: verbal modeling, incidence diagrams, control objectives

• Design your control layout and connectivity on a P&ID

• Make a model, evaluate stability of that model. • Simulate and visualize dynamics of your model• Add logical (IF.. THEN..) controllers and PID

controllers• Tune controller parameters

Recap

Question of the Day

• Given a controller, how far can you push the system before it oscillates or goes out of control?– What is your safety margin?– Does it really matter what I set some

values to?

Example System

Goal: Regulate the level in R003 using the valve v1 using a P-only controller.

1) Model system

A1

dh1

dt= Fo − c1h1

A2

dh2

dt= c1h1 − c2h2

A3

dh3

dt= c2h2 − c3h3

Here, h1, h2, and h3 are the levels of R001, R002, and R003.The parameters c1, c2, c3 are valve and pipe constants, and Fo is the feed2) Model

controller

Fo = Fos +KC (h3set − h3)

3) Solve for Steady state

A1

dh1

dt= 0 = Fos +KC (h3set − h3)( ) − c1h1

A2

dh2

dt= 0 = c1h1 − c2h2

A3

dh3

dt= 0 = c2h2 − c3h3

4) Calculate Jacobian

A1

dh1

dt= Fos +KC (h3set − h3)( ) − c1h1

A2

dh2

dt= c1h1 − c2h2

A3

dh3

dt= c2h2 − c3h3

h1′

h2′

h3′

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

=

−c1

A1

0 −Kc

A1

c1

A2

−c2

A2

0

0c2

A3

−c3

A3

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

h1

h3

h3

⎢ ⎢ ⎢

⎥ ⎥ ⎥+

Fos + h3setKc

A1

0

0

⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥

4) Calculate Jacobian

5) Evaluate Stability

h1′

h2′

h3′

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

=

−c1

A1

0 −Kc

A1

c1

A2

−c2

A2

0

0c2

A3

−c3

A3

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

h1

h3

h3

⎢ ⎢ ⎢

⎥ ⎥ ⎥+

Fos + h3setKc

A1

0

0

⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥

Aside: Mathematica is helping us, as the full solution is not really helpful.

In general, 1st and 2nd order polynomials are interpretable, 3rd and 4th are analytically solvable but not easily interpretable, and 5+ order polynomials have no analytical solution.

6) Add in known constants and try again..

h1′

h2′

h3′

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

=

−c1

A1

0 −Kc

A1

c1

A2

−c2

A2

0

0c2

A3

−c3

A3

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

h1

h3

h3

⎢ ⎢ ⎢

⎥ ⎥ ⎥+

Fos + h3setKc

A1

0

0

⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥A1=2, A2=4, A3=6,

c1= c2= c3=1, Fos=1,h3set=2

Eigenvalues defined by the polynomial expression:

48λ3 + 44λ2 +12λ +1+Kc = 0

Eigenvalues defined by the polynomial expression:

48λ3 + 44λ2 +12λ +1+Kc = 0

Observation: Solution is still not awfully useful. What values of Kc are good? How does the answer change with Kc?

Solution:Root Locus Plot

STABLE UNSTABLE

Root Locus PlotMethod to visualize the effect of changes

to control parameters.

Real axis

Imaginaryaxis

positivenegativezero

Increasing oscillatory behavior

Increasing stability

Root Locus PlotMethod to visualize the effect of changes

to control parameters.

Real axis

Imaginaryaxis

positivenegativezero

= Eigenvalues for a given value of Kc

Example Eigenvalue set:=-2, -3+2i, -3-2i

Imaginary values always come in pairs

Stable, oscillatory solution

Root Locus PlotMethod to visualize the effect of changes

to control parameters.

Real axis

Imaginaryaxis

positivenegativezero

Increasing Kc

Kc value at which system becomes unstable

Root locus plot in Mathematica:1. Sample a Kc value2. Solve for roots3. For each root separate the imaginary and real components4. Plot

Root locus plot in Mathematica:1. Sample a Kc value2. Solve for roots3. For each root separate the imaginary and real components4. Plot

Increasing Kc

Increasing Kc

Kc value at which system becomes unstable

See file lec.17.example.nb

Another example..Imagine for another control system you find the following polynomial describing your eigenvalues:

3 + λ2(−4 + k + 2ti) + λ (14 − 2k − 6ti + 2k * ti + ti2) − 20 +10k + 4ti − 2k * ti − 2 * ti2 + k * ti2 = 0Here k and ti parameterize the P and I part of a PI controller.

Conveniently this function can be factored to:

(λ + k− 2)(λ −1+ ti+ 3i)(λ −1+ ti− 3i) = 0

For this system,What are the limits of k that result in a stable system?What are the limits of ti that result in a stable system?

Solution:The limits on k force the first root to be negative, thus

(λ + k− 2) = 0

λ = −k+ 2Thus k must be 2 or greater. Similarly for ti, ti must be 1 or greater

Another example..

(λ + k− 2)(λ −1+ ti+ 3i)(λ −1+ ti− 3i) = 0

Solution:The limits that ki result are ones that make the first root negative, thus

(λ + k− 2) = 0

λ = −k+ 2Thus k must be 2 or greater. Similarly for ti, ti must be 1 or greater

positivenegativezero

Increasing k

Increasing ti

Increasing ti

Root Locus Plot

(λ + k− 2)(λ −1+ ti+ 3i)(λ −1+ ti− 3i) = 0

Alternative visualization: Plot k vs ti and show regions that are stable vs unstable

UNSTABLE

STABLE

ti

k

Complications & Solutions

1) Sometimes you only care if the solution has real positive parts (i.e. is unstable)

2) Sometimes you have too many unknowns to easily construct and interpret a root locus plot (e.g. with two PID controllers you have Kc1, Kc2, i1, i2, d1, d2)

Solution: Routh stability analysis

Routh StabilityRouth stability allows us to evaluate the

signs of the real parts of the roots of a polynomial without solving for the roots themselves.

Example:In analyzing the stability of your system, you find the following expression for your eigenvalues

3 +10λ2 + 23λ +14 = 0You don’t care what the actual eigenvalues are, but only care if all of the real parts are negative. --> Use Routh Stability

Routh Stability

Picture from controls.engin.umich.edu Routh Stability section

Key requirement: sign on highest order term must be positive! If not multiply system by -1 to make it this way.

Count number of sign changes in first column to determine the number of positive real roots.

3 +10λ2 + 23λ +14 = 0

Routh table:Row Entry1 1 232 10 143 (10*23-14*1)/10=21.6 (10*0-1*0)/10=04 (21.6*14-10*0)/21.6=14 0

Because all entries in the first column are positive, we can assume that the real components of the eigenvalues are all negative and the system is stable. This result does not tell us if the system spirals and is only as accurate as the model and possible linear approximation we made of the model, but it does provide us with a method.

Note: if we did evaluate the roots, we would find this system has roots of -2, -1, and -7, thus is stable.

Back to a previous example:Eigenvalues defined by the polynomial expression:

48λ3 + 44λ2 +12λ +1+Kc = 0Routh table:Row Entry1 48 122 44 1+Kc

3 (12*44-48*(1+Kc))/44= (44*0-48*0)/44=0(12/11)(10-Kc)

4 ((12/11)(10-Kc)(1+Kc)-14*0) 0/ ((12/11)(10-Kc))= 1+Kc

Thus for the first column to be all positive, we need the following conditions:Row 3: Kc<10Row 4: Kc>-1 Therefore, for all positive we need -1<Kc<10

Check and see..Eigenvalues defined by the polynomial expression:

48λ3 + 44λ2 +12λ +1+Kc = 0

Borderline stable

stable

stable

Borderline stable

unstable

unstable

Routh Stability: Special cases

– One of the coefficients is zero--replace with epsilon

Example from controls.engin.umich.edu

Therefore row 3 is negative, so expect the system to have positive real roots -> unstable

Roots:s=-4 and s=2

Take Home Messages

• Adding a controller to a system does not always make it stable!

• Root locus plots help you see the effects of changing control parameters on system stability.

• Routh stability can help to identify regions of parameter space that will be stable.

• Routh stability is particularly useful when there are multiple unknown parameters and the system is too large handle analytically.