Control Principles for Engineered Systems 5SMC0
State Reconstruction & Observer Design
Lecturer: Leyla Özkan
Contents
State Reconstruction
Observer Design
State Reconstruction
◮ Problem: In the design of state feedback controllers, in pole
placement , we assumed that the we have full access to x(t)
information. In most cases, this assumption does not hold.
◮ Solution Use information available from the sensors, i.e. you
could try output feedback u = Ky (t)
◮ Difficult to design in general
◮ Develop a replica of the dynamic system which provides an
estimate of the system states based on the measured outputs
of the system.
State Reconstruction
◮ New Approach: Develop estimate of x(t) which is called x̂(t)
◮ Use u(t) = −K x̂(t) instead of u(t) = −Kx(t)
◮ Recall
! $ ! $ ! $
y (t) C u(t)
" ẏ (t) % " CA % " u̇(t) %
" % " % " %
" ÿ (t) % " CA2 % " ü(t) %
" %=" % x(t) + E " %
" .. % " .. % " .. %
# . & # . & # . &
y (n−1) CAn−1 u (n−1)
' () * ' () *
Ob. matrix U(t)
Estimation/ Observer Design Problem
◮ Given a system
ẋ = Ax + Bu
y = Cx, x0 = x0
◮ We know A, B, u(t), y (t) and C ∕= I
◮ Goal: Develop a dynamic system whose state x̂(t) = x(t) for
all time t > 0
◮ Approach: Reconstruct the state asymptotically by a linear
dynamical system that has its inputs signals u(t), y (t)
State Observer Design
◮ Consider a system with only one output
ẋ = Ax + Bu
y = Cx, x0 = x0
◮ Denote the estimated state x̂, and the observer dynamics be
x̂˙ = Âx̂ + B̂u + Ly
◮ Define error e = x − x̂
State Observer Design
◮ Error Dynamics
ė = ẋ − x̂˙ = Ax + Bu − Âx̂ − B̂u − Ly
= Ax − Âx + Âx − Âx̂ − B̂u − LCx
= (A − Â)x + Â(x − x̂) + (B − B̂)u − LCx
= Âe + (A − Â − LC )x + (B − B̂)u
◮ Demand
◮ limt→∞ e(t) = 0
◮ The error dynamics should be independent of u(t) and x(t)
State Observer Design
◮ Â, B̂ can not be chosen arbitrarily but L
◮ This leads to
 = (A − LC )
B̂ = B
◮ Error dynamics
ė = Âe = (A − LC )e
◮ Observer dynamics
x̂˙ = Âx + Bu + L(y − C x̂)
State Estimation/State Observer Design
◮ An observer for the linear
system
ẋ = Ax + Bu, y = Cx,
is the dynamical system
x̂˙ = Ax̂ + Bu + L(y − ŷ ), y = C x̂,
which is specified by choosing an observer gain L ∈ R n×k
◮ An observer is a copy of the original system with a correction
term L(y − ŷ ) that serves to drive the estimated states x̂
towards actual states x in case that the measured output y
deviates from estimated output ŷ
State Estimation/State Observer Design
◮ How should we choose L?
◮ We would like the estimation error e = x − x̂ to converge
quickly to 0 with asymptotically stable dynamics.
ė = Âe = (A − LC )e
◮ L should be chosen such that limt→∞ e(t) = 0
◮ The speed and the character of the response is determined by
λi {(A − LC )}
Comparison with Pole Placement
◮ Controller Design ◮ Observer Design
◮ Concerned with the ◮ Concerned with the
controllability of (A, B) observability of (A, C )
◮ Dynamics: ◮ Dynamics:
ẋ = (A − BK )x ė = (A − LC )e
◮ Goal: Find K such that ◮ Goal: Find L such that
x → 0, t → ∞ and e → 0, t → ∞ and
closed loop poles closed loop poles
det(s −A+BK ) = α(s) det(s − A + LC ) = α(s)
are in the desired are in the desired
location location
The controller design and observer design are very similar. They
are dual problems.
State Observer Design
◮ Remember the control design by pole placement.
ẋ = (A − BK )x
◮ By setting A = AT and B = C T we can use the same pole
placement formulas to find LT
+ , + ,
λi {(A − LC )} = λi (A − LC )T = λi AT − C T LT
◮ So we can use Kobserver= place(A’,C’,Poles);L=Kobserver’;
◮ Then, we can say that if (A, C ) is observable, (AT , C T ) is
controllable
The system ẋ = Ax + Bu, y = Cx is said to be detectable if there
exist some L such that Re {λi {(A − LC )}}
Take Home Message
◮ A system is
◮ Stabilizable if all the unstable poles are controllable
◮ Detectable if all the unstable poles are observable
If you have a stabilizable and detectable system, there are
poles you can not influence and you are not aware but they
are at least stable.
State Observer Design
◮ Example: Given a system
! $ ! $
0 1 0 0 - .
ẋ = # 0 0 1 & x + # 0 & u, y = 1 0 0 x
−4 −4 −1 1
with the characteristic equation a(s) = s 3 + 4s 2 + 4s + 1 and
assume that the initial conditions are not well known. Design
an observer with the closed loop poles −1, −2, −3. That
means, α(s) = s 3 + 6s 2 + 11s + 6
State Observer Design
◮ Example:L′ = place(A′ , C ′ , poles)
- . - .
x(0) = 1 −1 1 , x̂(0) = 0 0 0 , u(t) = sin(t)
/ 0 / 0/ 0
ẋ A 0 x
=
x̂˙ LC (A − LC ) x̂
/ 0
B
+ u
B
Where To Place the Observer Poles?
◮ Heuristic pole locations still apply
◮ Probably want to make the estimator faster than you intend
to make the regulator
◮ Note: When designing a regulator, we are concerned with
’bandwidth’ of the control getting too high resulting in control
commands that saturate
◮ It is different for estimators; saturation is not a problem since
it is only computation.
◮ But, measurements are often ’noisy’, and it might then be
amplified
◮ Low bandwith observers: rely more on plant model
◮ High bandwith observers: tend to accentuate the effect of
sensing noise in the estimate.
Separation Principle
◮ Idea:Merge the controller and the observer design techniques
◮ For any stabilizable and detectable system
ẋ = Ax + Bu, y = Cx, design K and L such that
Re {λi {(A − LC )}} < 0, Re {λi {(A − BK )}} < 0
Then use u = −K x̂
◮ Interconnected system
/ 0 / 0/ 0
ẋ A −BK x
=
x̂˙ LC A − LC − BK x̂
Separation Principle
◮ Perform a similariity transformation
/ 0 / 0/ 0
x I 0 x
=
e I −I x̂
◮ This leads to
/ 0 / 0/ 0
ẋ A − BK BK x
=
ė 0 A − LC e
◮ Eigenvalues of the interconnected system
λ {(A − LC )} + λ {(A − BK )}
◮ Observer design and Controller design are independent
Take Home Message
◮ For controller and observer design
◮ System should be stabilizable and detectable
◮ The philosophy in observer design is to make error dynamics
go to zero asymptotically
◮ Note: The observer gain stabilizes the estimation error
dynamics
◮ We can use pole placement method to calculate the observer
gain
◮ We can design state feedback controller and state observer
independently due to separation principle