SPL 06 Design of Linear State Feedback Control
SPL 06 Design of Linear State Feedback Control
Unggul Wasiwitono
Outline
4 Stabilizability
Trackers
As trackers, intended to follow a certain trajectory in state space.
1 When a control system operates in the tracking mode, it is the intention that the state vector
describe a certain path (trajectory) in state space.
2 Usually this is accomplished by changing the reference input to the control system according
to some predetermined pattern in order to cause it to move as desired.
U. Wasiwitono [Linear System Control] - Design of Linear State Feedback Control
5 / 76
State Feedback Control Law Shaping the Dynamic Response Closed-Loop Eigenvalue Placement via State Feedback Stabilizability
with the goal of achieving desired performance characteristics for the closed-loop state
equation
ẋ (t) = (A − BK) x (t) + Br (t)
(3)
y (t) = Cx (t)
D
x0
+
r (t) + u (t) + ẋ (t) Z x (t) + y (t)
+ B + C +
− +
A
The state feedback control law can be written in terms of scalar components as
u1 (t) k11 k12 · · · k1n x1 (t) r1 (t)
u2 (t) k21 k22 · · · k2n x2 (t) r2 (t)
.. = .. .. .. .. .. + ..
. . . . . . .
um (t) km1 km2 ··· kmn xm (t) rm (t)
If the external reference input is absent, the state feedback control law is called a regu-
lator that is designed to deliver desirable transient response for nonzero initial conditions
and/or attenuate disturbances to maintain the equilibrium state x̃ = 0.
The unit step response for a standard second-order system in the underdamped case is
e−ξωn t
y (t) = 1 − p sin (ωd t + θ)
1 − ξ2
in which the phase angle is given by θ = cos−1 (ξ) and therefore is referred to as the
damping angle.
This response features a sinusoidal component governed by the damped natural
frequency and damping angle that is damped by a decaying exponential envelope
related to the negative real part of the eigenvalues.
U. Wasiwitono [Linear System Control] - Design of Linear State Feedback Control
16 / 76
State Feedback Control Law Shaping the Dynamic Response Closed-Loop Eigenvalue Placement via State Feedback Stabilizability
2.16ξ + 0.60
tr ∼
=
ωn
Peak time tp is the time at which the peak response value is reached
π π
tp = p =
ωn 1 − ξ2 ωd
−√ ξπ
peak value − steady-state value 1−ξ2
PO = × 100% = 100e
steady-state value
Settling time ts is defined to be the time at which the response enters and remains within a ±2
percent band about the steady-state value
4
ts ∼
=
ξωn
Inequality Constraints
first-order systems
an upper bound on the time required for the step response to reach steady state
Inequality Constraints
second-order systems
any combination of upper bounds the on rise time, peak time, percent overshoot, and
settling time of the step response
translated into regions in the complex plane that specify desired eigenvalue locations.
Example
characterize acceptable eigenvalue locations in the complex plane so that the
following second-order performance specifications are satisfied:
P O ≤ 4% ts ≤ 2 s tp ≤ 0.5 s
P O ≤ P Omax ⇔ ξ ≥ ξmin
Example
settling time is inversely proportional to the product ξωn that is directly related to the real
part of the complex-conjugate eigenvalues.
1 an upper bound on settling time ts ≤ ts,max corresponds to eigenvalues that lie to the left of a
vertical line passing through the point −4/ts,max on the negative real axis
2 upper bound on settling time of 2 s, eigenvalues must lie to the left of the vertical line passing
through the point −4/2 = −2 on the negative real axis.
peak time is inversely proportional to the damped natural frequency ωd that
characterizes the imaginary part of the complex-conjugate eigenvalues.
1 upper bound on peak time tp ≤ tp,max yields a lower bound on ωd
2 This corresponds to an eigenvalue that lies above and below the horizontal line passing
through ±j (π/tpmax ) = ±j2π
Example
Higher-Order Systems
The ITAE (Integral of Time multiplying the Absolute value of Error), method attempts to
accomplish dynamic shaping by penalizing the error.
Minimizing the ITAE objective function yields a step response with relatively small
overshoot and relatively little oscillation.
Theorem 1
For any symmetric set of n complex numbers {µ1 , µ2 , · · · , µn }, there exist a state
feedback gain matrix K such that
σ (A − BK) = {µ1 , µ2 , · · · , µn }
α (s) = (s − µ1 ) (s − µ2 ) · · · (s − µn )
= sn + αn−1 sn−1 + · · · + α2 s2 + α1 s + α0
the roots of a polynomial uniquely determine and are uniquely determined by the poly-
nomial coefficients, specifying n desired closed-loop eigenvalues is equivalent to speci-
fying the n coefficients α0 , α1 , α2 , · · · , αn−1
a0 + δ0 = α0 δ0 = α0 − a0
a1 + δ1 = α1 δ1 = α1 − a1
a2 + δ2 = α2 δ2 = α2 − a2
.. ..
. .
an−1 + δn−1 = αn−1 δn−1 = αn−1 − an−1
KCCF = α0 − a0 α1 − a1 α2 − a2 ··· αn−1 − an−1
Example
Consider the following three-dimensional state equation given in controller canonical
form specified by the coefficient matrices
0 1 0 0
ACCF = 0 0 1 , BCCF = 0 , CCCF = 1 0 0
−18 −15 −2 1
Example
0.07
0.06
0.05
0.04
0.03
0.02
0.01
0
0 1 2 3 4 5 6 7 8 9 10
time (s)
U. Wasiwitono [Linear System Control] - Design of Linear State Feedback Control
34 / 76
State Feedback Control Law Shaping the Dynamic Response Closed-Loop Eigenvalue Placement via State Feedback Stabilizability
Example
We want to design a state feedback control law to improve the transient response
performance with a percent overshoot of 6 percent and a settling time of 3 s.
The associated damping ratio and undamped natural frequency are
ξ = 0.67 and ωn = 2.00 rad/sec
The resulting dominant second-order eigenvalues and third desired eigenvalue are
λ1, 2 = −1.33 ± j1.49 λ3 = −13.33
Thus the desired characteristic polynomial is
α (s) = s3 + α2 s2 + α1 s + α0 = s3 + 16s2 + 39.55s + 53.66
This leads immediately to the state feedback gain vector
KCCF = 53.26 − 18 39.55 − 15 16 − 2
= 35.26 24.55 14.00
Example
0.07
0.06
0.05
0.04
0.03
0.02
0.01
0
0 1 2 3 4 5 6 7 8 9 10
time (s)
U. Wasiwitono [Linear System Control] - Design of Linear State Feedback Control
36 / 76
State Feedback Control Law Shaping the Dynamic Response Closed-Loop Eigenvalue Placement via State Feedback Stabilizability
Bass-Gura Formula
α (s) = (s − µ1 ) (s − µ2 ) · · · (s − µn )
= sn + αn−1 sn−1 + · · · + α2 s2 + α1 s + α0
For the controllable pair (A, B) the state coordinate transformation x (t) = TCCF xCCF (t)
with
−1
TCCF = P PCCF
transforms the original state equation to its controller canonical form.
Bass-Gura Formula
Since the system dynamics matrices A and ACCF are related by a similarity
transformation, their characteristic polynomials are the same, that is,
with
KCCF = α0 − a0 α1 − a1 α2 − a2 ··· αn−1 − an−1
achieving the desired eigenvalue placement for ACCF − BCCF KCCF
Setting KCCF = KTCCF
−1 −1
ACCF − BCCF KCCF = TCCF ATCCF − TCCF B (KTCCF )
−1
= TCCF (A − BK) TCCF
Bass-Gura Formula
Thus
Bass-Gura Formula
Bass-Gaura Formula
−1
K = KCCF TCCF
−1
−1
= α0 − a0 α1 − a1 α2 − a2 · · · αn−1 − an−1 P PCCF
= α0 − a0 α1 − a1 α2 − a2 · · · αn−1 − an−1
−1
a1 a2 · · · an−1 1
a2 a3 · · · 1 0
.. .
.. . . . .
.. ..
.
× P .
an−1 1 · · · 0 0
1 0 ··· 0 0
Example
Consider the three-dimensional single-input state equation with coefficient matrices
0 0 0 1
A = 0 1 0 ; B = 1
0 0 2 1
Example
1. First check the controllability of the pair (A, B)
1 0 0
2
P = B AB A B = 1 1 1
1 2 4
which has |P | = 2 6= 0, so this state equation is controllable.
2. Form the open-loop and desired closed-loop characteristic polynomials.
A is a diagonal matrix with its eigenvalues
λ1, 2, 3 = 0, 1, 2
The open-loop characteristic polynomial and associated coefficients are
a (s) = (s − 0) (s − 1) (s − 2) = s3 − 3s2 + 2s + 0 = s3 + a2 s2 + a1 s + a0
The closed-loop desired characteristic polynomial and associated coefficients are
α (s) = (s + 1)3 = s3 + 3s2 + 3s + 1 = s3 + α2 s2 + α1 s + α0
Example
3. Compute KCCF
KCCF = (α0 − a0 ) (α1 − a1 ) (α2 − a2 )
= (1 − 0) (3 − 2) (3 − (−3)) = 1 1 6
−1
4. Calculate TCCF and TCCF
1 0 0 a1 a2 1
−1
TCCF = P PCCF = 1 1 1 a2 1 0
1 2 4 1 0 0
1 0 0 2 −3 1 2 −3 1
= 1 1 1 −3 1 0 = 0 −2 1
1 2 4 1 0 0 0 −1 1
1 1
2
−1 2
−1
TCCF = 0 −1 1
0 −1 2
Example
As a final check
1 27
2 −8 2
A − BK = 1
2 −9 27
2
1 23
2 −8 2
Ackermann’s Formula
In terms of the desired closed-loop characteristic polynomial α (s), the state feedback
gain vector is given by
K = 0 0 · · · 0 1 P −1 α (A)
Here P = B AB A2 B · · · An−1 B is the controllability matrix for the controllable
pair (A, B) with inverse P −1 and α (A) represents
Example
To demonstrate the use of Ackermann’s formula, we considered the state equation in
controller canonical form specified by
0 1 0 0
ACCF = 0 0 1 , BCCF = 0
−18 −15 −2 1
for which, by inspection,
15 2 1
−1
PCCF = 2 1 0
1 0 0
The desired characteristic polynomial is
Example
with the aid of MATLAB, we compute,
Stabilizability
Stabilizability
Is it possible to achieve asymptotic stabilization via state feedback when the plant is
not controllable?
Stabilizability
1 0 0 1
ẋ (t) = 1 −1 1 x (t) + 1 u (t)
0 0 −2 0
y (t) = 1 0 0
1 0
0 1
A11 A12 B 1
= 1 −1
1 ; = 1
0 A22 0
−20 0 0
In terms of a state feedback gain vector K = k1 k2 k3
1 0 0 1
A − BK = 1 −1 1 − 1 k1 k2 k3
0 0 −2 0
1 0 1 0 1
− k 1 k 2 − k3
= 1 −1 1 1 1
U. Wasiwitono 0 0 [Linear System Control]−2
- Design of Linear State Feedback Control
50 / 76
State Feedback Control Law Shaping the Dynamic Response Closed-Loop Eigenvalue Placement via State Feedback Stabilizability
Stabilizability
Even though the state equation is not controllable, it is still possible to construct a state
feedback gain vector such that A − BK specifies an asymptotically stable closed-loop
state equation.
Definition 2
The pair (A, B) is stabilizable if there exists a state feedback gain matrix K for which all
eigenvalues of A − BK have strictly negative real part.
controllability ⇒ stabilizability
Stabilizability
If the pair (A, B) is not controllable and if there exists a coordinate transformation
x (t) = T z (t) such that the transformed state equation has
A11 A12 B1
 = ; B̂ =
0 A22 0
With K̂ = K1 K2 a conformably partitioned state feedback gain matrix, we have
A11 − B1 K1 A12 − B1 K2
 − B̂ K̂ =
0 A22
Stabilizability
Theorem 3
The following statement are equivalent:
1 The pair (A, B) is stabilizable.
2 There exists no left eigenvector of A associated with an eigenvalue having nonnegative real
part that is orthogonal to the columns of B;
3 The matrix λI − A B has full row-rank for all complex λwith nonnegative real part.
Outline
5 Steady-State Tracking
Steady-State Tracking
Input Gain
We now consider state feedback control laws of the form
in which the reference input is now multiplied by a gain G to be chosen so that for a
step reference input r (t) = R, the output of the closedloop state equation
satisfies
yss , lim y (t) = R
t→∞
Input Gain
From a frequency-domain viewpoint, the steady-state tracking objective requires that
the closed-loop transfer function
−1
HCL (s) = C (sI − A + BK) BG
have what we refer to as identity dc gain; HCL (0) = I (p × p)
With R (s) = R 1s we may apply the final-value theorem (because the closed-loop state
equation is asymptotically stable) to obtain
1
yss = lim y (t) = lim sY (s) = lim sHCL (s) R = HCL (0) R
t→∞ s→0 s→0 s
and so yss = R for any constant vector R ∈ Rp
Input Gain
The question now is whether the gain matrix G can be chosen to yield HCL (0) = I .
Case 2 m ≥ p, the factor −C (A − BK)−1 B has dimension p × m and therefore has more
columns than rows. If this matrix has full-row rank p then we can take the m × p input
gain matrix G to be the Moore-Penrose pseudoinverse given by
T h T i−1
G = − C (A − BK)−1 B C (A − BK)−1 B C (A − BK)−1 B
Example
Consider the open-loop state equation in previous example
0 1 0 0
A= 0 0 1 ; B = 0 ; C = 1 0 0
−18 −15 −2 1
Example
0.07
0.06
0.05
0.04
0.03
0.02
0.01
0
0 1 2 3 4 5 6 7 8 9 10
time (s)
U. Wasiwitono [Linear System Control] - Design of Linear State Feedback Control
60 / 76
Steady-State Tracking MATLAB for Control Law Design and Evaluation
Example
−1 1
C (sI − A + BK) B=
s3 + 16s2 + 39.55s + 53.26
1
from which the closed-loop DC gain is H (0) = 53.26 = 0.0188
Clearly, unity closedloop dc gain is achieved for G = 53.26, and the closed-loop dc gain
will match the open-loop dc gain for
1
G = 53.23 × = 2.96
18
Example
Servomechanism Design
This has the potential to significantly alter the actual steady-state behavior.
Another approach of adding an integral-error term to obtain a type I system that yields
zero steady-state tracking error for step reference inputs
This approach is robust with respect to uncertainty in the open-loop state equation in
that the steady-state tracking performance is preserved as long as closed-loop
stability is maintained.
Servomechanism Design
we focus on the single-input, single-output case and impose the following additional
assumptions:
Assumptions
1 The open-loop state equation, i.e., the pair (A, B), is controllable.
2 The open-loop state equation has no pole/eigenvalue at s = 0.
3 The open-loop state equation has no zero at s = 0.
Servomechanism Design
Servomechanism Design
Laplace transforms for zero initial condition ξ (0− ) = 0 gives
sξ (s) = R (s) − Y (s) = E (s)
E (s)
ξ (s) =
s
which indicates that the integral error term introduces an open-loop pole at
s=0
Assumption 2 is in place so that the transfer function associated with the open-loop
state equation does not itself contribute a pole at s = 0, in which case the new state
variable ξ(t) is not required.
Assumption 3 prevents the pole at s = 0 introduced by the control law from being
canceled by a zero at s = 0.
We thus are guaranteed that the integral error term in the control law yields a type I
system.
U. Wasiwitono [Linear System Control] - Design of Linear State Feedback Control
66 / 76
Steady-State Tracking MATLAB for Control Law Design and Evaluation
Servomechanism Design
The control law can be written as
x (t)
u (t) = − K −kI
ξ (t)
Servomechanism Design
to be a controllable pair
we can apply either the Bass-Gura formula or Ackermann’s formula, as well as the
MATLAB place function to design feedback gain
K −kI
Example
We design a type I servomechanism for the state equation in previous example
0 1 0 0
A= 0 0 1 ; B = 0 ; C = 1 0 0
−18 −15 −2 1
so that closed-loop unit step response reaches a steady state value of 1 corresponding
to zero steady-state error between the reference input r(t) and the system output y(t).
We may then proceed with the construction of a state feedback gain vector for the
controllable pair
0 1 0 0 0
A 0 0 0 1 0 B 0
=
;
=
1
−C 0 −18 −15 −2 0 0
1 0 0 0 0
Example
We select eigenvalues based on the ITAE criterion using an undamped natural
frequency of ωn = 2 rad/s
Example
Example