240 likes | 369 Views
Lecture 14&15: Pole Assignment Self-Tuning Control. Dr Martin Brown Room: E1k Email: martin.brown@manchester.ac.uk Telephone: 0161 306 4672 http://www.eee.manchester.ac.uk/intranet/pg/coursematerial/. Outline 14 & 15. Pole assignment self-turning control
E N D
Lecture 14&15: Pole Assignment Self-Tuning Control Dr Martin Brown Room: E1k Email: martin.brown@manchester.ac.uk Telephone: 0161 306 4672 http://www.eee.manchester.ac.uk/intranet/pg/coursematerial/
Outline 14 & 15 • Pole assignment self-turning control • Introduction to self-tuning/adaptive control • Example of first order pole assignment • General pole assignment problem • Self-tuning pole assignment • Servo, noise free tracking • Disturbance rejection • Reduced variance regulation • Local convergences • Variations and problems
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.
Adaptive Modelling and Control (i) • Self-tuning control • Identify the system (on-line) using measured input-output data • Have a desired control specification (pole placement) • Calculate controller to achieve specification for current model Synthesis rule Model u(t) r(t) y(t) Controller System
Basic Pole Assignment • The design of a feedback controller generally involves: • Modifying the system’s dynamic response • Reducing the output sensitivity to disturbances • 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
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 function • H(s) = f/(as+1) • where a is the time constant, f is the system gain and the parameters are related by • a = exp(-ts/a) • b = (1-a)f • where ts is the sample time. • A control objective is to use a feedback controller to alter the system’s response speed (a->b) while ensuring the same steady state response
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)/b • Zero 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 …)`
Self-Tuning Algorithm Sequence • At each discrete time sample interval t, the following sequence is taken • Data capture • The system output y(t), reference signal r(t) and any other variables of importance are measured. • Estimator update • The 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 • Controller synthesis • The updated parameters from (2) are used in a pole assignment identity to synthesize the parameters of the desired controller • 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.
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.
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 satisfy • nf = nb • ng = na-1 • provided A and B have no common zeros. In addition, • nt≤na + nb – nc
Pole Assignment Properties • This gives the overall response as • y(t) = HB/TCr(t-1) + F/Te(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/Te(t)
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: • The desired closed loop pole set T • Form of the controller servo system/regulator/… • Controller is incremental or non-incremental • Other important bits include the sample rate, system orders and time delay
Servo Self-Tuner Control Problem • Suppose the noise-free system is given byAy(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. • Read in system output y(t) • Use RLS (tracking?) to update the parameter estimates in the model • Ay(t) = Bu(t-1) • Synthesize the controller polynomials F, G and H, using the estimates of A and B, using • FA+z-1BG = T • H = [T/B]|z=1 • Calculate the control action using • Fu(t) = -Gy(t) + Hr(t) • Go to 1 at the next time sample t+1 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
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 Aq=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.
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
Example: Servo Self-Tuner • Consider 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)
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/Te(t) • which assumes that C is unity.
Algorithm: Regulation against Noise • At each sample time t • Sample the new system output y(t) • 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 • Synthesize the controller polynomials F, G using • FA + z-1BG = TX • Apply the control using • Fu(t) = -Gy(t) • 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. ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
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.
Example: Regulation against Noise Consider 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 h(t) tends to 0 X = 1 P(0) = 5I l = 0.998
Local Parametric Convergence • Consider 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 ^ ^ ^ ^ ^ ^ ^
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. • Three term, discrete time PID controllers can be designed using a similar approach • Incremental control which calculate Du(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)
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
Exercises • 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.