ee-m110 2006/7: ef l14&15 1/24, v2.2 lecture 14&15: pole assignment self- tuning control dr...
Post on 19-Dec-2015
225 views
TRANSCRIPT
EE-M110 2006/7: EF L14&15 1/24, v2.2
Lecture 14&15: Pole Assignment Self-Tuning Control
Dr Martin Brown
Room: E1k
Email: [email protected]
Telephone: 0161 306 4672http://www.eee.manchester.ac.uk/intranet/pg/coursematerial/
EE-M110 2006/7: EF L14&15 2/24, v2.2
Outline 14 & 15
Pole assignment self-turning control
1. Introduction to self-tuning/adaptive control
2. Example of first order pole assignment
3. General pole assignment problem
4. Self-tuning pole assignment– Servo, noise free tracking
– Disturbance rejection
– Reduced variance regulation
5. Local convergences
6. Variations and problems
EE-M110 2006/7: EF L14&15 3/24, v2.2
Background Reading
Core Text• Chapter 7, Self-Tuning Systems, Wellstead and Zarrop
The aim of these two lectures is to show how the (on-line) system identification procedures developed so far on the course can be combined with pole assignment ideas to design a range of different dynamic regulators.
Discussion about noise and convergence and what is being assumed as well as limitations of the procedures will be given
NB, there are many other ways that adaptive system identification techniques can be used for control, this is only one example.
EE-M110 2006/7: EF L14&15 4/24, v2.2
Self-tuning control
1. Identify the system (on-line) using measured input-output data
2. Have a desired control specification (pole placement)3. Calculate controller to achieve specification for current model
Adaptive Modelling and Control (i)
Controller System
ModelSynthesis
rule
r(t) u(t) y(t)
EE-M110 2006/7: EF L14&15 5/24, v2.2
Basic Pole Assignment
The design of a feedback controller generally involves:1. Modifying the system’s dynamic response2. Reducing the output sensitivity to disturbances3. Reducing the overall system sensitivity to parametric
variations
In general, the discrete-time polynomials associated with the controller so that
• Plant output tracks the reference signal sufficiently fast• Steady state error is zero• Robust to disturbances and parametric uncertainty
This will be illustrated with the following first order example
EE-M110 2006/7: EF L14&15 6/24, v2.2
First Order Pole Assignment Example (i)
The true, unknown discrete-time first order system is given by:(1-az-1)y(t) = bz-1u(t)
which arises from the continuous time transfer functionH(s) = f/(s+1)
where is the time constant, f is the system gain and the parameters are related bya = exp(-s/)b = (1-a)f
where s is the sample time.
A control objective is to use a feedback controller to alter the system’s response speed (->) while ensuring the same steady state response
EE-M110 2006/7: EF L14&15 7/24, v2.2
First Order Pole Assignment Example (ii)
We can use a feedback controller structure:u(t) = -gy(t) + hr(t)
and combining with the discrete-time model:y(t) = bhz-1/(1-(a-bg)z-1) r(t)
and the closed loop response speed is determined by (a-bg) instead of a, or the closed loop pole has been assigned to z = a-bg.
If we require a pole at z=t1
g = (a-t1)/bZero steady state error, y(t) = r(t), requires the closed loop transfer
function has unity gain at zero frequency (z=1)
h = (1-t1)/b(latter property could be obtained with integral action …)`
EE-M110 2006/7: EF L14&15 8/24, v2.2
Self-Tuning Algorithm Sequence
At each discrete time sample interval t, the following sequence is taken1. Data capture
The system output y(t), reference signal r(t) and any other variables of importance are measured.
2. Estimator updateThe data acquired in (1) is used together with past data and the
previous control signal to update the parameter estimates in a model of the system using an appropriate recursive estimator
3. Controller synthesisThe updated parameters from (2) are used in a pole assignment
identity to synthesize the parameters of the desired controller4. Control calculation
The controller parameters synthesized in (3) are used in a controller to calculate and input the next control signal u(t).
There may be a significant computational burden which may affect when the control action is applied in the (or next) time interval.
EE-M110 2006/7: EF L14&15 9/24, v2.2
General Pole Assignment Problem
In general, the control objective for a system is to require the output y(t) to follow a reference signal r(t) in some pre-determined way (servo following) and to reject random disturbances which may corrupt the output (disturbance rejection).
Consider a system defined by:
Ay(t) = Bu(t-1) + Ce(t)
where the controller is of the form
Fu(t) = Hr(t) – Gy(t)
gives the closed loop response
(FA + z-1BG)y(t) = z-1BHr(t) + CFe(t)
which must be designed by choice of F, G and H.
EE-M110 2006/7: EF L14&15 10/24, v2.2
General Pole Assignment
Closed loop poles are then assigned to their desired locations, specified by T:FA+z-1BG = TC
For this to be solved
F = 1 + f1z-1 +…+ fnfz-nf
G = g0 + g1z-1 +…+ gngz-ng
H = h0 + h1z-1 +…+ hnhz-nh
The degrees should satisfynf = nbng = na-1
provided A and B have no common zeros. In addition, nt ≤ na + nb – nc
EE-M110 2006/7: EF L14&15 11/24, v2.2
Pole Assignment Properties
This gives the overall response as
y(t) = HB/TC r(t-1) + F/T e(t)
The noise polynomial C has been cancelled in the feedback term (NB this requires that C is inverse stable)
The precompensator H is designed to achieve both low frequency gain matching and the cancellation of C. The simplest choice is:
H = C [T/B]|z=1
Yielding the closed loop equation
y(t) = [T/B]|z=1 [B/T] r(t-1) + F/T e(t)
EE-M110 2006/7: EF L14&15 12/24, v2.2
Self-Tuning Pole Assignment Algorithms
A pole assignment self-tuner is a recursive estimator combined with a pole assignment synthesis rule to continuously update the controller coefficients. Performance requirements include:
1. The desired closed loop pole set T
2. Form of the controller servo system/regulator/…
3. Controller is incremental or non-incremental
Other important bits include the sample rate, system orders and time delay
EE-M110 2006/7: EF L14&15 13/24, v2.2
Servo Self-Tuner Control ProblemSuppose the noise-free system is given by
Ay(t) = Bu(t-1)
Required that the output y(t) should follow a reference signal r(t) with zero steady-state error with system closed loop dynamics governed by the pole set T.
1. Read in system output y(t)
2. Use RLS (tracking?) to update the parameter estimates in the model
Ay(t) = Bu(t-1)
3. Synthesize the controller polynomials F, G and H, using the estimates of A and B, usingFA+z-1BG = TH = [T/B]|z=1
4. Calculate the control action using
Fu(t) = -Gy(t) + Hr(t)
5. Go to 1 at the next time sample t+1
^^
^ ^^ ^ ^
^^^^
^
^^^
EE-M110 2006/7: EF L14&15 14/24, v2.2
Example: Calculating the Controller Polynomials
Consider the problem na=3, nb=2, nt=1 with a single pole at t1
Multiplying out and equating the coefficients for z-i (i=1,…,5)
In matrix format, this is simply A=b. With suitable assumptions, such as A and B are co-prime and are of the correct degrees, the matrix A is invertible and the controller’s coefficients can be directly calculated.
1 2 1 2 31 2 1 2 3
1 1 2 1 2 10 1 2 0 1 2 1
(1 )(1 )
( )( ) 1
f z f z a z a z a z
z b b z b z g g z g z t z
0 1 1 1
1 1 0 2 2
2 1 2 1 0 0 3
3 2 2 1 1
3 2 2
1 0 0 0
1 0
0 0
0 0 0 0
b f t a
a b b f a
a a b b b g a
a a b b g
a b g
EE-M110 2006/7: EF L14&15 15/24, v2.2
Certainty Equivalence Principle
The controller design assumes that at every time instant, the estimates of A and B are correct. This is known as the certainty equivalence principle.
This is not always (never?) the case, and will be especially untrue when the algorithm starts around t=0.
At the start, the coefficients may be zero or some simple initial value (first order approximation to a more complex model), but the var/cov matrix should be high to allow fast adaptation (more sensitive to noise)
This will give poor transient performance during early learning
EE-M110 2006/7: EF L14&15 16/24, v2.2
Example: Servo Self-TunerConsider the following system:
(1+0.5z-1+0.7z-2)y(t) = (z-1+0.2z-2)u(t)
the desired closed loop pole was:
T = 1-0.6z-1
The plots on the right hand side show the evolution of the system, its parameter estimates and controller parameter estimates when the reference signal is a square wave.
The correct value for the controller’s parameter are:
f1=0.15 , g0=-1.25, g1=-0.525
and the speed of initial adaptation was slowed down by choosing
P(0) = 5I
(random initial values)
EE-M110 2006/7: EF L14&15 17/24, v2.2
Self-Tuner Regulation against Noise
The previous algorithm assumed that there was no noise in the system model/controller design problem.
Now consider a system given by:
Ay(t) = Bu(t-1) + Ce(t)
where e(t) is the disturbance/offset or noise term. The aim is to regulate against random noise with a zero set point.
The self-tuning pole assignment regulator leads to the closed loop equation
y(t) =F/T e(t)
which assumes that C is unity.
EE-M110 2006/7: EF L14&15 18/24, v2.2
Algorithm: Regulation against NoiseAt each sample time t
1. Sample the new system output y(t)
2. Update the polynomial estimates A and B, using the RLS model
A(X-1y(t)) = B(X-1u(t-1)) + e(t)
where X is a chosen inverse stable polynomial in z-1
3. Synthesize the controller polynomials F, G using
FA + z-1BG = TX
4. Apply the control using
Fu(t) = -Gy(t)
5. Wait for the sample interval to elapse and then return to (1)
NB the model (2) can be cast in the form
Ay(t) = Bu(t-1) + X-1e(t)
which is equivalent to assuming C=X.
^
^^
^^
^ ^
^ ^^^
^
^^
EE-M110 2006/7: EF L14&15 19/24, v2.2
Coloured Noise and RLS System Identification
Note that if we employ the basic RLS algorithm to identify the system parameters contained in the polynomials A and B, the estimates will be biased because the noise is coloured (not iid, normal).
However, when the biased estimates are used in the controller synthesis equation to calculate F & G, the correct controller polynomials are produced
Correct in this context means that the values which would have been obtained if the correct A, B & C had been inserted in the pole assignment calculation.
The convergence to a correct configuration from an incorrect assumption on the noise dynamics is termed a self-tuning property
The polynomial X filters the data y(t) and u(t) and is useful in removing unwanted components of the signal (sensor noise), although it is often set to unity.
EE-M110 2006/7: EF L14&15 20/24, v2.2
Example: Regulation against NoiseConsider the following system:
(1+0.5z-1+0.7z-2)y(t) = (z-1+0.2z-2)u(t) + (1-0.8z-1)e(t)
where e(t)~N(0,1) white noise.
The requirement is to self-tune a pole assignment regulator such that the closed loop pole is a single pole at z=0.6.
The plots on the right hand side show the convergence for the system and controller estimates.
Note that the system parameters are clearly biased, while the controller parameters converge to the correct values
f1=-0.05 , g0=-1.85, g1=0.175
The estimated residual (t) tends to 0
X = 1
P(0) = 5I
= 0.998
EE-M110 2006/7: EF L14&15 21/24, v2.2
Local Parametric ConvergenceConsider the system
(1+az-1)y(t) = bz-1u(t) + (1+cz-1)e(t)
and the model with estimated RLS parameters
(1+az-1)y(t) = bz-1u(t) + e(t)
where the self-tuning regulator is
u(t) = -gy(t) = -(a/b)y(t)
which places the model poles at the origin. To estimate the overall parametric convergence, we need to investigate local convergence points (a*, b*) and the corresponding persistent excitation conditions
So we have only one equation in two unknowns (singular) but this is enough for establishing the self-tuning property
22
2
ˆˆ
ˆ1
)1()1()1(
)1()1()1()(
gg
g
tututy
tutytyEE Txx
^^ ^^
^ ^ ^
EE-M110 2006/7: EF L14&15 22/24, v2.2
Modifications to Basic Self-Tuning Algorithm
The two, simple self-tuning algorithms discussed in these lectures have many modifications to deal with more complex cases and to make them numerically robust.
1. Three term, discrete time PID controllers can be designed using a similar approach
2. Incremental control which calculate u(t) can be used to create a bumpless transfer between controllers automatic steady state reference setpoint tracking occurs (can cause destabilization and integral reset is sometimes necessary)
EE-M110 2006/7: EF L14&15 23/24, v2.2
Conclusions
Pole assignment allows the closed loop pole set of a system to be arbitrarily specified by the user
The pole assignment identity can usually performed using simple matrix inversion (but more reliably using other algorithms)
Some of the self-tuning algorithms display a special self-tuning property and have the advantage that the C polynomial does not need to be estimated
While there are some quite well known limitations with this approach, it does illustrate how on-line parameter estimation can be combined with dynamic control design
EE-M110 2006/7: EF L14&15 24/24, v2.2
Exercises1. For the following system and control rule
Ay(t) = Bu(t-1)
Fu(t) = Hr(t) – Gy(t)
where na=3 and nb=2, show that the coefficients of F, G are given as the solution to
where T=1+t1z-1 specifies the desired closed loop pole set
2. Implement the servo self-tuning control system described on slide 16. You’ll need to set up an RLS algorithm to identify the parameters of the system and to calculate the controller parameters at each time step.
0 1 1 1
1 1 0 2 2
2 1 2 1 0 0 3
3 2 2 1 1
3 2 2
1 0 0 0
1 0
0 0
0 0 0 0
b f t a
a b b f a
a a b b b g a
a a b b g
a b g