Pole placement control O.Sename
Pole placement control: state space and polynomial approaches Lecture 2
State feedback control Pole placement control: a state space approach Observer Observer-based control
O. Sename1
Integral Control Some important features
1 Gipsa-lab,
CNRS-INPG, FRANCE
[email protected] www.gipsa-lab.fr/∼o.sename
12th January 2015
Outline
Pole placement control O.Sename State feedback control
State feedback control
Pole placement control: a state space approach Observer
Pole placement control: a state space approach
Observer-based control Integral Control
Observer
Observer-based control
Integral Control
Some important features
Some important features
About Feedback control
Pole placement control O.Sename State feedback control
How to design a controller using a state space representation ? Tow cases are possible : I
Static controllers (output or state feedback)
I
Dynamic controllers (output feedback or observer-based)
What for ? I
Closed-loop stability (of state or output variables)
I
disturbance rejection
I
Model tracking
I
Input/Output decoupling
I
Other performance criteria : H2 optimal, H∞ robust...
Pole placement control: a state space approach Observer Observer-based control Integral Control Some important features
Pole placement control O.Sename State feedback control Pole placement control: a state space approach Observer Observer-based control Integral Control
State feedback control
Some important features
Pole placement control
State space representations
O.Sename State feedback control
Let consider continuous-time linear state space system given bt : ( ˙ x(t) = Ax(t) + Bu(t), x(0) = x0 y (t) = Cx(t) + Du(t) I
x(t) ∈ Rn is the system state (vector of state variables),
I
u(t) ∈ Rm the control input
I
y (t) ∈ Rp the measured output
I
A, B, C and D are real matrices of appropriate dimensions
I
x0 is the initial condition.
n is the order of the state space representation.
Pole placement control: a state space approach Observer
(1)
Observer-based control Integral Control Some important features
Why state feedback and not output feedback?
Pole placement control O.Sename State feedback control Pole placement control: a state space approach
Example: G(s) = s21−s Consider the controllable canonical form. Case of output feedback : u = −Ly ˙ Then x(t) = (A − BLC)x(t) For the example, the characteristic polynomial is PBF (s) = s2 − s − L. The closed-loop system cannot be stabilized. Case of state feedback : u = −Fx Let F = [f1 , f2 ]. Then PBF (s) = s2 + (−1 + f2 )s + f1 . So it is easy to choose F to get a stable closed-loop system. For instance f1 = 1, f2 = 3 gives PBF (s) = (s + 1)2
Observer Observer-based control Integral Control Some important features
Pole placement control
State feedback
O.Sename State feedback control Pole placement control: a state space approach
A state feedback controller for a continuous-time system is:
Observer
u(t) = −Fx(t)
(2)
where F is a m × n real matrix. When the system is SISO, it corresponds to : u(t) = −f1 x1 − f2 x2 − . . . − fn xn with F = [f1 , f2 , . . . , fn ]. When the system is MIMO we have x1 u1 f . . . f 11 1n u2 x . .. 2 . = .. . . .. .. fm1 . . . fmn um xn
Observer-based control Integral Control Some important features
State feedback (2)
Pole placement control O.Sename State feedback control Pole placement control: a state space approach
Using state feedback controllers (2), we get in closed-loop (for simplicity D = 0) ˙ x(t) = (A − BF )x(t), (3) y (t) = Cx(t) and the stability (and dynamics) of the closed-loop system is then given by the eigenvalues of A − BF . For discrete-time system we get: x(k + 1) = (A − BF )x(k ), (4) y (k ) = Cx(k )
Observer Observer-based control Integral Control Some important features
Pole placement control
State feedback (3)
O.Sename State feedback control
When the objective is to track some reference signal r , the state feedback control is of the form:
Pole placement control: a state space approach
u(t)
=
−Fx(t) + Gr (t)
(5)
or u(k )
=
−Fx(k ) + Gr (k )
(6)
Observer Observer-based control Integral Control
G is a m × p real matrix. Then the closed-loop transfer matrix is : GCL (s) = C(sIn − A + BF )−1 BG
Some important features
(7)
G is chosen to ensure a unitary steady-state gain as: G = [C(−A + BF )−1 B]−1
(8)
F For discrete-time system: G = [C(In − A + BF )−1 B]−1
(9)
Pole placement control O.Sename State feedback control Pole placement control: a state space approach Observer Observer-based control
Pole placement control: a state space approach
Integral Control Some important features
Pole placement control
Pole placement control O.Sename State feedback control Pole placement control: a state space approach
Problem definition
Observer
Given a linear system (1), does there exist a state feedback control law (2) such that the closed-loop poles are in predefined locations (denoted γi , i = 1, ..., n ) in the complex plane ?
Observer-based control
Proposition Let a linear system given by A, B, and let γi , i = 1, ..., n , a set of complex elements (i.e. the desired poles of the closed-loop system). There exists a state feedback control u = −Fx such that the poles of the closed-loop system are γi , i = 1, ..., n if and only if the pair (A, B) is controllable.
Integral Control Some important features
Pole placement control
Pole placement control (2)
O.Sename
Firstcase: controllable canonical form 0 1 0 ... 0 0 0 1 0 ... .. .. .. .. .. , B = . . . . . A= .. 0 . 0 1 −a0 −a1 . . . . . . −an−1 c0 c1 ... cn−1 . C= Let F = [ f1 f2 . . . fn ] Then 0 1 0 ... 0 0 1 0 .. .. .. .. . . . . A − BF = . .. 0 0 −a0 − f1
−a1 − f2
...
...
State feedback control
0 .. . .. . 0 1
Pole placement control: a state space approach
and
Observer Observer-based control Integral Control Some important features
0 ... .. . 1 −an−1 − fn
(10)
Pole placement control (3)
Pole placement control O.Sename State feedback control
Consider the desired clos-ed-loop polynomial: (s − γ1 )(s − γ2 )...(s − γn ) = sn + αn−1 sn−1 + . . . + α1 s + α0 The solution:
Pole placement control: a state space approach Observer Observer-based control Integral Control
fi = −ai−1 + αi−1 , i = 1, .., n ensures that the poles of A − BF are {γi }, i = 1, n When we consider a general state space representation, it is first necessary to use a change of basis to make the system under canonical form. Use F=acker(A,B,P) where P is the set of desired closed-loop poles.
Some important features
Pole placement control
Pole placement control (4)
O.Sename
Procedure for the general case: State feedback control
1. Check controllability of (A, B) 2. Calculate C = [B, AB, . . . , An−1 B]. q1 Note C −1 = ... . Define T = qn
qn qn A .. . qn An−1
−1
Pole placement control: a state space approach Observer
¯ = T −1 AT and B ¯ = T −1 B (which are under the controllable 3. Note A canonical form) 4. Choose the desired closed-loop poles and define the desired closed-loop characteristic polynomial: sn + αn−1 sn−1 + . . . + α1 s + α0 5. Calculate the state feedback u = −F¯ x¯ with: ¯f = −a + α , i = 1, .., n i i−1 i−1 6. Calculate (for the original system): u = −Fx, with F = F¯ T −1
Observer-based control Integral Control Some important features
Pole placement control O.Sename State feedback control Pole placement control: a state space approach Observer Observer-based control Integral Control
Observer
Some important features
Introduction
Pole placement control O.Sename State feedback control
A first insight To implement a state feedback control, the measurement of all the state variables is necessary. If this is not available, we will use a state estimation through a so-called Observer.
Pole placement control: a state space approach Observer Observer-based control
Observation or Estimation
Integral Control
The estimation theory is based on the famous Kalman contribution to filtering problems (1960), and accounts for noise induced problems. The observation theory has been developed for Linear Systems by Luenberger (1971), and doe snot consider the noise effects.
Some important features
Other interest of observation/estimation In practice the use of sensors is often limited for several reasons: feasibility, cost, reliability, maintenance ... An observer is a key issue to estimate unknown variables (then non measured variables) and to propose a so-called virtual sensor. Objective: Develop a dynamical system whose state xˆ (t) = x(t), ∀t ≥ 0.
Pole placement control
Open loop observer
O.Sename
Let consider
(
˙ x(t) = Ax(t) + Bu(t), x(0) = x0 y (t) = Cx(t)
Given that we know the plant matrices and the inputs, we can just perform a simulation that runs in parallel with the system ( xˆ˙ (t) = Axˆ (t) + Bu(t), x(0) = x0
State feedback control
(11)
Pole placement control: a state space approach Observer Observer-based control Integral Control
(12)
yˆ (t) = C xˆ (t) Therefore, if xˆ (0) = x(0), then xˆ (t) = x(t), ∀t ≥ 0.
BUT I
x(0) is UNKNOWN.
I
the estimation error (xˆ − x) dynamics is determined by A (and cannot be modified)
I
the effects of disturbance and noise cannot be attenuated (leads to estimation biais)
Some important features
Pole placement control
Closed-loop Observer
O.Sename
Objective: since y is function of the state variables and KNOWN, use an on line comparison of the system output y and the estimated output yˆ .
State feedback control Pole placement control: a state space approach Observer Observer-based control Integral Control Some important features
Observer form: xˆ˙ (t) xˆ0 to be defined
=
Axˆ (t) + Bu(t) − L(C xˆ (t) − y (t))
where xˆ (t) ∈ Rn is the estimated state of x(t) and L is the n × p constant observer gain matrix to be designed.
(13)
Pole placement control
Closed-loop Observer
O.Sename
Objective: since y is function of the state variables and KNOWN, use an on line comparison of the system output y and the estimated output yˆ .
State feedback control Pole placement control: a state space approach Observer Observer-based control Integral Control Some important features
Observer form: xˆ˙ (t) xˆ0 to be defined
=
Axˆ (t) + Bu(t) − L(C xˆ (t) − y (t))
where xˆ (t) ∈ Rn is the estimated state of x(t) and L is the n × p constant observer gain matrix to be designed.
(13)
Pole placement control
Observer
O.Sename State feedback control
The estimated error, e(t) := x(t) − xˆ (t), satisfies: ˙ e(t)
=
(A − LC)e(t)
(14)
Pole placement control: a state space approach Observer
If L is designed such that A − LC is stable, then xˆ (t) converges asymptotically towards x(t).
Proposition
rank (O) = n
where O =
Integral Control Some important features
(13) is an observer for system (1) if and only if the pair (C,A) is observable, i.e.
Observer-based control
C CA .. . CAn−1
.
Observer design
Pole placement control O.Sename State feedback control Pole placement control: a state space approach
The observer design is restricted to find L such that A − LC is stable. This is still a pole placement problem. In order to use the acker Matlab function, we will use the duality property between observability and controllability, i.e. : (C, A) observable ⇔ (AT , C T ) controllable. Then there exists LT such that the eigenvalues of AT − C T LT can be randomly chosen. As (A − LC)T = AT − C T LT then L exists such that A − LC is stable. Matlab : use L=acker(A’,C’,Po)’ where Po is the set of desired observer poles.
Observer Observer-based control Integral Control Some important features
How to choose the observer poles ?
Pole placement control O.Sename State feedback control
First This is quite important to avoid that the observer makes the closed-loop system slower. So the observer should be faster than you intend to make the regulator.
Pole placement control: a state space approach Observer Observer-based control
Second
Integral Control
Increasing the observe gain is actually possible since there is no saturation problem. However the measured outputs are often noisy. Trade-off between high bandwidth observers (very efficient for estimation but noise sensitive) and low bandwidth ones (less than noise sensitive but slower)
Some important features
Rule of thumb Usually the observer poles are chosen around 5 to 10 times higher than the closed-loop system, so that the state estimation is good as early as possible.
Pole placement control
About the robustness of the observer
O.Sename
Let assume that the systems is indeed given by ( ˙ x(t) = Ax(t) + Bu(t) + Edx (t), x(0) = x0 y (t) = Cx(t) + Ddy (t)
State feedback control
(15)
Observer
where dx can represent input disturbance or modelling error, and dy stands for output disturbance or measurement noise. Then the estimated error satisfies: ˙ e(t)
=
(A − LC)e(t) + Edx − LDdy
Pole placement control: a state space approach
(16)
Therefore the presence of dx or dy may lead to non zero estimation errors due to biais or variations. Then do not forget that you can: I
Provide an analysis of the observer performances/robustness due to dx or dy (see later)
I
Design optimal observer when dx and dy represent noise effects (Kalman - lqe, see next course )
I
Design robust observer suing H∞ approach (see next year)
Observer-based control Integral Control Some important features
Pole placement control O.Sename State feedback control Pole placement control: a state space approach Observer Observer-based control Integral Control
Observer-based control
Some important features
Pole placement control
Observer-based control
O.Sename
When an observer is built, we will use as control law: u(t) = −F xˆ (t) + Gr (t)
State feedback control
(17)
We then need to study the stability of the complete closed-loop system, using the extended state: xe (t) =
x(t)
e(t)
T
The closed-loop system from r to y is then computed from:
which leads to
x(t)
e(t)
Observer Observer-based control Integral Control Some important features
The closed-loop system with observer (13) and control (17) is: A − BF BF BG x˙ e (t) = xe (t) + r (t) 0 A − LC 0
y = [C 0]
Pole placement control: a state space approach
T
y = C(sIn − A + BF )BG r
(18)
Separation principle
Pole placement control O.Sename State feedback control Pole placement control: a state space approach Observer
The characteristic polynomial of the extended system is: det(sIn − A + BF ) × det(sIn − A + LC) If the observer and the control are designed separately then the closed-loop system with the dynamic measurement feedback is stable, given that the control and observer systems are stable and the eigenvalues of (18) can be obtained directly from them. This corresponds to the so-called separation principle.
Observer-based control Integral Control Some important features
Pole placement control
The controller
O.Sename State feedback control
The observer-based controller is nothing else than a 2-DOF Dynamic Output Feedback controller. Indeed it comes from xˆ˙ (t) = Axˆ (t) + Bu(t) − L(C xˆ (t) − y (t)) (19) u(t) = −F xˆ (t) + Gr (t)
Pole placement control: a state space approach Observer Observer-based control Integral Control Some important features
which can be written as x˙ K (t)
=
u(t)
=
r (t) y (t) r (t) CK xK (t) + DK y (t)
AK xK (t) + BK
with xK = xˆ , AK = A − BF − LC, BK = [BG L], CK = −F and DK = [G 0]
(20)
Pole placement control O.Sename State feedback control Pole placement control: a state space approach Observer Observer-based control
Integral Control
Integral Control Some important features
Integral Control
Pole placement control O.Sename State feedback control
A state feedback controller may not allow to reject the effects of disturbances (particularly of input disturbances). A very useful method consists in adding an integral term to ensure a unitary static closed-loop gain . Considered system: ( ˙ x(t) = Ax(t) + Bu(t) + Ed(t), x(0) = x0 (21) y (t) = Cx(t) where d is the disturbance. The objective is to keep y close to a reference signal r , even in the presence of d, i.e to keep r − y asymptotically stable.
Pole placement control: a state space approach Observer Observer-based control Integral Control Some important features
Pole placement control
Integral Control
O.Sename State feedback control
The method consists in extending the system by adding a new state variable:
Pole placement control: a state space approach Observer Observer-based control
˙ z(t) = r (t) − y (t)
Integral Control Some important features
and to use a new state feedback: u(t) = −Fx(t) − Hz(t) We get
˙ x(t) ˙ z(t)
=
A − BF −C
BH 0
x z
+
0 1
r (t) +
E 0
d(t)
Pole placement control
Integral control scheme
O.Sename
The complete structure has the following form:
State feedback control Pole placement control: a state space approach
+ -
1 s
Observer
z
Observer-based control
H F
-
Integral Control
u
Plant
y
-
r
x (Or xˆ in case of an observer-based control)
When an observer is to be used, the control action simply becomes: u(t) = −F xˆ (t) − Hz(t)
Some important features
Integral control scheme
Pole placement control O.Sename State feedback control Pole placement control: a state space approach Observer Observer-based control
Compute the closed-loop system representation and check that: I
the closed-loop system has a unitary gain
I
the effect of the disturbance d in steady-state is nul
Integral Control Some important features
Pole placement control O.Sename State feedback control Pole placement control: a state space approach Observer Observer-based control
Some important features
Integral Control Some important features
Some extension: reduced-order observers
Pole placement control O.Sename State feedback control Pole placement control: a state space approach
In practice, since some output variables are measured it may be non necessary to get an estimation of all the state variables. For instance, if : x1 (t) x(t) = x2 (t) and y (t) = x1 (t) is measured, then it possible to estimate only x2 (t), which is referred to as a reduced-order observer (order = n − p). N.B: the use of a full-order observer also induces a filter effect on the measurements.
Observer Observer-based control Integral Control Some important features
Specifications
Pole placement control O.Sename
The required closed-loop performances should be chosen in the following zone
State feedback control Pole placement control: a state space approach Observer Observer-based control Integral Control Some important features
which ensures a damping greater than ξ = sin φ . −γ implies that the real part of the CL poles are sufficiently negatives.
Pole placement control
Specifications (2)
O.Sename State feedback control Pole placement control: a state space approach
Some useful rules for selection the desired pole/zero locations (for a second order system): I
Rise time : tr '
1.8 ωn
Observer Observer-based control Integral Control
4.6 ξ ωn
I
Seetling time : ts '
I
Overshoot Mp = exp(−πξ /sqrt(1 − ξ 2 )): ξ = 0.3 ⇔ Mp = 35%, ξ = 0.5 ⇔ Mp = 16%, ξ = 0.7 ⇔ Mp = 5%.
Some important features
Pole placement control
Specifications(3) Some rules do exist to shape the transient response. The ITAE (Integral of Time multiplying the Absolute value of the Error), defined as: ITAE =
Z ∞
t|e(t)|dt
0
O.Sename State feedback control Pole placement control: a state space approach Observer
can be used to specify a dynamic response with relatively small Observer-based control overshoot and relatively little oscillation (there exist other methods to do Integral Control so). The optimum coefficients for the ITAE criteria are given below (see Some important Dorf & Bishop 2005). features Order Characteristic polynomials dk (s) 1 d1 = [s + ωn ] 2 d2 = [s2 + 1.4ωn s + ωn2 ] 3 d3 = [s3 + 1.75ωn s2 + 2.15ωn2 s + ωn3 ] 4 d4 = [s4 + 2.1ωn s3 + 3.4ωn2 s2 + 2.7ωn3 s + ωn4 ] 5 d5 = [s5 + 2.8ωn s4 + 5ωn2 s3 + 5.5ωn3 s2 + 3.4ωn4 s + ωn5 ] 6 d6 = [s6 + 3.25ωn s5 + 6.6ωn2 s4 + 8.6ωn3 s3 + 7.45ωn4 s2 + 3.95ωn5 s + ωn6 ] and the corresponding transfer function is of the form: Hk (s) =
ωnk , ∀k = 1, ..., 6 dk (s)
Pole placement control
Specifications(4)
O.Sename State feedback control Pole placement control: a state space approach
1.2 H1 H2 H3 H4 H5 H6
1
Observer Observer-based control Integral Control
0.8
Some important features
STEP RESPONSE OF TRANSFER FUNCTIONS WITH ITAE CHARACTERISTIC POLYNOMIALS 0.6
0.4
0.2
0
0
2
4
6
8
NORMALIZED TIME ωn t
10
12
14
16
Performance analysis The general form of a Dynamic Output Feedback controller is 2-DOF state space representation as: r (t) x˙ K (t) = AK xK (t) + BK y (t) (22) r (t) u(t) = CK xK (t) + DK y (t) This allows to compute the well known sensitivity functions since, from K (s) = DK + CK (SIn − AK )−1 BK , we can write: U(s) = Kr (s)R(s) − Ky (s)Y (s) The general control scheme is of the form
Figure: Complete control scheme
Pole placement control O.Sename State feedback control Pole placement control: a state space approach Observer Observer-based control Integral Control Some important features
Pole placement control
Performance analysis (SISO)
O.Sename State feedback control Pole placement control: a state space approach
The closed-loop system satisfies the equations y = u =
1 1+G(s)Ky (s) 1 1+Ky (s)G(s)
(GKr r + dy − GKy n + Gdi ) (Kr r − Ky dy − Ky n − Ky Gdi )
Observer Observer-based control Integral Control
Defining the Sensitivity and the complementary sensitivity functions: S(s) =
1 1 + G(s)Ky (s)
and the performance sensitivity functions are then y r
=
GKr 1+GKy = SGKr u r = Kr S
y di u di
= SG = −Ty
u dy
y dy
=S = −Ky S
y n u n
= −T = −Ky S
Some important features
Pole placement control
Performance analysis (MIMO)
O.Sename State feedback control
The closed-loop system satisfies the equations
Pole placement control: a state space approach
(Ip + G(s)Ky (s))y (s) = (GKr r + dy − GKr n + Gdi ) (Im + Ky (s)G(s))u(s) = (Kr r − Ky dy − Ky n − Ky Gdi )
Observer Observer-based control
Defining
Integral Control
Output and Output complementary sensitivity functions: Sy = (Ip + GKy )−1 ,
Ty = (Ip + GKy )−1 GKy ,
Sy +Ty = Ip
Input and Input complementary sensitivity functions: Su = (Im + Ky G)−1 ,
Tu = Ky G(Im + Ky G)−1 , Su +Tu = Im
and the performance sensitivity functions are then y r
= Sy GKr u r = Su Kr
u di
y di
= Sy G = −Su Ky G
u dy
y dy
= Sy = −Su Ky
u n
y n
= −Ty = −Su Ky
Some important features